Skip to content

Latest commit

 

History

History
237 lines (175 loc) · 10.9 KB

CHANGELOG.md

File metadata and controls

237 lines (175 loc) · 10.9 KB

Ruby Holidays Gem CHANGELOG

4.6.0

4.5.0

4.4.0

4.3.0

4.2.0

  • BUGFIX Issue-194: correctly calculate next_holidays if next holiday is far in the future
  • Give dutch holidays their proper names (https://github.com/Qqwy)

4.1.0

  • Issue-161: correctly report St Andrews Day as informal 2006 and earlier in gb_sct
  • Issue-169: set correct years of observance for Family Day in various ca provinces
  • Issue-163: Add next_holidays method. See README for usage (https://github.com/ttwo32)

4.0.0

Major refactor with breaking changes! Sorry for the wall of text but there is a lot of info here.

  • Fixes issue 144 (loading custom defs with methods). This was the refactor catalyst. Changes highlights include:
    • Allow for custom methods added via the load_custom method to be used immediately as expected
    • Consolidate and clarify custom method parsing and validation
    • Change nearly every definition to use new 'custom method' YAML format. See definitions/README.md for more info.
    • Remove require functionality when loading new definitions, instead using in-memory repositories. See below for info.
    • Now loads all generated definitions when require 'holidays' is called. See below for performance info.
  • Add rake console command for easier local testing
  • Remove or rename many public methods that were never intended for public use:
    • Remove following date calculation helper methods (definitions must now directly call factory):
      • easter
      • orthodox_easter
      • orthodox_easter_julian
      • to_monday_if_sunday
      • to_monday_if_weekend
      • to_weekday_if_boxing_weekend
      • to_weekday_if_boxing_weekend_from_year
      • to_weekday_if_weekend
      • calculate_day_of_month
    • Remove available method. This was only intended for internal use
    • Remove parse_definition_files_and_return_source. This was only intended for internal use
    • Remove load_all method. This was only intended for internal use
    • Rename regions to available_regions for clarity
    • Rename full_week? to any_holidays_during_work_week? for clarity
  • Following methods now constitute the 'public API' of this gem:
    • on
    • any_holidays_during_work_week? (renamed method, was originally full_week?, same behavior as before)
    • between
    • cache_between
    • available_regions (renamed method, was originally regions, same behavior as before)
    • load_custom
  • All generated definitions are now loaded when require 'holidays' is called
    • Previously files were required 'on the fly' when a specific region was specified. By requiring all definitions upon startup we greatly simplify the handling of regions, definitions, and custom methods internally
    • This results in a performance hit when calling require 'holidays'. Here is an example based on my benchmarking:
      • old: 0.045537
      • new: 0.145125

I decided that this performance hit on startup is acceptable. All other performance should remain the same. If performance is a major concern please open an issue so we can discuss your use case.

3.3.0

This is the final minor point release in v3.X.X. I am releasing it so that all of the latest definitions can be used by anyone that is not ready to jump to version 4.0.0. I am not planning on supporting this version unless a major issue is found that needs to be immediately addressed.

3.2.0

3.1.2

3.1.1

  • Require 'digest/md5' in main 'holidays' module. This was missed during the refactor (thanks to https://github.com/espen)

3.1.0

3.0.0

  • Major refactor! Lots of code moved around and some methods were removed from the public api (they were never intended to be public).
  • Only supports ruby 2.0.0 and up. Travis config has been updated to reflect this.
  • Moves 'date' monkeypatching out of main lib and makes it a core extension. See README for usage.
  • Fixes remote execution bug in issue-86 (thanks to https://github.com/Intrepidd for reporting)
  • No region definition changes.

I decided to make this a major version bump due to how much I changed. I truly hope no one will notice. See the README for the usage. It has, except for the date core extension, not changed.

2.2.0

2.1.0

2.0.0

1.2.0

1.1.0

1.0.7

1.0.6

1.0.5

1.0.4

  • Add Liechtenstein holiday defs (mercy vielmal Bernhard Furtmueller)

1.0.3

  • Add Austrian holiday definitions (thanks to Vogel Siegfried)

1.0.2

1.0.0

0.9.3

  • Added New York Stock Exchange holidays (thank you Alan Larkin).
  • Added UPS holidays (thank you Tim Anglade).
  • Fixed rakefile to force lower case definition file names.

0.9.2

  • Included rakefile in Gem (thank you James Herdman).

0.9.1

  • au.yaml was being included incorrectly in US holiday definitions. Thanks to Glenn Vanderburg for the fix.

0.9.0

  • Initial release.