All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Removed use of
delegate
method added in 66f1d797 , reverting to previous implementation. (#522) by @pacso - Updated supported versions of Ruby and Rails and fixed standardrb lint issues. (#552) by @pacso
- Fixed
I18n.load_path
injection (#546) by @glaszig - Use
exepect
in specs (#530 by @artofhuman)
- Fix for weekly interval results when requesting
occurrences_between
on a narrow range (#487) by @jakebrady5 - When using a rule with hour_of_day validations, and asking for occurrences on the day that DST skips forward, valid occurrences would be missed. (#464) by @jakebrady5
- Include
exrules
when exporting a schedule to YAML, JSON or a Hash. (#519) by @pacso - Documentation links updated to point to the new repository location. (#553) by @pacso
- Input validation added for day_of_week validator. Fixes infinite loops when invalid day_of_week occurrences are provided. (#554) by @pacso
- Documentation links in README.md updated to new repository location. (#527 by @dalpo)
0.16.4 - 2021-10-21
- Italian translations
0.16.3 - 2018-07-23
- Support for parsing RDATE from iCal format
0.16.2 - 2017-07-10
- Fix serialization of Date values (for
until
) (#399) - Fix double DST occurrences (#398)
- Realign first wday for monday-based weekly rules (#402)
- Fix weekly realignment for
spans: true
option (#402)
0.16.1 - 2017-05-03
- Add pt-BR i18n locale (#388)
- Misaligned first weekly occurrence (#387)
0.16.0 - 2017-04-12
- Support for Ruby 2.4
- Raise ArgumentError on empty values for remaining rules (#373)
- Fix biweekly realign with spans option (#377)
- Fix
day_of_year
with negative offsets (#326) - Fix weekly rule alignment with non-Sunday week start (#383)
0.15.0 - 2017-01-27
- I18n translations for Russian, Swedish, German, and French
- Support testing with different
RAILS_VERSION
- Support "until" Date with local Time conversion (#327)
- Validate rules (and raise ArgumentError) on empty
from_hash
- Fix validations on
Rule.from_hash
with empty array (#281)
0.14.0 - 2016-02-23
- Option to include prior occurrences with overlapping duration (#302)
0.13.3 - 2016-01-30
- Performance optimizations
- Default deprecation compatibility to track the current version
0.13.2 - 2015-12-09
No changes.
0.13.1 - 2015-12-07
- I18n support!
- Option to include prior occurrences with overlapping duration (#154)
0.13.0 - 2015-05-26
NOTE: the commit for the v0.13.0 release tag incorrectly says Release 0.13.1
- Add
from_ical
! (#258)
- Method arity for
ActiveSupport::TimeZone.to_s
(#255) - Fix whole-day skip with date inputs
- Missed times selected from gap week with weekly interval > 1 (#241)
- Fix
occurs_on?
miss near midnight for DST (#245)
0.12.1 - 2014-07-04
- Support for deserialization of times via Time.parse
- Added interval validations
- Deprecation message improvements
- Coerce validation intervals to Fixnum
- Fix YAML serialization on blank values in ActiveRecord (#231)
- Yearly interval should return self like others
0.12.0 - 2014-04-06
- Skip double occurrences over DST (#189)
- Avoid symbolizing hash keys from input
- Ensure time comparisons are done in schedule time zone (#209)
- Occurrence#overnight? now works on the last day of the month (#218)
0.11.3 - 2014-02-07
- Fix a StopIteration leak
0.11.2 - 2014-01-25
- Use Enumerator for schedule occurrences
- Fix high CPU usage on minutely schedules
0.11.1 - 2013-10-28
- Move deprecated into IceCube namespace
- Standardize the exceptions that we raise
- Fix ActiveSupport edge case restoring serialized TZ
0.11.0 - 2013-06-13
- Occurrence
to_s
accepts format to comply with Rails
0.10.1 - 2013-05-17
- Accept arrays in multiparameter DSL methods (#139)
- Match time zone from schedule when finding times (#152)
- Reliably calculate distance to same day in next month (#171)
- Updating interval on a rule shouldn't leave duplicate validations (#158) (#157)
- Allow Occurrence to work transparently with Arel (#168)
- Raise errors for invalid input (#139)
0.10.0 - 2013-02-25
- Add block initialization, new schedule yields itself (#146)
- Warn on use of DateTime and convert to local Time (#144)
- Start time counts as an implicit occurrence (no more empty schedule) (#135)
- Fix monthly intervals to not skip short months (#105)
- Fix
occurring_between?
for zero-length occurrences at start boundary (#147) - Bug fix for count limit across multiple rules (#149)
- Fix occurrences in DST transition (#150)
0.9.3 - 2013-01-03
- Duration is dependent upon
end_time
(#120)
- Duration defaults to 0
- Match the subseconds of
start_time
when finding occurrences (#89) - Avoid microseconds when comparing times (#83)
- Handle DateTime's lack of subseconds
0.9.2 - 2012-12-08
- Allow passing Time, Date, or DateTime to all calls
0.9.1 - 2012-10-19
- A fix for removing
until
validations (#106) - A DST edge fix
0.9.0 - 2012-10-12
- Fix the effect on
end_time
on IceCube::Schedule (#99) - Allow deserialization of string structures easily (#93)
- Added
occurring_between?
(#88)
- Remove
end_time
fromto_s
(#99)
- Single recurrences now work properly with
conflict_with?
(#71) - Fix a bug with interval > 1 when using
occurrences_between
(#92) - Allow count, until removal by setting to nil (#94)
- Ignore usecs when creating Time.now for
*_occurrences
(#84) - DST bug fix (#98)
- Support for WEEKST by @devwout
- Added INTERVAL to
to_ical
for all interval validations
- Various bug fixes
- Added "Weekends" and "Weekdays" to day's
to_s
- Support for
terminating?
andconflicts_with?
- Fix an issue with
occurrences_between
when using count (#54)
- NameError when serializing schedule with
end_time
by @digx
- Fix for time interval buckets (affects hour, minute, sec)
- Fix for interval to/from YAML issue
- Fix for comparing rules with nil
- Support for
each_occurrence
which iterates as it builds forever
- Large rewrite, fixing a few small bugs and including some large optimizations to the spidering algo
- Deserialize
until_date
properly into_hash
andto_yaml
by @promisedlandt
- Fixed a skipping issue around DST ending
- Additional accessor methods on validations and rules for easy use in microformats (thanks @jamesarosen)
- Fix by Ben Fyvie for daily rule crossing over a year boundary
- Fix for changing start date affecting schedules without reloading
- Fix for typo in
active_support_occurs_between
? causing load issues with ActiveSupport (thanks @carlthuringer)
- Be able to set the
start_date
and duration after creating a schedule
- Added the ability to add and remove rdates, rrules, exdates, and exrules from a schedule
- UNTIL date now serialized with time information
- Added support for
Schedule#occurs_between?
- Added a
:start_date_override
option tofrom_hash
/from_yaml
(@sakrafd)
- Added
next_occurrences
function to schedule, allowing you to get the next N occurrences after a given date
- Fixed bug where
next_occurrence
wouldn't actually grab the correct next occurrence with schedules that had more than one recurrence rule and/or a recurrence rule and a recurrence date
- Change how
active_support_occurs_on
works
- Fixed bug where
next_occurrence
wouldn't work if noend_date
was set
- Patch release for
to_yaml
performance issue
- Lessen the amount of info we store in yaml on the time zone
- Changed how time serialization is done to preserve TimeWithZone when appropriate. (#8)
- Backward compatibility is intact, but bumping the minor version for the YAML format change.
- Fixed next occurrence to work on never-ending schedules (#11)