Deprecated functions wrapper file (remy_deprecated.go) for backward compatibility (requires build tag
remy_keep_deprecated)
NewBindKey function: Added NewBindKey[T any]() BindKey function to create a BindKey directly for a given type.
This enables using GetWithPairs with explicit BindKey even when reflection is disabled
BindOptions exposed: BindOptions type is now exposed at the top-level remy package for use in custom injector
implementations
Contains Tag field for named bindings
Contains SoftOverride field (renamed from ExpectOverride) to allow soft overrides without errors
New error types: Refactored error handling with structured error types:
ErrConfigNotAllowReturnAll: Returned when trying to use GetAll without DuckTypeElements config enabled
ErrGetElementTypeRequiresReflectionEnabled: Returned when trying to get element type from runtime value without
reflection enabled
All errors now implement proper error wrapping and can be checked with errors.Is()
Internal Changes
Refactored cycleDetectorInjector to use unified RetrieveBind method
Simplified standard_injector implementation with consolidated retrieval logic
Improved error handling consistency across all retrieve functions
Error system refactoring: Replaced old error utilities with structured error types in internal/errors package:
Created sentinel errors for backward compatibility (ErrAlreadyBoundSentinel, ErrElementNotRegisteredSentinel,
etc.)
Implemented proper error wrapping and checking with errors.Is() and errors.As()
Added error re-exports in public remy package for backward compatibility
GetWithPairs enhancement: Now supports providing BindKey directly via InstancePair.Key field, allowing usage
without reflection when keys are explicitly provided