File guava.changes of Package guava

-------------------------------------------------------------------
Mon May 26 07:45:08 UTC 2025 - Fridrich Strba <fstrba@suse.com>

- Upgrade to guava 33.4.8
  * Changes of version 33.4.8
    + util.concurrent: Removed our VarHandle code from
      guava-android. While the code was never used at runtime under
      Android, it was causing problems under the Android Gradle
      Plugin with a minSdkVersion below 26. To continue to avoid
      sun.misc.Unsafe under the JVM, guava-android will now always
      use AtomicReferenceFieldUpdater when run there.
  * Changes of version 33.4.7
    + Modified the guava module's dependency on failureaccess to be
      transitive. Also, modified the guava-testlib module to make
      its dependency on guava transitive, to remove its dependency
      on failureaccess, and to add a dependency (transitive) on
      junit.
    + util.concurrent: Modified our fast paths to ensure that they
      continue to work when run through optimizers, such as those
      commonly used by Android apps. This fixes problems that some
      users may have seen since Guava 33.4.5.
    + util.concurrent: Changed the guava-android copy of
      AbstractFuture to try VarHandle before Unsafe, eliminating a
      warning under newer JDKs.
  * Changes of version 33.4.6
    + Removed the extra copy of each class from the Guava jar. The
      extra copies were an accidental addition from the
      modularization work in Guava 33.4.5.
    + Fixed annotation-related warnings when using Guava in modular
      builds. The most common such warning is Cannot find annotation
      method 'value()' in type 'DoNotMock': ....
  * Changes of version 33.4.5
    + Changed the Guava jar (plus guava-testlib and failureaccess
      jars) to be a modular jar.
    + Changed various classes to stop using sun.misc.Unsafe under
      Java 9+.
      ° Note that, if you use guava-android on the JVM (instead of
        using guava-jre), Guava will still try to use
        sun.misc.Unsafe. We will do further work on this in the
        future.
    + Belatedly updated the Public Suffix List data.
  * Changes of version 33.4.4
    + Migrated from Checker Framework annotations to JSpecify
      annotations.
    + Made our usages of nullness annotations available in our GWT
      artifact. GWT users will need to upgrade to GWT 2.12.1, which
      makes GWT as tolerant of Java 8 type-use annotations as it is
      of other annotations.
  * Changes of version 33.4.3
    + Migrated from @CheckForNull to the Checker Framework
      @Nullable. Most tools recognize both annotations, so we expect
      this to be a no-op in almost all cases. This release removes
      our dependency on JSR-305.
  * Changes of version 33.4.2
    + Changed @ParametricNullness into a no-op for Kotlin and
      IntelliJ. Before now, it was forcing many usages of type
      variables to have platform types, which meant that Kotlin
      couldn't check those usages for nullness errors. With this
      change, Kotlin can detect more errors.
  * Changes of version 33.4.1
    + Replaced our custom @ElementTypesAreNonnullByDefault
      annotations with the JSpecify @NullMarked annotation.
  * Changes of version 33.4.0
    + Exposed additional Java 8 APIs to Android users.
    + base: Deprecated Charsets constants in favor of
      StandardCharsets. We will not remove the constants, but we
      recommend using StandardCharsets for consistency.
    + base: Added ToStringHelper.omitEmptyValues().
    + collect: Added an optimized copyOf method to TreeRangeMap.
    + collect.testing: Fixed @Require annotations so that features
      implied by absent features are not also required to be absent.
    + io: Changed ByteSink and CharSink to no longer call flush() in
      some cases before close(). This is a no-op for well-behaved
      streams, which internally flush their data as part of closing.
      However, we have discovered some stream implementations that
      have overridden close() to do nothing, including not to flush
      some buffered data. If this change causes problems, the
      simplest fix is usually to change the close() override to at
      least call flush().
    + net: Added HttpHeaders.ALT_SVC and MediaType.CBOR.
  * Changes of version 33.3.1
    + Added j2objc-annotations to the Gradle runtime classpath to
      stop producing an Android Gradle Plugin error.
  * Changes of version 33.3.0
    + base: Removed @Beta from the Duration overload of
      Suppliers.memoizeWithExpiration.
    + cache: Added CacheBuilder Duration overloads to guava-android.
    + collect: Removed @Beta from the guava-android Collector APIs.
    + collect: Added ImmutableMultimap.builderWithExpectedKeys and
      ImmutableMultimap.Builder.expectedValuesPerKey.
    + graph: Improved Graphs.hasCycle to avoid causing
      StackOverflowError for long paths.
    + net: Added text/markdown to MediaType.
    + net: Deprecated HttpHeaders constant for Sec-Ch-UA-Form-Factor
      in favor of Sec-Ch-UA-Form-Factors to follow the latest spec.
    + testing: Changed some test libraries to throw AssertionError
      (instead of the more specific AssertionFailedError) in some
      cases.
