-
Notifications
You must be signed in to change notification settings - Fork 72
Roadmap
This page helps us discuss about the RoadMap of Dip, whether we plan to include some features or not, if some features deserve their own dedicated repository or will be integrated in Core, and if there is an rough date estimation on them
For features that are planned even if we haven't started developing them yet, there should be a GitHub issue to define that we plan to do that later
- Each GitHub issue should be flagged with the
Enhancement
label to show that it's a feature and not a bug - Each GitHub issue will also be eventually flagged with either the
Core
orDedicated Repo
label to indicate if that feature will be implemented in theAliSoftware/Dip
repo and pod directly or as a separate repo.
The idea is that we don't want Dip to grow too big and become a huge machinery with tons and tons of stuff that not everybody might need, so we prefer to split huge extensions in dedicated pods/frameworks/repositories.
For example, Dip extensions for UIKit
or AutoInjection mechanisms are examples of stuff that might be implemented in a dedicated pod/framework/repo instead of bloating the main repo.
We'll try to use GitHub Milestones to give an idea of the prioritization of the features and issues, especially a milestone by version. For example this will be used to tell in which version we expect to address each issue.
(Milestones dates might be given too, but in Open Source projects like Dip where people only contribute on their free time and when they have time, those dates are only informal, so don't rely too much on it)
Version 4.0.0:
New features:
- circular dependencies (#11)
- named first runtime argument in
resolve
methods (#19) - throwing errors instead of
fatalError
() - registering/removing definitions (#11)
Deprecations:
register(tag:instance:)
-
resolve(tag:_:)
and otherresolve
methods without named first runtime argument
Obsoleted: none
Version 4.1.0:
New features:
- auto-injection
- multi-injection
- default implementations with tags #20
- TagConvertible protocol (?)
Deprecations: none
Obsoleted:
register(tag:instance:)
-
resolve(tag:_:)
and otherresolve
methods without named first runtime argument