unstale

npm / react-dropzone

react-dropzone

What changed in react-dropzone 14 to 20, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-17.

13 breaking6 new APIs and options2 behavior and defaults2 tooling14 fixes and other

react-dropzone 204 changes

Breaking changes 1

  • Node.js 20 is no longer supported; the minimum supported Node.js version is now 22.

    20.0.0release notes

New APIs and options 1

  • Exposes rejected files from drag operations so applications can access and handle drag file rejections.

    20.1.0release notes

Fixes and other changes 2

  • In-flight processing is aborted when the dropzone unmounts, preventing processing from continuing after unmount.

    20.1.3release notes

  • Empty validator error arrays are now accepted.

    20.1.2release notes

react-dropzone 197 changes

Breaking changes 1

  • acceptedFiles and onDropAccepted now return files within the limit instead of rejecting the entire batch.

    19.0.0release notes

New APIs and options 2

  • MIME types can now be grouped in the accept configuration.

    19.3.0release notes

  • Adds paste-to-upload support, allowing developers to handle uploaded files pasted into the dropzone.

    19.2.0release notes

Behavior and default changes 1

  • Validators can now be asynchronous, allowing validation logic that awaits results.

    19.1.0release notes

Fixes and other changes 3

  • Drops on the dropzone are ignored while the file dialog is open.

    19.1.1release notes

  • Dragged files are detected via items kind when the drag event types omit Files.

    19.0.2release notes

  • The file input is hidden in-flow to prevent scroll jumps for users interacting with the dropzone.

    19.0.1release notes

react-dropzone 1813 changes

Breaking changes 3

  • The validator is skipped during drag, changing when validation logic runs.

    18.3.0release notes

  • FileWithPath now requires path or relativePath, so plain File is no longer assignable; type onDrop handlers as File[].

    18.0.0release notes

  • The full extension-to-MIME table is no longer bundled; pass COMMON_MIME_TYPES from file-selector/mime to restore it.

    18.0.0release notes

New APIs and options 2

  • Adds isDragUnknown state so developers can detect when the drag state is unknown.

    18.3.0release notes

  • Adds a prop to override file rejection messages.

    18.2.0release notes

Behavior and default changes 1

  • File size errors are formatted using human-readable units, making rejection messages easier for developers and users to understand.

    18.1.0release notes

Tooling 1

  • @types/react is added as an optional peer dependency for projects needing React type definitions.

    18.0.2release notes

Fixes and other changes 6

  • Prevents the browser from opening files dropped on disabled or noDrag dropzones.

    18.2.2release notes

  • Falls back to the native input when the file picker is blocked.

    18.2.1release notes

  • The root receives aria-disabled when the dropzone is disabled, improving accessibility semantics.

    18.0.2release notes

  • Drop callback event types remain event-shaped, improving type accuracy for callback consumers.

    18.0.2release notes

  • The hidden file input is labeled, improving its accessibility.

    18.0.2release notes

  • Extensions are now enforced when paired with wildcard MIME types in the accept configuration.

    18.0.1release notes

react-dropzone 174 changes

Breaking changes 3

  • defaultProps are removed and replaced by default parameter values.

    17.0.0release notes

  • prop-types support is removed in favor of TypeScript types.

    17.0.0release notes

  • The package now requires React 18 or newer.

    17.0.0release notes

Tooling 1

  • Hand-written typings are replaced by declarations generated from the source.

    17.0.0release notes

react-dropzone 164 changes

Breaking changes 4

  • The dist/es/ output path is removed, requiring consumers of old deep-import paths to migrate.

    16.0.0release notes

  • The package now uses an exports map with ESM and CJS entry points.

    16.0.0release notes

  • Building the package now requires Node 20 or newer.

    16.0.0release notes

  • The UMD build is removed, so CDN and script-tag consumers must migrate.

    16.0.0release notes

react-dropzone 151 changes

Breaking changes 1

  • isDragReject now reflects only active drag state and clears after drop; use fileRejections or onDropRejected/onDrop for post-drop rejection UI.

    15.0.0release notes

react-dropzone 144 changes

New APIs and options 1

  • Adds state for detecting drag activity at the document level.

    14.4.0release notes

Fixes and other changes 3

  • Prevents the tarball from being included in the published package, avoiding unintended package contents for users.

    14.4.1release notes

  • The dragLeave filter logic is corrected.

    14.4.0release notes

  • Files with an empty type are now accepted during drag events.

    14.4.0release notes