Skip to content

Releases: Wrapped-Owls/goremy-di

remy/v1.8.1

26 May 18:34
Compare
Choose a tag to compare

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
  • 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

07 Apr 05:46
Compare
Choose a tag to compare

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

11 Oct 05:17
09898e0
Compare
Choose a tag to compare

What's Changed

  • feature: [breaking change] Add error return during register time by @Jictyvoo in #9
  • feature: Add interface option for InstancePair in GetGen by @Jictyvoo in #10
  • Remy - v1.6.0 by @Jictyvoo in #11

Full Changelog: remy/v1.5.0...remy/v1.6.0

remy/v1.5.0

03 Oct 13:48
26db232
Compare
Choose a tag to compare
  • Move package utils from internal to pkg
  • 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

New Contributors

Full Changelog: remy/v1.4.0...remy/v1.5.0

remy/v1.4.0

15 Aug 22:37
b87ba7e
Compare
Choose a tag to compare
  • 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 of types.Bind[T]
  • Add WrapRetriever to DependencyRetriever interface
  • Add panic recover to Do functions
  • Remove sync.RWMutex from globalInjector
  • Swap type Injector by DependencyRetriever in Get methods
  • Boost performance by using pointer receiver in Injector/Storage methods

What's Changed

  • feat: Create a dependency cycle detection injector by @Jictyvoo in #3

Full Changelog: remy/v1.3.0...remy/v1.4.0

remy/v1.3.0

29 Jul 19:47
e23f8e5
Compare
Choose a tag to compare
  • Improve test coverage
  • Rename some internal attributes in storage
    • Test SetGlobalInjector
    • Test most generics utilities
  • 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

What's Changed

Full Changelog: remy/v1.2.1...remy/v1.3.0

remy/v1.2.1

24 Jul 05:54
Compare
Choose a tag to compare
  • 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

24 Jul 05:19
1af51d8
Compare
Choose a tag to compare

What's Changed

  • Replace default type resolution - Now it will not use the reflect package by default.
  • Add UseReflectionType option in Config 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 and pointer 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 a bool

Check on

Full Changelog: remy/v1.1.0...remy/v1.2.0

Remy - v1.1.0

30 May 23:19
Compare
Choose a tag to compare
  • 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 and GetGenFunc to pass values dynamically

Full Changelog: remy/v1.0.0...remy/v1.1.0

Remy - v1.0.0

24 May 23:07
Compare
Choose a tag to compare
  • Core release
  • Register and Retrieve using generics
  • Example in repository

Full Changelog: gotalaria/v0.6.1...remy/v1.0.0