Foal Versions Save

Full-featured Node.js framework, with no complexity. 🚀 Simple and easy to use, TypeScript-based and well-documented.

v4.3.0

1 week ago

Features / improvements / fixes

  • [Internal] Use fs native API with promises (PR: #1243)
  • [Bug] Fix HTTP logger error when the client request is aborted (issue: #1247) (PRs: #1249, #1252)
  • [CLI] Display all errors when the validation of script arguments fails (PR: #1251)

Dependencies

#1250

v4.2.0

5 months ago

Features

  • [Bug] Fix "foal connect angular" to support latest versions of Angular (issue: #1197) (PR: #1236)
  • Allow to disable AJV strict mode (issue: #1206) (PR: #1239)
  • Possibility to pass cacheControl option to static middleware (issue: #1221) (PR: #1241 )
  • Logs added to socket.io controllers (PR: #1240)

v4.1.0

6 months ago

Features

  • Add request ID (PR: #1234)
  • Add Foal logger (PR: #1234)
  • Support XML requests (issue: #1203) (PR: #1231)

Dependencies

Contributors

@paoloevan

v4.0.0

7 months ago

Overview and goals

#1223

Migration guide

  • Run npx foal upgrade.
  • Version 16 of Node is not supported anymore. Upgrade to version 18 or version 20.
  • Support of MariaDB has been dropped.
  • If you use any of these dependencies, upgrade typeorm to v0.3.17, graphql to v16, type-graphql to v2, class-validator to v0.14, mongodb to v5 and @socket.io/redis-adapter to v8.
  • If you use both TypeORM and MongoDBStore, there is no need anymore to maintain two versions of mongodb. You can use version 5 of mongodb dependency.
  • If you use @foal/socket.io with redis, install socket.io-adapter.
  • Support for better-sqlite driver has been dropped. Use the sqlite3 driver instead. In DB configuration, use type: 'sqlite' instead of type: 'better-sqlite3'.
  • In your project dependencies, upgrade @types/node to v18.11.9.
  • If you use TypeORM with MongoDB, for the entities definitions, rename import { ObjectID } from 'typeorm'; to import { ObjectId } from 'typeorm';

Dependencies

v3.3.0

8 months ago

Features

The jsonwebtoken dependency has been upgraded to v9 to address security issues.

Note that RSA key size now must be 2048 bits or greater. Make sure to check the size of your RSA key before upgrading to this version.

Dependencies

Dev dependencies

  • mocha
  • rimraf
  • typescript
  • supertest
  • concurrently
  • ESLint dependencies
  • nyc

v3.2.0

1 year ago

Features

  • Re-add @foal/password (issue: #1195) (PR: 1196)
  • Add ctx.controllerName and ctx.controllerMethodeName (issue: #1183) (PR: #1199)

Contributors

@lcnvdl

v3.1.0

1 year ago

Features

  • Update the max-age attribute of the Strict-Transport-Security header to "industry standard" (issue: #1146) (PR: #1155)
  • [CLI] Disable ESLint rule @typescript-eslint/no-non-null-assertion in generated projects (PR: #1178)
  • [Bug] Support whitespaces around variable names in .env files (issue: #1182) (PR: #1185)
  • Support custom cookie domain in social auth (issue: #1099) (PR: #1187)
  • [CLI] Add foal upgrade command (issue: #1158) (PR: #1186, #1193)
  • Fix: support custom OpenAPI "example" keyword in AJV validation (issue: #1192) (PR: #1194)

Dependencies

https://github.com/FoalTS/foal/pull/1162

Dependencies

Contributors

  • @edw1882

v3.0.2

1 year ago

Fixes

  • Make createapp install v3 of @foal/cli (PR: #1172)

v3.0.1

1 year ago

Fixes

  • [CLI] Support AJV formats in shell scripts (issue: #1167) (PR: #1168)

v3.0.0

1 year ago

Features

  • Drop support for Node 10 (unmaintained), 12 (not maintained from April 2022) and 14 (not maintained in less that a year). Support versions 16 and 18.
    • #1029
    • #1070
    • #1075
  • Upgrade all 3p dependencies doing major upgrades (graphql, etc). Specify which minimum version of TypeORM is required. Upgrade the peer dependencies.
    • #1028
    • #1030
    • #1033
    • #1035
    • #1036
    • #1041
    • #1056
    • #1148
    • #1079
    • #1081
    • #1082
    • #1154
  • Use latest version of AJV and use its TS integration (maybe related: #988). Check that the option names are still the same. Check potential conflicts with OpenAPI types.
    • #1037
  • Remove the functions escape and escapeProp. Modern frontend frameworks (React, Angular, Vue, etc) take care of this.
    • #1034
  • Improve the interface of the Context class to mainly improve type safety.
    • #1073
  • Correct the bad design on the precedence of environment variables. (issue: #1021)
    • #1128
  • Support optional fields in @ValidateMultipartFormDataBody (issue: #1008)
    • #1048
  • Support TypeORM 0.3.0.
    • #1074
    • #1089
    • #1091
    • #1092
    • #1093
    • #1094
    • #1095
    • #1096
    • #1098
    • #1100
    • #1156
  • Ignore undefined values in configuration (issue: #1071)
    • #1113
  • Simplify generated CLI files.
    • #1077
  • ~Drop foal generate rest-api command.~
    • #1078
    • #1088
  • Make the session and JWT systems a bit simpler.
    • #1107
    • #1108
    • #1119
    • #1133
    • #1134
    • #1135
    • #1145
    • #1147
    • #1152
  • Miscellaneous

Dependencies