Download Latest Version opensparrow-3.5.zip (3.7 MB) Google Add to Preferred Sources
Home / 4.0
Name Modified Size InfoDownloads / Week
Parent folder
opensparrow-4.0.zip 2026-10-06 3.8 MB
opensparrow-4.0.zip.sha256 2026-10-06 86 Bytes
README.md 2026-10-05 3.9 kB
Totals: 3 Items   3.8 MB 0

Added

  • JSONB column type — the admin schema editor offers jsonb alongside the existing column types; JSON entered into such a column is validated before save (validate_jsonb_column), the value is stored via a ::jsonb cast, and workflow form template fields support the new type. Existing tables gain the type per column on demand from the schema editor — no migration is needed.
  • Public read-only table sharing — admins can expose one table through a public link (public/share.php?t=<token>): the token is matched against the shared_tables config key, hidden, system and owner-restricted tables are refused, stale tokens are pruned, subtables/many-to-many/images are stripped from the shared schema, and the page sends X-Robots-Tag: noindex, nofollow.
  • Many-to-many editing on the grid — a popover picker edits M2M relations in place, backed by the new m2m_sync and m2m_options API actions (m2m_options gates other_table access; relation changes go through the record audit log).
  • Backup Tables management in Global Settings — retention settings, a list of stored backups with row counts and on-demand cleanup; retention is applied automatically after each backup (backup_apply_retention).
  • Calendar month/week view toggle — the week view renders an hourly grid with an all-day bar; events can be moved in both views.
  • Multi-column sorting on the grid — up to three sort rules with timer_N priority icons; combined with column filters in the server-side mode and repeated by "Load more" chunks.
  • Conditional icons for virtual columns and type/item icons on the admin config bars.

Changed

  • Grid performance refactor — the default row cap is lowered to 1000 (per-table initial_limit overrides it), the four auxiliary loaders (comment counts, subtable counts, m2m rows, images) are served from a per-page-signature cache, cell saves update the row in place instead of reloading the table, and truncated tables switch to server-side search/sort/filters with one combined request per change.
  • Config autosave — the admin panel saves configuration automatically with optimistic versioning; the manual "Save config" button is gone.
  • Schema and Views admin editors restyled — section cards, badges and shared helpers matching the rest of the admin panel.
  • The m2m and image preview popups share a consistent 1-second hover delay.

Removed

  • The legacy Cypress E2E suite — the cypress/ tree, cypress.config.js and package-lock.json are dropped together with the npm tooling; end-to-end coverage is now manual, following docs/TESTING_GUIDELINES.md. The vanilla-only CI contract already forbade runtime dependencies.

Fixed

  • Boolean column filters coerce values correctly instead of leaking true/false strings into SQL.
  • Column filter types are validated before they reach SQL — a mismatch now answers 400 with a message instead of a 500 from a failed cast.
  • m2m_options can no longer be pointed at an unrelated table through other_table.
  • Mojibake in the CRM demo texts (Polish characters in deal/status names) and refreshed demo deal close dates.

Upgrade notes

  • No database migration is required and no configuration keys are removed by this release. The jsonb column type is added per table from the schema editor whenever it is first used.
  • The release migration for 4.0 removes the legacy Cypress test tree and npm lockfile residues; on a fresh install they are absent anyway.
  • Shared table links are configured in Admin → Sharing; only non-hidden, non-system, non-owner-restricted tables can be shared.

Full changelog: https://github.com/wrobeltomasz/OpenSparrow/compare/3.9...4.0

Download OpenSparrow

Source: README.md, updated 2026-10-05