- Drop support for unsupported Ruby & ActiveSupport versions
- Add support to ActiveSupport 7.0
- Add InvalidConfiguration error code to allow custom message or behavior - #47
- New config option: holiday_hours - #37
- Improve support for time shifts - #46
- Improve computation accuracy in
advance_to_working_time
andworking_time_between
by using more exact (integer-based) time operations instead of floating point numbers - #44 - Raise an exception when we detect an infinite loops in
advance_to_working_time
to improve resilience and make debugging easier - #44 - Use a Rational number for the midnight value to avoid leaking sub-nanoseconds residue because of floating point accuracy - #44
- Improve supports for fractional seconds in input times by only rounding results at the end - #42 #43
- Increase code safety by always initializing an empty hash for each day of the week in the precompiled config (inspired by #35
- Drop support for ruby 2.0, 2.1, 2.2 and 2.3
- Drop support for jruby 1.7 and 9.0
- Drop support for ActiveSupport 3.x
- Add support for jruby 9.2
- Add support for ruby 2.5, 2.6 and 2.7
- Add support for ActiveSupport 5.x and 6.x
- Fix day computations when origin is a holiday or a non worked day - #39
- Fix thread safety - #36
- Fixed warnings with Ruby 2.4.0+ - #32
- Fix install bug with jruby 1.7.20
- Fixed an issue of float imprecision causing infinite loop - #27
- Added #next_working_time and #advance_to_closing_time - #23
06/12/2015
- Fix infinite loop happening when rewinding seconds and crossing through midgnight
18/08/2015
- Config set globally is now properly inherited in new threads. This fixes the issue when setting the config once in an initializer won't work in threaded web servers.
03/04/2015
- Fixed a nasty stack level too deep error on DateTime#+ and DateTime#- (thanks @jlanatta)
27/03/2015
- Relax configuration input formats - #10
- Small improvements to the Readme
08/11/2014
- Dropped use of
prepend
in favor ofalias_method
for core extensions to increase compability with jruby.
15/10/2014
- Fix bug when calling
1.working.hour.ago
would return a time in your system zone instead of the configured time zone. This was due to a conversion to Time that loses the timezone information. We'll now return anActiveSupport::TimeWithZone
.
10/10/2014
- Replace config freeze by hash based caching (config is recompiled when changed), this avoids freezing unwanted objects (nil, timezones, integers, etc..)
15/09/2014
- First beta release
24/08/2014