Back to Explore

testing-library/user-event

GitHub
6 updates · last 90 days1 watchersOpen source

Last release:

user-event is a testing utility that simulates real browser user actions by firing events in the same way a user interacts with the page. It is useful for writing higher-level UI tests where actions like userEvent.click update element state similarly to actual user behavior, compared to lower-level fireEvent usage.

Project status

  • Actively maintained, with very recent upstream activity (latest upstream push 2026-09-02) and frequent user-event updates in September 2026 (v14.6.7 on 2026-09-02, followed by earlier August 2026 patch updates).
  • Apparent cadence is roughly weekly to every 1-2 weeks during August to early September 2026 (v14.6.4 on 2026-08-11, v14.6.5 on 2026-08-18, v14.6.6 on 2026-08-22, v14.6.7 on 2026-09-02).

AI summary generated

AI-generated from public sources. May be inaccurate. Report

Recent updates

  • v14.6.7

    v14.6.7 focuses on improving DOM event simulation correctness. The release notes mention DataTransfer format alias normalization and adding iframe support for user.keyboard typing.

    Features
  • v14.6.6

    v14.6.6 includes a targeted bug fix around how pointer event objects are initialized. Specifically, it changes the default value of the `pointerType` property when none is provided.

  • v14.6.5

    Release v14.6.5 contains a targeted bug fix for Tab key behavior in user-event when focus changes during the keydown event. The implementation now determines the tab destination based on the currently active element (or body fallback) rather than the original event target.

  • v14.6.4

    v14.6.4 fixes how repeated keyboard events report the DOM KeyboardEvent.repeat property. The implementation updates the keyboard dispatch logic so that subsequent repeated keydown events carry repeat=true after the initial keydown.

  • v14.6.3

    v14.6.3 release notes only mention a patch-level maintenance action related to manually releasing the version. The actual code diff does not change the user-event runtime API, but it does significantly modify the repository's CI and release/publishing workflow, plus updates to README and release documentation.

  • v14.6.2

    Release v14.6.2 has effectively empty release notes, with no documented behavior or API changes. The code diff, however, contains several runtime-impacting logic adjustments (input maxLength handling, pointer event pressure defaults, focus behavior, and focus property patching), plus various dev tooling and CI configuration updates.

  • v14.6.1

    user-event v14.6.1 is a bug-fix release focused on keyboard navigation defaults, pointer event fidelity, and upload file acceptance behavior. No breaking API changes are noted in the release notes, but several fixes may alter how events are synthesized and dispatched in edge cases.

  • v14.6

    The publisher provided release notes as empty, so there is no documented information about changes included in v14.6. As a result, developers should review the actual code changes (commit diffs and release tags) before upgrading to identify any undocumented breaking changes or behavior modifications.

  • v14

    This release is labeled v14, but no release notes were provided by the publisher. As a result, no specific details are available about new functionality, bug fixes, security updates, or breaking changes.

  • v14.6.0

    v14.6.0 focuses on improving event simulation fidelity. It adds support for dispatching FocusEvent-related events when the document is hidden, and includes fixes around clipboard data transfer and more accurate pointer coordinate handling.

    Features
  • v14.5.2

    v14.5.2 primarily removes interop glue code and deep imports from @testing-library/dom, switching to direct imports (getConfig) instead. Alongside that, the event infrastructure was refactored, including changes to how event types and default event initialization are derived.

  • v14.5.1

    v14.5.1 is a small patch release with a bug fix related to how @testing-library/dom is imported. Specifically, it adjusts the interop layer to avoid relying on a default export and instead uses named/namespace imports consistently.

  • v14.5.0

    v14.5.0 primarily improves the public export surface by adding a named export for `userEvent` and expanding exported TypeScript types. The release notes only mention export and typing changes, but the code diff also includes internal refactors around how `@testing-library/dom` utilities are imported and how the base event map is wired.

    Features
  • v14.4.3

    v14.4.3 release notes only mention two fixes: adding a `types` field to package `exports`, and removing circular dependencies. The actual diff is much broader, showing a refactor of the internal instance/config wiring and a large reorganization of the document UI tracking and event dispatch modules.

  • v14.4.2

    Release v14.4.2 contains a small set of changes with no obvious runtime behavior updates shown in the provided diff. The release notes mention a build-related change to add an `exports` field, but the visible code changes instead focus on contributor metadata and a devDependency version bump.

  • v14.4.1

    Release v14.4.1 is described as a build-related bug fix, specifically transpiling to ES2019 syntax. The code diff shows build tooling changes plus documentation-only updates to contributor lists.

  • v14.4.0

    v14.4.0 adds pointer support for dispatching auxclick events and includes multiple robustness fixes across pointer, keyboard, and upload behaviors. The release notes focus on event behavior correctness (modifier handling for keyboard, pointer event details, and robustness for incomplete DOM APIs). The code diff also shows a much larger internal refactor around event construction and a new system abstraction for keyboard and pointer.

    Features
  • v14.3.0

    v14.3.0 adds keyboard navigation for radio groups so arrow-key interactions move focus and activate different radios within the same group. The implementation introduces a new internal utility and modifies the keydown behavior for arrow keys on radio inputs.

    Features