All notable changes of this project will be documented in this file. This project is following semantic versioning, and the format of the changelog is based on Keep a Changelog.
Deprecated features will be kept for any following maintenance release, and will be removed after two major releases.
- Add
no_registration
attribute toprovides
macro - Add
ctor
attribute toprovides
macro
- Remove unecessary braces around constructor
- Fix singleton derive macro registration regression
- Fix incorrectly requiring singletons to be
Clone
- Fix
#[derive(Inject)]
macro withtokio
enabled
0.3.1 - 2024-11-05
- Publish
ferrunix
v0.3.1 which depends on an updatedferrunix-macros
0.3.0 - 2024-11-05
MSRV is bumped from 1.64.0
to 1.67.1
. MSRV with tokio
enabled is 1.75.0
.
- Add support for
async
constructors. Enabled with thetokio
feature. - Detect loops and missing dependency in the dependency graph, detected by
Registry::validate_all
/Registry::validate_all_full
. - Constructor of singletons is now
FnOnce
. - Much less restrictive type bounds. Bounds for single-threaded registry is
only
'static
, bounds for multi-threaded registry isSend + 'static
, bounds for async areSend + Sync + 'static
. - Test all documentation code using newly introduced
doc-tests
sub-crate. - Working
#[derive(Inject)]
macro.
- Results of validations are cached correctly.
- All features are now additive. Priority of features is as follows:
tokio
>multithread
>default
. - Updated examples.
- Mostly working proc-macro
- Allow simplified trait object syntax
- Add
multithread
feature
- CI badge
- Specify version of dependency for publishing
- Specify ferrunix-macros version
- Required minimal versions
- Disable miri strict provenance
- Failing test
- Book upload
- Remaining lints
- Breaking minversion
- Disable
unsync
if not required - Build on rust 1.64
- Ci failing
- Panic in cmd! proc-macro