Skip to content
Permalink
master

Commits on Dec 21, 2021

  1. Add AbstractScheduledService.Schedule(Duration).

    RELNOTES=n/a
    PiperOrigin-RevId: 417651818
    kluever authored and Google Java Core Libraries committed Dec 21, 2021

Commits on Dec 20, 2021

  1. Remove @Beta from the remaining methods in Comparators: min, `m…

    …ax`, `lexicographical`, `emptiesFirst`, `emptiesLast`, `isInOrder`, `isInStrictOrder`.
    
    RELNOTES=`collect`: Removed `@Beta` from the remaining methods in `Comparators`: `min`, `max`, `lexicographical`, `emptiesFirst`, `emptiesLast`, `isInOrder`, `isInStrictOrder`.
    PiperOrigin-RevId: 417399872
    cpovirk authored and Google Java Core Libraries committed Dec 20, 2021

Commits on Dec 16, 2021

  1. Internal change.

    RELNOTES=n/a
    PiperOrigin-RevId: 416878427
    cpovirk authored and Google Java Core Libraries committed Dec 16, 2021
  2. Use ImmutableMap.Builder.buildKeepingLast() where possible.

    RELNOTES=n/a
    PiperOrigin-RevId: 416847993
    eamonnmcmanus authored and Google Java Core Libraries committed Dec 16, 2021
  3. Remove @Beta from ExecutionSequencer, `MoreExecutors.newSequentia…

    …lExecutor`, and `Monitor`.
    
    RELNOTES=`util.concurrent`: Removed `@Beta` from `ExecutionSequencer`, `MoreExecutors.newSequentialExecutor`, and `Monitor`.
    PiperOrigin-RevId: 416833591
    cpovirk authored and Google Java Core Libraries committed Dec 16, 2021

Commits on Dec 15, 2021

  1. Start with a smaller but faster growing buffer when reading to a byte…

    … array
    
    RELNOTES=n/a
    PiperOrigin-RevId: 416664799
    java-team-github-bot authored and Google Java Core Libraries committed Dec 15, 2021
  2. Improve variable name and explanatory comments.

    RELNOTES=n/a
    PiperOrigin-RevId: 416627986
    eamonnmcmanus authored and Google Java Core Libraries committed Dec 15, 2021
  3. Fix a bug in ImmutableMap.Builder.buildKeepingLast().

    If we detect a duplicate entry while building the map, we do need to store it in the `entries` array, but we should not update the `table` slot. The under-construction hash table is already correct.
    
    RELNOTES=n/a
    PiperOrigin-RevId: 416587035
    eamonnmcmanus authored and Google Java Core Libraries committed Dec 15, 2021

Commits on Dec 14, 2021

  1. Remove @Beta from `Uninterruptibles.awaitTerminationUninterruptibly…

    …` and from the `Duration` overloads in the class.
    
    RELNOTES=`util.concurrent`: Removed `@Beta` from `Uninterruptibles.awaitTerminationUninterruptibly` and from the `Duration` overloads in the class.
    PiperOrigin-RevId: 416323424
    cpovirk authored and Google Java Core Libraries committed Dec 14, 2021
  2. Remove @Beta from a number of com.google.common.testing classes.

    Fixes #3452
    
    RELNOTES=Several classes in `com.google.common.testing` that were previously marked `@Beta` are now fully supported.
    PiperOrigin-RevId: 416320108
    eamonnmcmanus authored and Google Java Core Libraries committed Dec 14, 2021
  3. De-beta APIs in com.google.common.net

    Fixes #3052
    Fixes #3414
    Fixes #3417
    Fixes #3423
    
    RELNOTES=`net`: Removed `@Beta` from APIs in net.
    PiperOrigin-RevId: 416312524
    amalloy authored and Google Java Core Libraries committed Dec 14, 2021
  4. Remove @Beta from AsyncCallable, ListenableScheduledFuture, and…

    … `ClosingFuture`.
    
    The former two are simple interfaces. `ClosingFuture` was meant to be `@Beta` for only one release :)
    
    `ListenableScheduledFuture` was particularly silly to have as `@Beta` because it's the return type of `ListeningScheduledExecutorService`, from which we'd already removed `@Beta`.
    
    `AsyncCallable` makes extra sense to remove from `@Beta` at the same time as `Futures.submit`, `submitAsync`, and `scheduleAsync` (CL 416093023).
    
    RELNOTES=`util.concurrent`: Removed `@Beta` from `AsyncCallable`, `ListenableScheduledFuture`, and `ClosingFuture`.
    PiperOrigin-RevId: 416302588
    cpovirk authored and Google Java Core Libraries committed Dec 14, 2021

