# [3.0.0](https://github.com/gastromatic/calendar-date/compare/v2.14.0...v3.0.0) (2026-10-21)


### Bug Fixes

* bound the time zone formatter cache ([7549d2e](https://github.com/gastromatic/calendar-date/commit/7549d2ed3d700994b983c8113223d48b60a30234))
* format toFormat Intl dates in UTC ([bbd906f](https://github.com/gastromatic/calendar-date/commit/bbd906f3e41086e8d0bd66ca6ea51a4be8778b44))
* ignore date ranges that cover no days in hasOverlap ([3b38ec2](https://github.com/gastromatic/calendar-date/commit/3b38ec2a81561fe709c43535b4de98fcdf5a6fb1))
* iterate date ranges at MIN_VALUE and MAX_VALUE ([62d4e98](https://github.com/gastromatic/calendar-date/commit/62d4e98316a0555dbca87a8fabd0de6e172cd665))
* only accept integer dates and amounts ([5cb63a2](https://github.com/gastromatic/calendar-date/commit/5cb63a291b94fd70fc45492a8adc55c1786cc2e0))
* sort date ranges with the same start by end in hasGaps and hasOverlap ([068699f](https://github.com/gastromatic/calendar-date/commit/068699fd00f4fd2f6442a4cd9bec3c3fe5ce6fc6))


### Code Refactoring

* remove the deprecated toDate method ([a62530c](https://github.com/gastromatic/calendar-date/commit/a62530ce5e02282b2c48607b847daf661c59fda3))


### Features

* clamp addMonths and addYears to the end of the month by default ([74e24de](https://github.com/gastromatic/calendar-date/commit/74e24debdf2efbb9662c10e838b08ff2b44fa43c))
* make CalendarDateRange iterable ([e291d4b](https://github.com/gastromatic/calendar-date/commit/e291d4bab3d06b57bdcaf73c6617d69972c0ce49))
* support quoted literal text in toFormat patterns ([55c78c1](https://github.com/gastromatic/calendar-date/commit/55c78c139312445b655d63dc3195f25f58e58dcf))
* take options objects instead of boolean parameters ([5589dd3](https://github.com/gastromatic/calendar-date/commit/5589dd352d39388414b074fc8ad070b2ada83bb5))
* type weekday as DayOfTheWeek ([578b33f](https://github.com/gastromatic/calendar-date/commit/578b33fd05c25f5afd0ee11953c22f4268a096a9))


### Performance Improvements

* add a same-month shortcut to addDays ([1381510](https://github.com/gastromatic/calendar-date/commit/1381510e7817cc5706011f08dd8357495bfdf95e))
* cache the Intl formatters of toFormat ([d45856b](https://github.com/gastromatic/calendar-date/commit/d45856b1f3c9b68f031ca6fc02d89bccd501851b))
* compare CalendarDate values directly in ranges, min and max ([563f202](https://github.com/gastromatic/calendar-date/commit/563f202c21ab156f37dbad1198780152d5b10ba6))
* compute dates arithmetically instead of parsing strings ([1f22b6d](https://github.com/gastromatic/calendar-date/commit/1f22b6d634c99e5e43b7ac1115c089b0ad2f92e9))
* compute ISO week and week-numbering year arithmetically ([a7fd13f](https://github.com/gastromatic/calendar-date/commit/a7fd13ff259bde0006ee990538c389db1932a9aa))
* parse ISO strings by character code ([04994b4](https://github.com/gastromatic/calendar-date/commit/04994b46b0a22ddf6375eece154aa46dd7d1a353))
* replace toFormat tokens in a single pass ([3c6187d](https://github.com/gastromatic/calendar-date/commit/3c6187d45209c16b153808810729b71e9ea78d46))
* stop freezing instances ([140af95](https://github.com/gastromatic/calendar-date/commit/140af959e49d5841df4bdcff5602d652a0357bfd))


### BREAKING CHANGES

* addMonths and addYears take { overflow: true } instead of
enforceEndOfMonth = false, getDifferenceInDays takes { absolute: true }
instead of true, and the CalendarDateRange constructor takes
{ autoArrange: true } instead of true. TypeScript rejects the old boolean
arguments; plain JavaScript ignores them.
* addMonths and addYears default enforceEndOfMonth to
true, so 2020-01-31 plus one month is 2020-02-29 instead of 2020-03-02.
Pass false as the second parameter to keep the old behaviour.
* toFormat(pattern) treats single quotes as quoted literal
text and throws if quoted text has no closing quote. Escape a literal
single quote as ''.
* weekday is typed as DayOfTheWeek instead of number, so
TypeScript rejects comparisons with numbers outside of 1 to 7.
* CalendarDate and CalendarDateRange instances are no
longer frozen, so assigning to a property no longer throws at runtime.
* the deprecated toDate method was removed, use toDateUTC
instead.
* non-integer constructor inputs and non-integer amounts
passed to addDays, addWeeks, addMonths and addYears now throw an Error.

# [2.14.0](https://github.com/gastromatic/calendar-date/compare/v2.13.0...v2.14.0) (2026-07-22)


### Features

* add addYears, addWeeks and first/last day of year and quarter helpers ([#444](https://github.com/gastromatic/calendar-date/issues/444)) ([36d35c5](https://github.com/gastromatic/calendar-date/commit/36d35c5ad54a0ff73dbbdea47c8b50f6fb302b21))

# [2.13.0](https://github.com/gastromatic/calendar-date/compare/v2.12.0...v2.13.0) (2026-07-22)


### Features

* add MIN_VALUE and MAX_VALUE constants to CalendarDate ([#447](https://github.com/gastromatic/calendar-date/issues/447)) ([16c95a3](https://github.com/gastromatic/calendar-date/commit/16c95a34c0991eca445049226b89ff4f09fe1bfa))

# [2.12.0](https://github.com/gastromatic/calendar-date/compare/v2.11.1...v2.12.0) (2026-07-22)


### Features

* add weekYear getter for the ISO 8601 week-numbering year ([#443](https://github.com/gastromatic/calendar-date/issues/443)) ([83c4995](https://github.com/gastromatic/calendar-date/commit/83c4995e6cab1205c71862eee21fd81bcd363012))

## [2.11.1](https://github.com/gastromatic/calendar-date/compare/v2.11.0...v2.11.1) (2026-07-22)


### Bug Fixes

* year handling below 100, input array mutation and npm package contents ([#442](https://github.com/gastromatic/calendar-date/issues/442)) ([1a58e13](https://github.com/gastromatic/calendar-date/commit/1a58e13a717100d6d9c1ec0e5e618d9beed7f149))

# [2.11.0](https://github.com/gastromatic/calendar-date/compare/v2.10.0...v2.11.0) (2025-08-14)


### Features

* iterate and toArray function for CalendarDataRange ([9233833](https://github.com/gastromatic/calendar-date/commit/92338339477cd04010e73c7226969adb9f0c34b8))

# [2.10.0](https://github.com/gastromatic/calendar-date/compare/v2.9.2...v2.10.0) (2025-06-16)


### Features

* add isSameMonth and isSameYear methods to CalendarDate ([62cb7b2](https://github.com/gastromatic/calendar-date/commit/62cb7b29cf3a699b32c9e227b884b94db42ad22a))

## [2.9.2](https://github.com/gastromatic/calendar-date/compare/v2.9.1...v2.9.2) (2025-05-12)


### Bug Fixes

* fix error message for invalid calendar-date range ([#371](https://github.com/gastromatic/calendar-date/issues/371)) ([7b9b17e](https://github.com/gastromatic/calendar-date/commit/7b9b17edfa8063ea7ba0fd264de6c6f00e1c9918))

## [2.9.1](https://github.com/gastromatic/calendar-date/compare/v2.9.0...v2.9.1) (2025-04-15)


### Bug Fixes

* reenable constructor validation for passed strings ([#369](https://github.com/gastromatic/calendar-date/issues/369)) ([331ba4a](https://github.com/gastromatic/calendar-date/commit/331ba4a82ba397a39c6bb40a731dba0392e8e7e3))

# [2.9.0](https://github.com/gastromatic/calendar-date/compare/v2.8.0...v2.9.0) (2025-03-10)


### Features

* add new hasOverlap and hasGap CalendarDateRanges functions ([58a4c97](https://github.com/gastromatic/calendar-date/commit/58a4c974f11b9f5a04d09a2af628ca1337014994))

# [2.8.0](https://github.com/gastromatic/calendar-date/compare/v2.7.2...v2.8.0) (2025-01-28)


### Features

* add getTotalDays function to calendar date range ([d40aaf9](https://github.com/gastromatic/calendar-date/commit/d40aaf9fc04b322372c61ef429a6541fb7851372))

## [2.7.2](https://github.com/gastromatic/calendar-date/compare/v2.7.1...v2.7.2) (2024-10-23)


### Bug Fixes

* allow date below year 1000 for fromDateWithTimeZone ([67ce710](https://github.com/gastromatic/calendar-date/commit/67ce7108ab31fff70795f06f77d8670cbae0675e))

## [2.7.1](https://github.com/gastromatic/calendar-date/compare/v2.7.0...v2.7.1) (2024-10-23)


### Bug Fixes

* add caching for intl formatter ([fe98ecf](https://github.com/gastromatic/calendar-date/commit/fe98ecff04cd825eca028673f6197a093ba1703d))

# [2.7.0](https://github.com/gastromatic/calendar-date/compare/v2.6.2...v2.7.0) (2024-09-18)


### Features

* add quarter in calendar date ([#328](https://github.com/gastromatic/calendar-date/issues/328)) ([79c18e4](https://github.com/gastromatic/calendar-date/commit/79c18e431142e0f21c91e251288eb6bb8feed4e0))

## [2.6.2](https://github.com/gastromatic/calendar-date/compare/v2.6.1...v2.6.2) (2024-07-15)


### Bug Fixes

* add removed toDate method again and mark as deprecated ([#314](https://github.com/gastromatic/calendar-date/issues/314)) ([cf487e7](https://github.com/gastromatic/calendar-date/commit/cf487e777c0495f3c1ef7c3c088ce2610e30e436))

## [2.6.1](https://github.com/gastromatic/calendar-date/compare/v2.6.0...v2.6.1) (2024-07-12)


### Bug Fixes

* add better constructor validation and error logging ([#312](https://github.com/gastromatic/calendar-date/issues/312)) ([05f95b0](https://github.com/gastromatic/calendar-date/commit/05f95b0d4021ec191b2dad9dba7c7180143cb3dc))

# [2.6.0](https://github.com/gastromatic/calendar-date/compare/v2.5.0...v2.6.0) (2024-06-07)


### Features

* add toDateLocal and rename toDate to toDateUTC ([#303](https://github.com/gastromatic/calendar-date/issues/303)) ([4fcc5f1](https://github.com/gastromatic/calendar-date/commit/4fcc5f1b99da6b1d579ea94b9778e9ea19bfffb7))

# [2.5.0](https://github.com/gastromatic/calendar-date/compare/v2.4.1...v2.5.0) (2024-03-08)


### Features

* add isEqualsOrBefore and isEqualsOrAfter methods ([#286](https://github.com/gastromatic/calendar-date/issues/286)) ([8b6f286](https://github.com/gastromatic/calendar-date/commit/8b6f286b4ebda4ec8480e9a57810733a28866786))

## [2.4.1](https://github.com/gastromatic/calendar-date/compare/v2.4.0...v2.4.1) (2024-02-16)


### Bug Fixes

* calculate week of the year during runtime ([22b1f8f](https://github.com/gastromatic/calendar-date/commit/22b1f8fe55c0b4ff29ce9a42944612f312a78cbf))

# [2.4.0](https://github.com/gastromatic/calendar-date/compare/v2.3.0...v2.4.0) (2024-02-09)


### Features

* add iso week number according ISO-8601 ([acb4d09](https://github.com/gastromatic/calendar-date/commit/acb4d096d5bc5e1352568778f2ee9cc08f16d3d1))

# [2.3.0](https://github.com/gastromatic/calendar-date/compare/v2.2.1...v2.3.0) (2024-02-08)


### Bug Fixes

* update to format function to work correctly in different timezones ([15ffa0e](https://github.com/gastromatic/calendar-date/commit/15ffa0ee3c4e23a3a277199c65226ca91ccc6162))


### Features

* add additional formatting variant with Intl api ([d4c7823](https://github.com/gastromatic/calendar-date/commit/d4c7823ed326671271441448f568e96afe3eab25))

## [2.2.1](https://github.com/gastromatic/calendar-date/compare/v2.2.0...v2.2.1) (2023-10-18)


### Bug Fixes

* add well known symbol method ([#247](https://github.com/gastromatic/calendar-date/issues/247)) ([e84177b](https://github.com/gastromatic/calendar-date/commit/e84177bf115ededa48fe54f48de8c8e01a226e86))

# [2.2.0](https://github.com/gastromatic/calendar-date/compare/v2.1.0...v2.2.0) (2023-06-29)


### Features

* add isBefore and isAfter functions ([2760e66](https://github.com/gastromatic/calendar-date/commit/2760e6663001604689452d568f1282a452ff8772))

# [2.1.0](https://github.com/gastromatic/calendar-date/compare/v2.0.1...v2.1.0) (2023-05-30)


### Features

* add static sort functions ([b11bbbb](https://github.com/gastromatic/calendar-date/commit/b11bbbb96b155bb60ae19950ed104d8ac0c6096b))

## [2.0.1](https://github.com/gastromatic/calendar-date/compare/v2.0.0...v2.0.1) (2023-04-18)


### Bug Fixes

* use UTC Day to get the correct weekday in the constructor ([c2d9365](https://github.com/gastromatic/calendar-date/commit/c2d93653f2c80cd851906bd988bc3c728ecb5e9b))

# [2.0.0](https://github.com/gastromatic/calendar-date/compare/v1.8.0...v2.0.0) (2022-12-14)


### Features

* add day of the week and some weekday helper functions ([b33bff3](https://github.com/gastromatic/calendar-date/commit/b33bff3eb643bb0af3a1e35947d5b02425a198a9))
* change month range from 0-11 to 1-12 ([9e18851](https://github.com/gastromatic/calendar-date/commit/9e18851e8a06a48b6adc7a274ba4eab16714bbdf))


### BREAKING CHANGES

* change month range from 0-11 to 1-12

# [1.8.0](https://github.com/gastromatic/calendar-date/compare/v1.7.0...v1.8.0) (2022-10-13)


### Features

* add static constructors with the option to pass the time zone ([ddeceb5](https://github.com/gastromatic/calendar-date/commit/ddeceb5871531c158852f6200989ab283391917f))

# [1.7.0](https://github.com/gastromatic/calendar-date/compare/v1.6.0...v1.7.0) (2022-09-14)


### Features

* add static methods to construct CalendarDate from a Date object ([9d2edc4](https://github.com/gastromatic/calendar-date/commit/9d2edc4bf1a7effc457d9acf2331701819dbb1ad))

# [1.6.0](https://github.com/gastromatic/calendar-date/compare/v1.5.0...v1.6.0) (2022-06-03)


### Features

* add difference in months method for CalendarDateRange ([e6465c8](https://github.com/gastromatic/calendar-date/commit/e6465c831d3a00914ea8c7c4a95f75a9fc70f994))

# [1.5.0](https://github.com/gastromatic/calendar-date/compare/v1.4.0...v1.5.0) (2021-09-29)


### Features

* add static constructor for nowLocal and nowUTC ([f14f93c](https://github.com/gastromatic/calendar-date/commit/f14f93c68ebf3e09a283a7385d328e4412669968))

# [1.4.0](https://github.com/gastromatic/calendar-date/compare/v1.3.0...v1.4.0) (2021-05-17)


### Features

* add toFormat function 17b9b37

# [1.3.0](https://github.com/gastromatic/calendar-date/compare/v1.2.0...v1.3.0) (2021-04-08)


### Features

* add methods to check for last and first of month 0711de4

# [1.2.0](https://github.com/gastromatic/calendar-date/compare/v1.1.2...v1.2.0) (2021-04-07)


### Features

* add static functions to determine the min or max calendarDate 30168b8

## [1.1.2](https://github.com/gastromatic/calendar-date/compare/v1.1.1...v1.1.2) (2021-03-22)


### Bug Fixes

* addMonths not returning correct year for overflow into december 564e2dd

## [1.1.1](https://github.com/gastromatic/calendar-date/compare/v1.1.0...v1.1.1) (2021-03-18)


### Bug Fixes

* add test case for wrong constructor properties 56636b2

# [1.1.0](https://github.com/gastromatic/calendar-date/compare/v1.0.0...v1.1.0) (2021-03-18)


### Features

* remove unix timestamp constructor option c410cee

# 1.0.0 (2021-03-16)


### Features

* add CalendarDate 641c7a8
* add CalendarDateRange 233c31b