- Added patch:
  * guava-modules-fix.patch
    + we are folding the failureaccess into the main guava.jar, so
      we don't have a special module for it.

-------------------------------------------------------------------
Wed Oct 30 08:49:24 UTC 2024 - Fridrich Strba <fstrba@suse.com>

- Add aliases for the failureaccess and listenablefuture

-------------------------------------------------------------------
Wed Jun 12 10:14:08 UTC 2024 - Fridrich Strba <fstrba@suse.com>

- Upgrade to guava 33.2.1
  * Changes of version 33.2.1
    + net: Changed InetAddress-String conversion methods to preserve
      the IPv6 scope ID if present. The scope ID can be necessary
      for IPv6-capable devices with multiple network interfaces.
      However, preserving it can also lead to problems for callers
      that rely on the returned values not to include the scope ID:
      - Callers might compensate for the old behavior of the methods
        by appending the scope ID to a returned string themselves.
        If so, you can update your code to stop doing so at the same
        time as you upgrade Guava. Of, if your code might run
        against multiple versions of Guava, you can check whether
        Guava has included a scope ID before you add one yourself.
      - Callers might pass the returned string to another system
        that does not understand scope IDs. If so, you can strip the
        scope ID off, whether by truncating the string form at a %
        character (leaving behind any trailing ] character in the
        case of forUriString) or by replacing the returned
        InetAddress with a new instance constructed by calling
        InetAddress.getByAddress(addr).
      - java.net.InetAddress validates any provided scope ID against
        the interfaces available on the machine. As a result,
        methods in InetAddresses may now fail if the scope ID fails
        validation.
        * Notable cases in which this may happen include:
          - if the code runs in an Android app without networking
            permission
          - if code passes InetAddress instances or strings across
            devices
        * If this is not the behavior that you want, then you can
          strip off the scope ID from the input string before
          passing it to Guava, as discussed above.
  * Changes of version 33.2.0
    + Dropped testing for Android versions before Lollipop (API
      Level 21). Guava may stop working under older versions in
      the future, or it may have done so already.
    + Fixed a GWT compilation breakage under Gradle.
    + collect: Made our Collector APIs (e.g.,
      ImmutableList.toImmutableList()) available in guava-android.
      More Java 8 APIs will follow in future releases.
      - As always, streams are available to Android code only when
        that code enables library desugaring or targets a new enough
        API Level (24 (Nougat) for many stream APIs). (But note that
        we test only with library desugaring, so we don't currently
        know if API Level 24 is high enough to use our Collector
        APIs unless you have also enabled library desugaring.) Guava
        users who avoid the Collector APIs do not need to meet this
        requirement.
    + collect: Fixed a potential NullPointerException in
     ImmutableMap.Builder on a rare code path.
    + net: Added HttpHeaders constants Ad-Auction-Allowed,
      Permissions-Policy-Report-Only, and Sec-GPC.

-------------------------------------------------------------------
Wed Apr 17 16:34:39 UTC 2024 - Fridrich Strba <fstrba@suse.com>

