Skip to content

Latest commit

 

History

History
670 lines (431 loc) · 56.4 KB

CHANGELOG.md

File metadata and controls

670 lines (431 loc) · 56.4 KB

Change Log

All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.

1.0.7 (2025-04-18)

Bug Fixes

  • bson: serialize bigint in any container as long (8a67d96)
  • rpc: missing .js extension on imports (d0380c9)
  • vite: broken esm build (eb3baca)

1.0.6 (2025-04-03)

Bug Fixes

  • rpc: make sure client disconnect trigger transport disconnect (89ae002)

1.0.5 (2025-04-02)

Bug Fixes

  • bson: bigint with isNaN checks (b46e228)
  • filesystem: ensure readLocalFile reads from local FS (ad948e6), closes #637
  • filesystem: ensure writeFile forwards visibility (57250a2), closes #638
  • http: disable compression by default (257cb61), closes #592
  • type: remove Inject (moved to @deepkit/core (06d650a), closes #587
  • type: replace more Inject imports (5a88760)

Features

  • bench: new @deepkit/bench package for doing benchmarks (210bd84)
  • bson: convert if-else branch to lookup (3589e62)
  • core: export AsyncFunction (cebd164)
  • framework: new option logStartup to control startup rpc/http endpoints logging (7695822)
  • injector: better docs (7402f11)
  • injector: refactor internal code to get big performance improvement (f295c5e)
  • logger: add debug2 level + more control over scope log level (be01b73)
  • run: new @deepkit/run package to run typescript easily (0b9246e)

1.0.4 (2025-03-13)

Bug Fixes

1.0.3 (2025-03-13)

Bug Fixes

  • api-console-module: correctly parse HttpBodyValidation and HttpRequestParser (3a5a048)
  • broker: ensure no dangling Promise (9056812)
  • create-app: update dep versions (6d12d4a)
  • desktop-ui: adjust to new event api (38ef6b8)
  • desktop-ui: ng-packagr build and safari styling (956ca9b)
  • http: better defaults for new formidable version (5c9788e)
  • logger: ensure scoped Logger maintain reference to log level (3874148)
  • mongo: hello command (30cbad5)
  • mongo: transactions (e4781db)

Features

  • bson: new BsonStreamReader (3faa77a)
  • desktop-ui: allow to pass ConnectedPosition strategy to dropdown component (9ffd941)
  • devtool: new chrome devtool to debug rpc connections (80c5105)
  • devtool: reduce needed permissions and make it explicit for each domain (1cb03cd)
  • event: align API with Event web standards (0e1dca2)
  • event: allow late event listening, new synchronous event dispatching with 15x performance improvement (0cc6843)
  • event: allow sync tokens with sync dispatching and sync listeners (798dfb7)
  • injector: improve error messages, make it very clear what failed and where providers are located (5866eda)
  • injector: improve prepared resolver performance by 11x and dynamic Injector.get by 17x (3906e2c)
  • mongo,orm,logger: improve transaction safety and logging (95faf2c)
  • mongo: add replica set support, rework connection handling (7fe1a9a)
  • mongo: add support for read preference via Query API (c829762)
  • mongo: more statistics, optimise error message when primary is not reachable (0cd4e1e)
  • rpc: add utility functions to create Subject/Observable synchronously from an RPC controller (349668f)
  • rpc: automatically garbage collect observables + new event system + stats collection (d727232)
  • rpc: improve disconnect handling and cleaning up RpcMessageSubject correctly (9d9e29a)
  • rpc: improve performance by 25% (f7e524f)
  • sql: migration support for node v22 without ts-node dependency (f939ea1)

BREAKING CHANGES

  • event: stopPropagation() becomes stopImmediatePropagation().

New BaseEvent.preventDefault() which replaces custom solutions like stop() in DatabaseEvent.

1.0.2 (2025-02-24)

Bug Fixes

  • type-compiler: make sure not annotated properties get unknown as type (b262534)
  • website: complete ssr and docker build (90371f2)

Features

  • angular-ssr: support server:start serving of angular routes (ee3972c)
  • rpc: allow to register hooks for rpc kernel and actions (cb0102b)

1.0.1 (2025-02-24)

Bug Fixes

  • app: remove deepkit-openapi since incompatible (f825f27)
  • framework-debug-gui: hide broker menu (ecf1b27)
  • type-compiler: check in installer if file exists (eb07783), closes #630
  • ui-library: missing module import (30f80d3)

1.0.1-alpha.160 (2025-02-18)

Bug Fixes

  • angular-ssr: remove usage of angular internals (ae91295)
  • type: make typeAnnotation backwards compatible to metaAnnotation (8be8b5e)
  • website: docs about typeAnnotation (83bab92)

1.0.1-alpha.159 (2025-02-18)

Bug Fixes

1.0.1-alpha.158 (2025-02-15)

Bug Fixes

  • desktop-ui: package scripts (05e86f0)
  • desktop-ui: package scripts (4b64f7f)

1.0.1-alpha.157 (2025-02-15)

Bug Fixes

  • angular-ssr: docs (eae7291)
  • core: disable reflection in indent.ts (9bbc278)
  • core: pass correct global in indent.ts (b1558e4)
  • http: isElementStruct with null (04e54b0)
  • rpc: ensure message size is reset to 0 after reaching a buffer that is too small (c78a2a2)
  • tsconfig and tsc build (ac71e83)
  • type: convert TypeAnnotation into intrinsic type (#629) (4d1a13e), closes #626
  • type: ensure union check in deserialize mode to handle property with default value correctly (11c2116), closes #623
  • type: remove debug code (fefd9a3)

Features

  • event: better doc blocks for listen (452dc6a)
  • http: update formidable to ^3.5.2 (e4007c3)
  • rpc: make binary parser more stable and throw better error message on decoding failure (66e8f0d)
  • rpc: show invalid binary message in hex on error (1a7bf16)
  • sqlite: update better-sqlite3 to 11.8.1 (cb1eafd)
  • type-compiler: support trivially inferred types (087b60a)
  • update to angular 19 and typescript 5.7.3, new @deepkit/angular-ssr package (#627) (52333a7)
  • website: adjust docs createModule -> createModuleClass (763bfa9)

1.0.1-alpha.156 (2025-01-30)

Bug Fixes

  • bson: initial random value of incremental counter of ObjectId (fb1263d)
  • bson: throw on invalid string data (423df6c)
  • don't process delete PKs if norows were affected (#621) (f2f6ed0)
  • type: make sure forwarded type arguments reset Ω at the origin (3138671), closes #619

Features

  • bson: decrease threshold to when TextDecoder is used to decoder utf8 (4daed1c)

1.0.1-alpha.155 (2024-10-30)

Bug Fixes

  • framework: di token to label (0b37a21)
  • type: add executeTypeArgumentAsArray + custom iterable example with manual implementation (0781a1a)
  • type: symbols as method names (2be4ce6)

1.0.1-alpha.154 (2024-09-06)

Bug Fixes

  • bson: make sure index signature keys use full utf8 encoding (d447c1d)
  • sql: fix queries where value legitimately begins with $ (#580) (e0a0c3f)
  • sql: repair & enable @deepkit/sql tests (#579) (81a1ab1)
  • type-compiler: include enum annotations in .d.ts transformation (#607) (08854f3)
  • type: add scope in setter code to prevent variable already declared #603 (#606) (9af344f)
  • website: modify broken reflection example (#599) (7ee0a75)

Features

  • http: http timeout options (44fbf56)
  • rpc: make Buffer dependency optional (2f32a12)
  • type: support enum in pathResolver/resolvePath (78d7df0)

1.0.1-alpha.153 (2024-06-06)

Bug Fixes

  • app: don't force package.json to exist for finding env files (f478e96)
  • bson: make sure NaN is deserialized as 0 (7b19397)
  • orm: correctly resolve reference class schemas (e193325)
  • rpc: add interface for fetch (6035736)
  • rpc: http adapter wrong authorization + remove OPTIONS method (3ff8955)
  • rpc: make sure Error is chained and ValidationError correctly handled (5c49778)
  • website: angular 18 fixes (4307a5d)

Features

  • broker: new BrokerKeyValue and broker documentation (1f53bc8)
  • orm: support passing type to Database.persistAs/Database.removeAs, DatabaseSession.addAs (6679aba), closes #571
  • rpc: add http transport (3b2c6cc)
  • type: automatically assign .path to SerializationError in TemplateState.convert() errors (1e8d61d)
  • type: automatically assign .path to SerializationError in TemplateState.convert() errors (23781a1)
  • website: improve broker docs (1ff9600)
  • website: migrated to Angular v18 SSR + Signals (322817f)
  • website: update angular to v18 (4dcc38c)

1.0.1-alpha.152 (2024-05-16)

Features

  • rpc: client.transporter.errored subject (0fc2bd4)

1.0.1-alpha.151 (2024-05-14)

Features

1.0.1-alpha.150 (2024-05-09)

Bug Fixes

  • rpc: ensure data is not chunked twice in server->client controllers (6c59f9b)
  • type-compiler: support ReceiveType in arrow function with body expression (3c66064)

Features

  • type-compiler: allow to use T from ReceiveType in function body as type reference (4d24c8b), closes #565

1.0.1-alpha.149 (2024-05-07)

Bug Fixes

  • type-compiler: make sure type reference resolving skips parameter names (16ba17d), closes #566

1.0.1-alpha.148 (2024-05-04)

Features

  • type: new TemplateState.touch and isTypeClassOf (cdf3272)
  • type: support lower/mixed case as identifier for enum values (ce0166e)
  • type: support mixed case enum member in union resolver (96dd2d8)

1.0.1-alpha.147 (2024-05-04)

Bug Fixes

  • http: support for JSON array payloads (#564) (feeeaa6)
  • mysql: ensure number & AutoIncrement is always int (69feb17)
  • sqlite: make sure ALTER TABLE are not aggregated (74ef2eb)
  • type: make sure handled constructor properties are not set twice (2e82eb6)
  • type: resolve global classes as shallow TypeClass (d976024)
  • website: docs about DI configureProvider and nominal tyoes (e5dafb4)

1.0.1-alpha.146 (2024-04-17)

Bug Fixes

  • type-compiler: esm import of micromatch (5606d74)

1.0.1-alpha.145 (2024-04-08)

Bug Fixes

  • filesystem-aws-s3: use correct path normalize function (58042a9)
  • http: make sure invalid formidable files are skipped (d1ff09b)
  • orm: make sure persistence is always closed on flush (015d90a)
  • sql: dates should be nullable without casting as JSON (#553) (d34b1a3)
  • sql: resolve Date|null to date type (ab12802)
  • type guard handing of empty Map/Set (da4cf82)
  • website: fix ssr, remove some pages (51b9b36)

1.0.1-alpha.144 (2024-03-19)

Bug Fixes

  • postgres: use DatabaseField<{type}> for type mapping if available (107399a)
  • website: fix deps + builds (4183580)

1.0.1-alpha.143 (2024-03-17)

Bug Fixes

  • core: don't include stack in formatError per default (1b603ee)
  • http: parameter service injection into route methods with encapsulated modules (9c98f8b)
  • type-compiler: also parse tsx source files (80464bf), closes #560
  • type: print Error cause chain in formatError (c2a413a)
  • type: union expansions in intersections (332b26e), closes #556

Features

  • desktop-ui: support queryParams in list route support (6f33804)
  • injector: improve set method api (#557) (eb92e58)
  • mysql, postgres: add support for connection URLs (2518670)

1.0.1-alpha.142 (2024-03-06)

Bug Fixes

  • type-compiler: support windows reflection pattern matching (cec3146)

1.0.1-alpha.141 (2024-03-05)

Bug Fixes

  • orm: remove browser export (58bb3c8)
  • rpc: maintain strictSerialization option also in new observables (273330b)
  • type: handle Function correctly in type comparisons (16f0c1d)

1.0.1-alpha.140 (2024-03-02)

Bug Fixes

  • framework: also disconnect broker/stopwatch onServerShutdown (69c56eb)

Features

  • sql: support per-field name remapping (63b8aaf)

1.0.1-alpha.139 (2024-02-29)

Bug Fixes

  • create-app: adjust example app to new API changes (d2b1c26)
  • rpc: only print warning text, not error (ed8cfe7)
  • type-compiler: mark the right SourceFile object as processed (38cfdf0)
  • type: better error message when fast path type resolution fails due to undefined symbols (0ef082d)

1.0.1-alpha.138 (2024-02-27)

Bug Fixes

  • type: make sure methods are not part of deserialization/type guard union resolver (eb08a73)

1.0.1-alpha.137 (2024-02-26)

Bug Fixes

  • app: allow to inject optional services (52fd21f)
  • desktop-ui: correctly unregister destroyed sidebar (8613ae4)
  • framework: order of scoped services to allow injecting HttpRequest in RpcKernelSecurity (9a5e300)
  • type: correctly type guard null in optional properties (c0adcb0)

1.0.1-alpha.136 (2024-02-20)

Bug Fixes

  • desktop-ui: correctly publish package.json (23f14ac)

1.0.1-alpha.135 (2024-02-16)

Features

  • rpc: reuse type cache across connections + made strictSerialization(false) less strict (1b55b08)

1.0.1-alpha.134 (2024-02-15)

Bug Fixes

  • bson: allow to serialize null to optional property (77b0020)

Features

  • rpc: allow to disable strict serialization and validation (d7a8155)
  • rpc: use rpc.logValidationErrors also for strict serializer (78f57e9)

1.0.1-alpha.133 (2024-02-15)

Bug Fixes

  • bson: fix surrogate pair decoding (cb9f648)

Features

  • app: allow array flags in object literal (690927c)
  • bson: export new wrapObjectId/wrapUUId for faster any serialization (718839b)
  • mongo: add readPreference support (6275c37)
  • rpc: allow serialization of unknown Observable type (0014074)

1.0.1-alpha.132 (2024-02-10)

Bug Fixes

  • rpc: better error message when no observable type can be extracted (5e7ecf1)
  • sql: strings should be nullable without casting as JSON (#552) (fe55b7f)
  • type: intersection of two different primitive types always return never (#549) (20d3dc8)

Features

  • mongo: export custom command API (d82ccd1)

1.0.1-alpha.131 (2024-02-09)

Bug Fixes

  • http: make sure all path parameters are available in HttpRequestParser (e215420)
  • rpc: error Observable Subscribers when no Observable Next type can be detected (e207fea)
  • type: make sure cast throws when null/undefined is passed (1bb3641)

1.0.1-alpha.130 (2024-02-07)

Bug Fixes

  • http: don't include resolver/DI objects into HttpRequestParser (be189c5)

Features

  • http: allow to fetch unused path parameters in HttpRequestParser (cc3cd3b)

1.0.1-alpha.129 (2024-02-07)

Features

  • http: also read path parameters in HttpRequestParser (888d058)

1.0.1-alpha.128 (2024-02-06)

Bug Fixes

  • framework: esm import (a9927c2)
  • injector: correctly label symbols (ac07f21)
  • postgres: don't crash when no index can be extracted (c80e88f)

Features

  • http: add new HttpRequestParser injection token (6101f83)

1.0.1-alpha.127 (2024-02-06)

Bug Fixes

  • framework: wrong ESM import (9ec0df2)
  • sql: wrong ESM import (08996bb)

1.0.1-alpha.126 (2024-02-06)

Bug Fixes

1.0.1-alpha.125 (2024-02-05)

Bug Fixes

  • mongo: export error symbols (5841a5a)

1.0.1-alpha.124 (2024-02-04)

Bug Fixes

  • desktop-ui: -webkit-scrollbar is not supported in chrome anymore (68fca4f)
  • desktop-ui: dont ignore dist/ in npm package (e6e6faa)
  • orm: make sure getJoin operates on existing join model (03b2428)
  • type: handle more circular types (5f6bd12), closes #477

Features

  • orm: better Error handling + UniqueConstraintFailure (f1845ee)
  • orm: new API to configure a join query (64cc55e)

1.0.1-alpha.123 (2024-02-02)

Bug Fixes

  • desktop-ui: resolve various circular imports (3f5c676)
  • injector: resolve deps of exported providers correctly (c185b38)

Features

  • orm: onDatabaseError event (cdb7256)

1.0.1-alpha.122 (2024-01-31)

Features

  • injector: new Module.configureProvider(Fn) with configuration callback (1739b95)

1.0.1-alpha.121 (2024-01-31)

Bug Fixes

  • core: clear timeouts correctly in ProcessLock (89cd2d5)
  • sqlite: correctly quote column renaming (e555ac8)
  • topsort: circular reference detection (1c01cc1)

Features

  • broker: await using BrokerLockItem.hold() for better resource management (7917fb1)
  • http: allow using unknown/any/never types that are nominal (3221ff0)

1.0.1-alpha.120 (2024-01-29)

Features

  • mysql: upgrade mariadb dependency to 3.2.3 (558ca17)
  • sql: support more union types and add new performance abstraction (03067fa), closes #525
  • type: preserve modifiers in homomorphic mapped types (f2091d0), closes #515 #514

1.0.1-alpha.119 (2024-01-28)

Features

  • sql: support embedded union object literals (29da45c)
  • type: provide parent types in serializer template state (d65dfc0)

1.0.1-alpha.118 (2024-01-27)

Features

  • app: support Reference in cli object flags (b436af2)
  • framework: support multi-host broker setup (6daa19e)

1.0.1-alpha.117 (2024-01-26)

Bug Fixes

  • broker: invalid type in Bus.publish (fb99dbe)
  • type-compiler: embed external class/functions (ad6973d)
  • type-compiler: merge compilerOptions from ConfigResolver (7b00789)
  • type-compiler: pattern match exclusion for globs (#543) (30e3319)
  • type: correct type guard (272cff9)

Features

  • app: allow object literals as flags (488247a)
  • app: allow passing command function without name (6796414)
  • app: more color in CLI validation error (9231b7c)
  • http: support non-class types as DI tokens in route actions (a296570)
  • type-compiler: improve perf by 10x (6eb0436)
  • type-compiler: support local export syntax + improve logging (993cffa)

1.0.1-alpha.116 (2024-01-22)

Features

  • injector: throw error when both forRoot and exports are used in module (#539) (7faa60d)
  • type: refactor typeName embedding (48a2994)

1.0.1-alpha.115 (2024-01-21)

Bug Fixes

  • create-app: update code to newest deepkit version (7f85620)
  • framework: stopwatch store last sync report error (bc15c06)
  • rpc-tcp: make sure unixsocket folder is created (00fd4ed)
  • website: add @latest to npm init (f182de5)

1.0.1-alpha.114 (2024-01-21)

Bug Fixes

  • http: make sure HttpHeader options is defined (ea251ed)
  • type-compiler: support nodenext/node16 module type (5e40fae)

Features

  • type-compiler: improve performance drastically (1d80c1a)

1.0.1-alpha.113 (2024-01-17)

Bug Fixes

  • framework: make sure profiler is only activated when debug/profile is true. (c1d9357)

Features

  • orm: remove rxjs dependency (0d9dfe1)

1.0.1-alpha.112 (2024-01-16)

Bug Fixes

  • framework: make sure configured var/debug folder is created when (3383504)

Features

  • app: improve CLI outputs/parsing by removing @oclif (e38bbd1)
  • rpc: make kernel connection available in kernel security (#536) (32252b0)

1.0.1-alpha.111 (2024-01-15)

Features

  • type: add new fast path to resolveReceiveType and made it 5x faster on average use case. (45d656c)

1.0.1-alpha.110 (2024-01-11)

Bug Fixes

  • type-compiler: make sure plugin is exported in new entrypoint + deps are correct (22eb296)

1.0.1-alpha.109 (2024-01-10)

Bug Fixes

  • bson: tests (607d369)
  • create-app: add missing filesystem dependency (#533) (a70327c)
  • http: use default values of route parameters if no http value was provided. (fa74d16), closes #529
  • injector: allow to define scope in provide({}) (2f12c2e)
  • orm: snapshot type any correctly (4898e9b)
  • rpc: defer resolving class name (68fe2a9)
  • rpc: tests with controller path resolution based on reflection (6909fa8)
  • sql: serialize referenced types (#528) (2f68991)
  • type-compiler: arrow function receive type (#521) (6bfb246)
  • type-compiler: resolve reflection mode paths correctly (acb2d72)
  • type-compiler: set ts compiler options target to es2022 if higher than es20222 when resolving global lib files (#516) (29a1a17)
  • type: make serializer API consistent (5870005)

Features

  • broker: queue message deduplication (#512) (2a8bf2c)
  • injector: add support for receive type in isProvided (#511) (e405ed3)
  • mongo,sql: skip database field for inserts (#527) (9fca388)

1.0.1-alpha.108 (2023-11-21)

Bug Fixes

  • app: correctly end stopwatch frame (86be2e1)
  • broker: await disconnect (0568378)
  • core: make sure stringifyValueWithType does not print unlimited depth (56fbef9)
  • framework: don't enable profiler per default (52a7e52)
  • framework: dont throw when profiler package couldn't be built. (3b165d6)
  • framework: provide always DebugBroker (1b55b65)
  • http: fix tests to reflect new error reporting (1eb83ff)
  • injector: make sure type cache is used when finding matching provider. (8c79e4b)
  • rpc: correctly load controller name (9d603db)
  • rpc: race condition in disconnect() when connect is still in progress (f2d708d)
  • template: better typings to support <element role="string"> (efb1668)
  • type: correctly check X extends Date and print validation errors with caused value. (fde795e)
  • type: correctly materialize Promise in runtime checks. (aa66460), closes #495
  • type: make sure typeof x expression doesn't return the original type (7206e7e)
  • type: make sure inline returns a ref to the correct type program (dc5d6dd)

Features

  • rpc: make controller decorator name optional (#491) (525ed39)
  • type-compiler: emit typeName for type only imports (#501) (318d091)

1.0.1-alpha.107 (2023-10-23)

Note: Version bump only for package root

1.0.1-alpha.106 (2023-10-23)

Note: Version bump only for package root

1.0.1-alpha.105 (2023-10-23)

Bug Fixes

  • filesystem-aws-s3: use new type for ACL (dd08c77)
  • framework: support esm environment for debug gui http routes (5cb33cf)
  • mongo: also check connection request for queued requests. (6c6ca94)
  • mongo: fix off by one error in pool (666ba86)
  • orm: correctly instantiate database class per module (1ea2418)
  • rpc: move controllerAccess to handleAction to not call it twice. (c68308d)
  • type-compiler: wrong import (caad2b3)
  • type: do not interfere with type checking when intersecting multiple type annotations. (af85f1f)
  • type: test (c335466)