Skip to content

3.0.0-beta.1

Pre-release
Pre-release
Compare
Choose a tag to compare
@remojansen remojansen released this 03 Nov 16:05
· 833 commits to master since this release

Breaking changes

  • Kernel is now Container
  • getServiceIdentifierAsString is not a method of Container anymore.
  • PlanAndResolveArgs is now NextArgs in middleware.
  • Contextual constraints

New features

Non-functional improvements

Notes

All changes can be explored here.

This is a beta release, we are going to do multiple beta releases before releasing 3.0.

My goal is to include:

I'm also considering a second refactor in which all the functions in planning and resolution process will become pure. For example, at the moment some functions either return or throw an error. Instead of that, it could be better to always return Either<Error, interfaces.Target[]>. By doing this, the planner and resolver will become pure (at the moment they are stateless but not pure).

The Container (old Kernel) is the only stateful entity and will be the place in which we throw exceptions. We can also explore not throwing and returning Either<Error, T> when resolving. This is something that I need to think about and might never happen...