- Upgrade to guava 33.1.0
  * Changes of version 33.1.0:
    + Updated our Error Prone dependency to 2.26.1, which includes
      a JPMS-ready jar of annotations. If you use the Error Prone
      annotations in a modular build of your own code, you may need
      to add a requires line for them.
    + base: Added a Duration overload for
      Suppliers.memoizeWithExpiration.
    + base: Deprecated the remaining two overloads of
      Throwables.propagateIfPossible. They won't be deleted, but we
      recommend migrating off them.
    + cache: Fixed a bug that could cause false "recursive load"
      reports during refresh.
    + graph: Changed the return types of transitiveClosure() and
      reachableNodes() to Immutable* types. reachableNodes() already
      returned an immutable object (even though that was not
      reflected in the declared return type); transitiveClosure()
      used to return a mutable object. The old signatures remain
      available, so this change does not break binary compatibility.
    + graph: Changed the behavior of views returned by graph
      accessor methods that take a graph element as input: They now
      throw IllegalStateException when that element is removed from
      the graph.
    + hash: Optimized Checksum-based hash functions for Java 9+.
    + testing: Exposed FakeTicker Duration methods to Android users.
    + util.concurrent: Deprecated the constructors of
      UncheckedExecutionException and ExecutionError that don't
      accept a cause. We won't remove these constructors, but we
      recommend migrating off them, as users of those classes often
      assume that instances will contain a cause.
    + util.concurrent: Improved the correctness of racy accesses for
      J2ObjC users.
  * Changes of version 33.0.0:
    + This version of guava-android contains some package-private
      methods whose signature includes the Java 8 Collector API.
      This is a test to identify any problems before we expose those
      methods publicly to users. Please report any problems that you
      encounter.
    + Changed various classes to catch Exception instead of
      RuntimeException even when only RuntimeException is
      theoretically possible. This can help code that throws
      undeclared exceptions, as some bytecode rewriters (e.g.,
      Robolectric) and languages (e.g., Kotlin) do.
    + Added an Automatic-Module-Name to failureaccess, Guava's one
      strong runtime dependency.
    + reflect: In guava-android only, removed
      Invokable.getAnnotatedReturnType() and
      Parameter.getAnnotatedType(). These methods never worked in an
      Android VM, and to reflect that, they were born @Deprecated,
      @Beta, and @DoNotCall. They're now preventing us from rolling
      out some new Android compatibility testing. This is the only
      binary-incompatible change in this release, and it should have
      no effect in practice. Still, we bump the major version number
      to follow Semantic Versioning.
    + util.concurrent: Changed our implementations to avoid eagerly
      initializing loggers during class loading. This can help
      performance, especially under Android.
  * Changes of version 32.1.3:
    + Changed Gradle Metadata to include dependency versions
      directly. This may address "Could not find some-dependency"
      errors that some users have reported (which might be a result
      of users' excluding guava-parent).
    + collect: Changed Multisets.unmodifiableMultiset(set)
      .removeIf(predicate) to throw an exception always, even if
      nothing matches predicate.
    + graph: Fixed the behavior of Graph/ValueGraph views for a node
      when that node is removed from the graph.
    + io: Fixed Files.createTempDir and FileBackedOutputStream under
      Windows services, a rare use case. (The fix actually covers
      only Java 9+ because Java 8 would require an additional
      approach. Let us know if you need support under Java 8.)
    + net: Made MediaType.parse allow and skip over whitespace
      around the / and = separator tokens in addition to the ;
      separator, for which it was already being allowed.
    + util.concurrent: Tweaked Futures.getChecked
      constructor-selection behavior: The method continues to prefer
      to call constructors with a String parameter, but now it
      breaks ties based on whether the constructor has a Throwable
      parameter. Beyond that, the choice of constructor remains
      undefined. (For this and other reasons, we discourage the use
      of getChecked.)
  * Changes of version 32.1.2:
    + Removed the section of our Gradle metadata that caused Gradle
      to report conflicts with listenablefuture.
    + Changed our Maven project to avoid affecting which version of
      Mockito our Gradle users see.
    + collect: Under J2CL, exposed ImmutableList and ImmutableSet
      methods copyOf and of for JavaScript usage.
    + net: Optimized InternetDomainName construction.
  * Changes of version 32.1.1:
    + Fixed our broken Gradle metadata from 32.1.0. Sorry again for
      the trouble. If you use Gradle, please still read the release
      notes from that version: You may still see errors from the new
      checking that the metadata enables, and the release notes
      discuss how to fix those errors.
  * Changes of version 32.1.0:
    + collect: Tweaked more nullness annotations.
    + hash: Enhanced crc32c() to use Java's hardware-accelerated
      implementation where available.
    + util.concurrent: Added Duration-based default methods to
      ListeningExecutorService.
    + Began updating Javadoc to focus less on APIs that have been
      superseded by additions to the JDK. We're also looking to add
      more documentation that directs users to JDK equivalents for
      our APIs. Further PRs welcome!
    + Fixed some problems with using Guava from a Java Agent.
      (But we don't test that configuration, and we don't know how
      well we'll be able to keep it working.)
    + Fixed BootstrapMethodError when using CacheBuilder from a
      custom system class loader. (As with the previous item,
      we're not sure how well we'll be able to keep this use case
      working.)
    + Suppressed a harmless unusable-by-js warning seen by users of
      guava-gwt.

-------------------------------------------------------------------
Tue Mar 12 18:57:05 UTC 2024 - Fridrich Strba <fstrba@suse.com>

- Fix version mismatch in the ant build files.

-------------------------------------------------------------------
Wed Feb 21 22:05:15 UTC 2024 - Fridrich Strba <fstrba@suse.com>

- Clean the spec file and simplify it a bit

-------------------------------------------------------------------
Thu Jun 15 13:20:35 UTC 2023 - Fridrich Strba <fstrba@suse.com>

- Upgrade to guava 32.0.1
  * Security fixes:
    + Reimplemented Files.createTempDir and FileBackedOutputStream
      to further address CVE-2020-8908 (#4011, bsc#1179926) and
      CVE-2023-2976 (#2575, bsc#1212401)
  * Fixes:
    + io: Fixed Files.createTempDir and FileBackedOutputStream under
      Windows, which broke as part of the security fix in release
      32.0.0
    + Removed @Beta from almost all APIs. Most of the remaining
      @Beta APIs are in graph and hash.
    + Enhanced the Guava jar to include Proguard configurations that
      are picked up automatically by the Android Gradle Plugin. This
      should help with warnings that were promoted to errors in
      Android Gradle Plugin 8.x.
    + Enhanced the Guava jar to include information about method
      parameters in its class files. If you use static analyzers
      that look at method-parameter names, you may see new warnings
      or errors if they are now able to detect mismatches. But
      mostly, you may see better tooltips and autocompletion in
      DEs.
    + Improved nullness annotations on a few classes.
    + Modified classes with "serial proxies" to declare
      exception-throwing readObject methods, in accordance with best
      practice.
    + collect: Fixed Maps.newHashMapWithExpectedSize to stop
      allocating maps that were larger than they needed to be.
    + collect: Made various APIs work J2CL:
      Maps.immutableEnumMap+toImmutableEnumMap, EnumMultiset,
      CollectorTester. Previously, the APIs were present but failed
      at runtime.
    + collect: Optimized memory usage for Interner and MapMaker.
    + graph: Changed directed graphs to reject attempts to add
      undirected edges.
    + io: Added BaseEncoding.ignoreCase() to support
      case-insensitive decoding.
    + net: Added HttpHeaders constants:
      ~ No-Vary-Search
      ~ Sec-CH-DPR
      ~ Sec-CH-UA-Wow64
      ~ Sec-CH-Viewport-Width and Sec-CH-Viewport-Height
      ~ Supports-Loading-Mode
    + net: Added the MediaType constant for JWT.
    + primitives: Added rotate() for arrays of all primitive types.
    + util.concurrent: Changed AbstractFuture to run
      interruptTask() just before afterDone(). Until this change, it
      ran slightly earlier than that: We used to run it before
      unblocking any pending get() calls, and now we run it after.
    + util.concurrent: Fixed some cases in which we could catch
      InterruptedException but fail to restore the interrupt bit.

-------------------------------------------------------------------
Wed May 18 17:26:01 UTC 2022 - Fridrich Strba <fstrba@suse.com>

- Upgrade to guava 31.1
  * Fixes:
    + base: Deprecated the Throwables methods lazyStackTrace and
      lazyStackTraceIsLazy. They are no longer useful on any current
      platform.
    + collect: Added a new method
      ImmutableMap.Builder.buildKeepingLast(), which keeps the last
      value for any given key rather than throwing an exception when
      a key appears more than once.
    + collect: As a side-effect of the buildKeepingLast() change,
      the idiom
      ImmutableList.copyOf(Maps.transformValues(map, function))
      may produce different results if function has side-effects.
    + hash: Added Hashing.fingerprint2011().
    + io: Changed ByteStreams.nullOutputStream() to follow the
      contract of OutputStream.write by throwing an exception if
      the range of bytes is out of bounds.
    + net: Added @CheckReturnValue to the package (with a few
      exceptions).
    + net: Added HttpHeaders constant for
      Access-Control-Allow-Private-Network.
    + util.concurrent: Added accumulate/update methods for
      AtomicDouble and AtomicDoubleArray.
  * APIs promoted from @Beta:
    + base: Throwables methods getCausalChain and getCauseAs
    + collect: Streams methods mapWithIndex and findLast
    + collect: the remaining methods in Comparators: min, max,
      lexicographical, emptiesFirst, emptiesLast, isInOrder,
      isInStrictOrder
    + escape: various APIs
    + io: various APIs in Files
    + net: various APIs
    + reflect: various APIs
    + testlib: various APIs
    + util.concurrent: AsyncCallable, ListenableScheduledFuture,
      and ClosingFuture
    + util.concurrent: ExecutionSequencer,
      MoreExecutors.newSequentialExecutor, and Monitor
    + util.concurrent: Futures methods: submit, submitAsync,
      scheduleAsync, nonCancellationPropagating, inCompletionOrder
    + util.concurrent: Uninterruptibles:
      awaitTerminationUninterruptibly and the Duration overloads in
      the class
    + util.concurrent: the FluentFuture type, its factory methods,
      and addCallback
  * Remove the hack of removing annotations, since we have now
    all the required dependencies packaged
- Removed patch:
  * donotmock.patch
    + hack not needed any more

-------------------------------------------------------------------
Fri Mar 11 12:13:02 UTC 2022 - Fridrich Strba <fstrba@suse.com>

- Remove parent reference from ALL distributed pom files

-------------------------------------------------------------------
Mon May 10 14:59:41 UTC 2021 - Fridrich Strba <fstrba@suse.com>

- Upgrade to guava 30.1.1
  * Fixes:
    + cache: Fixed compatibility between asMap().compute(...)
      and a load.
    + cache: Added @CheckReturnValue to some APIs.
    + collect: Added @DoNotCall to the mutator methods on immutable
      types
    + hash: Removed @Beta from HashCode.
    + io: Removed @Beta from CountingOutputStream.
  * fixes bsc#1179926, CVE-2020-8908: temp directory creation
    vulnerability in Guava versions prior to 30.0
- Removed patch:
  * guava-25.0-java8compat.patch
    + the compatibility is handled in the upstream code
- Added patch:
  * donotmock.patch
    + patch @DoNotMock annotation occurrences in order to put them
      in a format that our regex is able to identify and kill

-------------------------------------------------------------------
Wed Dec  4 17:32:18 UTC 2019 - Fridrich Strba <fstrba@suse.com>

- Avoid version-less dependencies that can cause problems with
  some tools

-------------------------------------------------------------------
Fri Nov 22 04:52:39 UTC 2019 - Fridrich Strba <fstrba@suse.com>

- Build the package with ant in order to prevent build cycles
  * using a generated and customized ant build system

-------------------------------------------------------------------
Thu Oct 10 21:00:22 UTC 2019 - Fridrich Strba <fstrba@suse.com>

- Added patch:
  * guava-25.0-java8compat.patch
    + Avoid callingoverridden methods with covariant return types
      for java.nio.ByteBuffer and java.nio.CharBuffer, which were
      introduced in Java 9
    + This allows us to produce with Java >= 9 binaries that are
      compatible with Java 8

-------------------------------------------------------------------
Fri Apr 12 10:05:01 UTC 2019 - Fridrich Strba <fstrba@suse.com>

- Initial packaging of guava 25.0
openSUSE Build Service is sponsored by