| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| opensparrow-4.2.zip | 2026-10-12 | 3.8 MB | |
| opensparrow-4.2.zip.sha256 | 2026-10-12 | 86 Bytes | |
| README.md | 2026-10-12 | 3.3 kB | |
| Totals: 3 Items | 3.8 MB | 1 | |
Added
- Native Excel (.xlsx) export — the record grid, public share links, saved views and the mass-edit Export Selected panel now download a real
.xlsxworkbook next to the existing CSV. The workbook is assembled entirely in the browser by a dependency-free writer (public/assets/js/export_xlsx.js) that emits a valid OPC package — typed cells for numbers/booleans, XML-escaped text, sanitized sheet names and the requireddocProps/core.xml+docProps/app.xmlparts. The grid gains an Export Excel button (also in the mobile actions menu), views and share links render one beside Export CSV, and mass edit adds a Format choice (CSV / Excel) that switches the download label; the new strings are translated in all 20 languages. - Column masking for viewers (
mask_for_viewer) — a column can be flagged in the schema editor (Schema → table → column → Mask value for Viewer) to hide its value from frontend Viewer accounts. The column stays visible everywhere, but every value becomes the•••••placeholder: the data grid, drilldown subtable rows, the record form, board cards, calendar events, roadmap bars, dashboard lists and group/time-series labels, m2m option labels, FK__displaylabels and public share links. Masking is enforced server-side — the raw value never leaves the backend for a Viewer — and Editor/Admin accounts are unaffected; the schema editor marks flagged columns with a warning badge. - Record tooltip in grid drilldowns — hovering a child row inside an expanded drilldown now shows the same record tooltip as grid cells, with the child's title and its configured columns.
Changed
- XLSX export hardened — object-URL revocation is deferred (
setTimeout(…, 0)) so Firefox no longer cancels a download before it starts, and every download site (grid, views and mass-edit CSV, share) goes through the shareddownloadBlobhelper instead of a hand-rolled<a>+URL.createObjectURLblock. The mass-edit format labels ("CSV" / "Excel") are served from i18n.
Fixed
- Grid tooltip hide race — a stale hide timer could dismiss a tooltip that a newer hover had just shown (or leave one stuck); a monotonic show token now binds each hide to the show it belongs to, so moving quickly between cells and rows behaves.
Upgrade notes
- No database migration is required and no configuration keys are removed by this release.
- Viewer masking is opt-in per column: tick Mask value for Viewer in the schema editor and save the schema. The flag lives in the schema configuration (
columns.<col>.mask_for_viewer), so it applies immediately with no migration. It covers the grid, drilldowns, the record form, board, calendar, roadmap, dashboard, m2m/FK labels and share links, but not SQL views, printouts or external API keys — mask those at their source if needed. - The Excel writer is fully client-side and dependency-free — nothing to install or enable and it works offline; the vanilla-only contract is preserved.
Full changelog: https://github.com/wrobeltomasz/OpenSparrow/compare/4.1...4.2