romcal changed a lot since 1.2.4, therefore we list here only the main changes and small changes were combined. For more thorough list of changes, check the release notes for 1.3.0-beta.1, 1.3.0-beta.2, 1.3.0-beta.3, 1.3.0-rc.1 and 1.3.0-rc.2.
General changes
- Revamp the code to use ES6 syntax.
- Drop support for Node v4, v5.
- Integrated module with
std/esm
to read.mjs
files andbabel
to ensure compatibility and seamless usage with lower version of node and requiring via CommonJS. - Expose constants and calendar helper functions and via module exports.
- Refactor rank types of celebrations (issue #109).
New features
- Introduce the new
drop
property that allows national calendars to omit unwanted celebrations from their output (issue #14). - Introduce new
christmastideIncludesTheSeasonOfEpiphany
flag to allow output to include or exclude the "season" of Epiphany from being merged into Christmastide.
Calendar and celebrations
- Added national calendars for Czech Republic, Italy and Slovakia.
- Drop Shrove Monday and Tuesday from the General Roman Calendar (issue #90).
- Epiphany is always celebrated on Jan 6 in Slovakia (issue #29).
- Apply changes in the General Roman Calendar made by the Holy See.
Localization
- Add Italian and Slovak locale files.
- Some localization keys where renamed in order to confirm with official English names of the celebrations.
Build process
- Update and simplify the build process.
- Add automated build process to transpile the code after installing and before publishing.
- Distribution files are now not included anymore in the codebase.
- In addition to the
romcal.bundle.min.js
file (for browsers), source code is also transpiled by Babel and Webpack in thedist/
directory. This feature makes it possible to use romcal directly in the browser, so not only in a node.js package or environment (babel and webpack allow to have the same codebase for backend/node.js and frontend/browser). - Added more test cases for better test coverage.
Other changes and fixes
- Fix issue where calendar options always end up using their defaults even though an option has been specified
- Various other bug, duplicate and typo fixes, and other improvements.