Yasumi v2.3.0 Release Notes

Release Date: 2020-06-22 // 14 days ago
  • 📚 You have probably seen the new documentation website already, and following I am pleased to announce a new release of Yasumi is available as of today for download or using your Composer configuration. Yasumi v2.3 is a minor release which brings two new providers to the pool (Canada and Luxembourg) and several important stability and bug fixes for issues discovered since v2.2.

    🚀 Below you will find a summary of the most significant changes. For more details, please check the CHANGELOG file of this project or navigate to the v2.3 release blog post.

    Implemented Enhancements

    • ➕ Added Canada Provider #215 (lux)
    • ➕ Added Luxembourg Provider #205 (Arkounay)
    • Holiday providers for states of Austria. #182 (aprog)
    • ➕ Added All Souls Day to Lithuania #227 (norkunas)
    • Catholic Christmas Day is a new official holiday since 2017 in the Ukraine. #202
    • ➕ Additional Dates for Australia/Victoria:AFL Grand Final Friday #190 (brucealdridge)
    • Substituted holidays (holidays that fall in the weekend) for Australia. #201 (c960657)
    • ➕ Added New Years Eve to Germany #226 (Patrick-Root)
    • Day of Liberation (Tag der Befreiung) is a one-time official holiday in 2020 in Berlin (Germany).
    • 🌐 Catalan translations for holidays in Catalonia, Valencian Community, Balearic Islands and Aragon #189 (c960657)
    • ➕ Added American English spelling for Labour Day #216
    • ➕ Added French translation for Second Christmas Day #188 (Arkounay)
    • 📇 Renamed the Australian states to be full names instead of abbreviations to be in line with other Holiday Providers #214
    • Statehood Day is celebrated at a new date since 2020 in Croatia. #203 (krukru)
    • Independence Day is no longer an official holiday since 2020 in Croatia. #203 (krukru)
    • Homeland Thanksgiving Day has been renamed to "Victory and Homeland Thanksgiving Day and the Day of Croatian Defenders" since 2020 in Croatia. #203 (krukru)
    • Remembrance Day for Homeland War Victims and Remembrance Day for the Victims of Vukovar and Skabrnja is a new official holiday since 2020 in Croatia. #203 (krukru)
    • 👷 Second International Workers Day in Ukraine was an official holiday only until 2018. #202
    • Holiday names in Danish, Dutch, and Norwegian are no longer capitalized. #185 (c960657)

    Resolved Issues

    • 🛠 Fixed Ukraine holidays on weekends. These days need to be substituted. #202
    • 🛠 Fixed issue if the next working day happens to be in the next year (i.e. not in the year of the Yasumi instance) #192 (tniemann)
    • 🛠 Fix locale fallback for substitute holidays #180 (c960657)
    • 🛠 Fixed issue if the previous working day happens to be in the previous year (i.e. not in the year of the Yasumi instance)
    • 🛠 Fixed compound conditions that are always true by simplifying the condition steps.

Previous changes from v2.2.0

  • ➕ Added

    • Holiday providers for England, Wales, Scotland and Northern Ireland #166 (c960657)
    • Holiday Provider for South Korea. #156 (blood72)
    • 🌐 Translation for the Easter holiday for the 'fr_FR' locale #146 (pioc92)
    • 🌐 Translation for the Pentecost holiday for the 'fr_FR' locale #145 (pioc92)
    • Late Summer Bank Holiday in United Kingdom prior to 1965 #161 (c960657)
    • Observance holidays for Sweden #172 (c960657)
    • Created a special subclass of Holiday for substitute holidays #162 (c960657)
    • ➕ Added additional code style fixers and aligning StyleCI settings with PHP-CS.
    • Included extra requirement for some PHP Extensions in the composer file.

    🔄 Changed

    • ⚡️ Updated the translation for the All Saints holiday for the 'fr_FR' locale #152 (pioc92)
    • ⚡️ Updated the translation for the Armistice holiday for the 'fr_FR' locale #154 (pioc92)
    • ⚡️ Updated the translation for the Victory in Europe holiday for the 'fr_FR' locale #153 (pioc92)
    • ⚡️ Updated the translation for the Assumption of Mary holiday for the 'fr_FR' locale #155 (pioc92)
    • ⚡️ Updated the translation for Christmas Day for the 'nl_NL' locale #160 (pioc92)
    • 💅 Reordered arguments to Yoda style.
    • Replaced null checks by appropriate instance / type checks.
    • 🚚 Moved default method values to method body as parameters should be nullable.
    • 🔒 Applying the use of strict types. Strict typing allows for improved readability, maintainability, and less prone to bugs and security vulnerabilities.
    • 👍 PHP 7.1 is allowed to fail for Travis-CI due to the fact PHPUnit 8 requires PHP >= 7.2. PHP 7.1 support will be dropped in Yasumi once 7.1 has reached its end of life (December 2019).
    • Code using class imports rather than Fully Qualified Class names.
    • ⬆️ Upgraded to PHPUnit 8.
    • 👻 Replaced the standard 'InvalidArgumentException' when an invalid year or holiday provider is given by a new exception for each of these two situations separately ('InvalidYearException' and 'ProviderNotFoundException'). This allows you to better distinguish which exception may occur when instantiating the Yasumi class. #95 (qneyrat)
    • ♻️ Refactored the AbstractProvider::count method to use the newly added SubstituteHoliday class.
    • 👍 Fallback support added to getName() to allow e.g. fallback from 'de_AT' to 'de'. #176 (c960657)

    🛠 Fixed

    • Late Summer Bank Holiday in 1968 and 1969 in United Kingdom #161 (c960657)
    • 🛠 Fixed one-off exceptions for May Day Bank Holiday in 1995 and 2020 and Spring Bank Holiday in 2002 and 2012 (United Kingdom) #160 (c960657)
    • 🛠 Fixed revoked holidays in Portugal in 2013-2015 #163 (c960657)
    • 🛠 Fixed spelling issues in the Danish translation for Second Christmas Day. #167 (c960657)
    • Corpus Christi is official in Poland #168 (c960657)
    • Liberation Day is official in the Netherlands #169 (c960657)
    • ✏️ Typos in Easter Monday and Republic Day for the 'it_IT' locale #171 (c960657)
    • Corrected the name of the Emperors Birthday function and variable.
    • Good Friday is not official in Brazil #174 (c960657)

    ✂ Removed

    • Unused constants.