# Changelog

## v0.2.0 (2021-05-07)

__Breaking changes:__

* Converted all error reasons to proper exceptions: non-raising functions now return `{:error, NearestDate.Error.t}` in case of failure instead of `{:error, term}`.
* The order of arguments for both `find!/3` and `find/3` has been adjusted to make a more "pipe friendly" api.
* `find/3` returns `{:ok, result} | {:error, exception}` instead of just returning the result or raising an exception.
* `find!/3` returns the pure result or raises an exception in line with Elixir conventions.
* Options `:future` and `:past` have been replaced by a single option: `:direction` which defaults to `nil`. When set to either
  `:future` or `:past` will constrain the search to the given direction.

## v0.1.1 (2021-04-28)

* Additional exception handling - invalid dates in the list are ignored and
  invalid target will raise ArgumentError 

## v0.1.0 (2021-04-16)

* Initial commit - basic functionality implemented fastest approach after
  extensive benchmarking