Changelog History
Page 1
-
v5.2.1 Changes
February 16, 2026๐ Fixes / features
- โฌ๏ธ Upgrade AJV sub-dependency to address CVE-2025-69873. Thank to @apptio-mrejdych for reporting this.
Dependencies
@foal/aws-s3@aws-sdk/client-s3@3.990@aws-sdk/lib-storage@3.990
@foal/cliajv@8.18
@foal/coreajv@8.18
@foal/graphqlajv@8.18
-
v5.2.0 Changes
January 23, 2026 -
v5.1.3 Changes
January 14, 2026 -
v5.1.2 Changes
January 02, 2026Patches
โฌ๏ธ This version upgrades the minor version of the
expressdependency.Dependencies
@foal/coreexpress@4.22
-
v5.1.1 Changes
November 09, 2025๐ This patch release upgrades the TypeORM version used in the
package.jsongenerated by the CLI. -
v5.1.0 Changes
November 09, 2025๐ Features
- ๐ Support Node v24 (PR: #1325)
- Allow to create a directory if it does not exist with Disk and LocalDisk (PR: #1334)
- ๐ Allow to add a log context only applicable for error-level logs (PR: #1335)
- Increase password interaction count to 600,000 (PR: #1336)
โจ Enhancements
- ๐ Better display errors thrown in
main()(issue: #1316) (PR: #1317) - ๐ Do not block
AsyncService.runon blocking synchronous function (PR: #1328) - ๐ Add OpenAPI documentation to PermissionRequired hook (PR: #1329)
Chores
- ๐ท Fix testing issues to make the CI pass (PR: #1322, #1332)
- Re-organize repository (PR: #1323)
- ๐ Move documentation tests to a separate directory (PR: #1324)
- โฌ๏ธ Upgrade dependencies (PR: #1326)
- Replace
globdependency with new native Node API (PR: #1331)
Dependencies
@foal/aws-s3@aws-sdk/client-s3@3.926@aws-sdk/lib-storage@3.926
@foal/clicommander@14.0
@foal/graphqlglob(removed)
๐ป
@foal/swagger-ui-distswagger-ui-dist@5.30
-
v5.0.1 Changes
May 27, 2025๐ Fixes
- Make
create-userscript generated withcreateappwork with MongoDB (PR: #1314)
- Make
-
v5.0.0 Changes
May 27, 2025๐ Supported versions of Node and TypeScript
๐ Support for Node 18 and Node 20 has been dropped and support for Node 22 has been added. Foal code is now compiled to ES2023.
โก๏ธ The minimum supported version of TypeScript is version 5.5. Update your
package.jsonfile accordingly.
โฌ๏ธ TypeORM upgrade
- The minimum required version of TypeORM is v0.3.24.
๐ Better typing
0๏ธโฃ The default type of
Context.stateis now{}. This way, you'll get a compilation error if you forget to specify a type for the state.The return value of the social services
getUserInfoFromTokensmethod is now typed.
Controller parameters
To facilitate the typing of the request body, path parameters and request parameters in controllers, the request object is now passed as a second argument to controller methods.
interfaceMyQuery{// ...}interfaceMyBody{// ...}interfaceMyParams{// ...}// Version 4classMyController{@Get('/foobar')foobar(ctx:Context){constquery=ctx.request.queryasMyQuery;constbody=ctx.request.bodyasMyQuery;constparams=ctx.request.paramsasMyParams;// Do something}// OR@Get('/foobar')foobar(ctx:Context,params:MyParams,body:MyBody){constquery=ctx.request.queryasMyQuery;// Do something}}// Version 5classMyController{@Get('/foobar')foobar(ctx:Context,{query,body,params}:{query:MyQuery,body:MyBody,params:MyParams}){// Do something}}๐ฒ Logging
๐ฒ The
Logger.addLogContext(key, value)method now accepts a record as parameter:Logger.addLogContext(context). This makes the function's signature more consistent with other logging methods (info,warn, etc.) and allows multiple keys/values to be passed at once.๐ง The deprecated
settings.loggerFormatconfiguration has been removed. If you want to disable HTTP logging, replace configurationsettings.loggerFormat: 'none'withsettings.logger.logHttpRequests: false.
Shell scripts
The
mainfunction of shell scripts now receives an instance ofServiceManageras second argument and the logger as third argument:๐ฒ Log context are supported.
๐ฒ When running a script, the script name as well as a script ID are added to the log context.
๐จ At the end of script execution, as with an HTTP request, a log is printed to indicate whether the execution was successful or unsuccessful.
Any error thrown in the
mainfunction is now logged with the framework logger.
๐ Removal of deprecated components
๐ The deprecated hook
@Loghas been removed. Use theLoggerservice in a custom@Hookinstead.๐ The command alias
npx foal run-scripthas been removed. Usenpx foal runinstead.๐ The deprecated method
AbstractProvider.redirecthas been removed. UseAbstractProvider.createHttpResponseWithConsentPageUrl({ isRedirection: true })instead.
Dependencies
@foal/clinode-fetchremoved
@foal/graphqlglob@11
@foal/socialnode-fetchremoved
@foal/typeormtypeorm@0.3.24(peer dependency)
@foal/aws-s3@aws-sdk/client-s3@3.817@aws-sdk/lib-storage@3.817
@foal/jwks-rsa@foal/socket.iosocket.io@4.8
@foal/swagger
PR
-
v4.6.0 Changes
May 26, 2025 -
v4.5.1 Changes
September 14, 2024๐ Features
โก๏ธ Some security vulnerabilities were showing up with
npm audit. This version updates Foal's dependencies to get rid of them.Dependencies
โ
@foal/acceptance-testsexpress@4.21redis@4.7
@foal/aws-s3@aws-sdk/client-s3@3.651@aws-sdk/lib-storage@3.651
@foal/coreexpress@4.21
@foal/examplesconcurrently@9.0
@foal/redisredis@4.7