Skip to content

onnxruntime-web JSEP deprecation announcement for developers - #31683

Merged
Edward Chen (edgchen1) merged 3 commits into
mainfrom
edgchen1/jsep_deprecation_dev_announcement
Aug 6, 2026
Merged

onnxruntime-web JSEP deprecation announcement for developers#31683
Edward Chen (edgchen1) merged 3 commits into
mainfrom
edgchen1/jsep_deprecation_dev_announcement

Conversation

@edgchen1

Copy link
Copy Markdown
Contributor

Description

Announce JSEP deprecation to developers via docs in the repo. The main doc is docs/JSEP_Deprecation.md.

Also update the JSEP to WebGPU EP migration design doc to include this initial step as well as some other clarifications.

Motivation and Context

JSEP deprecation.

Edward Chen (edgchen1) and others added 3 commits August 5, 2026 11:28
Adds docs/JSEP_Deprecation.md as the authoritative developer-facing statement that the JS execution provider (JSEP) is deprecated in favor of the native WebGPU EP, and that JSEP is in maintenance mode: bug fixes and security fixes only. It also documents how to tell the two implementations apart, since both register under the 'webgpu' backend key and the choice between them is made at build time.

Adds short README pointers in onnxruntime/core/providers/js/ and js/web/lib/wasm/jsep/ so contributors landing in either half of JSEP are redirected. The jsep README notes that WebNN is not deprecated and will be relocated rather than removed.

No removal timeline is committed yet; it will be set once real-world JSEP usage is understood, and announced before anything is removed.

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Folds in the gaps found while auditing the plan against the code: build configuration parity as an explicit open question that gates the flip, int64 handling, and the full removal scope including the ~130 native C++/CMake files under onnxruntime/core/providers/js/ and onnxruntime/contrib_ops/js/.

Restructures the pre-flip work as Phase 0, which starts by publishing the deprecation notice so JSEP contributions can be redirected immediately, then closes the parity and CI gaps: proxy worker, IO binding, WebNN, global env.webgpu settings, and profiling.

Phase timing is no longer tied to specific releases. Only Phase 0 is scheduled. Phase 1 begins when its release gate is met, and Phase 2 once a review of reported parity gaps and JSEP usage concludes the temporary /jsep escape hatch can be withdrawn.

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…n doc

Two gaps in the env.webgpu.* wiring item (8.4). Power preference: JSEP passes undefined to requestAdapter() when unset and lets the browser choose, while the native WebGpuContextConfig default is WGPUPowerPreference_HighPerformance, so forwarding only explicitly-set values would move users who never expressed a preference onto a discrete GPU. The wiring needs a behavior-preserving default.

Custom devices: env.webgpu.device is named as the replacement for the deprecated adapter and forceFallbackAdapter settings, but it is output-only -- both paths write it after init and neither reads it. Custom devices go through the per-session device option, which session-options.ts already registers via webgpuRegisterDevice. The env.ts doc comment needs fixing too.

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds a contributor-facing deprecation announcement for JSEP (the JS/TS WebGPU execution path used by onnxruntime-web) and updates the existing migration design doc to incorporate that announcement as Phase 0 plus additional clarifications around scope, gating, and removal prerequisites.

Changes:

  • Add a new authoritative deprecation policy document at docs/JSEP_Deprecation.md.
  • Add in-tree README pointers in the native (C++) and TypeScript halves of JSEP to redirect future work to the native WebGPU EP.
  • Expand and re-phase the JSEP→native WebGPU EP migration design doc (Phase 0/1/2), including build-parity considerations and clarified gating/prereqs.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.

File Description
onnxruntime/core/providers/js/README.md Adds an in-directory deprecation notice for the native JS EP side and points contributors to the replacement WebGPU EP and the main deprecation doc.
js/web/lib/wasm/jsep/README.md Adds a deprecation notice for the TS/WebGPU JSEP implementation and clarifies WebNN is not being deprecated.
docs/JSEP_Deprecation.md Introduces the main deprecation announcement, contribution policy, and a quick “how to tell which WebGPU path you’re on” guide.
docs/design/onnxruntime_web_jsep_to_webgpu_ep_migration.md Updates the migration design to include Phase 0 announcement + additional clarifications on scope, gating, CI coverage, and removal prerequisites.

@edgchen1
Edward Chen (edgchen1) merged commit 407638a into main Aug 6, 2026
87 checks passed
@edgchen1
Edward Chen (edgchen1) deleted the edgchen1/jsep_deprecation_dev_announcement branch August 6, 2026 16:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants