Changelog
Every release and catalog change for the Railbase core and its plugins — the same feed your self-hosted instance polls to discover updates.
- Catalog updatePlugin catalog
Core releaseRailbase corev0.20.12Two-id detection: pair the split company and raise it with the site
- Two-id detection: pair the split company and raise it with the site
Core releaseRailbase corev0.20.11Per-node tenant licensing: enforce tenant_plans[].node_lock, claim via credential
- Per-node tenant licensing: enforce tenant_plans[].node_lock, claim via credential
Core releaseRailbase corev0.20.10First-run journey targets the exact Company / workspace label
- First-run journey targets the exact Company / workspace label
- Updates: identified poll; wizard manual path collects the legal identity
Core releaseRailbase corev0.20.9Bootstrap connect: pin the account at fetch; activate by credential
- Bootstrap connect: pin the account at fetch; activate by credential
Core releaseRailbase corev0.20.8Bootstrap connect: the credential field refuses an email, and autofill
- Bootstrap connect: the credential field refuses an email, and autofill
Core releaseRailbase corev0.20.7Bootstrap: connect to railbase.app and ADOPT the company at install
- Bootstrap: connect to railbase.app and ADOPT the company at install
Core releaseRailbase corev0.20.6First-run journey expects the normalized (uppercase) company name
- First-run journey expects the normalized (uppercase) company name
- Company identity: one normalization, one row, full legal facets
Core releaseRailbase corev0.20.5Marketplace: pin the credentialed licenses relay; regenerate the site floor
- Marketplace: pin the credentialed licenses relay; regenerate the site floor
- Marketplace: ensureMarketColl tolerates a pluginManager without an app
- Marketplace: the licenses relay gets a sane timeout and a context
- Marketplace: the licenses relay presents this instance's credential
Core releaseRailbase corev0.20.4Site: fix dead "Re-import data" on Safari — picker must open inside the gesture
- Site: fix dead "Re-import data" on Safari — picker must open inside the gesture
Core releaseRailbase corev0.20.3Site: end inactive sessions — idle auto-logout for the app-user frontend
- Site: end inactive sessions — idle auto-logout for the app-user frontend
Core releaseRailbase corev0.20.2I18n: regenerate the embedded admin floor
- I18n: regenerate the embedded admin floor
- Site/masterdetail: the notice takes the warning token, not raw amber
Core releaseRailbase corev0.20.1Site: masterdetail renders a verb-attached notice under the list count
- Site: masterdetail renders a verb-attached notice under the list count
- Mint a checkout grant before opening the payment iframe
Core releaseRailbase corev0.20.0The core's half of company parity with railbase.app
- The core's half of company parity with railbase.app
Core releaseRailbase corev0.19.1Site/cards: the last conformance finding pays off — kit Select in the connect panel
- Site/cards: the last conformance finding pays off — kit Select in the connect panel
- Admin: settings_ai pays its conformance debt — the release lint gate is green again
- Frontends: the workspace toolchain is BUN — bun.lock replaces package-lock.json
- Deps: Go + frontend to latest releases; i18n floor regenerated and healed
Core releaseRailbase corev0.19.0Dao: queryIndex after_id rides full-tuple prefix scans too
- Dao: queryIndex after_id rides full-tuple prefix scans too
- Core: tenant adoption in chunked txs — the 14-hour port-down boot, cured
- Charts/histogram: the skyline was invisible — percent bars against an auto-height column
- Site+ui: Ф4 in-place drill wired end to end; charts consume selections (Ф3 closes)
- Site: Ф4 register mode for table — the kit's server fetch drives the page
- Site: GraphWidget interpolates {param} tokens from the page's route params
- Site: Ф3 associativity wired — chips in the shell, chart emits, fetch hooks consume
- Site+core: Ф4 heavy charts (xychart, pareto) + Ф5 relationship graph, wired end to end
- Site+core: wire the Ф2 charts into the renderer and the manifest gate
- Site: Ф2 substrate — five chart primitives ported from qlik, kernel extracted, dependency-free
- Site: Ф3 substrate — the plugin-scoped associative selection store
- Site: Ф5 substrate — the Sugiyama layout as a pure, tested module
- Site+core: Ф1 — the three dossier analytic blocks, gated end to end
- Site: the pager's jump and size ride the kit controls
- Site: Ф1 — the list pager becomes navigation: first/last, page jump, page size with persistence
- Site: Ф1 — every fetch surface can recover: retry() + a stuck state in all five hooks
- Core: the manifest widget-type gate — a packaging error stops reaching the customer's screen
- Site: Phase 0.3 — the dossier splits out of masterdetail, byte-identical
- Site+ui: Phase 0.2 — the two tone dictionaries, as tokens, spiked in both themes
- Site: Phase 0 (0.0+0.1) — text-clean renderer, one object hook
- QueryIndex after_id — keyset paging reaches data-resident JS
- Dev tool: idxprobe — answer "is this collection's read path healthy?" without a server
- Env-catalog guard: grandfather RAILBASE_LOG_CONSOLE
Core releaseRailbase corev0.18.89Personnel canon fields + bulk role assignment + admin UI fixes
- Personnel canon fields + bulk role assignment + admin UI fixes
Core releaseRailbase corev0.18.88Logger: RAILBASE_LOG_CONSOLE=false silences the terminal, file logs stay
- Logger: RAILBASE_LOG_CONSOLE=false silences the terminal, file logs stay
Core releaseRailbase corev0.18.87Backups: retention, manual delete, configurable dir — and an update that says why it failed
- Backups: retention, manual delete, configurable dir — and an update that says why it failed
Core releaseRailbase corev0.18.86Drawer: read-only facts + ledger grids; pages can be routable-but-hidden
- Drawer: read-only facts + ledger grids; pages can be routable-but-hidden
Core releaseRailbase corev0.18.85Update center: downloads get deadlines; stale phases self-heal at boot
- Update center: downloads get deadlines; stale phases self-heal at boot
Core releaseRailbase corev0.18.84Re-import: pull from the REMEMBERED folder, no picker (Chromium)
- Re-import: pull from the REMEMBERED folder, no picker (Chromium)
Core releaseRailbase corev0.18.83Table: row-level Re-import action + upload abort marker
- Table: row-level Re-import action + upload abort marker
Core releaseRailbase corev0.18.82Cards: Test connection only where there is a connection to test
- Cards: Test connection only where there is a connection to test
Core releaseRailbase corev0.18.81Jobs: claim-scan watermark — stop walking the graveyard on every claim
- Jobs: claim-scan watermark — stop walking the graveyard on every claim
Core releaseRailbase corev0.18.80Ingest speed + index-integrity: paced uploads, keys-only classification, index reconcile heals
- Ingest speed + index-integrity: paced uploads, keys-only classification, index reconcile heals
Core releaseRailbase corev0.18.79Serve: a stopped server must always release its port
- Serve: a stopped server must always release its port
- Site: pause/resume/cancel controls on the upload pill
Core releaseRailbase corev0.18.78Platformsurface: host.transform v2 — canon-spec executor symbols
- Platformsurface: host.transform v2 — canon-spec executor symbols
- Jobs: wake-on-enqueue — idle workers claim immediately
- Hooks: canon-batch handles — the zero-boundary hot path (Вариант В core)
- Hooks: canon-spec party executor — byte-parity with the bundle proven
- Hooks: В2 foundations — goja-parity JSON emitter + parametric checksums
Core releaseRailbase corev0.18.77Jobs: worker-stall watchdog — frozen workers are loud now
- Jobs: worker-stall watchdog — frozen workers are loud now
Core releaseRailbase corev0.18.76Platformsurface: bump epoch golden for host.transform (2487749502)
- Platformsurface: bump epoch golden for host.transform (2487749502)
- Plugindock+surface: declare host.transform capability
- Eventbus: elision markers — buffer-overflow loss is no longer silent (Ф3)
- Hooks: $app.transform.parseDelimited — native delimited parser (Ф2.1)
- Hooks: $app.dao().upsertBatch — Ф1 native bulk-upsert
- Hooks: UTF-16-unit FNV-1a — the Ф1 hash-parity foundation
Core releaseRailbase corev0.18.75Site(upload): serialize concurrent uploads — queue behind, never interrupt
- Site(upload): serialize concurrent uploads — queue behind, never interrupt
Core releaseRailbase corev0.18.74Site(upload): file-level context per part — batch id, part i/k, rows_total
- Site(upload): file-level context per part — batch id, part i/k, rows_total
Core releaseRailbase corev0.18.73Site: global upload-progress pill + beforeunload guard
- Site: global upload-progress pill + beforeunload guard
Core releaseRailbase corev0.18.72Site(upload): split parts by UTF-8 BYTES, cap 1 MiB (fixes MaxValueSize on Cyrillic)
- Site(upload): split parts by UTF-8 BYTES, cap 1 MiB (fixes MaxValueSize on Cyrillic)
- Logging: retryable job errors + sub-budget VM-lock holds → Debug, not Warn
- Site(upload): per-part retry with backoff — folder-scale flow control
Core releaseRailbase corev0.18.71Admin+site: plugin audit in the unified timeline; card template select; fail-fast uploads
- Admin+site: plugin audit in the unified timeline; card template select; fail-fast uploads
- Admin(data): per-collection record counts on the Data landing
Core releaseRailbase corev0.18.70Site(widgets): dual file/folder pickers everywhere + big-file part upload
- Site(widgets): dual file/folder pickers everywhere + big-file part upload
- Admin(ai): assistant panel — messenger-style chat card
Core releaseRailbase corev0.18.69Site(cards): folder picking fixed + dual file/folder pickers
- Site(cards): folder picking fixed + dual file/folder pickers
Core releaseRailbase corev0.18.68Site(i18n): fill the widget-strings gap across the 9 machine locales
- Site(i18n): fill the widget-strings gap across the 9 machine locales
- Site(widgets): friendly errors, cards search+validation+test, row drawer
- Ai: assistant answers out of the box — indexed product docs + admin FAB
Core releaseRailbase corev0.18.67Assistant polish — grammatical noSource label + Sources heading
- Assistant polish — grammatical noSource label + Sources heading
- Give the admin Test-connection probe the local-endpoint client
- Mirror the six AI learn articles into the in-app corpus
Core releaseRailbase corev0.18.66Ai: AI Engine — $app.ai platform surface, providers, delegation + federation transport
- Ai: AI Engine — $app.ai platform surface, providers, delegation + federation transport
- Cmd/pluginseed: dev-only local rbundle installer (connector e2e harness)
Core releaseRailbase corev0.18.65Site(cards): fold file upload into the source card
- Site(cards): fold file upload into the source card
- Site: cards widget — per-kind config + secret fields (Phase 1 req 3)
- Marketplace: green 'Installed' badge for installed plugins (+ Badge success variant)
Core releaseRailbase corev0.18.64Admin: no identity banner at all for a genuine LOCAL instance (loopback re-pins silently)
- Admin: no identity banner at all for a genuine LOCAL instance (loopback re-pins silently)
Core releaseRailbase corev0.18.63Admin: calm 'new instance identity' notice instead of a mock alarm on a legit key change
- Admin: calm 'new instance identity' notice instead of a mock alarm on a legit key change
Core releaseRailbase corev0.18.62Site: add cards widget (system/ERP catalog picker)
- Site: add
cardswidget (system/ERP catalog picker) - Boot: RAILBASE_VAULT_SKIP_DELETE_VERIFY — bulk-load escape hatch
- Eventbus+changefeed: rate-limit buffer-full drop logs (1 line / topic / 10s)
- Hooks: reject request bodies that error mid-read instead of passing a prefix
- Hooks: dispatch cron handlers on a fresh exec VM with an armed DAO ctx
- Payload out of the claim scan path (_jobs_payloads)
- Declared long-running jobs — per-kind handler timeout
- Site: add
Core releaseRailbase corev0.18.61Site: add a 'plans' widget — tier comparison + manage-plan CTA
- Site: add a 'plans' widget — tier comparison + manage-plan CTA
- Site: two-level plugin nav — sections in the rail, pages as tabs
Core releaseRailbase corev0.18.60Site: plugin sub-nav is a left sidebar with sections, not a top strip
- Site: plugin sub-nav is a left sidebar with sections, not a top strip
Core releaseRailbase corev0.18.59Rbac: close the offline-CLI and SCIM bypasses of the plugin license gate
- Rbac: close the offline-CLI and SCIM bypasses of the plugin license gate
- Rbac: tenant-priced plugin roles assignable only inside licensed companies
- Admin: assign-role drawer admits plugin-scope roles in a company context
- Ui: QEditableList computed cells were unsized — inherited 16px root font
Core releaseRailbase corev0.18.58Admin: role editor is one checkbox list over the whole catalog + lock icons
- Admin: role editor is one checkbox list over the whole catalog + lock icons
- Admin: role-detail breadcrumb shows the role name, not the opaque id
- I18n: SoD tab is Segregation of Duties, not lawn turf
- Marketplace: update awareness only — updates run solely in the Update Center
Core releaseRailbase corev0.18.57Rbac: tenant-first role model, SoD subsystem, manifest-owned plugin roles
- Rbac: tenant-first role model, SoD subsystem, manifest-owned plugin roles
- Admin+site: close the 45 UI-kit conformance violations
- Admin: refetch identity-scoped catalog when the account identity changes
ReleaseRisk
Enterprise risk management inside Railbase — risk register, heat map, cumulative risk appetite and live KRI monitoring, governed by real approval workflows.
Risk Managementv0.4.2Paid
View in marketplace ↗
Core releaseRailbase corev0.18.56Server + admin: trust server identity, and user-session visibility/config
- Server + admin: trust server identity, and user-session visibility/config
ReleaseAccounts Payable
ReleaseGeneral Ledger
Double-entry general ledger — journals, fiscal periods, reports, period close.
Financev0.1.2Paid
View in marketplace ↗ReleaseRisk
Enterprise risk management inside Railbase — risk register, heat map, cumulative risk appetite and live KRI monitoring, governed by real approval workflows.
Risk Managementv0.4.2Paid
View in marketplace ↗Core releaseRailbase corev0.18.55Rbac: role doctrine — site auditor/employee, tenant CxO/founder tier, plugins-carry-DoA
- Rbac: role doctrine — site auditor/employee, tenant CxO/founder tier, plugins-carry-DoA
- Sync authentication + backups-and-restore + environment-variables
- Close OAuth-OIDC + backup-list gaps left by dc7b893 (+ tests)
- Sync backups-and-restore + realtime + authentication from content/learn
- Four audit-found bugs (OAuth wizard, SDK PB_CONNECT, schema-preview i18n, scheduled-backup dir)
- Sync new scheduler article + operations from content/learn
- Sync licensing-and-seats + managing-billing from content/learn
- Sync installing-plugins from content/learn
- Sync updating + troubleshooting from content/learn
- Sync deployment + security from content/learn
- Sync operations + backups-and-restore from content/learn
- Sync managing-data from content/learn
- Sync project-setup + quickstart from content/learn
- Sync admin-overview + users-and-access from content/learn
- Sync migrations + realtime + hooks from content/learn
- Sync typescript-sdk + schema from content/learn
- Sync environment-variables + jobs-and-cron from content/learn
- Sync cli + data-and-tenancy from content/learn
Core releaseRailbase corev0.18.54Ship: raise the binary-size gate to 43 MB — in-app docs corpus (v0.18.54)
- Ship: raise the binary-size gate to 43 MB — in-app docs corpus (v0.18.54)
- Sync building-plugins + how-plugins-work from content/learn
- Sync installation + authentication from content/learn
- I18n: translate the two new import-error keys; regenerate the admin floor
- Site: row-scoped downloads in dossier tables
- Site: stop leaking the select sentinel into the form trigger
- Admin: replace the four raw
- Import: stop losing every row silently — read the batch results, map by source column
- Admin: keep the docs rails in place while the article scrolls
- Serve the published learn corpus at /_/docs, nothing else
- Admin: four collection-surface fixes (double plus, drawer font, name link, Data grid)
Core releaseRailbase corev0.18.53Dock+site: exports enablement — verb canonicalization, dossier downloads
- Dock+site: exports enablement — verb canonicalization, dossier downloads
- Hooks: $app.tasks + $app.authority — the workflow half of the surface
- Point operator-doc links at app-core/devDocs (renamed from docs/)
- Admin: collapsed sidebar becomes an icon rail instead of vanishing
- Admin: fold Schemas into the flat sidebar group — no orphan label/spacing
- Admin: stop enumerating collections in the sidebar — Schemas is the entry
- Admin: members page gets the full QDatatable surface; Authority tabs → section sub-nav
Core releaseRailbase corev0.18.52Site: cross-filter dims — the Qlik selections gesture for masterdetail
- Site: cross-filter dims — the Qlik selections gesture for masterdetail
- Ui: floating panels no longer fly in from the viewport origin
- Ui: Combobox — searchable single-value picker; tenants country/parent adopt it
Core releaseRailbase corev0.18.51Admin: tenant members page — associate users from the catalog, not by typed email
- Admin: tenant members page — associate users from the catalog, not by typed email
- Site: dashboard panels + dossier workflow — stats, barchart, actions, links
Core releaseRailbase corev0.18.50Admin: per-company role editor + DoA company picker — RBAC/DoA respect the tenant (frontend)
- Admin: per-company role editor + DoA company picker — RBAC/DoA respect the tenant (frontend)
- Rbac: restore tenant-scoped roles — RBAC respects the tenant (backend)
- Tenant gate: never leave an authenticated caller worse off than an anonymous one
Core releaseRailbase corev0.18.49Site: masterdetail widget — declarative master-detail entity console
- Site: masterdetail widget — declarative master-detail entity console
Core releaseRailbase corev0.18.48Admin: user creation and invites assign the company up front
- Admin: user creation and invites assign the company up front
- Tenant: MEMBERSHIP DOCTRINE — no company, no frontend
Core releaseRailbase corev0.18.47Site: always-visible tenant badge in the header
- Site: always-visible tenant badge in the header
- Tenant: a stale X-Tenant must not brick sign-in — degrade auth surface to tenant-less
Core releaseRailbase corev0.18.46Build-pkg: retry Gatekeeper strict check — tolerate notarization propagation lag
- Build-pkg: retry Gatekeeper strict check — tolerate notarization propagation lag
- Marketplace: fix dependency install skipped on the buy path (stale closure)
- Marketplace: reload the tab after a banner-driven core self-update
Core releaseRailbase corev0.18.45Marketplace: dependency-aware install — depends_on lands before the plugin
- Marketplace: dependency-aware install — depends_on lands before the plugin
Core releaseRailbase corev0.18.44Marketplace: identified catalog for admin surfaces — internal-tester tiles
- Marketplace: identified catalog for admin surfaces — internal-tester tiles
ReleaseSchool
Schedule, attendance, grades, parent links and teacher meetings — phone-first.
Educationv0.1.0Free
View in marketplace ↗Core releaseRailbase corev0.18.43Pin EULA-before-activation gate order (ActivationGate_Pinned)
- Pin EULA-before-activation gate order (ActivationGate_Pinned)
- Core: plugin egress & credential boundary (ADR-004)