Skip to content

Releases: JoseLion/maybe

v3.3.1

17 Sep 03:23
a274f4d
Compare
Choose a tag to compare

3.3.1 (2023-09-17)

Bug Fixes

  • artifact: Fix expired signing certificate (#206) (a274f4d)

v3.3.0

15 Sep 08:44
bac4150
Compare
Choose a tag to compare

3.3.0 (2023-09-15)

Bug Fixes

Features

  • compat: Provide JDK11 compatibilty through Multi-Release JAR (#200) (5a0a5d7)
  • deps: Update dependencies 2023.09.10 (#192) (97cfbff)

v3.2.0

04 Jun 19:02
3cc6274
Compare
Choose a tag to compare

3.2.0 (2023-06-04)

Bug Fixes

Features

  • deps: Update dependencies 2023.06.04 (#188) (607cd67)

v3.1.0

13 Jan 23:27
f432c94
Compare
Choose a tag to compare

3.1.0 (2023-01-13)

Features

  • core: Update Java, Grandle, and dependencies (#186) (f432c94)

v3.0.0

25 Jun 03:59
ffa01ff
Compare
Choose a tag to compare

This is a major release which comes with some breaking changes:

  • ⚠️ IMPORTANT: Due to changes on GitHub policies (and by consequence on Maven), it's no longer allowed to use com.github as a valid group ID prefix. To honor that and maintain consistency, as of v3, the artifact ID is now io.github.joselion.maybe. If you want to use a version before v3, you can still find it using the ID com.github.joselion.maybe.
  • A ResolveHandler can no longer be empty. It either has the resolved value or an error.
  • The method ResolveHandler#filter was removed to avoid the posibility of an inconsitent empty handler.
  • The WrapperException type was removed. Errors now propagate downstream with the API.
  • The method EffectHandler#toMaybe was removed as it didn't make sense for effects.
  • All *Checked.java functions were renamed to Throwing*.java
    • For example, FunctionChecked<T, R, E> was renamed to ThrowingFunction<T, R, E>

@JoseLion | chore(version): Bump to v3.0.0 (#165) | 2544ba4
@JoseLion | chore(maven): Move to io.github group ID prefix (#166) | ee09522
@JoseLion | chore(jdk): Move to Java 18 (#167) | 9e2b4e4
@JoseLion | chore(sonatype): Fix Sonatype publication (#168) | 4f0f170
@JoseLion | perf(functions): Rename Checked.java functions to Throwing.java (#169) | bef1e84
@JoseLion | feat(Either): Implement Either<L, R> data type (#170) | dcd3664
@JoseLion | feat(resolver): Refactor ResolveHandler to use Either<E, T> (#171) | 15e896e
@JoseLion | chore(cleanup): Remove WrappingException (#172) | d2e8a47
@JoseLion | feat(resolve-handler): Add .toEither() operator (#173) | 1781883
@JoseLion | docs: Updates for v3 (#174) | ffa01ff

v2.1.1

13 Jun 00:38
23d7176
Compare
Choose a tag to compare

This release adds a bug fix and a few chores:

v2.1.0

04 Mar 07:10
09bcbab
Compare
Choose a tag to compare

This release includes some fixes and iterations for v2.0.0, along with some extra features:

  • Rename .orElse(Supplier) overload to .OrElseGet(Supplier) to prevent ambiguity
  • Add .orNull() terminal operator to prevent ambiguity on .orElse(null)
  • Fix ambiguity issues:
  • Rename .fromResolver(FunctionChecked).partialResolver(FunctionChecked)
  • Rename .fromEffect(ConsumerChecked).partialEffect(ConsumerChecked)
  • Remove potentially ambiguous overloads:
    • ResolveHandler#doOnSuccess(Runnable)
    • ResolveHandler#doOnError(Class, Runnable)
    • ResolveHandler#doOnError(Runnable)
    • ResolveHandler#catchError(Class, Supplier)
    • ResolveHandler#catchError(Supplier)
    • EffectHandler#doOnError(Class, Runnable)
    • EffectHandler#doOnError(Runnable)
    • EffectHandler#catchError(Class, Runnable)
    • EffectHandler#catchError(Runnable)
    • EffectHandler#orElse(Runnable)
  • Add .runEffect(..) operators to both handlers

v2.0.0

01 Mar 19:01
de65a40
Compare
Choose a tag to compare

This major release brings some breaking changes and some exciting new features. Most breaking changes are caused by the renaming of methods in the API since this new version aims to make the API similar to Java's Optional<T>. This way, developers will have an easier time remembering the API, plus providing better consistency across their code.

Breaking changes

  • Checked functional interfaces methods should have matching names as their non-checked counterparts to allow interoperability with other APIs
  • Rename Maybe methods:
    • Rename .resolve(..).fromResolver(..)
    • Rename thenResolve(..).resolve(..)
    • Rename .runEffect(..).fromEffect(..)
    • Rename .thenRunEffect(..).runEffect(..)
  • Refactor ResolveHandler methods:
    • Rename .orDefault(..).orElse(..)
    • Add .orElse(..) overload with mapper Function<E, T>
    • Add .orElse(..) overload with supplying Supplier<T>
  • Refactor EffectHandler methods:
    • Rename onErrorThrow(..).orThrow(..)
    • Add .orElse(..) with Consumer<E>
    • Add .orElse(..) with Runnable
  • Refactor error handling of ResolveHandler:
    • Remove .onError(..)
      • Is the same as the new .orElse(mapper) plus the new .catchError(..) overloads
    • Add .catchError(..) overload matching specific type, with Supplier<T>
    • Add .catchError(..) overload without spec type, with Function<E, T>
    • Add .catchError(..) overload without specific type, with Supplier<T>
    • Add .doOnError(..) overload matching specific type, with Consumer<E>
    • Add .doOnError(..) overload matching specific type, with Runnable
    • Add .doOnError(..) overload without specific type, with Runnable
  • Refactor error handling of EffectHandler:
    • Fix .doOnError(..) to not recover from the error
    • Add .doOnError(..) overload without specific type, with Runnable
    • Add .doOnError(..) overload matching specific type, with Consumer<X>
    • Add .doOnError(..) overload matching specific type, with Runnable
    • Add .catchError(..) overload matching specific type, with Runnable
    • Add .catchError(..) overload without specific type, with Consumer<E>
    • Add .catchError(..) overload without specific type, with Runnable

New features

  • Add .doOnSuccess(..) operator to both ResolveHandler and EffectHandler
  • Add partial implementation overloads to .fromResolver(..) and .fromEffect(..)
  • Add .resolve(..) to the ResolveHandler with 2 overloads:
    • Map and ignore any possible error
    • Unwrap-like mapper: Two mappers, one for success another for error
  • Add .fromOptional(..) static creator

v1.6.0

07 Oct 06:00
fa0e367
Compare
Choose a tag to compare

This release adds 7 commits on Oct 07

Release v1.5.0

16 May 20:16
364ee4d
Compare
Choose a tag to compare

This release adds 5 commits on Mar 14