Skip to content

2.4.0

Latest

Choose a tag to compare

@flancer64 flancer64 released this 07 Oct 16:39

Requirements

  • Require Node.js 22 or newer (previously 20.17) and @teqfw/di 2.11 or newer within the 2.x line (previously 2.7).

Fixed in 2.4.0

  • Describe connections using the selected dialect: SQLite logs its filename; server databases log database, host, and user without treating leftover filename settings as SQLite configuration.
  • Omit raw connection setup errors from logs to avoid disclosing credentials while preserving the original thrown error.
  • Resolve checked-JavaScript contract errors and verify the published declarations against a consumer of the actual npm artifact.

Documentation

  • Clarify when independent applications sharing database space need an application-map prefix; packages contributing to one application do not require an extra prefix.
  • Guide concise domain-based DEM names and explicit migration planning for logical path or physical prefix changes.
  • Keep compilation access internal to Schema; hosts retain the successful loader result for preparation and history operations.

Development Snapshot Compatibility

  • Table-backed identity allocation and the public Schema.getCompilation() getter existed only in intermediate development commits after 2.3.0 and are not part of this release.
  • Consumers of those snapshots must retain the loader result instead of calling the getter. Databases created with allocated identities require an explicit migration/rebuild to native generation, preserving IDs, foreign keys, and native sequence state; changing the map alone does not convert existing storage.

Security

  • Bind legacy PostgreSQL sequence names and values instead of interpolating SQL, validate sequence values before execution, and restore imported sequences through the active transaction.
  • Preserve special JSON keys during fingerprinting and prevent inherited-property merges and prototype mutation.
  • Replace the Markdown CLI dependency tree with a direct library runner and an override for the patched KaTeX line.

Development and Publication

  • Bound @teqfw/log to 2.x and align Node.js declaration dependencies with Node.js 22.
  • Add a verification command, publication checks, Node.js 22/24 CI, and a private vulnerability reporting policy.
  • Document agent-operated local npm publication with lifecycle verification; GitHub Actions only verifies changes.
  • Inspect a real npm tarball and verify its source syntax, consumer types, closed exports, and runtime DI resolution.
  • Remove obsolete scripts that deleted the dependency lockfile and development assets.