Releases: sokaluis/react-date-range
Release list
v1.2.0
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
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
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
selectablePassivefor 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 disabledDatesagainst non-array values. - Aligns
DefinedRangeProps.weekStartsOnwith the strict weekday union. - Includes prior 1.0.x maintenance fixes since
v1.0.1.
Verification
npm test -- --runInBand: PASS, 13 suites / 274 testsnpm run type-check: PASSnpm run build: PASSdemo/ npm run typecheck: PASSgit diff --check: PASS
v1.0.0
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.0stable. Install guidance now saysnpm 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.mdinstall instructions updated to reflect stable target.docs/release-checklist.md,docs/release-flow.md,docs/fork-roadmap.md,docs/refactor-roadmap.mdupdated for the stable release flow.
npm publish is intentionally manual. After publishing,
latestshould point to1.0.0and plainnpm install @cyberlz/react-date-rangeshould resolve to stable.
v0.1.0-alpha.2 — Calendar Hooks Alpha
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
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
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.jsonexports 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.0peer 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
@importdeprecation warnings remain and are planned for a later phase.
npm publish is a separate step and has not been run yet.