Skip to content

Latest commit

 

History

History
236 lines (160 loc) · 6.35 KB

CHANGELOG.md

File metadata and controls

236 lines (160 loc) · 6.35 KB

0.17.0 - (2024-11-12)

  • enhancements

    • Add support for Rails 8.0 (by @TasnimSyncX)
  • chores

    • Add tests for switching Date.beginning_of_week
    • Update Rubocop settings

0.16.0 - (2023-10-11)

  • enhancements
    • Add support for Rails 7.1 (by @bugthing)
    • Add support for Ruby 3.2

0.15.0 - (2023-08-27)

  • breaking changes
    • Drop support for Ruby 2.6

0.14.0 - (2023-08-23)

  • enhancements
    • Performance optimization for recurrences with :at option (by @artinboghosian)

0.13.0 - (2022-01-04)

  • enhancements

    • Add support for Ruby 3.x
    • Add support for Rails 7.0
    • Add basic support for ical parsing
  • bug fixes

    • Make :during option work for time range spanning midnight

0.12.0 - (2021-02-02)

  • enhancements

    • Adds Montrose.covering to disambiguate Montrose.between behavior #covering provides recurrence masking behavior, i.e., only recurrences within the given range will be emitted
    • Added support for ActiveSupport 6 and Ruby 2.7
    • Adds Montrose#infinite? and ensures Montrose.finite? returns a boolean
  • bug fixes

    • Fixes Recurrence#include? behavior for infinite recurrences with intervals > 1
  • breaking changes

    • Montrose.between no longer provides masking behavior, which is now provided by Montrose.covering. A global option can be used Montrose.enable_deprecated_between_masking = true to retain the legacy behavior for Montrose.between. This option will be removed in v1.0.
    • Dropped official support for EOL'd rubies and ActiveSupport < 5.2
  • miscellaneous

    • switched from Travis to CircleCi for builds
    • switched default branch to main

0.11.0 - (2019-08-16)

  • enhancements
    • Adds Recurrence#during to support recurrences within time-of-day ranges, e.g. Montrose.every(20.minutes).during("9am-5pm")

0.10.1 - (2019-07-22)

  • enhancements
    • Adds Schedule.dump and Schedule.load to support ActiveRecord column serialization

0.10.0 - (2019-07-17)

  • enhancements

    • Overrides Recurrence#as_json (by @mmagn) to correlate with behavior of Recurrence#to_json
  • bug fixes

    • In overriding Recurrence#as_json as described above, fixes potential infinite loop of calling the method with an infinite recurrence
  • breaking changes

    • Start time for a daily Recurrence defined with :at options will no longer reset to the beginning of the day; addresses confusion with original behavior in which such occurrences could emit events in the past relative to the given or explicit start time, i.e., earlier in the day

0.9.0 - (2019-03-11)

  • enhancements

    • Enables support for ActiveRecord 6
  • bug fixes

    • Fixes bug for nth day of month when used with yearly interval
  • breaking changes

    • Using selected with :month with :day as a Hash will now enforce the NthDayOfMonth recurrence rule
    • Drops official support for Ruby 2.1 and 2.2

0.8.2 - (2018-08-02)

  • bug fixes
    • Fixes use of :at when time of day earlier than :starts

0.8.1 - (2018-07-27)

  • bug fixes
    • Fixes interval comparisons for secondly, hourly, minutely by zeroing usec for recurrence start and end times

0.8.0 - (2018-05-29)

  • enhancements
    • Parsing the :at option now initializes recurrence by the hour-minute-second
    • Support activesupport-5.2 (by @zokioki)
    • Support ruby-2.5
    • Support YAML.safe_load for Recurrence#to_yaml

0.7.0 - (2017-09-18)

  • enhancements

    • Adds the :exclude_end option can be used to determine whether :until value is included in the recurrence. Mimics the API to Ruby's Range.
    • Support activesupport-5.1 (by @fauxparse)
    • Support ruby-2.4
  • bug fixes

    • Recurrence#to_json accepts arguments for JSON.dump
  • breaking changes

    • Previously, the :between option served as a shorthand for :starts to :until. Now, when both :starts and :between are provided, the recurrence will behave as if anchored by the given :starts option, but filtered through the given :between option.
    • The :exclude_end option changes the default behavior of :until--when the timestamp of the interval matches the :until timestamp, it will be included by default unless the :exclude_end option is set to true.

0.6.0 - (2017-01-05)

  • enhancements
    • Alias every to frequency
    • Handle JSON and hashes in Recurrence serialization
    • Handle blank and nil objects in Recurrence deserialization

0.5.0 - (2016-11-23)

  • enhancements
    • Adds Recurrence#include?
    • Improved documentation

0.4.3 - (2016-11-20)

  • enhancements
    • Add CI support for ActiveSupport 4.1, 4.2, 5.0 (by @phlipper)

0.4.2 - (2016-07-27)

  • bug fixes
    • Respect ActiveSupport::TimeWithZone objects for casting time objects (by @tconst)

0.4.1 - (2016-07-04)

  • enhancements

    • Support Montrose.every(:second)
  • bug fixes

    • Ensure ActiveSupport::Duration parts are used; fixes 'every 30 days' bug

0.4.0 - (2016-04-20)

  • enhancements
    • Respect configured time zone by using Time.current from ActiveSupport
    • Adds Montrose::Recurrence#to_json method
    • Additional tests for utils methods (by @AlexWheeler)

0.3.0 - (2016-02-19)

  • enhancements
    • Adds :except option and chainable method to filter timestamps by date (by @thewatts)
  • bug fixes
    • Fix recurrences when specifying both :starts and :at by treating :starts value like a date
    • Respect recurrence rules using multiple :at values
    • Using Montrose.r without any arguments no longer throws ArgumentError

0.2.2 - (2016-02-08)

  • bug fixes
    • Handle Hash in Montrose::Chainable methods that support varargs
  • enhancements
    • Adds Montrose.r method for starting a new recurrence
    • Adds Chainable alias methods including #starts, #until, #repeat
    • README updates (by @thegcat)

0.2.1 - (2016-02-03)

  • bug fixes
    • Handle nil in Montrose::Options constructor

0.2.0 - (2016-02-03)

  • enhancements
    • extend Montrose::Schedule api for building and adding recurrences
    • add more details to chainable docs
    • merge default options at enumeration time for more consistent serialization

0.1.1 - (2016-01-25)

  • bug fixes
    • add missing require "forwardable"
  • enhancements
    • add better #inspect methods in Recurrence and Options
    • use refinement to refactor Options internal arg merging
    • support ruby 2.3.0 in travis builds

0.1.0 - (2016-01-18)

  • initial release