Skip to main content

Changelog

4.0.0-beta.5 (2026-10-08)​

Bug Fixes​

  • packaging: point every package's repository at its monorepo folder (#812) (3717b73)

4.0.0-beta.4 (2026-10-08)​

⚠ BREAKING CHANGES​

  • auth: redesign authentication with @webda/auth (#800)
  • @webda/ts-plugin and the tsc-esm binary 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 WebdaUser is 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.
  • the @webda/schema package is removed, along with its webda-schema-generator CLI. Schema generation lives in @webda/content-mapper and is driven by @webda/compiler; nothing in the repo imported @webda/schema any more after the previous commit.
  • compiler: model relations are now type: "string" in Input, Output and Stored schemas instead of an object with no properties, and six services gain the type property they inherit from ServiceParameters. Anything generated from these schemas — API validation, client types — changes with them.

Features​

  • add @webda/create (npm create @webda) with agent guidance (#799) (e29822a)
  • auth: redesign authentication with @webda/auth (#800) (74dc5df)
  • build on TypeScript 7.1; delete @webda/ts-plugin and ts-patch (0008e97)
  • compiler: generate schemas with @webda/content-mapper (af3b7c5)
  • compiler: optional TypeScript 7 schema backend, off by default (b58e72c)
  • content-mapper: close generator parity with the TypeScript 6 transforms (807688c)
  • content-mapper: emit-parity oracle for stage 9; drop loadParameters default (1a32862)
  • content-mapper: generate the whole webda.module.json on TypeScript 7.1 (1996b85)
  • content-mapper: model schemas, every divergence now proven (4f9cc60)
  • content-mapper: port model structural metadata, verified byte-for-byte (234c4b4)
  • content-mapper: port Reflection and Relations, verified byte-for-byte (69c4bb3)
  • content-mapper: port the behaviours transform (04e8559)
  • content-mapper: port the WebdaQL validator (4ee7137)
  • content-mapper: port Webda object discovery, verified byte-for-byte (ce63d08)
  • content-mapper: report duplicate Webda names instead of keeping the last silently (9bb1818)
  • content-mapper: schema converter, service parameters identical (4b88c7b)
  • content-mapper: top-level schemas, all three groups identical (074af29)
  • content-mapper: TypeScript 7.1 content mapper package (9b57565)
  • content-mapper: validate the schema port across the monorepo (ccff4a5)
  • ql: bind ? and :name query parameters (#788) (4a8647b)
  • ql: support IS NULL and IS NOT NULL (553d143)
  • schema: out-of-process schema worker, 22 of 29 schemas identical (d983846)

Bug Fixes​

  • compiler metadata, CLI commands, cron/async hooks and long-running command lifecycle (#785) (0515715)
  • content-mapper: close the initialiser and constructor-argument gaps (447e566)
  • content-mapper: drop the @webda/compiler devDependency cycle (#802) (8af66d6)
  • content-mapper: follow the model base chain through the checker (fd84a26)
  • unit test models relations (2d160f1)

Miscellaneous Chores​