Commits on Dec 13, 2021

  1. Remove @Beta from uncontroversial Futures methods:

    - `submit`
    - `submitAsync`
    - `scheduleAsync`
    - `nonCancellationPropagating`
    - `inCompletionOrder`
    
    I did also add a TODO to potentially make the return type of `scheduleAsync` more specific in the future. However, to the best of my knowledge, no one has ever asked for this. (That's not surprising: `ScheduledFuture` isn't any more useful than `Future` unless you're implementing a `ScheduledExecutorService`, and even then, access to its timeout is unavoidably racy.) Plus, should we ever need to do it, we can do it compatibly by injecting a bridge method with the old signature.
    
    (I didn't see any discussion of the return type in the API Review doc or the CL review thread. It probably just didn't come up, or maybe we all independently concluded that it wasn't worth the trouble, given that `MoreExecutors.listeningDecorator(ScheduledExecutorService)` is a bit of a pain? But I'm guessing `scheduleAsync` would be easier.)
    
    RELNOTES=`util.concurrent`: Removed `@Beta` from `Futures` methods: `submit`, `submitAsync`, `scheduleAsync`, `nonCancellationPropagating`, `inCompletionOrder`.
    PiperOrigin-RevId: 416139691
    cpovirk authored and Google Java Core Libraries committed Dec 13, 2021
  2. Remove @Beta from the FluentFuture type, its factory methods, and…

    … `addCallback`.
    
    This leaves `@Beta` only for the methods that remain `@Beta` in `Futures` itself, which I'm hoping to make some effort toward later this week.
    
    This CL is an admission that we're never going to get around to reworking `FluentFuture` to be more of a "builder," as discussed in #3419. Maybe there's still a place for something more builder-like, but there's no chance that we'll try to change `FluentFuture` in place. And probably we'll never do anything.
    
    RELNOTES=`util.concurrent`: Removed `@Beta` from the `FluentFuture` type, its factory methods, and `addCallback`.
    PiperOrigin-RevId: 416122526
    cpovirk authored and Google Java Core Libraries committed Dec 13, 2021
  3. Introduce ImmutableMap.Builder.buildKeepingLast.

    This method is the same as the existing `.buildOrThrow` method, except when the same key appears more than once. In that case `buildOrThrow` throws an exception, while `buildKeepingLast` uses the last value that was associated with the key.
    
    Relnotes:
      * A new method `ImmutableMap.Builder.buildKeepingLast()` keeps the last value for any given key rather than throwing an exception when a key appears more than once.
      * 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. (This is not recommended.)
    PiperOrigin-RevId: 416035210
    eamonnmcmanus authored and Google Java Core Libraries committed Dec 13, 2021

Commits on Dec 8, 2021

  1. Refine examples for mapWithIndex.

    Fixes #5793
    
    RELNOTES=n/a
    PiperOrigin-RevId: 415104694
    TennyZhuang authored and Google Java Core Libraries committed Dec 8, 2021

Commits on Dec 6, 2021

  1. Bump actions/cache from 2.1.6 to 2.1.7

    Fixes #5788
    
    RELNOTES=n/a
    PiperOrigin-RevId: 414547550
    cpovirk authored and Google Java Core Libraries committed Dec 6, 2021
  2. Fix -Wbitwise-instead-of-logical warnings.

    PiperOrigin-RevId: 414465058
    java-team-github-bot authored and Google Java Core Libraries committed Dec 6, 2021

Commits on Dec 5, 2021

  1. Include all services in ServiceManager.startAsync exception message

    RELNOTES=Include all services in ServiceManager.startAsync exception message
    PiperOrigin-RevId: 414199967
    java-team-github-bot authored and Google Java Core Libraries committed Dec 5, 2021

Commits on Dec 3, 2021

  1. Fix Javadoc search on JDK 11:

    Fixed Javadoc search feature on JDK 11, which is currently used in our
    scripts updating snapshot Javadocs on guava.dev and building
    Guava releases, by adding `no-module-directories` flag.
    
    This option is not present in javadoc tool from JDK 8 and 13+,
    hence we use profiles to conditionally pass this flag on 9-12 only.
    
    Note that on JDK 17 javadoc generation does not work,
    as it seems to have changed the warning on LVTI usage in sources
    to an error.
    
    Fixes #5457
    Fixes #5800
    
    RELNOTES=n/a
    PiperOrigin-RevId: 413934851
    Dmitry Timofeev Google Java Core Libraries
    Dmitry Timofeev authored and Google Java Core Libraries committed Dec 3, 2021

Commits on Dec 1, 2021

  1. Update Public Suffix data.

    RELNOTES=n/a
    PiperOrigin-RevId: 413462427
    java-team-github-bot authored and Google Java Core Libraries committed Dec 1, 2021
  2. Fix small style issues.

    Fixes #5795.
    
    RELNOTES=n/a
    PiperOrigin-RevId: 413459594
    netdpb authored and Google Java Core Libraries committed Dec 1, 2021

Commits on Nov 30, 2021

  1. Attempt casValue CAS in a loop.

    This shouldn't be necessary, but we're seeing some evidence that it may help with a mysterious bug.
    
    (I considered renaming the other `cas*` methods (in which I did not add a loop) to "`weakCas*`" to emphasize that _they_ might fail spuriously. But it's hard to imagine how we could ever rewrite their callers to _not_ use a loop, so I don't think we'd be protecting ourselves from any mistakes. Plus, "weak CAS" carries additional meaning (specifically, lack of ordering guarantees) that may or may not be appropriate here. And anyway, we hope that this is all a short-term hack.)
    
    RELNOTES=n/a
    PiperOrigin-RevId: 413130485
    cpovirk authored and Google Java Core Libraries committed Nov 30, 2021

Commits on Nov 24, 2021

  1. Implemented the following methods for

    `AtomicDouble` and `AtomicDoubleArray`:
    
    * `accumulateAndGet`
    * `getAndAccumulate`
    * `updateAndGet`
    * `getAndUpdate`
    
    Closes #5784.
    Fixes #5742.
    
    RELNOTES=Implement accumulate/update methods for `AtomicDouble` and `AtomicDoubleArray`.
    PiperOrigin-RevId: 412110543
    allanhaywood authored and Google Java Core Libraries committed Nov 24, 2021
  2. Use getAndSet from Unsafe and ARFU when tombstoning listeners and wai…

    …ters fields
    
    This should allow use of just one xchg on x86 and swp on arm. On architectures where this intrinsic is implemented, this makes completing a future wait-free.
    
    RELNOTES=n/a
    PiperOrigin-RevId: 412104471
    java-team-github-bot authored and Google Java Core Libraries committed Nov 24, 2021
  3. Use Truth for better failure messages in map assertions (again).

    RELNOTES=n/a
    PiperOrigin-RevId: 412061510
    eamonnmcmanus authored and Google Java Core Libraries committed Nov 24, 2021

Commits on Nov 23, 2021

  1. Use the new buildOrThrow() instead of build() in ImmutableMapTest.

    RELNOTES=n/a
    PiperOrigin-RevId: 411675632
    eamonnmcmanus authored and Google Java Core Libraries committed Nov 23, 2021

Commits on Nov 22, 2021

  1. Use Truth for better failure messages in map assertions.

    RELNOTES=n/a
    PiperOrigin-RevId: 411621730
    eamonnmcmanus authored and Google Java Core Libraries committed Nov 22, 2021

Commits on Nov 17, 2021

  1. Elaborate on comment in AggregateFuture.addInitialException.

    RELNOTES=n/a
    PiperOrigin-RevId: 410535636
    cpovirk authored and Google Java Core Libraries committed Nov 17, 2021

Commits on Nov 12, 2021

  1. Update deprecated CharMatcher.invisible() to match ICU 70/Unicode 14.

    RELNOTES=n/a
    PiperOrigin-RevId: 409483439
    cgdecker authored and Google Java Core Libraries committed Nov 12, 2021

Commits on Nov 11, 2021

  1. Remove docs that say that parameters are non-null by default.

    This is our general policy, so it's misleading to mention it only in these two classes.
    
    RELNOTES=n/a
    PiperOrigin-RevId: 409192741
    cpovirk authored and Google Java Core Libraries committed Nov 11, 2021

Commits on Nov 9, 2021

  1. Documented that ExecutionSequencer tasks execute in happens-before or…

    …der, matching the description used in newSequentialExecutor()'s Javadoc. Updated the description to more completely specify what that order is.
    
    RELNOTES=Documented that ExecutionSequencer tasks execute in happens-before order.
    PiperOrigin-RevId: 408666760
    yorickhenning authored and Google Java Core Libraries committed Nov 9, 2021

Commits on Nov 6, 2021

  1. Bump actions/checkout from 2.3.5 to 2.4.0.

    Closes #5772
    
    RELNOTES=n/a
    PiperOrigin-RevId: 407945788
    java-team-github-bot authored and Google Java Core Libraries committed Nov 6, 2021

Commits on Nov 4, 2021

  1. Improve tests.

    Fixes #5761
    
    RELNOTES=n/a
    PiperOrigin-RevId: 407670094
    Marcono1234 authored and Google Java Core Libraries committed Nov 4, 2021

Commits on Nov 3, 2021

  1. Document @ParametricNullness better.

    RELNOTES=n/a
    PiperOrigin-RevId: 407317240
    cpovirk authored and Google Java Core Libraries committed Nov 3, 2021
Older