Releases: Wrapped-Owls/goremy-di
Releases · Wrapped-Owls/goremy-di
remy/v1.8.1
What's Changed
- Replace internal type detection
- Stop using
fmt.Sprintf
which uses reflection by default - Optimize existent function
TypeNameByReflection
- Add 0-width generic type that will be used as key for injections
- Stop using
- Change
BindKey
type to any - Upgrade minimal go-version to 1.20
- This was made to be able to use any as comparable
- Remove
GenerifyInterfaces=true
from default injector Config
Full Changelog: remy/v1.7.0...remy/v1.8.0
remy/v1.7.0
What's Changed
- Add a new config option to guess element type
- It only works for instance binds
- Is strongly recommended to not use
- Add test cases for new element guessing system
- Create an example that uses the new element guessing option
- Add new errors on utils package
- Remove unused
Default[T any]() T
function from utils - Refactor cacheConfig internally to use bitwise operators on numeric element
- This will allow to pass less parameters to constructors
Full Changelog: remy/v1.6.0...remy/v1.7.0
remy/v1.6.0
remy/v1.5.0
- Move package utils from
internal
topkg
- Swap all string length comparison with empty string check
- Add
BindKey
&ReflectOptions
to public API - Add tests for
func
type - Update README/SPEC markdown
- Add an error to
Get
method - Create an example to know how to get logs from Injector
- This example needs to use unexported packages yet, so it will need update after the release
- Update
bind.Instance
to not use remy.Binder functions - Change
RegisterSingleton
function signature
What's Changed
- feature: Improve public api by @Jictyvoo in #5
- Update README.md by @ForceTower in #6
- feature: update bind generation by @Jictyvoo in #7
- Remy - v1.5.0 by @Jictyvoo in #8
New Contributors
- @ForceTower made their first contribution in #6
Full Changelog: remy/v1.4.0...remy/v1.5.0
remy/v1.4.0
- Create
CycleDetectorInjector
to be used in tests- Create a new error type
- Create a new type in internal utilities
- Change use of unexported type to an exported in public pkg
- remy public functions now use
Bind[T]
instead oftypes.Bind[T]
- remy public functions now use
- Add
WrapRetriever
to DependencyRetriever interface - Add panic recover to
Do
functions - Remove
sync.RWMutex
from globalInjector - Swap type
Injector
byDependencyRetriever
in Get methods - Boost performance by using pointer receiver in Injector/Storage methods
What's Changed
Full Changelog: remy/v1.3.0...remy/v1.4.0
remy/v1.3.0
- Improve test coverage
- Rename some internal attributes in storage
- Test
SetGlobalInjector
- Test most generics utilities
- Test
- Return error on internal register function
- Add
godoc
lines to internal.types - Fix hidden error on
GetGen
function - Fix error with bind register
- Prevent overriding a same type with different type of bindings
- Cleanup
DependencyRetriever
methods- Removed unnecessary duplicate methods
- Internal improvements
- Change
BindKey
type to prevent misplace errors - Remove duplicate use of storage
- Change
What's Changed
Full Changelog: remy/v1.2.1...remy/v1.3.0
remy/v1.2.1
- Fix an error with
ReflectionOptions
not being applied to StdInjector - Rename some internal attributes in storage
Full Changelog: remy/v1.2.0...remy/v1.2.1
remy/v1.2.0
What's Changed
- Replace default type resolution - Now it will not use the
reflect
package by default. - Add
UseReflectionType
option inConfig
struct - Improve tests coverage
- Add test to check type resolution for elements with same type-name and package-name from another module
- Fix
GetElemKey
method not being able to get the type of the interface - Fix an error where
interface
andpointer
of the same type were being registered as the same type - Create additional
"Do"
methods: DoGet, DoGetGen, DoGetGenFunc - Refactor the Storage/Injector retrieval to return an
error
instead of abool
Check on
Full Changelog: remy/v1.1.0...remy/v1.2.0
Remy - v1.1.0
- Create README with more detailed instructions
- Fix some typos
- Add method
SetGlobalInjector
- Allow to define a ParentInjector in
Injector
constructor - Add more documentation in public types/methods
- Create methods
GetGen
andGetGenFunc
to pass values dynamically
Full Changelog: remy/v1.0.0...remy/v1.1.0
Remy - v1.0.0
- Core release
- Register and Retrieve using
generics
- Example in repository
Full Changelog: gotalaria/v0.6.1...remy/v1.0.0