All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.
1.0.1-alpha.155 (2024-10-30)
- 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)
- 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)
- 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)
- 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)
- 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)
- rpc: client.transporter.errored subject (0fc2bd4)
1.0.1-alpha.151 (2024-05-14)
- type: return all errors when validating array (#568) (c2ca10e), closes /github.com/deepkit/deepkit-framework/issues/565#issuecomment-2091054710
1.0.1-alpha.150 (2024-05-09)
- rpc: ensure data is not chunked twice in server->client controllers (6c59f9b)
- type-compiler: support ReceiveType in arrow function with body expression (3c66064)
- 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)
1.0.1-alpha.148 (2024-05-04)
- 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)
- http: support for JSON array payloads (#564) (feeeaa6)
- mysql: ensure
number & AutoIncrement
is alwaysint
(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)
- type-compiler: esm import of micromatch (5606d74)
1.0.1-alpha.145 (2024-04-08)
- 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)
- postgres: use DatabaseField<{type}> for type mapping if available (107399a)
- website: fix deps + builds (4183580)
1.0.1-alpha.143 (2024-03-17)
- 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
- 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)
- type-compiler: support windows reflection pattern matching (cec3146)
1.0.1-alpha.141 (2024-03-05)
- 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)
- framework: also disconnect broker/stopwatch onServerShutdown (69c56eb)
- sql: support per-field name remapping (63b8aaf)
1.0.1-alpha.139 (2024-02-29)
- 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)
- type: make sure methods are not part of deserialization/type guard union resolver (eb08a73)
1.0.1-alpha.137 (2024-02-26)
- 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)
- desktop-ui: correctly publish package.json (23f14ac)
1.0.1-alpha.135 (2024-02-16)
- rpc: reuse type cache across connections + made strictSerialization(false) less strict (1b55b08)
1.0.1-alpha.134 (2024-02-15)
- bson: allow to serialize null to optional property (77b0020)
- 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)
- bson: fix surrogate pair decoding (cb9f648)
- 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)
- 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)
- mongo: export custom command API (d82ccd1)
1.0.1-alpha.131 (2024-02-09)
- 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)
- http: don't include resolver/DI objects into HttpRequestParser (be189c5)
- http: allow to fetch unused path parameters in HttpRequestParser (cc3cd3b)
1.0.1-alpha.129 (2024-02-07)
- http: also read path parameters in HttpRequestParser (888d058)
1.0.1-alpha.128 (2024-02-06)
- framework: esm import (a9927c2)
- injector: correctly label symbols (ac07f21)
- postgres: don't crash when no index can be extracted (c80e88f)
- http: add new HttpRequestParser injection token (6101f83)
1.0.1-alpha.127 (2024-02-06)
1.0.1-alpha.126 (2024-02-06)
- rpc: wrong ESM import (1426627)
1.0.1-alpha.125 (2024-02-05)
- mongo: export error symbols (5841a5a)
1.0.1-alpha.124 (2024-02-04)
- 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
- orm: better Error handling + UniqueConstraintFailure (f1845ee)
- orm: new API to configure a join query (64cc55e)
1.0.1-alpha.123 (2024-02-02)
- desktop-ui: resolve various circular imports (3f5c676)
- injector: resolve deps of exported providers correctly (c185b38)
- orm: onDatabaseError event (cdb7256)
1.0.1-alpha.122 (2024-01-31)
- injector: new Module.configureProvider(Fn) with configuration callback (1739b95)
1.0.1-alpha.121 (2024-01-31)
- core: clear timeouts correctly in ProcessLock (89cd2d5)
- sqlite: correctly quote column renaming (e555ac8)
- topsort: circular reference detection (1c01cc1)
- 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)
- 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)
- sql: support embedded union object literals (29da45c)
- type: provide parent types in serializer template state (d65dfc0)
1.0.1-alpha.118 (2024-01-27)
- app: support Reference in cli object flags (b436af2)
- framework: support multi-host broker setup (6daa19e)
1.0.1-alpha.117 (2024-01-26)
- 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)
- 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)
- 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)
- 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)
- http: make sure HttpHeader options is defined (ea251ed)
- type-compiler: support nodenext/node16 module type (5e40fae)
- type-compiler: improve performance drastically (1d80c1a)
1.0.1-alpha.113 (2024-01-17)
- framework: make sure profiler is only activated when debug/profile is true. (c1d9357)
- orm: remove rxjs dependency (0d9dfe1)
1.0.1-alpha.112 (2024-01-16)
- framework: make sure configured var/debug folder is created when (3383504)
- 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)
- 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)
- type-compiler: make sure plugin is exported in new entrypoint + deps are correct (22eb296)
1.0.1-alpha.109 (2024-01-10)
- 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)
- 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)
- 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)
- 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)
- 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)