- Updated dependencies [5178906]
- @objectstack/spec@11.7.0
- @objectstack/cloud-connection@11.7.0
- @objectstack/connector-rest@11.7.0
- @objectstack/connector-slack@11.7.0
- @objectstack/driver-sql@11.7.0
- @objectstack/runtime@11.7.0
- @objectstack/spec@11.6.0
- @objectstack/cloud-connection@11.6.0
- @objectstack/runtime@11.6.0
- @objectstack/driver-sql@11.6.0
- @objectstack/connector-rest@11.6.0
- @objectstack/connector-slack@11.6.0
- Updated dependencies [6ee4f04]
- Updated dependencies [c1e3a65]
- @objectstack/spec@11.5.0
- @objectstack/cloud-connection@11.5.0
- @objectstack/connector-rest@11.5.0
- @objectstack/connector-slack@11.5.0
- @objectstack/driver-sql@11.5.0
- @objectstack/runtime@11.5.0
- Updated dependencies [5821c51]
- Updated dependencies [a0fce3f]
- @objectstack/spec@11.4.0
- @objectstack/cloud-connection@11.4.0
- @objectstack/connector-rest@11.4.0
- @objectstack/connector-slack@11.4.0
- @objectstack/driver-sql@11.4.0
- @objectstack/runtime@11.4.0
- Updated dependencies [58e8e31]
- Updated dependencies [b4a5df0]
- @objectstack/spec@11.3.0
- @objectstack/cloud-connection@11.3.0
- @objectstack/connector-rest@11.3.0
- @objectstack/connector-slack@11.3.0
- @objectstack/driver-sql@11.3.0
- @objectstack/runtime@11.3.0
- Updated dependencies [d0f4b13]
- Updated dependencies [302bdab]
- @objectstack/spec@11.2.0
- @objectstack/cloud-connection@11.2.0
- @objectstack/connector-rest@11.2.0
- @objectstack/connector-slack@11.2.0
- @objectstack/driver-sql@11.2.0
- @objectstack/runtime@11.2.0
- Updated dependencies [e011d42]
- Updated dependencies [ecf193f]
- Updated dependencies [51bec81]
- Updated dependencies [3e593a7]
- Updated dependencies [63d5403]
- Updated dependencies [7087cfe]
- Updated dependencies [69ae136]
- @objectstack/runtime@11.1.0
- @objectstack/spec@11.1.0
- @objectstack/cloud-connection@11.1.0
- @objectstack/connector-rest@11.1.0
- @objectstack/connector-slack@11.1.0
- @objectstack/driver-sql@11.1.0
- Updated dependencies [4d99a5c]
- Updated dependencies [ab5718a]
- Updated dependencies [61d441f]
- Updated dependencies [c224e18]
- Updated dependencies [4845c12]
- Updated dependencies [c1a754a]
- Updated dependencies [6fbe91f]
- Updated dependencies [715d667]
- Updated dependencies [5eef4cf]
- Updated dependencies [72759e1]
- Updated dependencies [6c4fbd9]
- Updated dependencies [ef3ed67]
- Updated dependencies [cd51229]
- Updated dependencies [7697a0e]
- Updated dependencies [e7e04f1]
- Updated dependencies [cfd5ac4]
- Updated dependencies [2be5c1f]
- Updated dependencies [ad143ce]
- Updated dependencies [5c4a8c8]
- Updated dependencies [3afaeed]
- Updated dependencies [8801c02]
- Updated dependencies [3d04e06]
- Updated dependencies [98a1535]
- Updated dependencies [bc22a89]
- Updated dependencies [8a7e9f1]
- Updated dependencies [4a84c98]
- Updated dependencies [aa33b02]
- Updated dependencies [d980f0d]
- Updated dependencies [a658523]
- Updated dependencies [82ff91c]
- Updated dependencies [638f472]
- @objectstack/runtime@11.0.0
- @objectstack/spec@11.0.0
- @objectstack/driver-sql@11.0.0
- @objectstack/cloud-connection@11.0.0
- @objectstack/connector-rest@11.0.0
- @objectstack/connector-slack@11.0.0
- Updated dependencies [5ba52b0]
- Updated dependencies [8cf4f7c]
- Updated dependencies [f2063f3]
- @objectstack/driver-sql@10.3.0
- @objectstack/runtime@10.3.0
- @objectstack/cloud-connection@10.3.0
- @objectstack/spec@10.3.0
- @objectstack/connector-rest@10.3.0
- @objectstack/connector-slack@10.3.0
- Updated dependencies [b496498]
- @objectstack/spec@10.2.0
- @objectstack/cloud-connection@10.2.0
- @objectstack/connector-rest@10.2.0
- @objectstack/connector-slack@10.2.0
- @objectstack/driver-sql@10.2.0
- @objectstack/runtime@10.2.0
- Updated dependencies [49da36e]
- Updated dependencies [ac79f16]
- Updated dependencies [94d2161]
- Updated dependencies [517dad9]
- @objectstack/spec@10.1.0
- @objectstack/runtime@10.1.0
- @objectstack/driver-sql@10.1.0
- @objectstack/cloud-connection@10.1.0
- @objectstack/connector-rest@10.1.0
- @objectstack/connector-slack@10.1.0
- Updated dependencies [d7ff626]
- Updated dependencies [92db3e5]
- Updated dependencies [2a1b16b]
- Updated dependencies [e16f2a8]
- Updated dependencies [e411a82]
- Updated dependencies [a581385]
- Updated dependencies [47d978a]
- Updated dependencies [220ce5b]
- Updated dependencies [3efe334]
- Updated dependencies [feead7e]
- Updated dependencies [6ca20b3]
- Updated dependencies [5f875fe]
- Updated dependencies [b469950]
- @objectstack/spec@10.0.0
- @objectstack/driver-sql@10.0.0
- @objectstack/runtime@10.0.0
- @objectstack/cloud-connection@10.0.0
- @objectstack/connector-rest@10.0.0
- @objectstack/connector-slack@10.0.0
-
37e9acb: feat(app-showcase): declarative OWD scenarios — owner-private + public-read (ADR-0056)
Adds the two canonical Org-Wide-Default scenarios, each declaring its access policy in ONE word with no authored RLS:
showcase_private_note—sharingModel: 'private': a user sees and edits only the notes they own (owner-only read + write).showcase_announcement—sharingModel: 'read': every member reads every announcement, but only the owner may edit/delete it (public-read).
Both derive scoping from the OWD baseline + the auto-stamped
owner_id— the declarative counterpart to the invoice's hand-writtenowner = current_user.emailescape-hatch. Proven end-to-end (two users, real HTTP) by the newshowcase-private-owdandshowcase-public-read-owddogfood tests, which together demonstrate the OWD read-visibility axis (privatehides others' rows;readshows them but still protects writes).
-
e7f6539: feat(spec,sharing): canonical OWD vocabulary on
object.sharingModel(ADR-0056 D1)Reconciles the Org-Wide-Default naming so authors use ONE vocabulary.
object.sharingModelnow accepts the canonical OWD names —private|public_read|public_read_write|controlled_by_parent— alongside the legacyread/read_write/fullaliases (kept, non-breaking). The sharing runtime maps them onto the three enforced behaviours (public_read≡ legacyread= everyone reads / owner writes;public_read_write= unscoped). Unknown values remain rejected by the enum (authoring-time, fail-closed). The showcase announcement now declares the canonicalpublic_read, exercised end-to-end by the public-read dogfood proof. -
5a5a9fe: feat(security): public-form demo (Option A) + app-declared default profile wiring (ADR-0056 D7)
Wires ADR-0056's app-declarable default profile through the CLI so it actually takes effect under
pnpm dev.@objectstack/plugin-securityexports a newappDefaultProfileName(permissions)helper that extracts the firstisProfile && isDefaultprofile name from a stack;@objectstack/cli(serve.ts) passes it as the SecurityPluginfallbackPermissionSet(undefined → built-inmember_defaultpreserved, so apps that declare no default are unaffected).The showcase gains a working web-to-lead public form (
showcase_inquiry+ anallowAnonymousFormView authorized by the declaration-derivedpublicFormGrant, noguest_portalprofile) and an app-declared default profile (showcase_member_default), each covered by a dogfood proof over the real HTTP stack. -
2afb612: feat(security): resolve
current_user.emailin RLS owner policiesRLS
usingpredicates can now referencecurrent_user.email— a unique, human-readable, seedable owner anchor (owner = current_user.email). Previously the RLS compiler resolved onlycurrent_user.id/organization_id/roles/org_user_ids, so any owner-by-name/email predicate silently compiled to the deny sentinel (fail-closed → the user saw nothing). Email is sourced for free from the auth session (with a boundedsys_userfallback for the API-key path) and threaded onto theExecutionContextin both identity resolvers — the REST data path (rest-server) and the dispatcher path (resolve-execution-context).Display
nameis deliberately not exposed to RLS: names collide, and a collision on an ownership predicate is an access-control leak. Only unique identifiers (id,email) are resolvable.This makes owner-scoped row-level security work with seed data (no per-user ids needed) and, combined with
controlled_by_parent(ADR-0055), lets a master's owner scoping flow to its detail records. The example-showcase demonstrates it:showcase_invoicecarries anowneremail + an owner RLS policy, its lines are controlled-by-parent, and invoices/lines are seeded per owner. It also fixes the showcase's previously inert owner predicates (they used==andcurrent_user.name, neither of which the compiler accepts) to= current_user.email. -
Updated dependencies [e7f6539]
-
Updated dependencies [2365d07]
-
Updated dependencies [6595b53]
-
Updated dependencies [fa8964d]
-
Updated dependencies [36138c7]
-
Updated dependencies [a8e4f3b]
-
Updated dependencies [4c213c2]
-
Updated dependencies [2afb612]
- @objectstack/spec@9.11.0
- @objectstack/runtime@9.11.0
- @objectstack/cloud-connection@9.11.0
- @objectstack/connector-rest@9.11.0
- @objectstack/connector-slack@9.11.0
- Updated dependencies [db02bd5]
- Updated dependencies [641675d]
- Updated dependencies [94e9040]
- Updated dependencies [1f88fd9]
- Updated dependencies [1f88fd9]
- Updated dependencies [e2b5324]
- @objectstack/spec@9.10.0
- @objectstack/runtime@9.10.0
- @objectstack/cloud-connection@9.10.0
- @objectstack/connector-rest@9.10.0
- @objectstack/connector-slack@9.10.0
- @objectstack/spec@9.9.1
- @objectstack/cloud-connection@9.9.1
- @objectstack/runtime@9.9.1
- @objectstack/connector-rest@9.9.1
- @objectstack/connector-slack@9.9.1
- Updated dependencies [84249a4]
- Updated dependencies [11af299]
- Updated dependencies [d5774b5]
- Updated dependencies [83fd318]
- Updated dependencies [134043a]
- Updated dependencies [90108e0]
- Updated dependencies [9afeb2d]
- Updated dependencies [6bec07e]
- Updated dependencies [601cc11]
- Updated dependencies [575448d]
- @objectstack/spec@9.9.0
- @objectstack/runtime@9.9.0
- @objectstack/cloud-connection@9.9.0
- @objectstack/connector-rest@9.9.0
- @objectstack/connector-slack@9.9.0
- Updated dependencies [97c55b3]
- Updated dependencies [1b1f490]
- @objectstack/spec@9.8.0
- @objectstack/runtime@9.8.0
- @objectstack/cloud-connection@9.8.0
- @objectstack/connector-rest@9.8.0
- @objectstack/connector-slack@9.8.0
- @objectstack/runtime@9.7.0
- @objectstack/cloud-connection@9.7.0
- @objectstack/connector-rest@9.7.0
- @objectstack/connector-slack@9.7.0
- @objectstack/spec@9.7.0
- Updated dependencies [d1e930a]
- Updated dependencies [71578f2]
- Updated dependencies [5e3a301]
- Updated dependencies [5db2742]
- @objectstack/spec@9.6.0
- @objectstack/runtime@9.6.0
- @objectstack/cloud-connection@9.6.0
- @objectstack/connector-rest@9.6.0
- @objectstack/connector-slack@9.6.0
- Updated dependencies [ee72aae]
- @objectstack/spec@9.5.1
- @objectstack/cloud-connection@9.5.1
- @objectstack/connector-rest@9.5.1
- @objectstack/connector-slack@9.5.1
- @objectstack/runtime@9.5.1
- Updated dependencies [d08551c]
- Updated dependencies [707aeed]
- Updated dependencies [7a103d4]
- Updated dependencies [4b01250]
- Updated dependencies [08a11f7]
- @objectstack/spec@9.5.0
- @objectstack/cloud-connection@9.5.0
- @objectstack/connector-rest@9.5.0
- @objectstack/connector-slack@9.5.0
- @objectstack/runtime@9.5.0
- Updated dependencies [060467a]
- Updated dependencies [0856476]
- Updated dependencies [b678d8c]
- Updated dependencies [b678d8c]
- Updated dependencies [b678d8c]
- @objectstack/spec@9.4.0
- @objectstack/runtime@9.4.0
- @objectstack/cloud-connection@9.4.0
- @objectstack/connector-rest@9.4.0
- @objectstack/connector-slack@9.4.0
- Updated dependencies [1ada658]
- Updated dependencies [3219191]
- Updated dependencies [290f631]
- Updated dependencies [50b7b47]
- Updated dependencies [f15d6f6]
- Updated dependencies [f8684ea]
- Updated dependencies [998c4e4]
- Updated dependencies [b8e4232]
- Updated dependencies [9fea621]
- Updated dependencies [3786f15]
- Updated dependencies [8950204]
- Updated dependencies [9b4e870]
- Updated dependencies [17ffc74]
- Updated dependencies [c802327]
- Updated dependencies [b4765be]
- Updated dependencies [48051ff]
- Updated dependencies [d01c427]
- @objectstack/spec@9.3.0
- @objectstack/runtime@9.3.0
- @objectstack/cloud-connection@9.3.0
- @objectstack/connector-rest@9.3.0
- @objectstack/connector-slack@9.3.0
- Updated dependencies [2f57b75]
- Updated dependencies [2f57b75]
- @objectstack/spec@9.2.0
- @objectstack/connector-rest@9.2.0
- @objectstack/connector-slack@9.2.0
- @objectstack/runtime@9.2.0
- Updated dependencies [b9062c9]
- @objectstack/spec@9.1.0
- @objectstack/connector-rest@9.1.0
- @objectstack/connector-slack@9.1.0
- @objectstack/runtime@9.1.0
- Updated dependencies [1817845]
- @objectstack/spec@9.0.1
- @objectstack/connector-rest@9.0.1
- @objectstack/connector-slack@9.0.1
- @objectstack/runtime@9.0.1
- 4b0fdba: The showcase Chart Gallery now shows one widget per chart family the renderer
draws DISTINCTLY (27 → 17 widgets). Families that fell back to a near-relative
(grouped/stacked/bi-polar bars, stacked-area, step-line, spline, pyramid,
bubble) and the dial-less performance variants (kpi/gauge/solid-gauge/bullet,
identical to
metric) were removed — advertising a type that renders as something else is misleading. Bundles the objectui console build that routes each widget to its true chart renderer (pie/donut/funnel/line/area/scatter/ radar/treemap/sankey/table/pivot). - Updated dependencies [4c3f693]
- Updated dependencies [0bf39f1]
- Updated dependencies [f533f42]
- Updated dependencies [1c83ee8]
- @objectstack/spec@9.0.0
- @objectstack/connector-rest@9.0.0
- @objectstack/connector-slack@9.0.0
- @objectstack/runtime@9.0.0
- @objectstack/spec@8.0.1
- @objectstack/runtime@8.0.1
- @objectstack/connector-rest@8.0.1
- @objectstack/connector-slack@8.0.1
- Updated dependencies [a46c017]
- Updated dependencies [f68be58]
- Updated dependencies [b990b89]
- Updated dependencies [99111ec]
- Updated dependencies [d5a8161]
- Updated dependencies [5cf1f1b]
- Updated dependencies [9ef89d4]
- Updated dependencies [bc0d85b]
- Updated dependencies [2537e28]
- Updated dependencies [0ec7717]
- Updated dependencies [3306d2f]
- Updated dependencies [c262301]
- Updated dependencies [bc44195]
- Updated dependencies [9e2e229]
- @objectstack/spec@8.0.0
- @objectstack/runtime@8.0.0
- @objectstack/connector-rest@8.0.0
- @objectstack/connector-slack@8.0.0
- Updated dependencies [ac1fc4c]
- Updated dependencies [ac1fc4c]
- @objectstack/runtime@7.9.0
- @objectstack/spec@7.9.0
- @objectstack/connector-rest@7.9.0
- @objectstack/connector-slack@7.9.0
-
6b60068: fix(cli):
objectstack devpersists data by default (no more:memory:wipe on restart)objectstack devhistorically fell back to a:memory:SQLite database when no--database/OS_DATABASE_URLwas given, so every restart silently wiped all data and AI-authored metadata — you'd build an app, restart, and it would be gone, which makes local app-building unusable.devnow defaults to a persistent, project-anchored SQLite file at<cwd>/.objectstack/data/dev.db(gitignored, per-project). Existing opt-outs are unchanged and take precedence:--fresh(ephemeral temp DB),--database <url>,OS_DATABASE_URL/DATABASE_URL, or an explicit in-memory driver (--database-driver memory/OS_DATABASE_DRIVER=memory). Resolution is extracted into the testableresolveDefaultDevDbUrl()helper.The app-showcase example drops its explicit
:memory:datasource override (which would otherwise route data back to memory and defeat the new default), so it persists across restarts out of the box. -
Updated dependencies [06f2bbb]
-
Updated dependencies [a75823a]
-
Updated dependencies [4fbb86a]
-
Updated dependencies [e631f1e]
-
Updated dependencies [36719db]
-
Updated dependencies [424ab26]
- @objectstack/spec@7.8.0
- @objectstack/runtime@7.8.0
- @objectstack/connector-rest@7.8.0
- @objectstack/connector-slack@7.8.0
- Updated dependencies [b391955]
- Updated dependencies [f06b64e]
- Updated dependencies [023bf93]
- @objectstack/spec@7.7.0
- @objectstack/connector-rest@7.7.0
- @objectstack/connector-slack@7.7.0
- @objectstack/runtime@7.7.0
- Updated dependencies [955d4c8]
- Updated dependencies [c4a4cbd]
- Updated dependencies [b046ec2]
- Updated dependencies [2170ad9]
- Updated dependencies [02d6359]
- Updated dependencies [7648242]
- Updated dependencies [8fa1e7f]
- Updated dependencies [55866f5]
- Updated dependencies [8e539cc]
- Updated dependencies [60f9c45]
- @objectstack/spec@7.6.0
- @objectstack/runtime@7.6.0
- @objectstack/connector-rest@7.6.0
- @objectstack/connector-slack@7.6.0
- @objectstack/connector-rest@7.5.0
- @objectstack/connector-slack@7.5.0
- @objectstack/spec@7.5.0
- @objectstack/runtime@7.5.0
- @objectstack/spec@7.4.1
- @objectstack/runtime@7.4.1
- @objectstack/connector-rest@7.4.1
- @objectstack/connector-slack@7.4.1
- Updated dependencies [23c7107]
- Updated dependencies [c72daad]
- Updated dependencies [13632b1]
- Updated dependencies [f115182]
- Updated dependencies [2faf9f2]
- Updated dependencies [2faf9f2]
- Updated dependencies [2faf9f2]
- Updated dependencies [2faf9f2]
- Updated dependencies [58b450b]
- Updated dependencies [394d34f]
- Updated dependencies [82eb6cf]
- Updated dependencies [13d8653]
- Updated dependencies [ff3d006]
- Updated dependencies [5e831de]
- @objectstack/spec@7.4.0
- @objectstack/runtime@7.4.0
- @objectstack/connector-rest@7.4.0
- @objectstack/connector-slack@7.4.0