Skip to content

Tags: pustike/pustike-inject

Tags

v2.0.0

Toggle v2.0.0's commit message

Verified

This commit was signed with the committer’s verified signature.
prashantbhat Prashant Bhat
Release v2.0.0

v1.5.0

Toggle v1.5.0's commit message

Verified

This commit was signed with the committer’s verified signature.
prashantbhat Prashant Bhat
Changes in version 1.5.0 (2018-09-28)

* Added module-info.java and so it requires Java 11 or higher.
* Moved AnnotationUtils to utils package and this is not exported by the module.
* Use AccessibleObject#trySetAccessible instead of isAccessible as this is deprecated.
* Changed the build tool from Gradle to Maven

v1.4.2

Toggle v1.4.2's commit message

Verified

This commit was signed with the committer’s verified signature.
prashantbhat Prashant Bhat
Changes in version 1.4.2 (2018-07-18)

* Fields and Methods are scanned for injection points, by sorting them using their name and types.
* Fixed: Declaring a binding as Eager Singleton should create the instance when injector is configured.
* Other general improvements.

v1.4.1

Toggle v1.4.1's commit message

Verified

This commit was signed with the committer’s verified signature.
prashantbhat Prashant Bhat
Changes in version 1.4.1 (2018-04-10)

* Improvements and bug fixes.

v1.4.0

Toggle v1.4.0's commit message

Verified

This commit was signed with the committer’s verified signature.
prashantbhat Prashant Bhat
Changes in version 1.4.0 (2018-02-23)

* New Feature: Events support to allow publish-subscribe style communication between components,
    managed by the injector, without requiring them to explicitly register with one another.
* Create a SPI (Service Provider Interfaces) package and moved following interfaces from bind package:
  BindingListener, InjectionListener, InjectionPoint, InjectionPointLoader.
* BindingListener is improved to include the `BindingKey` for which a binding has been registered.
* InjectionPointLoader changes:
  - Removed method `createInjectionPoints' which had a cyclic dependency with impl package
  - A function 'injectionPointCreator' is passed to the method 'getInjectionPoints'
* Fixed a regression introduced in v1.3.0, which ignored `defaultScope` applied in the module.
* Added check to ensure that, Bindings can be obtained only after the Injector is fully configured.
* Change toString() implementation of @nAmed annotation to quote string values when using Java 9.

v1.3.0

Toggle v1.3.0's commit message

Verified

This commit was signed with the committer’s verified signature.
prashantbhat Prashant Bhat
Changes in version 1.3.0 (2017-12-18)

* Added support for optional dependencies using @nullable and Optional<T>
* Added new methods to retrieve optional dependencies from injector:
    injector.getIfPresent(type) and injector.getIfPresent(key)
* Fixed the issue in configuring MultiBinder when bindings are added from different modules for the same key.

v1.2.0

Toggle v1.2.0's commit message
Scan for methods annotated with @provides in module's superclasses also

v1.1.0

Toggle v1.1.0's commit message
Changes in version 1.1.0 (2017-06-30)

* **Hierarchical Injector** support by creating child injector which delegates all requests for bindings that are not found, to it's parent injector. All bindings in the parent injector are visible to child, but elements of the child injector are not visible to its parent. Following new APIs are introduced:
  * Injector#createChildInjector(Module...)
  * Injector#createChildInjector(Iterable)
  * Injector##getParent()
* Added Binder.install(Module) to configure bindings from the given module.
* Bind Module methods annotated with @provides to create provider method bindings.
* Remove SessionScope from test packages as it belongs to pustike-web module
* Update build files to Gradle v4.0 release

v1.0.1

Toggle v1.0.1's commit message
Changes in version 1.0.1 (2017-04-30)

* Provider Bindings: Inject dependencies into provider instance only once.
* Fix Scoped Provider creation issue in a multi-threaded environment by creating it immediately after injector configuration.
* Singleton scope: define instance variable as ```volatile``` to avoid issues in a multi-threaded environment (derived from Guice).
* Singleton scope: Call provider.get() only once even when it returns the instance as null.
* Include Field/Method details in the exception thrown, when failed to inject dependencies.
* Make utils\AnnotationUtils package-private as it contains internal utility methods only.
* Upgrade build to Gradle v3.5

v1.0.0

Toggle v1.0.0's commit message
Added blank lines before each section to show code block