Skip to content

Bump date-fns from 2.30.0 to 3.0.4

Bumps date-fns from 2.30.0 to 3.0.4.

Release notes

Sourced from date-fns's releases.

v3.0.4

This release is brought to you by @​kossnocorp.

Fixed

  • Fixed isWithinInterval bug caused by incorrectly sorting dates (#3623).

v3.0.3

Fixed

  • Rolled back pointing ESM types to the same d.ts files. Instead, now it copies the content to avoid the Masquerading as CJS problem reported by "Are the types wrong?".

v3.0.2

Fixed

v3.0.1

Fixed

  • Fixed an error in certain environments caused by d.mts files exporting only types.

v3.0.0

Changed

  • BREAKING: date-fns is now a dual-package with the support of both ESM and CommonJS. The files exports are now explicitly in the package.json. The ESM files now have .mjs extension.

  • BREAKING: The package now has a flat structure, meaning functions are now named node_modules/date-fns/add.mjs, locales are node_modules/date-fns/locale/enUS.mjs, etc.

  • BREAKING: Now all file content’s exported via named exports instead of export default, which will require change direct imports i.e. const addDays = require(‘date-fns/addDays’) to const { addDays } = require(‘date-fns/addDays’).

  • BREAKING: TypeScript types are now completely rewritten, check out the d.ts files for more information.

  • BREAKING: constants now is not exported via the index, so to import one use import { daysInYear } from "date-fns/constants";. It improves compatibility with setups that modularize imports like Next.js.

  • BREAKING: Functions now don’t check the number of passed arguments, delegating this task to type checkers. The functions are now slimmer because of this.

  • BREAKING The arguments are not explicitly converted to the target types. Instead, they are passed as is, delegating this task to type checkers.

  • BREAKING: Functions that accept Interval arguments now do not throw an error if the start is before the end and handle it as a negative interval. If one of the properties in an Invalid Date, these functions also do not throw and handle them as invalid intervals.

    • areIntervalsOverlapping normalize intervals before comparison, so { start: a, end: b } is practically equivalent to { start: b, end: a }. When comparing intervals with one of the properties being Invalid Date, the function will return false unless the others are valid and equal, given the inclusive option is passed. Otherwise, and when even one of the intervals has both properties invalid, the function will always return false.

    • getOverlappingDaysInIntervals now normalizes intervals before comparison, so { start: a, end: b } is practically equivalent to { start: b, end: a }. If any of the intervals’ properties is an Invalid Date, the function will always return 0.

    • isWithinInterval now normalizes intervals before comparison, so { start: a, end: b } is practically equivalent to { start: b, end: a }. If any of the intervals’ properties is an Invalid Date, the function will always return false.

... (truncated)

Changelog

Sourced from date-fns's changelog.

v3.0.4 - 2023-12-21

This release is brought to you by @​kossnocorp.

Fixed

  • Fixed isWithinInterval bug caused by incorrectly sorting dates (#3623).

v3.0.3 - 2023-12-21

Fixed

  • Rolled back pointing ESM types to the same d.ts files. Instead now it copies the content to avoid the Masquerading as CJS problem reported by "Are the types wrong?".

v3.0.2 - 2023-12-21

Fixed

v3.0.1 - 2023-12-20

Fixed

  • Fixed an error in certain environments caused by d.mts files exporting only types.

v3.0.0 - 2023-12-18

Changed

  • BREAKING: date-fns is now a dual-package with the support of both ESM and CommonJS. The files exports are now explicitly in the package.json. The ESM files now have .mjs extension.

  • BREAKING: The package now has a flat structure, meaning functions are now named node_modules/date-fns/add.mjs, locales are node_modules/date-fns/locale/enUS.mjs, etc.

  • BREAKING: Now all file content’s exported via named exports instead of export default, which will require change direct imports i.e. const addDays = require(‘date-fns/addDays’) to const { addDays } = require(‘date-fns/addDays’).

  • BREAKING: TypeScript types are now completely rewritten, check out the d.ts files for more information.

  • BREAKING: constants now is not exported via the index, so to import one use import { daysInYear } from "date-fns/constants";. It improves compatibility with setups that modularize imports like Next.js.

  • BREAKING: Functions now don’t check the number of passed arguments, delegating this task to type checkers. The functions are now slimmer because of this.

  • BREAKING The arguments are not explicitly converted to the target types. Instead, they are passed as is, delegating this task to type checkers.

  • BREAKING: Functions that accept Interval arguments now do not throw an error if the start is before the end and handle it as a negative interval. If one of the properties in an Invalid Date, these functions also do not throw and handle them as invalid intervals.

... (truncated)

Commits
  • c15e891 Promote to v3.0.4
  • 0d1a223 Fix isWithinInterval not sorting dates correctly
  • d1773c3 Promote to v3.0.3
  • 647334b Copy d.mts files instead
  • 138e318 Revert "Fix ESM types problem by removing d.mts"
  • 70cfd9b Promote to v3.0.2
  • e86a5be Add change log entry for v3.0.2
  • fe8868e Fix ESM types problem by removing d.mts
  • 25c8237 Add package.json to exports
  • fdb7c7c Removed Flow from README with v3.0.0 (#3619)
  • Additional commits viewable in compare view

Merge request reports