- Added
Errors.wrap[Function/Predicate]methods to handle cases whereErrors.wrapwas ambiguous. - Added
Either.create(L, R)for cases where the user knows that exactly one argument will be non-null. - Added
Either.mapLeft()andmapRight()for transformingEithers. - Improved the performance of the
java.io.Writerreturned byStringPrinter.toWriter(). - Added a
map()function toBox.Nullable.Boxalready had one, its omission fromBox.Nullablewas an oversight. - Until now,
Errors.rethrow()wrappedErrors insideRuntimeExceptions. This complicated the stack traces and served no useful purpose. - Added
TreeQuery.isDescendantOf()andisDescendantOfOrEqualTo(). - Added
TreeQuery.copyLeavesIn()andcopyRootOut().
- Added
Box.Nullable.modify(), which has the same behavior asBox.modify(). - OSGi metadata is now auto-generated using bnd.
- Added the
Errors.asTerminal()method, for treating anErrorsinstance as aConsumer<Optional<Throwable>>rather than the usualConsumer<Throwable>. - Added the
TreeQuery.root(TreeDef<T> treeDef, T node)method, which returns the root node based on the given node.
- Fixed a bug in
Throwing.Specific.Bi*where these interfaces did not throw exceptions - which is the whole reason they exist.
- Gah! MANIFEST.MF still had -SNAPSHOT version. Fixed now. Would be really nice if we could get MANIFEST.MF generation working.
- When
Errors.asRuntime()wraps an exception as aRuntimeException, it now usesErrors.WrappedAsRuntimeExceptionrather than a genericRuntimeException.
- Now available on Maven Central!
- Merged
GetterSetterandBoxinto justBox. - Rather than
BoxandBox.NonNull extends Box, we now haveBoxandBox.Nullable.- Non-null by default is much better.
- There should not be an inheritance hierarchy between the nullable and non-null versions, and now there isn't.
- Added a mechanism for testing trees for equality.
- Other miscellaneous changes.
- Renamed ErrorHandler to Errors. This was done mainly to avoid name conflicts with the many other ErrorHandler classes that are out in the wild, but it also has the advantage of being shorter.
- The Maven POM was missing the FindBugs annotations, which was causing compile warnings for users of the library. It now includes them under the proper 'provided' scope.
- First stable release.
- First release, to test out that we can release to jcenter and whatnot.