<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Tomasz</title>
    <description>The latest articles on DEV Community by Tomasz (@wrobeltomasz).</description>
    <link>https://dev.to/wrobeltomasz</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3933746%2Fca526f5f-cf4a-4768-b610-01e327eb9678.jpg</url>
      <title>DEV Community: Tomasz</title>
      <link>https://dev.to/wrobeltomasz</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/wrobeltomasz"/>
    <language>en</language>
    <item>
      <title>OpenSparrow v2.9 – GDPR Anonymization, Automation Emails, and a PHP 8.4 Refactor</title>
      <dc:creator>Tomasz</dc:creator>
      <pubDate>Mon, 06 Jul 2026 18:11:44 +0000</pubDate>
      <link>https://dev.to/wrobeltomasz/opensparrow-v29-gdpr-anonymization-automation-emails-and-a-php-84-refactor-1imn</link>
      <guid>https://dev.to/wrobeltomasz/opensparrow-v29-gdpr-anonymization-automation-emails-and-a-php-84-refactor-1imn</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7ajsz0ynymr7g9ncaqjy.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7ajsz0ynymr7g9ncaqjy.jpg" alt=" " width="800" height="446"&gt;&lt;/a&gt;OpenSparrow v2.9 is out. The headline feature is a full data anonymization module for GDPR compliance, alongside new automation actions, dashboard/calendar filtering, and a codebase modernized for PHP 8.4.&lt;/p&gt;

&lt;h2&gt;
  
  
  Data Anonymization (GDPR/EDPB)
&lt;/h2&gt;

