Skip to content

3.9.0 2021-12-30: Removed None.none()

Compare
Choose a tag to compare
@GlenKPeterson GlenKPeterson released this 11 Jan 16:37

The following are results of usage and casual code review.

Release 3.9.0 2021-12-30: Removed None.none()

  • Use Option.none() instead of None.none().
    They are duplicate methods.
    You're almost certainly going to be importing Option.some() already, so it makes sense to use Option.none() as well.
  • Fixed appendSome() to take a covariant parameter: appendSome(@NotNull Fn0<? extends @NotNull Option<E>> supplier)
  • Made RuntimeTypes store types in a Trie with node-level synchronization. The previous storage made no sense.
  • Added more nullability annotations.

Release 3.8.0 2021-12-28: BaseList.appendSome(() -> Option)

  • Replaced BaseList.appendWhen(Fn0 test, E item) with appendSome(Fn0<Option>).
    This is a better design because it can do everything the first design does, but
    allows you to avoid constructing a new E unless you need it.
  • Added more nullability annotations.
  • Tuples now have a private static final long serialVersionUID field.
    This was always intended to be there
    (so you can serialize with one version of Paguro and deserialize with another)
    but was generated as part of comment by accident.
    This field will not change so long as tuples do not change in a way that affects their serialization.