Day.js is a minimalist JavaScript date-time library for parsing, validating, manipulating, and displaying dates and times in modern browsers. It is designed as a fast 2kB alternative to Moment.js, with a largely Moment.js-compatible, chainable API, and supports plugins and internationalization (I18n).
Project status
- Actively maintained: The repo shows recent activity (last upstream push on 2026-08-18), and multiple consecutive updates in August 2026 (v1.11.21 in May, then v1.11.22 and v1.11.23 in mid-August), indicating ongoing maintenance rather than dormancy.
- Update cadence (apparent): After a March to May gap, updates resumed in the second half of 2025 and then continued into 2026, with a short burst in August 2026 (v1.11.22 on 2026-08-16, v1.11.23 on 2026-08-17). Overall, this looks like periodic bug-fix releases with occasional closer succession during timezone-related work.
AI summary generated
Recent updates
v1.11.23
Day.js v1.11.23 updates the timezone plugin to avoid throwing errors when working with invalid Day.js inputs. The main change is guarding the timezone conversion logic so invalid values stay invalid and do not trigger a RangeError.
v1.11.22
Dayjs v1.11.22 contains a timezone plugin bug fix focused on correcting the computed offset used by the timezone instance .tz() when the host environment has different DST rules. The included code change replaces the offset calculation logic with a dedicated tzOffset helper, and expands automated timezone tests to cover host-DST-desynchronization scenarios.
v1.11.21
v1.11.21 contains a targeted formatting bug fix intended to preserve unsupported year tokens when using Day.js format strings. The code changes primarily adjust the regex-based token matching used by both the core formatter and the duration plugin, and add tests covering year tokens like `Y` and `YYY`.
v1.11.20
v1.11.20 primarily includes two bug fixes: adding Khmer locale meridiem support and improving the updateLocale plugin so nested objects are merged instead of fully replaced. The code changes also include documentation-only and changelog/README sponsor updates, which should not affect runtime behavior.
v1.11.19
v1.11.19 includes several locale corrections and a small developer-experience improvement. The most notable runtime change is the devHelper plugin adding console warnings when diff() is used with an invalid or missing comparison date.
v1.11.18
Release v1.11.18 contains a small CI related fix, noted in the release notes as addressing an error related to a semantic-release dependency. The code diff shows only workflow and changelog updates, not changes to the dayjs library runtime code.
v1.11.17
Dayjs v1.11.17 primarily updates the en-AU locale ordinal formatting so that the 'Do' output matches Moment. The release notes only mention this locale bug fix. The code diff also includes internal packaging and release-tooling changes that are not described in the release notes.
v1.11.16
v1.11.16 release notes claim this is a test release workflow with no code changes. However, the actual diff shows changes to the CI release workflow, dependency set, and a patched third-party semantic-release plugin that adds extensive console logging. This can change publishing behavior and potentially expose sensitive data in CI logs.
Securityv1.11.15
v1.11.15 is documented as a bug fix for misspellings in the Irish (ga) locale. The diff also shows repository-level CI and release pipeline changes, plus some test additions, but the only runtime/library source change appears to be within the ga locale strings.
v1.11.14
v1.11.14 is a small release that documents a UTC plugin bug fix related to .utcOffset(0, true) producing a result that does not clone correctly. The code diff also shows broader behavioral adjustments inside the utc plugin beyond just the documented zero-offset case.
v1.11.13
v1.11.13 is a small update focused on customParseFormat. The release notes claim support for quarter tokens (Q) and week-of-year tokens (w, ww).
v1.11.12
Day.js v1.11.12 adds the new negativeYear plugin (including UTC support) and adjusts the timezone plugin to fix parsing behavior when the computed UTC offset is zero. It also updates TypeScript typings for the min/max plugin to better express nullability for empty inputs.
Features