Skip to content

Releases: sokaluis/react-date-range

v1.2.0

Choose a tag to compare

@sokaluis sokaluis released this 07 Jul 14:40

Minor release. Adds input-trigger picker components, named range slots, and the documentation sweep required for npm latest. Public API remains additive, no breaking changes.

Added

  • DatePickerInput: compact input-trigger date picker with accessible popover, controlled/uncontrolled open state, Escape/outside-click dismissal, focus return, RTL support, and class hooks.
  • DateRangeInput: compact input-trigger range picker with accessible popover, controlled/uncontrolled open state, closeOnEndSelection, trigger formatting, single-range MVP, and TypeScript refs.
  • Range.label: optional human-readable range slot labels exposed visually and through accessible group names.
  • ClassNames.dateDisplayLabel and default .rdrDateDisplayLabel theme styles.
  • Shared internal usePopover hook used by DatePickerInput and DateRangeInput.
  • Demo coverage for DatePickerInput, DateRangeInput, labelled multi-range, a11y live regions, selectablePassive, and RTL.

Changed

  • Hardened DateRangeInput interactions around end-date selection, Escape/outside dismissal, drag completion, aria-controls linkage, and single-range development warnings.
  • Updated README, CHANGELOG, release checklist, release flow, roadmap, npm publishing, migration, and docs-site references to 1.2.x.

Verification

  • npm latest validated as 1.2.0.
  • npm README validated and includes DatePickerInput, DateRangeInput, Range.label, live regions, RTL, and selectablePassive.
  • Root type-check, demo typecheck, and diff-check passed before release prep was pushed.

See CHANGELOG.md for the full release notes.

v1.1.1

Choose a tag to compare

@sokaluis sokaluis released this 07 Jul 02:17

Documentation patch\n\nFixes the package README shown on npm so it reflects the current 1.1.x stable line instead of stale 1.0.0 status.\n\n### Changed\n- Updated README current channel and dist-tag policy for 1.1.x/latest.\n- Updated roadmap/status wording for accessibility, RTL support, and cross-month selectablePassive UX.\n- Clarified demo development resolves package imports to local source before publishing.\n\n### Verification\n- npm test -- --runInBand\n- npm run type-check\n- npm run build\n- demo: npm run typecheck\n- git diff --check\n\nNote: npm publish requires OTP and is pending maintainer code.

v1.1.0

Choose a tag to compare

@sokaluis sokaluis released this 07 Jul 02:02

Highlights

  • Adds accessible labels, roles, focus-visible styling, and live-region announcements for Calendar and DateRange flows.
  • Adds RTL support with dir="rtl", rdrRtl, mirrored navigation glyphs, horizontal month reversal, and logical range-edge styles.
  • Adds selectablePassive for opt-in cross-month passive-day selection when scroll virtualization is off.
  • Expands the Vite demo with manual QA panels for the newly fixed accessibility, RTL, and cross-month cases.

Fixed

  • Guards direct DateRange disabledDates against non-array values.
  • Aligns DefinedRangeProps.weekStartsOn with the strict weekday union.
  • Includes prior 1.0.x maintenance fixes since v1.0.1.

Verification

  • npm test -- --runInBand: PASS, 13 suites / 274 tests
  • npm run type-check: PASS
  • npm run build: PASS
  • demo/ npm run typecheck: PASS
  • git diff --check: PASS

v1.0.0

Choose a tag to compare

@sokaluis sokaluis released this 29 Jun 18:26

Stable release. 1.0.0-rc.0 was validated through consumer spikes (React 18/19, SSR CJS+ESM, tree-shaking) and demo build/typecheck.

Added

  • CHANGELOG, README, and doc metadata updated to reflect 1.0.0 stable. Install guidance now says npm install @cyberlz/react-date-range (no tag) post-publish.

Documentation

  • All "stable pending / Slice 25 pending" wording updated to stable release preparation.
  • docs/migration-from-upstream.md install instructions updated to reflect stable target.
  • docs/release-checklist.md, docs/release-flow.md, docs/fork-roadmap.md, docs/refactor-roadmap.md updated for the stable release flow.

npm publish is intentionally manual. After publishing, latest should point to 1.0.0 and plain npm install @cyberlz/react-date-range should resolve to stable.

v0.1.0-alpha.2 — Calendar Hooks Alpha

Pre-release

Choose a tag to compare

@sokaluis sokaluis released this 26 Jun 16:37

Third alpha release focused on the Calendar hooks migration and demo QA improvements.\n\n### Added\n- Calendar behavior safety net and demo verification aids.\n- Demo now resolves local source for manual QA and keeps QA logs disabled by default.\n\n### Changed\n- Calendar migrated from class internals to hooks in chained slices, preserving behavior.\n\n### Fixed\n- ReactList ESM/CJS interop for the Vite/browser path.\n\n### Verification\n- npm test -- --runInBand: 57/57 passing.\n- npm run test:ci: 28/28 passing.\n- npm run build: passing.\n- npm pack --dry-run: alpha.2 tarball generated.\n- demo typecheck: passing.\n\n### Known warnings\n- react-test-renderer deprecation noise remains in test output.\n- Sass @import deprecation warnings remain in build output.\n\nNote: npm publish is manual and has not been executed by the assistant.

v0.1.0-alpha.1 — Second Public Alpha

Pre-release

Choose a tag to compare

@sokaluis sokaluis released this 25 Jun 20:17

Second alpha release: DateInput validation and DateDisplay extraction.

Added

  • DateInput validation for minDate, maxDate, and disabledDates. Editable date inputs now respect the same constraints as the visual grid, rejecting out-of-range dates before passing them to onChange.
  • DateDisplay component extracted from Calendar.renderDateDisplay(), reducing Calendar complexity and enabling independent tests for the date-display/editing logic.

Changed

  • Calendar.renderDateDisplay() now passes minDate, maxDate, and disabledDates to DateInput so typed input constraints match grid constraints.

v0.1.0-alpha.0

v0.1.0-alpha.0 Pre-release
Pre-release

Choose a tag to compare

@sokaluis sokaluis released this 25 Jun 13:30

First public alpha release. Drop-in replacement for react-date-range@2.0.1 with React 18/19 compatibility, TypeScript types, modern build pipeline, and critical bug fixes.

Added

  • First-party TypeScript declarations covering exported components, props, utility types, and helpers.
  • ESM + CJS dual build via tsup.
  • Compiled CSS output and package.json exports for styles.
  • React 18/19 TypeScript compatibility spikes.
  • Consumer JS/TSX, SSR import, scroll StrictMode, and tree-shaking analysis fixtures.
  • CI workflow for build, tests, and spike typechecks.

Changed

  • Peer dependencies narrowed to React 18/19 and date-fns 3.x.
  • Type declarations use function declarations for React 18/19 JSX compatibility.

Fixed

  • Upstream #577/#653: scroll crash/incorrect rendering in React StrictMode.
  • Upstream PR #654: date-fns v4 guard via ^3.0.0 peer range.
  • Upstream PR #665: color fallback ReferenceError.
  • Upstream PR #508: focusedRange end-date path covered by regression test.

Known limitations

  • Tree-shaking is limited in this alpha because the current build bundles all exports into one file.
  • Sass @import deprecation warnings remain and are planned for a later phase.

npm publish is a separate step and has not been run yet.