Changelog
v0.15.1
Bug fixes
v0.15.0
Breaking changes
- chore(eslint-plugin): drop package
17d132
- Use
@lightbase/eslint-config
instead. It is almost fully compatible, but requires some migration. Please follow the migration guide.
- Use
Features
- feat(code-gen): support TypeScript target for router and database generators
c1739c
Other
- chore: replace ESLint setup
591faa
Dependency updates
- build(deps): bump the aws-sdk group across 1 directory with 2 updates (#3369)
51860b
- build(deps): bump the aws-sdk group across 1 directory with 2 updates (#3376)
ea8d44
- build(deps): bump the aws-sdk group across 1 directory with 2 updates (#3387)
537143
- build(deps): bump @aws-sdk/client-s3 from 3.654.0 to 3.667.0 (#3380, #3393, #3396, #3399, #3401, #3402, #3405)
- build(deps): bump @aws-sdk/lib-storage from 3.654.0 to 3.667.0 (#3380, #3393, #3396, #3399, #3401, #3402, #3405)
v0.14.1
Bug fixes
Other
- chore(cli,stdlib): fix flaky tests
1a9bde
Dependency updates
- build(deps): bump pino from 9.3.2 to 9.4.0 (#3353)
- build(deps): bump sharp from 0.33.4 to 0.33.5 (#3329)
- build(deps): bump eslint-plugin-import from 2.29.1 to 2.30.0 (#3352)
- build(deps): bump @aws-sdk/client-s3 from 3.637.0 to 3.649.0 (#3356, #3364)
- build(deps): bump @aws-sdk/lib-storage from 3.637.0 to 3.649.0 (#3356, #3364)
- build(deps): bump file-type from 19.4.1 to 19.5.0 (#3359)
v0.14.0
Breaking changes
- chore(stdlib,store,server): remove Sentry v7 compatibility
381cfa
- Compas now only works with Sentry v8+
v0.13.1
Bug fixes
- fix(stdlib,server): correct Sentry sampled checks and dropping of trace events
f70085
Dependency updates
- build(deps): bump file-type from 19.3.0 to 19.4.1 (#3337)
- build(deps): bump @aws-sdk/client-s3 from 3.635.0 to 3.637.0 (#3336)
- build(deps): bump @aws-sdk/lib-storage from 3.635.0 to 3.637.0 (#3336)
v0.13.0
Features
- feat(code-gen): always expose the Compas structure in OpenAPI format
18cc26
- feat(store): add option to 'jobSessionStoreCleanup' to revoke sessions after N days
21a3f8
Other
Dependency updates
- build(deps): bump the aws-sdk group across 1 directory with 2 updates (#3330)
468dac
- build(deps): bump tar from 6.2.1 to 7.4.3 (#3274)
- Major version bump
- Release notes
v0.12.4
Other
- chore(changelog): clarify v0.12.0 release notes
bdab74
- chore: remove lockfile + prevent creation
6075e3
- chore(store): call
eventStop
inqueueWorker
if application didn't14b9b3
Dependency updates
- build(deps): bump sharp from 0.33.3 to 0.33.4 (#3247)
- build(deps): bump @babel/eslint-parser from 7.24.1 to 7.25.1 (#3249, #3285)
- build(deps): bump recast from 0.23.6 to 0.23.9 (#3253)
- build(deps): bump file-type from 19.0.0 to 19.3.0 (#3265)
- build(deps): bump pino from 9.2.0 to 9.3.2 (#3272)
- build(deps): bump prettier from 3.3.2 to 3.3.3 (#3256)
- build(deps): bump @babel/core from 7.24.7 to 7.25.2 (#3285)
- build(deps): bump @aws-sdk/client-s3 from 3.554.0 to 3.620.1 (#3284)
- build(deps): bump @aws-sdk/lib-storage from 3.554.0 to 3.620.1 (#3284)
v0.12.3
Bug fixes
- fix(sentry): use local identity functions when
startNewTrace
is not available28e89d
v0.12.2
Features
- feat(stdlib,store,server): Sentry v7 & v8 compat
738283
v0.12.1
Features
- feat(stdlib,queue): explicit wrap Sentry in new traces
3ff39e
v0.12.0
Notable changes
- feat(stdlib): support Sentry v8
8891d3
- Compatible with both Sentry v7 & v8.
- Note that Sentry v8 uses Node.js Module Loader hooks, which doesn't support primitive live bindings and thus might break your application. Watch https://github.com/getsentry/sentry-javascript/issues/12806 for updates.
- For v8, the following options can be removed from the
Sentry.init
call:- Removes the need for
_experiments.metricsAggregator
- Removes the need for calling
Sentry.autoDiscoverNodePerformanceMonitoringIntegrations()
. - Removes the need for explicitly setting
captureErrorCause: true
.
- Removes the need for
Features
- feat(cli): widen range of supported Postgres versions
4cd0b7
- feat(cli): prefer 'lint' and 'lint:ci' scripts from
package.json
when running 'compas lint'127d73
Bug fixes
- fix(server): collapse sentry metrics for OPTIONS and HEAD requests
5167f1
Other
Dependency updates
- build(deps): bump braces from 3.0.2 to 3.0.3 in the npm_and_yarn group (#3212)
d2fda5
- build(deps): bump pino from 8.20.0 to 9.2.0 (#3234)
- Major version bump
- Release notes
- build(deps): bump c8 from 9.1.0 to 10.1.2 (#3229)
- Major version bump
- Release notes
- build(deps): bump co-body from 6.1.0 to 6.2.0 (#3231)
- build(deps): bump prettier from 3.2.5 to 3.3.2 (#3228)
- build(deps): bump eslint-plugin-jsdoc from 48.2.3 to 48.7.0 (#3244)
- build(deps): bump @babel/core from 7.24.4 to 7.24.7 (#3237)
v0.11.2
Features
- feat(server,store): keep track of Sentry metrics about which routes and jobs are run
ca1a0a
v0.11.1
Features
- feat(server): force a new Sentry trace id for each request
6ca680
- feat(store): force a new Sentry trace id for job
f4de6a
Bug fixes
- fix(stdlib): enable event_span logging, even if sentry is used
dfc0da
v0.11.0
Breaking changes
- feat(eslint-plugin): stricter checks on missing
eventStart
calls491561
- Correctness checks; if
event
is passed into an async function, you most certainly want to calleventStart
.
- Correctness checks; if
Features
- feat(stdlib): make AppError compatible with Sentry
056d40
Bug fixes
- fix(cli): make sure to load .cjs and .mjs test files
ed546c
v0.10.6
Features
- feat(stdlib): only add logs as breadcrumbs if a span is active
d1a897
- feat(cli): hard error the test runner if we don't have a test config and no package.json in the cwd
fb1166
Other
- chore(stdlib): fix TS issues
ce2f67
v0.10.5
Features
- feat(server): skip sentry span creation for head and options requests
31eb5b
- feat(store): only start Sentry span for queries if a parent span exists
d5d842
v0.10.4
Bug fixes
- fix(stdlib): make sure to flush Sentry before exit
579c04
- fix(server): sent http method as sentry attribute
42fdeb
v0.10.3
Bug fixes
- fix(store): import
_compasSentryEnableQuerySpans
eae66a
v0.10.2
Features
- feat(server): use conventional 'op', force transaction, provide more data to Sentry
cc9203
- feat(stdlib,store): use conventional 'op', force transaction, support queries as spans
432c51
v0.10.1
Features
- feat(stdlib): add Sentry support
a8a4ef
- feat(store): add Sentry support to the queue
b8041f
- feat(server): add Sentry support to the Koa instance returned by
getApp
db1ea9
See the inline docs for more information.
Dependency updates
- build(deps): bump prettier from 3.1.1 to 3.2.5 (#3047, #3064)
- build(deps): bump c8 from 9.0.0 to 9.1.0 (#3047)
- build(deps): bump dotenv from 16.3.1 to 16.4.5 (#3047, #3064, #3079, #3089)
- build(deps): bump @aws-sdk/client-s3 from 3.489.0 to 3.554.0 (#3047, #3064, #3079, #3085, #3104, #3139, #3150)
- build(deps): bump @aws-sdk/lib-storage from 3.489.0 to 3.554.0 (#3047, #3064, #3079, #3085, #3104, #3139, #3150)
- build(deps): bump sharp from 0.33.1 to 0.33.3 (#3047, #3139)
- build(deps): bump @babel/core from 7.23.7 to 7.24.4 (#3064, #3104, #3139)
- build(deps): bump @babel/eslint-parser from 7.23.3 to 7.24.1 (#3064, #3139)
- build(deps): bump eslint-plugin-jsdoc from 48.0.2 to 48.2.3 (#3064, #3079, #3085, #3089, #3104, #3139)
- build(deps): bump pino from 8.17.2 to 8.20.0 (#3064, #3085, #3150)
- build(deps): bump actions/setup-node from 4.0.0 to 4.0.2 (#3069)
- build(deps): bump chokidar from 3.5.3 to 3.6.0 (#3079)
- build(deps): bump recast from 0.23.4 to 0.23.6 (#3104, #3139)
- build(deps): bump eslint from 8.56.0 to 8.57.0 (#3104)
- build(deps): bump tar from 6.2.0 to 6.2.1 (#3139)
- build(deps): bump koa from 2.15.0 to 2.15.3 (#3139, #3150)
- build(deps): bump postgres from 3.4.3 to 3.4.4 (#3139)
v0.10.0
Features
- feat(code-gen): support
Updater
in RQsetQueryData
7ba289
- feat(store): accept a
tokenMaxAgeResolver
in the session settings9fa68b
Other
- chore: run
npm pkg fix
5dc314
Dependency updates
- build(deps): bump github/codeql-action from 2 to 3 (#3014)
e3252b
- build(deps): bump actions/upload-artifact from 3 to 4 (#3016)
57398e
- build(deps): bump file-type from 18.7.0 to 19.0.0 (#3032)
- Major version bump
- Release notes
- build(deps): bump c8 from 8.0.1 to 9.0.0 (#3032)
- Major version bump
- Release notes
- build(deps): bump eslint-plugin-jsdoc from 46.9.0 to 48.0.2 (#3032)
- Major version bump
- Release notes
- build(deps): bump @babel/core from 7.23.5 to 7.23.7 (#3035)
- build(deps): bump eslint from 8.54.0 to 8.56.0 (#3035)
- build(deps): bump eslint-config-prettier from 9.0.0 to 9.1.0 (#3035)
- build(deps): bump eslint-plugin-import from 2.29.0 to 2.29.1 (#3035)
- build(deps): bump prettier from 3.1.0 to 3.1.1 (#3035)
- build(deps): bump koa from 2.14.2 to 2.15.0 (#3035)
- build(deps): bump pino from 8.16.2 to 8.17.2 (#3035)
- build(deps): bump @aws-sdk/client-s3 from 3.462.0 to 3.489.0 (#3035)
- build(deps): bump @aws-sdk/lib-storage from 3.462.0 to 3.489.0 (#3035)
- build(deps): bump sharp from 0.33.0 to 0.33.1 (#3035)
v0.9.0
Features
- feat(cli): support
--use-host
oncompas docker
commands428f5a
Other
- chore: run prettier on all files
e3009b
Dependency updates
- build(deps): bump @aws-sdk/client-s3 from 3.445.0 to 3.462.0 (#2968, #3006)
- build(deps): bump @aws-sdk/lib-storage from 3.445.0 to 3.462.0 (#2968, #3006)
- build(deps): bump file-type from 18.6.0 to 18.7.0 (#2968)
- build(deps): bump prettier from 3.0.3 to 3.1.0 (#2968)
- build(deps): bump @babel/core from 7.23.3 to 7.23.5 (#3006)
- build(deps): bump eslint from 8.53.0 to 8.54.0 (#3006)
- build(deps): bump sharp from 0.32.6 to 0.33.0 (#3006)
- Major version bump
- Release notes
- build(deps): bump pino from 8.16.1 to 8.16.2 (#3006)
v0.8.1
Other
- examples(react-fetch): show GitHub emojis
cc6b52
Dependency updates
- build(deps): bump eslint from 8.52.0 to 8.53.0 (#2949)
- build(deps): bump @aws-sdk/client-s3 from 3.436.0 to 3.445.0 (#2949, #2956)
- build(deps): bump @aws-sdk/lib-storage from 3.436.0 to 3.445.0 (#2949, #2956)
- build(deps): bump file-type from 18.5.0 to 18.6.0 (#2949)
- build(deps): bump postgres from 3.4.1 to 3.4.3 (#2949)
- build(deps): bump @babel/core from 7.23.2 to 7.23.3 (#2959)
- build(deps): bump @babel/eslint-parser from 7.22.15 to 7.23.3 (#2959)
- build(deps): bump eslint-plugin-jsdoc from 46.8.2 to 46.9.0 (#2959)
v0.8.0
Features
- feat(code-gen): generate RQ5 like object arguments while staying on RQ4
127699
- References #2644
- feat(code-gen): support react-query v5
e4862f
- Closes #2644
Dependency updates
- build(deps): bump @aws-sdk/client-s3 from 3.428.0 to 3.436.0 (#2907, #2922)
- build(deps): bump @aws-sdk/lib-storage from 3.428.0 to 3.436.0 (#2907, #2922)
- build(deps): bump actions/setup-node from 3.8.1 to 4.0.0 (#2919)
- Major version bump
- Release notes
- build(deps): bump postgres from 3.4.0 to 3.4.1 (#2922)
- build(deps): bump eslint from 8.51.0 to 8.52.0 (#2922)
- build(deps): bump eslint-plugin-import from 2.28.1 to 2.29.0 (#2922)
- build(deps): bump pino from 8.16.0 to 8.16.1 (#2922)
v0.7.6
Features
- feat(store): support specifying a maintenance database when using 'createIfNotExists'
673276
Bug fixes
- fix(examples): correct subCommand check (#2850)
c73d66
- fix(store): use stream.Readable types in file functions
729347
- fix(store): skip transform on unsupported image formats like .ico files
0a4745
- fix(code-gen): align response type in react-query generator when not known
d933b8
Other
- chore(docs): fix typo in types-and-validators.md
97b797
- chore(docs): add CI docs
663d58
- chore(compas): drop package
5c4664
Dependency updates
- build(deps): bump @aws-sdk/client-s3 from 3.414.0 to 3.428.0 (#2849, #2858, #2875, #2890)
- build(deps): bump @aws-sdk/lib-storage from 3.414.0 to 3.428.0 (#2849, #2858, #2875, #2890)
- build(deps): bump sharp from 0.32.5 to 0.32.6 (#2849)
- build(deps): bump @babel/core from 7.22.19 to 7.23.2 (#2849, #2858, #2890)
- build(deps): bump eslint-plugin-jsdoc from 46.8.1 to 46.8.2 (#2849)
- build(deps): bump eslint from 8.49.0 to 8.51.0 (#2858, #2890)
- build(deps): bump pino from 8.15.1 to 8.16.0 (#2875, #2890)
- build(deps): bump postgres from 3.3.5 to 3.4.0 (#2890)
v0.7.5
Bug fixes
- fix(compas): merge file change paths on debounced calls
30f464
- fix(compas): use original process env when spawning actions
7711cb
- fix(compas): only print info on changes to the resolved config
e493d1
- fix(compas): only print info on changes to the started docker containers
01ef1e
Other
- chore(docs): add page scaffolding for lint and migration integrations
20a815
v0.7.4
Features
- feat(compas): improved package manager support
0c59d0
- feat(compas): add inferred 'dev', 'lint' and 'test' actions
59bb35
- feat(compas): add 'compas init docker'
1b18b4
- feat(compas): add docker integration in dev server
560f0b
Bug fixes
- fix(compas): debounce persist cache, fix package-manager comparison
1c0578
- fix(compas): don't assume stdin has 'setRawMode'
eba39e
- fix(cli): correctly clean on
compas docker clean --project foo-bar
with a-
in the name6cf9cc
Other
- chore(compas): add cli test setup
26a8c5
- chore(compas): better test abstraction
89e1f9
- chore(docs): add docs on inferred actions
471ebe
- chore(compas): use unique test directories
6ca3da
- chore(compas): minimize dangling promises
1ec564
- chore(docs): add docs on the Docker integrations for the new CLI
d95259
- chore(docs): add minor update to background jobs handler timeout
5f1d65
- chore(ci): persist cache directory on CI failures
b74d1f
- chore(compas): wait for the file-watchers in tests
a6f65e
Dependency updates
- build(deps): bump @babel/core from 7.22.11 to 7.22.19 (#2830, #2841)
- build(deps): bump @babel/eslint-parser from 7.22.11 to 7.22.15 (#2830)
- build(deps): bump eslint from 8.48.0 to 8.49.0 (#2830)
- build(deps): bump tar from 6.1.15 to 6.2.0 (#2830)
- build(deps): bump pino from 8.15.0 to 8.15.1 (#2830)
- build(deps): bump @aws-sdk/client-s3 from 3.400.0 to 3.414.0 (#2830, #2841)
- build(deps): bump @aws-sdk/lib-storage from 3.400.0 to 3.414.0 (#2830, #2841)
- build(deps): bump eslint-plugin-jsdoc from 46.5.1 to 46.8.1 (#2841)
v0.7.3
Features
- feat(store): only let image transformations fail on Sharp errors
945136
v0.7.2
Bug fixes
- fix(compas): prevent infinite recursion while loading configs
9eb460
- fix(code-gen): include correct files in package
06011b
Other
- chore(compas): fix compas version used in 'compas init'
462445
Dependency updates
- build(deps): bump eslint-plugin-jsdoc from 46.5.0 to 46.5.1 (#2821)
- build(deps): bump prettier from 3.0.2 to 3.0.3 (#2821)
v0.7.1
Features
- feat(compas): add support for
npx compas@latest init
5137c8
- feat(compas): reimplement
zakmes
, add package manager support07f28e
- feat(code-gen): expand validator error message on query builder validation errors
69c379
- feat(code-gen): add error when an uppercase character is used in
.shortName()
9d6098
Bug fixes
- fix(eslint-plugin): ignore
eventStop
calls that are not in a function2b2f2b
- fix(all): cleanup .npmignore usage, so types are included again
b141ad
- fix(store): ignore invalid JPEG's when transforming images
440202
- fix(stdlib): prevent zombie processes on process exit
e30cbb
Other
- chore(docs): write some docs on the new CLI
37b81c
- chore(docs): rename
npx compas install
tonpx compas init
40fc90
- chore(docs): fix links to new alpha docs
d0607c
- chore(compas): move some file around before expansion
dd3b44
- chore(docs): update vitepress
3ff4bd
- chore(compas): prevent zombie processes
896a29
Dependency updates
- build(deps): bump @aws-sdk/client-s3 from 3.395.0 to 3.400.0 (#2813, #2816)
- build(deps): bump @aws-sdk/lib-storage from 3.395.0 to 3.400.0 (#2813, #2816)
- build(deps): bump @babel/core from 7.22.10 to 7.22.11 (#2813)
- build(deps): bump @babel/eslint-parser from 7.22.10 to 7.22.11 (#2813)
- build(deps): bump eslint-plugin-jsdoc from 46.4.6 to 46.5.0 (#2813)
- build(deps): bump @parcel/watcher from 2.2.0 to 2.3.0 (#2813)
- build(deps): bump eslint from 8.47.0 to 8.48.0 (#2816)
v0.7.0
Introducing the experimental zakmes
CLI for an integrated development experience! Installable via the compas
package. See the docs for more information and follow the issue to stay up to date.
Features
- feat(eslint-plugin): add 'node-builtin-module-url-import' rule
923e7b
- Auto-fixes any import of Node.js builtins you use the
node:
specifier.
- Auto-fixes any import of Node.js builtins you use the
Other
- docs(stdlib): minor insight event documentation improvement (#2728)
9a8afc
- chore(docs): use vitepress sitemap feature
28fcb1
- chore: cleanup code-mods
c80410
- chore: typescript maintenance
7b3e0f
- chore(release): fail release if types don't check out
fb4e4d
- chore(docs): customize vitepress theme to use green colors
ba082d
- chore(typescript): remove tsc from the internal generate command
c3ab53
- chore(dependabot): group all dependency updates
b7186e
Dependency updates
- build(deps): bump sharp from 0.32.3 to 0.32.5 (#2743, #2799)
- build(deps): bump c8 from 8.0.0 to 8.0.1 (#2753)
- build(deps): bump pino from 8.14.1 to 8.15.0 (#2757, #2779)
- build(deps): bump eslint-plugin-jsdoc from 46.4.4 to 46.4.6 (#2758, #2778)
- build(deps): bump eslint-config-prettier from 8.8.0 to 9.0.0 (#2759, #2773, #2777)
- Major version bump
- build(deps): bump eslint-plugin-import from 2.27.5 to 2.28.1 (#2761, #2804)
- build(deps): bump eslint from 8.45.0 to 8.47.0 (#2760, #2792)
- build(deps): bump @aws-sdk/client-s3 from 3.374.0 to 3.395.0 (#2770, #2783, #2804)
- build(deps): bump @aws-sdk/lib-storage from 3.374.0 to 3.395.0 (#2770, #2783, #2804)
- build(deps): bump prettier from 3.0.0 to 3.0.2 (#2772, #2798)
- build(deps): bump @babel/core from 7.22.9 to 7.22.10 (#2781)
- build(deps): bump @babel/eslint-parser from 7.22.9 to 7.22.10 (#2781)
- build(deps): bump recast from 0.23.3 to 0.23.4 (#2790)
- build(deps): bump bcrypt from 5.1.0 to 5.1.1 (#2797)
- build(deps): bump cron-parser from 4.8.1 to 4.9.0 (#2795)
- build(deps): bump dotenv from 16.0.3 to 16.3.1 (#2804)
v0.6.0
Features
- feat(store): silently ignore file transforms on non-image files
08f097
Other
- chore(dependabot): group babel and typescript-eslint bumps
c59721
- chore(dependabot): group
@types/
bumps5f257f
- chore(examples): increase test timeout for file-handling example
d6bfa3
- examples(file-handling): fix blob creation from stream
7f4257
- chore(changelog): handle grouped dependabot bumps
39ca1f
Dependency updates
- build(deps): bump @babel/core from 7.22.5 to 7.22.9 (#2715, #2730)
- build(deps): bump @babel/eslint-parser from 7.22.5 to 7.22.9 (#2715, #2730)
- build(deps): bump @aws-sdk/client-s3 from 3.363.0 to 3.370.0 (#2716, #2724, #2731)
- build(deps): bump @aws-sdk/lib-storage from 3.363.0 to 3.370.0 (#2716, #2724, #2731)
- build(deps): bump actions/setup-node from 3.6.0 to 3.7.0 (#2712)
- build(deps): bump prettier from 2.8.8 to 3.0.0 (#2714)
- Major version bump
- Release notes
- build(deps): bump sharp from 0.32.1 to 0.32.3 (#2734)
- build(deps): bump eslint-plugin-jsdoc from 46.4.3 to 46.4.4 (#2733)
- build(deps): bump eslint from 8.44.0 to 8.45.0 (#2732)
- build(deps): bump semver from 6.3.0 to 6.3.1 (#2723)
- build(deps): bump recast from 0.23.2 to 0.23.3 (#2725)
v0.5.5
Features
- feat(store): add
w=original
support tofileSendTransformedImage
, keep track of original image width and height88adad
- feat(store): add
fileTransformInPlace
d61c3d
- feat(store): support
fileTransformInPlaceOptions
infileCreateOrUpdate
e461e2
- feat(store): export list of supported image content types
f6cc29
Other
- chore(dependabot): group aws-sdk dependency updates
da7b1e
v0.5.4
Features
- feat(code-gen): add hook name to required variables check in the react-query generator
93c80e
- feat(eslint-plugin): disable warning on unsupported TS versions
18f909
Other
Dependency updates
- build(deps): bump eslint-plugin-jsdoc from 46.2.6 to 46.4.3 (#2685, #2691, #2697, #2701)
- build(deps): bump eslint from 8.43.0 to 8.44.0 (#2700)
- build(deps): bump @aws-sdk/client-s3 from 3.354.0 to 3.363.0 (#2699)
- build(deps): bump @aws-sdk/lib-storage from 3.354.0 to 3.363.0 (#2698)
v0.5.3
Features
- feat(cli): expose the test name via
t.name
in the test runner900de5
- feat(cli): pad the 'threadId' in test runner logs to align when a high number of workers / randomize rounds are used
024813
- feat(cli): add
t.jobs
to configure concurrent subtests3d0b9e
- feat(cli): add support for
.mjs
and.cjs
scripts incompas run
9632d8
Bug fixes
- fix(code-gen): correctly import & export dateOnly & timeOnly via OpenAPI
62f4d9
- fix(store): change error log to info log when trying to transform an already removed file
f8c6ff
Other
- chore(prettier): ignore
dist
directoriesd9967a
- chore(cli): refactor internal config of
compas test
d937d1
Dependency updates
- build(deps): bump eslint-plugin-jsdoc from 45.0.0 to 46.2.6 (#2643)
- Major version bump; enables the
jsdoc/no-defaults
rule by default. - Release notes
- Major version bump; enables the
- build(deps): bump @babel/eslint-parser from 7.21.8 to 7.22.5 (#2645)
- build(deps): bump @babel/core from 7.22.1 to 7.22.5 (#2646)
- build(deps): bump c8 from 7.14.0 to 8.0.0 (#2659)
- Major version bump
- Release notes
- build(deps): bump eslint from 8.42.0 to 8.43.0 (#2664)
- build(deps): bump @aws-sdk/client-s3 from 3.347.1 to 3.354.0 (#2665)
- build(deps): bump @aws-sdk/lib-storage from 3.347.1 to 3.354.0 (#2669)
v0.5.2
Features
- feat(cli): check if '.cache' is git ignored in
compas check-env
70573d
- feat(cli): remove 'graphviz' check from
compas check-env
91cf87
Bug fixes
- fix(code-gen): always generate the
Pretty
type even if global api clients is on550143
- fix(store): verify that the s3Client has a region before attempting to resolve the bucket
4d25a9
Other
- chore(examples): add .gitignore to all examples
d8a5eb
- chore(cli): update description of
compas check-env
3b246f
- examples(react-fetch): init example
82ec52
- chore(store): prefer
Object.keys
overObject.entries
99d996
- chore(code-gen): prefer
Object.keys
overObject.entries
63f71b
- chore: fix TS issues after bump to 5.1.3
55df94
Dependency updates
- build(deps): bump postgres from 3.3.4 to 3.3.5 (#2621)
- build(deps): bump file-type from 18.4.0 to 18.5.0 (#2633)
- build(deps): bump @aws-sdk/lib-storage from 3.341.0 to 3.347.1 (#2638)
- build(deps): bump eslint from 8.41.0 to 8.42.0 (#2629)
- build(deps): bump @aws-sdk/client-s3 from 3.341.0 to 3.347.1 (#2639)
v0.5.1
Other
- perf(code-gen): init js validator objects with known keys
47259f
v0.5.0
Breaking changes
- feat(stdlib): condense logs for events
4e6983
- Changed the internal memory structure of events.
callStack
is nowspan
.parent
is removed and replaced by arootEvent
. Nested properties are affected as well. Usages likeevent.name
still work as expected. - Changed the logs produced by the events. The
type
is nowevent_span
instead ofevent_callstack
. In these logscallStack
is also replaced by span. Nested properties are affected as well to improve parsing and visualizing them. Please check the new logs and feel free to open an issue if you have trouble with migrating.
- Changed the internal memory structure of events.
Features
- feat(code-gen): pretty react-query hook types
7c644d
Dependency updates
- build(deps): bump eslint from 8.40.0 to 8.41.0 (#2599)
- build(deps): bump eslint-plugin-jsdoc from 44.2.4 to 45.0.0 (#2603, #2612)
- Major version bump
- Release notes
- build(deps): bump @babel/core from 7.21.8 to 7.22.1 (#2611)
- build(deps): bump @aws-sdk/lib-storage from 3.332.0 to 3.341.0 (#2610)
- build(deps): bump c8 from 7.13.0 to 7.14.0 (#2614)
- build(deps): bump @aws-sdk/client-s3 from 3.332.0 to 3.341.0 (#2613)
v0.4.0
Breaking changes
There are a few structure breaking changes to clean up compatibility with old code-gen. Make sure that the API is updated before any consumer is.
- feat(cli,store): align migration related functions
bacfe3
- Renamed
newMigrateContext
tomigrationsInitContext
. It also accepts an object withmigrationsDirectory
instead of a 'string' as the second argument. As before, if you don't provide amigrationsDirectory
it defaults to$cwd/migrations
. - Renamed
getMigrationsToBeApplied
tomigrationsGetInfo
. The result is wrapped in a promise. - Renamed
runMigrations
tomigrationsRun
. - All individual functions now acquire and release a Postgres lock instead of keeping the lock alive for the whole connection. This allows you to use these functions more easily in application code.
- Dropped
--keep-alive
and--without-lock
fromcompas migrate
. If you need this functionality, you are better off calling the migration functions on application startup.
- Renamed
- feat(code-gen): drop
T.any().raw()
andT.any().validator()
9d4f7a
T.any().raw()
andT.any().validator()
were not implemented in the new code-gen. UseT.any().implementations()
instead.
- feat(code-gen): drop
T.bool().convert()
,T.number().convert()
andT.string().convert()
d704a6
- The new code-gen automatically converts booleans, numbers and dates from their string representation.
- feat(code-gen): re-instantiate
T.array().convert()
d3aabb
- JS validators don't automatically convert single values to arrays anymore. Adding this as the default caused performance problems with the Typescript compiler and complex recursive types. It also caused a bad DX, where setting an empty array and trying to push later would result in a type error. Also not every planned target language has support to type this correctly anyway, so it should be used sparingly.
- feat(code-gen): drop
R.files()
569b2b
- Use
R.body()
instead ofR.files()
- When using the Koa router, change usages of
ctx.validatedFiles
withctx.validatedBody
- Auto-generated type names for files inputs like
PostSetHeaderImageFiles
will be renamed toPostSetHeaderImageBody
. - Executing this change on the server doesn't require immediate regeneration of api clients. The way they currently send files is compatible.
- Use
Features
- feat(code-gen): add expected patterns to docs if no docs exist on
T.uuid()
,T.date().{timeOnly,dateOnly}()
41e3e3
- feat(code-gen): add stricter validation on
R.params()
andR.query()
21c9b7
- feat(code-gen): improve react-query DX by accepting a partial object on
useQuery
hooks430449
- feat(code-gen): define behavior for
T.file()
inR.body()
(#2597)80429b
Bug fixes
- fix(code-gen): don't throw a 404 on no match in the router
077da8
Other
- chore(docs): add
T.array().convert()
to the docs9744e6
- chore: add a quick citgm command for testing unreleased Compas versions on local projects
4b7ba7
Dependency updates
- build(deps): bump recast from 0.22.0 to 0.23.2 (#2585)
- Major version bump
- build(deps): bump tar from 6.1.14 to 6.1.15 (#2591)
- build(deps): bump eslint-plugin-jsdoc from 44.2.3 to 44.2.4 (#2588)
v0.3.2
Features
- feat(store): add
deleteJobOnCompletion
to the queue workerc82034
Other
- chore(docs): generate sitemap
aab7d8
- chore(code-gen): rename internal code-gen group
4bf684
- chore(code-gen): cleanup RouteBuilder
internalSettings
1cd8f6
- chore(changelog): correct minor bumps in
0.x.y
ranges684e02
Dependency updates
- build(deps): bump eslint-plugin-jsdoc from 44.0.1 to 44.2.3 (#2580)
- build(deps): bump @types/formidable from 2.0.5 to 2.0.6 (#2574)
- build(deps): bump @aws-sdk/client-s3 from 3.328.0 to 3.332.0 (#2583)
- build(deps): bump @aws-sdk/lib-storage from 3.328.0 to 3.332.0 (#2582)
v0.3.1
Bug fixes
- fix(code-gen): strip undefined query parameters in the fetch api clients
d3b51e
Dependency updates
- build(deps): bump file-type from 18.3.0 to 18.4.0 (#2576)
v0.3.0
Features
- feat(code-gen): add support for
transformContext
with custom readable types in CRUD65979a
Other
- chore(code-gen): cleanup 'NamedType' usages
8a8434
- chore(code-gen): cleanup experimental development test setup
85918b
- chore(code-gen): combine all internal utils
6a61e7
- chore(code-gen): speed up examples test by running them in parallel
69cfb6
- chore(test): increase timeout of examples test
4ecd95
Dependency updates
- build(deps): bump pino from 8.12.1 to 8.14.1 (#2567)
- build(deps): bump eslint-plugin-jsdoc from 43.2.0 to 44.0.1 (#2568)
- Major version bump
- Release notes
v0.2.0
Features
- feat(code-gen): disable array auto-conversion types for the TS target
4e5961
Dependency updates
- build(deps): bump @aws-sdk/lib-storage from 3.327.0 to 3.328.0 (#2563)
- build(deps): bump @aws-sdk/client-s3 from 3.327.0 to 3.328.0 (#2561)
v0.1.0
Breaking changes
- fix(server): rename
formLimit
option tourlencodedLimit
increateBodyParsers
d600ac
- Rename your usage of
formLimit
tourlencodedLimit
in the first argument tocreateBodyParsers
- Rename your usage of
- feat(server,code-gen): combine json & multipart 'createBodyParsers' into a single 'createBodyParser'
df9e43
- Removed
createBodyParsers
usecreateBodyParser
instead. createBodyParser
by default does not parse multipart bodies. This should be explicitly enabled withmultipart: true
. Configure its options with 'multipartOptions' to set a custommaxFileSize
for example.- Changed the
jsonLimit
default to '5mb'. - The generated Koa router now accepts a single body parser instead of the previous body parser pair returned by 'createBodyParsers'.
- The updated usage looks something like:
jsapp.use( router( createBodyParser({ multipart: true, multipartOptions: { maxFileSize: 15 * 1024 * 2024, }, }), ), );
- Removed
- feat(code-gen): promote experimental to stable (#2559)
247aa0
- Removes support for old code-gen. Use the new target based code-gen instead. See the new docs and migration guide.
- It is expected that future Compas release fully break structure compatibility with legacy clients, so make sure to migrate as soon as possible.
- Update any
@compas/code-gen/experimental
import to@compas/code-gen
Features
- feat(code-gen/experimental: few percent speedup of array validation
26fb77
- feat(code-gen/experimental): generate serializable query keys in the react-query wrapper
8d74da
- feat(code-gen/experimental): generate type docs strings as JSDoc blocks
a94ee5
- feat(code-gen): allow CRUD generation for entities with file relations
727b50
Bug fixes
- fix(code-gen/experimental): correctly resolve code-gen version when generating OpenAPI specs
28fa44
Other
- chore: cleanup release notes and changelogs
143743
Dependency updates
- build(deps): bump tar from 6.1.13 to 6.1.14 (#2547)
- build(deps): bump pino from 8.11.0 to 8.12.1 (#2546, #2552)
- build(deps): bump @babel/core from 7.21.4 to 7.21.8 (#2549)
- build(deps): bump @aws-sdk/client-s3 from 3.321.1 to 3.327.0 (#2558)
- build(deps): bump @babel/eslint-parser from 7.21.3 to 7.21.8 (#2550)
- build(deps): bump @aws-sdk/lib-storage from 3.321.1 to 3.327.0 (#2557)
- build(deps): bump eslint-plugin-jsdoc from 43.1.1 to 43.2.0 (#2560)
- build(deps): bump eslint from 8.39.0 to 8.40.0 (#2562)
v0.0.249
Breaking changes
- feat(code-gen): combine files & body handling when body is multipart
1af5f7
- The open api importer is not compatible anymore with 'legacy' code-gen, please migrate to experimental code-gen.
- Rewrite of FormData handling in the 'experimental' api clients, check the new generate output and retest your usages of features using multipart bodies / files.
- In the near future, we will fully combine
files
&body
handling for the backends as well.
- feat(cli,code-gen): remove
compas visualise
4c6784
- Use the 'includeEntityDiagram' option of the database generator instead.
Features
- feat(store): automatically create migration table if not exists
9496b1
- feat(code-gen): include docs & infer object type in openapi importer
a67b38
- feat(cli): add code-mod to convert api clients to experimental code-gen
0a3ba6
Bug fixes
- fix(code-gen/experimental): use anyOf#discriminant in JS validators
3fa324
- fix(code-gen): correct url trimming for openapi imports
f64593
- fix(code-gen/experimental): don't generate react-query wrapper if query, body or files are not objects
fb2b2d
Other
- chore(code-gen/experimental): remove old README.md
c96bc4
- chore(code-gen/experimental): update test helpers
1bffb3
- chore(examples): align example APP_NAME values
f78959
- chore(code-gen/experimental): add e2e crud tests
64d07c
- chore(generate): parallelize example generation
f01e64
- chore(code-gen/experimental): add crud nested tests
61f419
Dependency updates
- build(deps): bump eslint-plugin-jsdoc from 43.0.7 to 43.1.1 (#2531)
- build(deps): bump file-type from 18.2.1 to 18.3.0 (#2535)
- build(deps): bump sharp from 0.32.0 to 0.32.1 (#2541)
- build(deps): bump @aws-sdk/client-s3 from 3.317.0 to 3.321.1 (#2538)
- build(deps): bump @aws-sdk/lib-storage from 3.317.0 to 3.321.1 (#2539)
Previous releases
See the history for earlier changelogs (< v0.0.249).