Skip to content
Devix Open Source

Changelog

Every release of Countdown, newest first. Breaking changes are flagged.

v1.0.0

15 Sep 2026

First release.

Added

  • Announcements at milestones rather than every second: the digits sit in an aria-hidden <time datetime> and a separate polite region speaks when the leading unit changes and at an hour, ten minutes, five, one, thirty seconds, ten and the last five. Over two minutes that is fewer than fifteen announcements instead of a hundred and twenty. announceAt sets your own.
  • Every value derived from deadline − now() rather than accumulated from ticks, so a tab that slept for an hour is right the moment it wakes.
  • serverClock(), which works out the offset between the visitor's clock and your server's once and applies it from then on.
  • Ticks scheduled to land just after the display next changes rather than every thousand milliseconds, and nothing scheduled at all while the tab is hidden.
  • onComplete fired exactly once, however the deadline is passed — including by a clock that jumped over it.
  • Formatting through Intl throughout: the locale's own digits, the Arabic dual, and correct plurals in languages with more than two of them.
  • Three shapes — a box per unit, a clock, or a sentence — with leading zero units dropped, optional labels, daysInHours, sub-second precision and overtime counting upwards past the deadline.
  • setDeadline() to move it without rebuilding anything.
  • React, Vue, Svelte, <dx-countdown> and a CDN build over one core.
  • Theming through CSS variables, classNames on every part, theme: 'auto' and a @layer devix stylesheet.
  • 3.2 kB gzip, zero dependencies.