# expressots: what changed from 3 to 4 - Product: expressots (https://whatsnew.fyi/product/expressots) - Vendor: expressots - Range: changelog entries numbered after 3.0.0 up to and including v4.2.1, stable releases only - Entries below: 5 releases (newest first) - Resolved: 3 is 3.0.0 and 4 is v4.2.1, the newest stable release of each major we track - Carrying security changes: 0 · CVEs mentioned: 0 · Mentioning breaking changes: 1 · Removing or deprecating something: 1 - Page: https://whatsnew.fyi/product/expressots/compare/3...4 What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. ## What changed (19 changes, grouped by kind) ### Added #### v4.2.0 (2026-08-03) - Add scaffold command for Cloudflare Workers micro targets - Add pack:local --link option to wire a test app to a local build #### v4.0.0 (2026-07-17) - Subpath exports for @expressots/core/testing, /di, /render, and /path-resolver - validationRegistry singleton for validation with optional peer dependencies for zod, yup, and class-validator - llms.txt file shipped in the package for agent support ### Changed #### v4.2.1 (2026-08-04) - Reduce Worker bundle size by 62% #### v4.1.0 (2026-07-27) - Migrate to monorepo structure #### v4.0.0 (2026-07-17) - Bootstrap API now uses bootstrap(App) with AppExpress; AppFactory is now internal - Strict TypeScript with strictNullChecks and noImplicitAny enabled across the codebase - Reduced package size by ~0.8 MB unpacked with single shared declaration tree and sideEffects declared for safe tree-shaking - Node.js >= 20.19.0 is now required ### Fixed #### v4.2.1 (2026-08-04) - Fix createTestApp under Jest #### v4.2.0 (2026-08-03) - Fix response fidelity and working lifecycle hooks on serverless targets - Fix request fidelity on Workers and test Worker scaffolds on workerd ### Removed #### v4.0.0 (2026-07-17) - Deprecated root AppFactory export - Removed v3 InMemoryDataProvider and InMemoryDataTable - Removed LazyServiceIdentifer typo alias - Removed Logger#formatMessage method - Removed AppContainer#viewContainerBindings _One release carries no categorized changes yet: v4.1.1._ ## Release notes ### v4.2.1 — ExpressoTS 4.2.1 - Date: 2026-08-04 - Version: v4.2.1 - Original notes: https://github.com/expressots/expressots/releases/tag/v4.2.1 - Permalink: https://whatsnew.fyi/product/expressots/releases/v4.2.1 - **changed** — Reduce Worker bundle size by 62% - **fixed** — Fix createTestApp under Jest ##### What's Changed * perf: cut the Worker bundle 62% + fix createTestApp under Jest by @rsaz in https://github.com/expressots/expressots/pull/961 **Full Changelog**: https://github.com/expressots/expressots/compare/v4.2.0...v4.2.1 ### v4.2.0 — ExpressoTS 4.2.0 - Date: 2026-08-03 - Version: v4.2.0 - Original notes: https://github.com/expressots/expressots/releases/tag/v4.2.0 - Permalink: https://whatsnew.fyi/product/expressots/releases/v4.2.0 - **added** — Add scaffold command for Cloudflare Workers micro targets - **fixed** — Fix response fidelity and working lifecycle hooks on serverless targets - **fixed** — Fix request fidelity on Workers and test Worker scaffolds on workerd - **added** — Add pack:local --link option to wire a test app to a local build ##### What's Changed * feat(cli): scaffold Cloudflare Workers micro targets by @xgame92 in https://github.com/expressots/expressots/pull/946 * fix(adapter): response fidelity and working lifecycle hooks on serverless targets by @rsaz in https://github.com/expressots/expressots/pull/957 * fix(adapter): request fidelity on Workers; test Worker scaffolds on workerd by @rsaz in https://github.com/expressots/expressots/pull/958 * chore(tooling): add pack:local --link to wire a test app to a local build by @rsaz in https://github.com/expressots/expressots/pull/960 ##### New Contributors * @xgame92 made their first contribution in https://github.com/expressots/expressots/pull/946 **Full Changelog**: https://github.com/expressots/expressots/compare/v4.1.1...v4.2.0 ### v4.1.1 — ExpressoTS 4.1.1 - Date: 2026-07-27 - Version: v4.1.1 - Original notes: https://github.com/expressots/expressots/releases/tag/v4.1.1 - Permalink: https://whatsnew.fyi/product/expressots/releases/v4.1.1 **Full Changelog**: https://github.com/expressots/expressots/compare/v4.1.0...v4.1.1 ### v4.1.0 — ExpressoTS 4.1.0 - Date: 2026-07-27 - Version: v4.1.0 - Original notes: https://github.com/expressots/expressots/releases/tag/v4.1.0 - Permalink: https://whatsnew.fyi/product/expressots/releases/v4.1.0 - **changed** — Migrate to monorepo structure ##### What's Changed * Monorepo migration (v4.1.0 structure) by @rsaz in https://github.com/expressots/expressots/pull/913 * chore(deps): bump the minor-and-patch group with 5 updates by @dependabot[bot] in https://github.com/expressots/expressots/pull/935 **Full Changelog**: https://github.com/expressots/expressots/compare/v4.0.0...v4.1.0 ### v4.0.0 — ExpressoTS 4.0.0 - Date: 2026-07-17 - Version: v4.0.0 - Original notes: https://github.com/expressots/expressots/releases/tag/v4.0.0 - Permalink: https://whatsnew.fyi/product/expressots/releases/v4.0.0 - **changed** — Bootstrap API now uses bootstrap(App) with AppExpress; AppFactory is now internal - **added** — Subpath exports for @expressots/core/testing, /di, /render, and /path-resolver - **changed** — Strict TypeScript with strictNullChecks and noImplicitAny enabled across the codebase - **changed** — Reduced package size by ~0.8 MB unpacked with single shared declaration tree and sideEffects declared for safe tree-shaking - **added** — validationRegistry singleton for validation with optional peer dependencies for zod, yup, and class-validator - **added** — llms.txt file shipped in the package for agent support - **removed** — Deprecated root AppFactory export - **removed** — Removed v3 InMemoryDataProvider and InMemoryDataTable - **removed** — Removed LazyServiceIdentifer typo alias - **removed** — Removed Logger#formatMessage method - **removed** — Removed AppContainer#viewContainerBindings - **changed** — Node.js >= 20.19.0 is now required ExpressoTS 4.0.0 — stable release of the v4 line. ##### Highlights - **Bootstrap-first API**: `bootstrap(App)` with `AppExpress`; `AppFactory` is now internal - **Subpath exports**: `@expressots/core/testing`, `/di`, `/render`, `/path-resolver` - **Strict TypeScript**: `strictNullChecks` + `noImplicitAny` enabled across the codebase - **Leaner install**: single shared declaration tree (~0.8 MB smaller unpacked, 879 files), `sideEffects` declared for safe tree-shaking - **Validation**: `validationRegistry` singleton; optional peers for `zod`, `yup`, `class-validator` - **Agent-ready**: `llms.txt` ships in the package - **TypeScript 7-clean configs** with a `ts7-compat` CI gate (toolchain remains TS 5.x) ##### Breaking changes - Removed deprecated APIs: root `AppFactory` export, v3 `InMemoryDataProvider`/`InMemoryDataTable`, `LazyServiceIdentifer` typo alias, `Logger#formatMessage`, `AppContainer#viewContainerBindings` - Node.js >= 20.19.0 required Full details in [CHANGELOG.md](https://github.com/expressots/expressots/blob/main/CHANGELOG.md).