&lt;p&gt;New admin module — System → Anonymization. Define per-column rules (table, column, replacement value) to scrub PII on a schedule.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Four tabs&lt;/strong&gt; — Rules (CRUD + run history), Schedule (manual/daily/weekly/monthly + Run Now), Suggestions (scans your schema's column names against a PII keyword dictionary and proposes rules), Dictionary (edit keywords, purge old logs)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dry-run preview&lt;/strong&gt; — see exactly how many rows each rule would affect via &lt;code&gt;COUNT(*)&lt;/code&gt; with the rule's WHERE clause, before touching any data&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;EDPB compliance reports&lt;/strong&gt; — every run writes a structured JSON report (linkability/inference/single-out risk assessment per rule) to a dedicated report table, viewable and downloadable from Run History&lt;/li&gt;
&lt;li&gt;A companion CLI cron worker enforces the configured frequency window internally, so a simple daily OS scheduler entry covers all modes&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Automations: email actions
&lt;/h2&gt;

&lt;p&gt;The rule engine gains an &lt;strong&gt;email action&lt;/strong&gt; — queue a message to be sent when a rule fires, with templated recipients/subject/body (&lt;code&gt;{{ record.field }}&lt;/code&gt;, &lt;code&gt;{{ old_record.field }}&lt;/code&gt;, &lt;code&gt;{{ current_user.id }}&lt;/code&gt;, &lt;code&gt;{{ today }}&lt;/code&gt;). Delivery runs async through the notifications cron with retry/attempt tracking and header-injection protection.&lt;/p&gt;

&lt;p&gt;Also added: numeric/date comparison operators (&lt;code&gt;&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;&lt;/code&gt;, &lt;code&gt;&amp;gt;=&lt;/code&gt;, &lt;code&gt;&amp;lt;=&lt;/code&gt;) and change-detection operators (&lt;code&gt;changed&lt;/code&gt;, &lt;code&gt;changed_from&lt;/code&gt;, &lt;code&gt;changed_to&lt;/code&gt;) for writing more precise trigger conditions, plus a quick enable/disable toggle and a "Duplicate rule" button.&lt;/p&gt;

&lt;h2&gt;
  
  
  Dashboard &amp;amp; calendar filters
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Dashboard&lt;/strong&gt; — a global period filter (All time / Today / 7d / 30d / This month) reloads every widget; count/sum cards now show deltas vs. the previous period, and widgets can be exported to CSV directly from the dashboard&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Calendar&lt;/strong&gt; — a filter bar lets you toggle event sources on/off per configured table color&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  PHP 8.4 refactor
&lt;/h2&gt;

&lt;p&gt;The whole backend was modernized for PHP 8.4: enums for user roles, readonly classes and constructor property promotion, &lt;code&gt;#[\Override]&lt;/code&gt; attributes on interface implementations, &lt;code&gt;json_validate()&lt;/code&gt;, first-class callable syntax, and hardened type hints across the DB/repository layer. CI now targets PHP 8.4/8.5.&lt;/p&gt;

&lt;p&gt;Page bootstrapping was also consolidated — the repeated session/CSRF/CSP-header boilerplate that used to be copy-pasted at the top of every page now lives in a single &lt;code&gt;os_page_bootstrap()&lt;/code&gt; / &lt;code&gt;os_boot_app()&lt;/code&gt; helper.&lt;/p&gt;

&lt;h2&gt;
  
  
  Following this series?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://dev.to/wrobeltomasz/opensparrow-v28-kanban-board-mysql-gateway-and-major-security-hardening-41ic"&gt;OpenSparrow v2.8 – Kanban board, MySQL Gateway, and major security hardening&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Websites
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://opensparrow.org" rel="noopener noreferrer"&gt;opensparrow.org&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/wrobeltomasz/OpenSparrow" rel="noopener noreferrer"&gt;github.com/wrobeltomasz/OpenSparrow&lt;/a&gt;&lt;br&gt;
&lt;a href="https://demo.opensparrow.org" rel="noopener noreferrer"&gt;demo.opensparrow.org&lt;/a&gt;&lt;/p&gt;

</description>
      <category>php</category>
      <category>lowcode</category>
      <category>postgres</category>
      <category>automation</category>
    </item>
    <item>
      <title>OpenSparrow v2.8 – Kanban board, MySQL Gateway, and major security hardening</title>
      <dc:creator>Tomasz</dc:creator>
      <pubDate>Fri, 26 Jun 2026 14:01:04 +0000</pubDate>
      <link>https://dev.to/wrobeltomasz/opensparrow-v28-kanban-board-mysql-gateway-and-major-security-hardening-41ic</link>
      <guid>https://dev.to/wrobeltomasz/opensparrow-v28-kanban-board-mysql-gateway-and-major-security-hardening-41ic</guid>
      <description>&lt;p&gt;OpenSparrow v2.8 is out. This one's focused on security, new visualization options, and better multi-database support.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Board (Kanban) view&lt;/strong&gt;&lt;br&gt;
New module — visualize your records as draggable cards organized into lanes. Each lane represents a status value (enum recommended). Drag a card to another lane and it updates instantly, with the change logged to the audit trail and restricted by record ownership.&lt;br&gt;
Configure it from the new Board tab in the admin panel. The CRM demo now ships with a ready-made "Deals Board" grouped by Stage.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;MySQL Gateway improvements&lt;/strong&gt;&lt;br&gt;
You can now connect to external MySQL databases and manage them alongside.&lt;br&gt;
Add a MySQL table to the routing list, it auto-discovers columns from INFORMATION_SCHEMA and writes them to schema.json. New admin panel section lists all MySQL-routed tables with a per-table sync button.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Security hardening&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ownership guards — mass edit, duplicate, and delete now respect row ownership on restricted tables. Calendar drag-and-drop also enforces this.&lt;/li&gt;
&lt;li&gt;Random setup password — the initial admin account gets a random 24-character password instead of hardcoded admin/admin&lt;/li&gt;
&lt;li&gt;Session protection — storage/sessions/ now has .htaccess denying direct web access on Apache&lt;/li&gt;
&lt;li&gt;File uploads security — uploads are now stored outside the web docroot (storage/files/), closing a potential exposure&lt;/li&gt;
&lt;li&gt;Config import hardening — rejects empty archives, enforces 512 KB per-file limits, validates JSON properly&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Infrastructure improvements&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Web-root restructure — all web entry points now live in public/; backend code stays outside the docroot&lt;/li&gt;
&lt;li&gt;Cypress test overhaul — 18 spec files, new seed endpoint, admin panel tests now fully active&lt;/li&gt;
&lt;li&gt;CI/CD — added source integrity checks, version tag validation, PHP 8.1–8.3 syntax checks&lt;/li&gt;
&lt;li&gt;Docs update — removed all references to default credentials, updated for random setup password&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Small but useful&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Linked record count badges now show on grid expand buttons — tells you how many related records exist before you click&lt;/li&gt;
&lt;li&gt;Calendar API now queries only the visible month — better performance on large datasets&lt;/li&gt;
&lt;li&gt;Login attempts table auto-purges rows older than 30 days&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Following this series?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/wrobeltomasz/opensparrow-v27-enhanced-rag-rebuilt-admin-ui-and-automations-beta-438d"&gt;OpenSparrow v2.7 – Enhanced RAG, rebuilt admin UI, and Automations (beta)&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/wrobeltomasz/opensparrow-v26-ai-powered-search-rag-bulk-operations-and-keyboard-shortcuts-4cjn"&gt;OpenSparrow v2.6 – AI-powered search (RAG), bulk operations, and keyboard shortcuts&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Websites&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;a href="https://opensparrow.org/" rel="noopener noreferrer"&gt;opensparrow.org&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/wrobeltomasz/OpenSparrow" rel="noopener noreferrer"&gt;github.com/wrobeltomasz/OpenSparrow&lt;/a&gt;&lt;br&gt;
&lt;a href="https://demo.opensparrow.org/" rel="noopener noreferrer"&gt;demo.opensparrow.org&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>php</category>
      <category>opensource</category>
      <category>webdev</category>
      <category>database</category>
    </item>
    <item>
      <title>OpenSparrow v2.7 – Enhanced RAG, rebuilt admin UI, and Automations (beta)</title>
      <dc:creator>Tomasz</dc:creator>
      <pubDate>Tue, 09 Jun 2026 15:11:04 +0000</pubDate>
      <link>https://dev.to/wrobeltomasz/opensparrow-v27-enhanced-rag-rebuilt-admin-ui-and-automations-beta-438d</link>
      <guid>https://dev.to/wrobeltomasz/opensparrow-v27-enhanced-rag-rebuilt-admin-ui-and-automations-beta-438d</guid>
      <description>&lt;p&gt;v2.7 is out. This release focuses on AI improvements, a major admin UI overhaul, and the first iteration of workflow automations.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;RAG enhancements&lt;/strong&gt;&lt;br&gt;
The AI module got a significant upgrade. Better document parsing, improved query handling, and now Ollama connections support SSL verification toggle — useful if you're running it locally with custom certificates.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Admin panel redesign&lt;/strong&gt;&lt;br&gt;
The admin UI has been completely rebuilt with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Card-based editors for cleaner form layouts&lt;/li&gt;
&lt;li&gt;Inline item panel for faster configuration&lt;/li&gt;
&lt;li&gt;Refactored styles and improved visual hierarchy&lt;/li&gt;
&lt;li&gt;Inner-tabs for better information organization&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Automations (beta)&lt;/strong&gt;&lt;br&gt;
We're introducing workflow automations — still early, but usable. You can create if-then rules with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;OR group logic for complex conditions&lt;/li&gt;
&lt;li&gt;3 action types to start&lt;/li&gt;
&lt;li&gt;Run log to track executions&lt;/li&gt;
&lt;li&gt;User picker for assignment actions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is beta. Expect improvements in v2.8.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Security &amp;amp; quality&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;CSP nonces and XSS hardening across the admin panel&lt;/li&gt;
&lt;li&gt;Unified session enforcement and role checks&lt;/li&gt;
&lt;li&gt;Expanded Cypress E2E test suite to 12 spec files (~300 tests) — fixed 3 flaky tests&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;One-click deployment&lt;/strong&gt;&lt;br&gt;
Deploy to Render or Railway directly from GitHub — no manual server setup needed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Other improvements&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Server-side search with load-more pagination&lt;/li&gt;
&lt;li&gt;Row cap for large tables (configurable)&lt;/li&gt;
&lt;li&gt;Better CSV import with delimiter and encoding options&lt;/li&gt;
&lt;li&gt;Improved malformed data parsing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Following this series?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/wrobeltomasz/opensparrow-v26-ai-powered-search-rag-bulk-operations-and-keyboard-shortcuts-4cjn"&gt;OpenSparrow v2.6 – AI-powered search (RAG), bulk operations, and keyboard shortcuts&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/wrobeltomasz/opensparrow-v23-visual-admin-panel-zero-dependencies-now-with-erd-and-m2m-support-4p6e"&gt;OpenSparrow v2.3 – visual admin panel, zero dependencies, now with ERD and M2M support&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/wrobeltomasz/opensparrow-open-source-admin-panel-builder-zero-dependencies-v21-just-dropped-38ag"&gt;OpenSparrow – open-source admin panel builder, zero dependencies, v2.1 just dropped&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Websites&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;a href="https://opensparrow.org/" rel="noopener noreferrer"&gt;opensparrow.org&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/wrobeltomasz/OpenSparrow" rel="noopener noreferrer"&gt;github.com/wrobeltomasz/OpenSparrow&lt;/a&gt;&lt;br&gt;
&lt;a href="https://demo.opensparrow.org/" rel="noopener noreferrer"&gt;demo.opensparrow.org&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;What AI features would be useful in your own projects? Drop your thoughts in the comments.&lt;/p&gt;

</description>
      <category>rag</category>
      <category>opensource</category>
      <category>webdev</category>
      <category>php</category>
    </item>
    <item>
      <title>OpenSparrow v2.6 – AI-powered search (RAG), bulk operations, and keyboard shortcuts</title>
      <dc:creator>Tomasz</dc:creator>
      <pubDate>Thu, 28 May 2026 15:42:30 +0000</pubDate>
      <link>https://dev.to/wrobeltomasz/opensparrow-v26-ai-powered-search-rag-bulk-operations-and-keyboard-shortcuts-4cjn</link>
      <guid>https://dev.to/wrobeltomasz/opensparrow-v26-ai-powered-search-rag-bulk-operations-and-keyboard-shortcuts-4cjn</guid>
      <description>&lt;p&gt;OpenSparrow v2.6 is out. This one's a big step forward — RAG (Retrieval-Augmented Generation) integration, bulk grid operations, and a whole new UX layer.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;RAG &amp;amp; AI integration&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F35hz7s9tp30nx3jc1qrq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F35hz7s9tp30nx3jc1qrq.png" alt=" " width="800" height="517"&gt;&lt;/a&gt;&lt;br&gt;
You can now upload documents and let users ask questions against them. The system retrieves relevant sections and generates answers using an LLM (supports Ollama locally or any OpenAI-compatible API).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What's new:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;RAG Statistics tab in admin — tracks query tokens, response times, document matches, and recent queries&lt;br&gt;
Multilingual auto-response — user questions are answered in their own UI language, no schema changes needed&lt;br&gt;
20-language support — "Ask AI" panel fully translated, plus language dropdown in the test interface&lt;/p&gt;

&lt;p&gt;Good for things like: knowledge base Q&amp;amp;A, customer support automation, or letting internal teams ask questions about their own data.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Grid &amp;amp; bulk operations&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Mass Edit module — select rows via checkboxes, bulk edit fields, change owners, duplicate, or delete with one click&lt;br&gt;
Keyboard shortcuts — arrow keys to navigate, Tab, Ctrl+C to copy, Ctrl+F to search, Ctrl-hold for help modal — works across all 20 languages&lt;br&gt;
Quick Data Cleanup toolbar — find &amp;amp; replace with live preview, case sensitivity, accent-ignore. Editor-gated with audit trail.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Admin improvements&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Renamed "RAG Knowledge Base" to "Centrum AI" (heading is translatable)&lt;br&gt;
Migration Manager — tracks pending cleanup tasks after version upgrades, with automatic backups and audit trail&lt;br&gt;
FK columns render as dropdowns in forms by default&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Security &amp;amp; Quality&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;All bulk operations (mass edit, cleanup, delete) are editor-role gated&lt;br&gt;
CSRF protection on every operation&lt;br&gt;
Full audit trail — every change is logged&lt;br&gt;
20 languages fully supported across all new modules&lt;br&gt;
Fixed regressions in RAG API and CSV import&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Following this series?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/wrobeltomasz/opensparrow-v23-visual-admin-panel-zero-dependencies-now-with-erd-and-m2m-support-4p6e"&gt;OpenSparrow v2.3 – visual admin panel, zero dependencies, now with ERD and M2M support&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/wrobeltomasz/opensparrow-open-source-admin-panel-builder-zero-dependencies-v21-just-dropped-38ag"&gt;OpenSparrow – open-source admin panel builder, zero dependencies, v2.1 just dropped&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Websites&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;a href="https://opensparrow.org/" rel="noopener noreferrer"&gt;opensparrow.org&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/wrobeltomasz/OpenSparrow" rel="noopener noreferrer"&gt;github.com/wrobeltomasz/OpenSparrow&lt;/a&gt;&lt;br&gt;
&lt;a href="https://demo.opensparrow.org/" rel="noopener noreferrer"&gt;demo.opensparrow.org&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;What AI features would be useful in your own projects? Drop your thoughts in the comments.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>ai</category>
      <category>productivity</category>
      <category>opensource</category>
    </item>
    <item>
      <title>OpenSparrow v2.3 – visual admin panel, zero dependencies, now with ERD and M2M support</title>
      <dc:creator>Tomasz</dc:creator>
      <pubDate>Thu, 21 May 2026 20:49:14 +0000</pubDate>
      <link>https://dev.to/wrobeltomasz/opensparrow-v23-visual-admin-panel-zero-dependencies-now-with-erd-and-m2m-support-4p6e</link>
      <guid>https://dev.to/wrobeltomasz/opensparrow-v23-visual-admin-panel-zero-dependencies-now-with-erd-and-m2m-support-4p6e</guid>
      <description>&lt;p&gt;Hey&lt;/p&gt;

&lt;p&gt;OpenSparrow v2.3 is out. Quick recap if you missed earlier posts — it's an open-source admin panel framework built on PHP 8.1, PostgreSQL, and Vanilla JS. No npm, no Composer, no external libraries. You configure everything visually through &lt;code&gt;/admin&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Live demo: &lt;strong&gt;demo.opensparrow.org&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What's new&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Schema Map (ERD)&lt;/strong&gt; — visual diagram of your entire database with PNG export&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Many-to-Many support&lt;/strong&gt; — dedicated Builder tab, chip renderer in grids&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Virtual computed columns&lt;/strong&gt; — formula fields without touching the DB&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Custom Views&lt;/strong&gt; — save filtered/sorted perspectives per table&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Record Ownership&lt;/strong&gt; — track who handles what, full history&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Performance tab&lt;/strong&gt; — index advisor, slow query analyzer, bloat detection&lt;/li&gt;
&lt;li&gt;Security hardening — 5 audit fixes, better session and input validation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Contributing&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Looking for contributors — code, docs, or a short demo screencast.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://opensparrow.org" rel="noopener noreferrer"&gt;opensparrow.org&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/wrobeltomasz/OpenSparrow" rel="noopener noreferrer"&gt;github.com/wrobeltomasz/OpenSparrow&lt;/a&gt;&lt;/p&gt;

</description>
      <category>php</category>
      <category>webdev</category>
      <category>opensource</category>
      <category>lowcode</category>
    </item>
    <item>
      <title>OpenSparrow – open-source admin panel builder, zero dependencies, v2.1 just dropped</title>
      <dc:creator>Tomasz</dc:creator>
      <pubDate>Sun, 17 May 2026 18:43:36 +0000</pubDate>
      <link>https://dev.to/wrobeltomasz/opensparrow-open-source-admin-panel-builder-zero-dependencies-v21-just-dropped-38ag</link>
      <guid>https://dev.to/wrobeltomasz/opensparrow-open-source-admin-panel-builder-zero-dependencies-v21-just-dropped-38ag</guid>
      <description>&lt;p&gt;&lt;strong&gt;OpenSparrow – open-source admin panel builder, zero dependencies, v2.1 just dropped&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Hey everyone!&lt;/p&gt;

&lt;p&gt;I want to share a project I've been building — &lt;strong&gt;OpenSparrow&lt;/strong&gt;, an open-source visual admin panel framework.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The idea:&lt;/strong&gt; connect it to a PostgreSQL database, and you get a fully working admin panel — tables, forms, dashboards, calendar, file uploads — configured entirely through a visual &lt;code&gt;/admin&lt;/code&gt; interface. No JSON to write by hand.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The stack is minimalist:&lt;/strong&gt; PHP 8.1+, PostgreSQL, Vanilla JS. &lt;strong&gt;No npm. No Composer. No jQuery.&lt;/strong&gt; No external libraries on either side. Pure code only.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What you get out of the box:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Visual table builder&lt;/strong&gt; — create columns, set types, foreign keys, validation rules — all in the UI.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Full CRUD&lt;/strong&gt; with inline cell editing, searchable FK columns, and subtables.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dashboard builder&lt;/strong&gt; — stat cards, KPI cards, bar/pie charts, and data lists with live WHERE filters.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Calendar view&lt;/strong&gt; + cron-based notifications.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Audit trail&lt;/strong&gt; + optional record snapshots (full JSONB history of every change).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;User roles:&lt;/strong&gt; Admin, Editor, Viewer.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Security defaults:&lt;/strong&gt; rate limiting, CSRF, session fingerprinting, HSTS.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;LGPL v3&lt;/strong&gt; — free for commercial use.&lt;/p&gt;

&lt;p&gt;Version 2.1 just released with a major UX overhaul, new modules, and security fixes. More on that in the next post.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://opensparrow.org/" rel="noopener noreferrer"&gt;opensparrow.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://demo.opensparrow.org/login.php" rel="noopener noreferrer"&gt;Demo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/wrobeltomasz/OpenSparrow" rel="noopener noreferrer"&gt;github.com/wrobeltomasz/OpenSparrow&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Feedback and contributors are very welcome!&lt;/p&gt;

</description>
      <category>php</category>
      <category>opensource</category>
      <category>webdev</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
