Releases: adonisjs/application
Pass RCFileInput to presets
Add tracing for providers lifecycle and add directories configuration for generated code
9.0.0-next.4 (2025-08-27)
Bug Fixes
Features
- add debug calls to provider boot lifecycle (866a0d9)
- add generatedClient and generatedServer directories (e44bfda)
- add tracing channels to track providers lifecycle (add21ea)
- share provider via message object in tracing channels (6843b56)
Full Changelog: v9.0.0-next.3...v9.0.0-next.4
Avoid terminating app multiple times
Use next version of @adonisjs/config
9.0.0-next.3 (2025-08-15)
Full Changelog: v9.0.0-next.2...v9.0.0-next.3
Upgrade to latest version of fold
9.0.0-next.2 (2025-07-30)
Features
- add more keywords for singular controllers (9f53194)
Full Changelog: v9.0.0-next.1...v9.0.0-next.2
Add support for presets
9.0.0-next.1 (2025-07-29)
Presents are used to combine the configuration within a single function call to cleanup the noise from .adonisrc.ts file. The documentation will cover their usage.
Features
- add preset system (c83a983)
What's Changed
- feat: preset system by @Julien-R44 in #35
Full Changelog: v9.0.0-next.0...v9.0.0-next.1
Remove assetsBundler and rename assembler hooks
9.0.0-next.0 (2025-06-10)
- Remove
unstable_assemblerproperty. Was deprecated a long time back. - Remove
assetsBundlerproperty. It's not used for a long time because of bundled Vite integration. - Rename assembler hooks names. They are now defined within the
@adonisjs/assemblerpackage and sourced directly from the package. See https://github.com/adonisjs/assembler/releases/tag/v8.0.0-next.0 - Remove
shutdownInReverseOrderexperimental flag. As shutdown hooks are now always executed in reverse order.
Features
- cleanup assembler hooks related code (a656453)
- remove shutdownInReverseOrder experimental flag, as it is the default behavior (4e6304c)
BREAKING CHANGES
- Assembler hooks are now defined inside the assembler package and the application
package just exposes its types as it is. Also, the hooks have been renamed
Full Changelog: v8.4.1...v9.0.0-next.0
Move Feature flags implementation to its own class
8.4.1 (2025-05-15)
Full Changelog: v8.4.0...v8.4.1
Add support for experimental flags and run shutdown hooks in reverse order
8.4.0 (2025-05-14)
This release introduces the concept of experimental flags at the application level. These flags will serve us in smoothly introduce breaking changes to the current version by letting early adopters use features in the current version of the framework.
Feature flags
The feature flags can be defined within the adonisrc.ts file, under the experimental block. For example:
{
experimental: {
shutdownInReverseOrder: true,
}
}If you want to author your own flags in a type-safe manner, then you can define them with the ExperimentalFlags interface using declaration merging. For example:
declare module '@adonisjs/core/types/app' {
export interface ExperimentalFlags {
myFlag?: boolean
}
}Now, the users will get type suggestions for the myFlag inside the adonisrc.ts file.
shutdownInReverseOrder
Ideally the shutdown hooks from the providers and the terminating hooks (defined as callbacks) should be executed in the reverse order so that if two providers rely on each other, then can have desired outcome in both during boot and the shutdown phase. For example:
There are two providers registered in the following order
AppMetricsProvider- Defines API for storing certain app metricsAppLifecycleProvider- Stores the duration of the app till it was alive. This provider relies on theAppMetricsProviderand hence must be registered afterwards as well.
However, when calling the shutdown methods on providers, if we will shutdown the AppMetricsProvider first, then the AppLifecycleProvider won't be to store the app lifecycle duration. Instead, they should be shutdown in the reverse order.
Changing the order of the shutdown and the terminating hooks is a breaking change and will be the default behavior in the next major release of AdonisJS. However, for now, you can opt into it using experimental flags. Write the following block of code within the adonisrc.ts file.
{
experimental: {
shutdownInReverseOrder: true,
}
}Features
- experimental support for running terminating and shutdown hooks in reverse order (5fa985a)
- introduce experimental flags (48a964a)
Full Changelog: v8.3.2...v8.4.0