Changelog
4.0.0-beta.12 (2026-10-22)
⚠ BREAKING CHANGES
- core: instance actions declaring non-context parameters now receive them instead of the operation context. Take the context with a context-typed parameter or useContext().
- utils: @webda/tsc-esm is no longer published. Import its types and helpers from @webda/utils, and createClassDecorator, createPropertyDecorator and createMethodDecorator from @webda/decorators.
Features
- auth: track MFA verification time and enforce step-up freshness (maxMfaAge) (#963) (86cda56)
- compiler: auto add $schema to deployment files (#847) (cd103be)
- core: model actions receive their typed parameters (#946, phase 1) (#955) (7e8eebd)
Bug Fixes
- compiler: rebuild when a dependency changes (#959) (d543fb2)
- enable strict mode in utils and compiler (#986) (887e421)
Code Refactoring
Dependencies
- The following workspace dependencies were updated
- dependencies
- @webda/content-mapper bumped to 4.0.0-beta.10
- @webda/utils bumped to 4.0.0-beta.11
- @webda/workout bumped to 4.0.0-beta.6
- devDependencies
- @webda/test bumped to 4.0.0-beta.8
- dependencies
4.0.0-beta.11 (2026-10-16)
Features
4.0.0-beta.10 (2026-10-15)
Features
- auth: add model-scoped MFA with typed behavior configuration (#888) (ee068e8)
- compiler: auto add schema to config and deployment files (#551) (#906) (4d96ba8)
- webda.cli in package.json — command selection, runCli and a generated app executable (#927) (10f68c6)
Dependencies
- The following workspace dependencies were updated
- dependencies
- @webda/content-mapper bumped to 4.0.0-beta.9
- @webda/utils bumped to 4.0.0-beta.10
- dependencies
4.0.0-beta.9 (2026-10-14)
⚠ BREAKING CHANGES
- the unused store parameters modelAliases, defaultModel and forceModel are removed; use @WebdaAlias for renamed models. The runtime MigrationStore is removed: use webda migrate.
Features
- sdk: typed frontend SDK over REST, GraphQL, gRPC and offline (#850) (#885) (4d68a6a)
- transparent Webda 3 → 4 data upgrade — legacy types, store migrations (core) (#889) (#890) (01d4efb)
Dependencies
- The following workspace dependencies were updated
- dependencies
- @webda/content-mapper bumped to 4.0.0-beta.8
- @webda/utils bumped to 4.0.0-beta.9
- dependencies
4.0.0-beta.8 (2026-10-12)
Dependencies
- The following workspace dependencies were updated
- dependencies
- @webda/utils bumped to 4.0.0-beta.8
- devDependencies
- @webda/test bumped to 4.0.0-beta.7
- dependencies
4.0.0-beta.7 (2026-10-11)
Features
Bug Fixes
- publish webda.module.json with debug, models, cloudevents and compiler (#849) (db9e967)
- support Windows paths when loading and building modules (#827) (0d88747)
Dependencies
- The following workspace dependencies were updated
- dependencies
- @webda/content-mapper bumped to 4.0.0-beta.7
- @webda/utils bumped to 4.0.0-beta.7
- dependencies
4.0.0-beta.6 (2026-10-09)
Dependencies
- The following workspace dependencies were updated
- dependencies
- @webda/content-mapper bumped to 4.0.0-beta.6
- @webda/utils bumped to 4.0.0-beta.6
- devDependencies
- @webda/test bumped to 4.0.0-beta.6
- dependencies
4.0.0-beta.5 (2026-10-08)
Bug Fixes
Dependencies
- The following workspace dependencies were updated
- dependencies
- @webda/content-mapper bumped to 4.0.0-beta.5
- @webda/utils bumped to 4.0.0-beta.5
- @webda/workout bumped to 4.0.0-beta.5
- devDependencies
- @webda/test bumped to 4.0.0-beta.5
- dependencies
4.0.0-beta.4 (2026-10-08)
Features
Dependencies
- The following workspace dependencies were updated
- dependencies
- @webda/content-mapper bumped to 4.0.0-beta.4
- @webda/utils bumped to 4.0.0-beta.4
- dependencies
4.0.0-beta.3 (2026-10-05)
⚠ BREAKING CHANGES
- compiler: the accessors, loadParameters and unserializer modules are removed. They wrote into the sources what webdac build now generates through @webda/content-mapper, or methods nothing calls. The unused webdac build --code flag is removed too.
- @webda/ts-plugin and the
tsc-esmbinary are removed, and applications now build with TypeScript 7.1. Generated code changes where TypeScript 6 was wrong, each verified against the shipped output:- AuditEntry.timestamp, declared
number, is no longer coerced to Date; - AbstractOwnerModel no longer emits
new ModelLink(T), a ReferenceError on first raw-uuid assignment; - sample-app's
User extends WebdaUseris now treated as a model (TS6's base-chain guard was keyed on class name), so its relations are initialised and coerced; - imports use the specifier the author wrote, not monorepo-relative paths that only resolve inside this repository;
- the emitted .d.ts is valid (TS6 referenced PrimaryKeyType unimported and wrote BelongTo without its type argument). A build that cannot write its module now fails; under TS6 a strict file-naming violation was logged and the build still reported success.
- AuditEntry.timestamp, declared
- compiler: model relations are now
type: "string"in Input, Output and Stored schemas instead of an object with no properties, and six services gain thetypeproperty they inherit from ServiceParameters. Anything generated from these schemas — API validation, client types — changes with them.
Features
- add Behavior and move Binary to Behavior (ef05efb)
- add build hooks (97016bc)
- add codemod system (bbc3086)
- add codemod to compiler (7552a04)
- add formatting for context (54dee1e)
- add metadata plugins (ffcd62c)
- add models schema generation (921b0b4)
- add module @webda/compiler (6d30cd3)
- add operation schema on models (6c27107)
- allow Operation to be synchronous (d010c1f)
- allow webda serve from @webda/core package (69a6f01)
- blog-system Binary/Binaries demo + e2e suite, with framework fixes (#771) (fe7e187)
- build on TypeScript 7.1; delete @webda/ts-plugin and ts-patch (0008e97)
- capability-based auto-injection for CLI commands (#749) (027f098)
- compiler morphers (4ac0b9f)
- compiler: add PrimaryKeySeparator to ModelMetadata (b62943b)
- compiler: generate schemas with @webda/content-mapper (af3b7c5)
- compiler: optional TypeScript 7 schema backend, off by default (b58e72c)
- compiler: require Webda classes to live in mapper-claimed files (2dfac03)
- enhance debug panels (#759) (63e6e0c)
- improve caching module (08b2db5)
- model Behaviors v1 (#765) (5053245)
- move to node 22 (21daf46)
- move to pnpm and disable many modules for now (ea953b7)
- move to the Fork util from @webda/workout (a43b10b)
- remove ts-json-schema dep (2b7a67f)
- service capabilities and CLI commands system (#743) (ae2897c)
- update @webda/test to use new annotations (15e8b30)
- WebdaQLString<T> branded type + ts-plugin compile-time validator (#772) (f0c14c1)
Bug Fixes
- add cli in core (814a599)
- add schema generation on build (e63880c)
- add service operation detection (62e3a05)
- allow comments in tsconfig.json (1b75cde)
- compiler configuration import guess (72deeba)
- compiler metadata, CLI commands, cron/async hooks and long-running command lifecycle (#785) (0515715)
- compiler: make webdac code a working migration tool (578ca7b)
- compiler: rebuild the module when the generated service map changes (c52dec3)
- compiler: rebuild when any emitted file is missing (ca99edd)
- importing ModelLink (808ab14)
- interactive logger (8c30ee9)
- metadata guess on compile (5e6dcec)
- move to nodenext module and update Inject annotation (d7d85e4)
- unit test models relations (2d160f1)
Dependencies
- The following workspace dependencies were updated
- dependencies
- @webda/utils bumped to 4.0.0-beta.3
- @webda/workout bumped to 4.0.0-beta.3
- devDependencies
- @webda/test bumped to 4.0.0-beta.3
- dependencies