- Added
Errors.wrap[Function/Predicate]
methods to handle cases whereErrors.wrap
was 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 transformingEither
s. - Improved the performance of the
java.io.Writer
returned byStringPrinter.toWriter()
. - Added a
map()
function toBox.Nullable
.Box
already had one, its omission fromBox.Nullable
was an oversight. - Until now,
Errors.rethrow()
wrappedError
s insideRuntimeException
s. 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 anErrors
instance 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.WrappedAsRuntimeException
rather than a genericRuntimeException
.
- Now available on Maven Central!
- Merged
GetterSetter
andBox
into justBox
. - Rather than
Box
andBox.NonNull extends Box
, we now haveBox
andBox.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.