google-guice/google-guice.changes

191 lines
8.3 KiB
Plaintext
Raw Permalink Normal View History

-------------------------------------------------------------------
Mon Jun 10 13:45:04 UTC 2024 - Fridrich Strba <fstrba@suse.com>
- Upgrade to upstream version 6.0.0
* JEE Jakarta Transition
+ Guice 6.0 adds support for jakarta.inject, the new namespace
for the JSR330 spec (after the javax -> jakarta JEE
transition).
Guice 6.0 is intended to help users migrate their code to the
jakarta namespace. It continues to fully support the
javax.inject namespace while also mostly supporting the
jakarta.inject namespace. The only part of Guice 6.0 that
doesn't support jakarta.inject are the bind(..).toProvider
methods. Those methods still require javax.inject or
com.google.inject Providers.
+ The Guice 6.0 servlet & persist extensions only support the
javax.servlet and javax.persistence namespaces respectively.
+ Guice 6.0 can help with incremental migrations to the
jakarta.inject namespace, by incrementally replacing
javax.inject references to jakarta.inject. This works
everywhere, except for code where a jakarta Provider is passed
to bind(..).toProvider.
* Guice Core
+ Adds jakarta.inject support.
+ Support Java 21 (via updating ASM to 9.5 and other changes).
+ Improve AOP support on JVMs such as Azul.
+ Fix a deadlock or crash associated with recursively loading
just-in-time bindings.
+ Make PrivateModule.binder() non-private, to allow subclass
customization, such as calling skipSources.
+ Fix an endloop loop (that can OOM) in singleton lock cycle
detection.
+ Fix tests to pass on Windows, despite the different line
separator.
+ Improvements to OSGi metadata.
+ Mark the JSR305 dependency as optional (since it's not
required at runtime).
+ Fix Binder.requestInjection(TypeLiteral<T>, T) to use the
TypeLiteral.
+ Honor scoping annotations on concrete types when provisioned
by their @ProvidedBy annotation
+ Add a way to tell if a class is "enhanced" by Guice, and
retrieve the original class.
+ Ensure the order of bind(...) statements does not matter when
referring to JIT bindings.
+ Implement Matcher.and and Matcher.or as default methods
directly in Matcher, so that the AbstractMatcher subclass
isn't required.
+ Mark the error_prone_annotations dependency as optional.
* Servlet
+ Fix an NPE if contextPath is null
* Persist
+ Persist had a number of changes, some of which are backwards
incompatible. Notably: injection of EntityManager no longer
implicitly starts a unit of work (because this led to leaks).
Users can opt-in to the legacy behavior by constructing the
JpaPersistModule with a JpaPersistOptions that sets
setAutoBeginWorkOnEntityManagerCreation to true.
+ EntityManager provisioning no longer automatically starts a
unit of work.
+ Ignore multiple start/stop calls, rather than throwing an
exception.
+ Support manually initiated rollbacks.
+ Don't wrap Object-defined methods (e.g: toString, finalize,
equals, hashCode) in transactions.
-------------------------------------------------------------------
Wed Feb 21 22:04:06 UTC 2024 - Fridrich Strba <fstrba@suse.com>
- Clean the spec file and simplify it a bit
-------------------------------------------------------------------
Wed May 3 11:27:41 UTC 2023 - Fridrich Strba <fstrba@suse.com>
- Upgrade to upstream version 5.1.0
* Changes of 4.2:
+ Java 9 and JPMS support
+ Multibindings are now in the Guice core artifact.
The multibindings artifact is empty to prevent confusion
during upgrading and will be removed in a later release.
+ Improve the performance of guice provisioning (by about 20%)
by changing the way errors are reported. Guice will no longer
report multiple errors during provisioning (Guice still
reports multiple errors during injector creation).
+ Better error messages for a missing binding.
+ Various optimizations.
+ AbstractModule.configure() is non-abstract to allow modules
with only @Provides/@ProvidesIntoSet/... methods.
+ Add a CheckedProviders class.
+ Change the way Singletons work to not rely on ThreadLocals nor
WeakReferences.
+ Add MapBinderBinding.getEntries(Iterable).
+ Deprecate ProvisionListener.ProvisionInvocation
.getDependencyChain().
+ Ensure that Struts interceptors are populated even if they are
created after the injector (Fixes #1081, #1075).
+ Add support for multibindings with annotations in the Guice
DaggerMethodScanner.
* Changes of 4.2.1
+ Java10 support (updated cglib & asm).
+ Minor updates to the testlib extension.
* Changes of 4.2.2
+ Java11 support (updated cglib & asm)
* Changes of 4.2.3
+ Java14 support (updated asm).
+ Added Injector.getElements API, to expose all Element SPI
types from the Injector.
+ Added Injector.getAllMembersInjectorInjectionPoints API,
to expose injection points created by arbitrary members
injection.
+ Added getAlternateKeys to Multibinder SPI types
(MultibinderBinding, MapBinderBinding, OptionalBinderBinding),
to explicitly list the other keys these bindings are
available as.
+ Scan for (and bind) @Provides-like methods in a consistent
ordering, rather than relying on the non-deterministic
Class.getDeclaredMembers ordering.
+ Update DaggerAdapter to work with newer dagger code.
+ Fixed a subtle bug with eager singleton evaluation.
+ Updated @RequestScope's scope annotation to the JSR330 @Scope,
so it can be reused by non-Guice DI systems.
+ Clarified the error message when an injectable constructor is
missing.
+ Add deprecated overloads to various Modules methods, to make
it clearer when calling them is unnecessary.
+ Added factory methods to Modules for common Binder
configuration methods, to make it easier to configure them.
* Changes of 5.0.1:
+ Added Java15 support (updated asm and bug fixes).
+ Removed cglib as a core dependency. (#1359)
+ Improved error messages.
+ Improved support for using Guice with Kotlin.
+ Added a mechanism to restrict who can bind types or
annotations, to allow library authors to control their
bindings.
+ Removed no-aop build variant.
+ Fixed 'illegal reflective access' warnings.
* Changes of 5.1.0:
+ This minor release adds support for Java 17.
- Removed patches:
* google-guice-throwingproviderbinder.patch
* guice-4.1-disabledextensions.patch
* guice-4.1-fixup-ant.patch
* guice-4.1-javadoc.patch
- Fetch sources using source service, which allows us to clean up
the tarball if needed
- Generate the ant build system using the maven pom files.
-------------------------------------------------------------------
Wed Apr 27 11:52:34 UTC 2022 - Fridrich Strba <fstrba@suse.com>
- Avoid using xmvn-resolve and xmvn-install in order to avoid
build cycles with new dependencies in dependent packages
- Build only the NO_AOP version of the guice.jar and alias
accordingly so that it provides both
-------------------------------------------------------------------
Thu Jun 10 10:16:03 UTC 2021 - Fridrich Strba <fstrba@suse.com>
- Modified patches:
* google-guice-throwingproviderbinder.patch
+ do not add the override of virtual function
+ build with source/target 8 so that the default override
from the interface can be used
* guice-4.1-javadoc.patch
+ build javadoc with source level 8
-------------------------------------------------------------------
Tue May 11 12:46:28 UTC 2021 - Fridrich Strba <fstrba@suse.com>
- Do not build against the compatibility guava20
- Added patch:
* google-guice-throwingproviderbinder.patch
+ fix a little glitch with default generic function in guava
-------------------------------------------------------------------
Wed Apr 3 07:41:22 UTC 2019 - Fridrich Strba <fstrba@suse.com>
- Clean the tarball in order to avoid files with spurious legal
status
-------------------------------------------------------------------
Wed Mar 27 09:31:25 UTC 2019 - Jan Engelhardt <jengelh@inai.de>
- Trim bias from description.
-------------------------------------------------------------------
Wed Mar 27 06:40:01 UTC 2019 - Fridrich Strba <fstrba@suse.com>
- Initial packaging of google-guice 4.1