- Add holidays for 'Luxembourg' (https://github.com/dunyakirkali)
- Add
Holidays.year_holidays
method to obtain all holidays occuring from date to end of year, inclusively (thanks to https://github.com/jonathanpike)
- Add Peruvian holiday definitions (https://github.com/Xosmond)
- Update Portuguese holidays to restore 4 holidays (https://github.com/ruippeixotog)
- 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)
- 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)
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.
- Allow for custom methods added via the
- 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
toavailable_regions
for clarity - Rename
full_week?
toany_holidays_during_work_week?
for clarity
- Remove following date calculation helper methods (definitions must now directly call factory):
- Following methods now constitute the 'public API' of this gem:
on
any_holidays_during_work_week?
(renamed method, was originallyfull_week?
, same behavior as before)between
cache_between
available_regions
(renamed method, was originallyregions
, 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
- old:
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.
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.
- Update public holidays for Argentina (https://github.com/schmierkov)
- Remove redundant
require
from weekend modifier (https://github.com/Eric-Guo) - FIX: Easter Saturday not a holiday in NZ (https://github.com/ghiculescu)
- FIX: Japan 'Marine Day' for 1996-2002 year ranges (https://github.com/shuhei)
- FIX: Australia calculations for Christmas and Boxing (https://github.com/ghiculescu)
- Add dutch language version of definitions for Belgium ([email protected])
- Make 'Goede Vrijdag' informal for NL definitions (https://github.com/MathijsK93)
- Add 'Great Friday' to Czech holidays ([email protected])
- Add new informal holidays for Germany (https://github.com/knut2)
- FIX: correctly check for new
year_range
attribute in holidays by month repository (https://github.com/knut2) - Add DE-Reformationstag for 2017 (https://github.com/knut2)
- Update Australia QLD definition Queens Bday and Labour Day (https://github.com/ghiculescu)
- add 'valid year' functionality to definitions - holidays#33 - (thanks to https://github.com/ttwo32)
- Fix 'day after thanksgiving' namespace bug during definition generation (thanks to https://github.com/ttwo32)
- fix Danish holidays 'palmesondag and 1/5 (danish fightday)' to set to informal (thanks to https://github.com/bjensen)
- Do not require Date monkeypatching in definitions to use mday calculations (thanks to https://github.com/CloCkWeRX)
- Require 'digest/md5' in main 'holidays' module. This was missed during the refactor (thanks to https://github.com/espen)
- Fix St. Stephen observance holiday for Ireland (https://github.com/gumchum)
- Add Bulgarian holidays (https://github.com/thekazak)
- Add new mountain holiday for Japan (https://github.com/ttwo32)
- Add ability to calculate Easter in either Gregorian (existing) or Julian (new) dates
- 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.
- Correct 'informal' type for Dodenherdenking holiday in NL definitions (https://github.com/MathijsK93)
- Updated Slovak holiday definitions (https://github.com/guitarman)
- Fix Japanese non-Monday substitute holidays (https://github.com/shuhei)
- Fixed typo in Slovak holiday definitions (https://github.com/martinsabo)
- Updated New Zealand definitions to reflect new weekend-to-monday rules (https://github.com/SebastianEdwards)
- Fix Australian definitions (https://github.com/ghiculescu)
- Add test coverage
- Remove support for Ruby 1.8.7 and REE. (https://github.com/itsmechlark)
- Add support for Ruby 2.2 (https://github.com/itsmechlark)
- Add PH holidays (https://github.com/itsmechlark)
- Belgian holidays now written in French instead of English (https://github.com/maximerety)
- Update California (USA) holidays to include Cesar Chavez and Thanksgiving (https://github.com/evansagge)
- Remove inauguration day from USA Federal Reserve definitions (https://github.com/aripollak)
- Add caching functionality for date ranges (https://github.com/ndbroadbent & https://github.com/ghiculescu)
- Add support to load custom holidays on the fly
- Add hobart & launceston show days (https://github.com/ghiculescu)
- Add Melbourne Cup day (https://github.com/ghiculescu)
- Add Hobart Regatte Day (https://github.com/ghiculescu)
- Add Costa Rican holidays (https://github.com/kevinwmerritt)
- Update Canadian Holidays (https://github.com/KevinBrowne)
- Add substitute holidays for Japan (https://github.com/YoshiyukiHirano)
- Fix USA Federal Reserve Holidays
- Add FedEx holidays (https://github.com/adamrunner)
- Load parent region even when sub region is not explicitly defined (https://github.com/csage)
- Full support for http://en.wikipedia.org/wiki/ISO_3166-2:DE (https://github.com/rojoko)
- Added Lithuanian definitions (https://github.com/Brunas)
- Added Chilean definitions (https://github.com/marcelo-soto)g
- Added European Central Bank TARGET definitions (Toby Bryans, NASDAQ OMX NLX)
- FR: Make Pâques and Pentecôte informal holidays (https://github.com/wizcover)
- NL: Update for the new King (https://github.com/johankok)
- Added Slovenian definitions (https://github.com/bbalon)
- Added
Holidays.regions
method (https://github.com/sonnym) - Added Slovakian definitions (https://github.com/mirelon)
- Added Venezuelan definitions (https://github.com/Chelo)
- Updated Canadian definitions (https://github.com/sdavies)
- Updated Argentinian definitions (https://github.com/popox)
- Updated Australian definitions (https://github.com/ghiculescu)
- Updated Portuguese definitions (https://github.com/MiPereira)
- Added Swiss definitions (https://github.com/samzurcher, https://github.com/jg)
- Added Romanian definitions (https://github.com/mtarnovan)
- Added Belgian definitions (https://github.com/jak78)
- Added Moroccan definitions (https://github.com/jak78)
- Fixes for New Year's and Boxing Day (https://github.com/iterion, https://github.com/andyw8)
- Fixes for Father's Day, Mother's Day and Armed Forces Day (https://github.com/eheikes)
- Typos (https://github.com/gregoriokusowski, https://github.com/popox)
- Added Croatian definitions (https://github.com/lecterror)
- Added US Federal Reserve holidays (https://github.com/willbarrett)
- Added NERC holidays (https://github.com/adamstrickland)
- Updated Irish holidays (https://github.com/xlcrs)
- Added
full_week?
method (https://github.com/dceddia) - Added Portuguese definitions (https://github.com/pmor)
- Added Hungarian definitions (https://github.com/spap)
- Typos (https://github.com/DenisKnauf)
- Add Liechtenstein holiday defs (mercy vielmal Bernhard Furtmueller)
- Add Austrian holiday definitions (thanks to Vogel Siegfried)
- Add
orthodox_easter
method and Greek holiday definitions (thanks https://github.com/ddimitriadis)
- Support calculating mday from negative weeks other than -1 (thanks https://github.com/bjeanes)
- Use class method to check leap years and fixed bug in Date.calculate_mday (thanks https://github.com/dgrambow)
- Added Czech (thanks https://github.com/boblin), Brazilian (https://github.com/fabiokr), Norwegian (thanks to Peter Skeide) and Australia/Brisbane (https://github.com/bjeanes) definitions
- Cleaned up rake and gemspec
- 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.
- Included rakefile in Gem (thank you James Herdman).
- au.yaml was being included incorrectly in US holiday definitions. Thanks to Glenn Vanderburg for the fix.
- Initial release.