Skip to content

Commit 97373d2

Browse files
authored
[docs] Selenium 5 release charter (#17717)
* [docs] add Selenium 5 release charter * [docs] reframe classic fallback as out-of-scope partial BiDi support * [docs] clarify Selenium Manager released API scope in charter
1 parent 2456cb5 commit 97373d2

1 file changed

Lines changed: 73 additions & 0 deletions

File tree

docs/plans/selenium-5.md

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
# Selenium 5 Release Charter
2+
3+
- Status: Proposed
4+
- Owner: Selenium Technical Leadership Committee (TLC)
5+
- Discussion: https://github.com/SeleniumHQ/selenium/pull/17717
6+
7+
## Purpose
8+
9+
Selenium 5 is a focused alignment release: the bindings converge on consistent behavior across
10+
languages. It follows the project's existing deprecation policy — provide a replacement, mark the
11+
old path deprecated, and remove it only after two releases — and is not an occasion for
12+
gratuitous breaking changes.
13+
14+
This document is the index of the decisions that define Selenium 5. Each needs an accepted ADR to
15+
settle its cross-binding design, then implementation in every binding — Java, JavaScript, Python,
16+
Ruby, and .NET — with behavior consistent and implementation idiomatic per language. A decision is
17+
marked _ADR pending_ until its record is accepted, at which point this charter is updated to link
18+
it. An ADR does not name a milestone; this charter records what belongs to Selenium 5.
19+
20+
## Required for release
21+
22+
### BiDi support boundary — _ADR pending_
23+
24+
How the WebDriver BiDi protocol is exposed to users across the bindings. The ADR sets where the
25+
boundary sits between supported Selenium API and internal implementation, and how each binding
26+
marks it.
27+
28+
### Network async/event API — _ADR pending_
29+
30+
The cross-binding API for adding, removing, and clearing handlers for requests, responses, and
31+
authentication.
32+
33+
### Script and logging async/event API — _ADR pending_
34+
35+
The cross-binding API for pinned scripts (pin / unpin / execute) and for console-message,
36+
JavaScript-error, and DOM-mutation handlers.
37+
38+
### Selenium Manager released API — _ADR pending_
39+
40+
Formalize the interface and behaviors required to drop the Beta label and release independently of
41+
the bindings.
42+
43+
## Out of scope
44+
45+
These are deferred, not rejected: none blocks Selenium 5.
46+
47+
### Full classic-over-BiDi migration
48+
49+
Routing every classic command through BiDi.
50+
51+
### Partial BiDi implementation support
52+
53+
What it means to support a remote end that does not implement every BiDi feature — choosing the
54+
BiDi or Classic path per session (not every command can switch mid-session), for older browsers or
55+
drivers with incomplete BiDi. Part of the classic-over-BiDi migration.
56+
57+
### DevTools deprecation
58+
59+
Deprecating or removing DevTools (CDP) support.
60+
61+
### Convenience layers on the core APIs
62+
63+
Higher-level helpers built on the network and script/event primitives — for example task-oriented
64+
network actions (`mock`, `block`, `redirect`) and one-shot event waiters (`expect_*`).
65+
66+
### Browser context API
67+
68+
A high-level API for managing browsing contexts — for example exposing them as handle objects.
69+
70+
### Capability mapping
71+
72+
High-level APIs over individual BiDi capability modules — permissions, storage, emulation, user
73+
prompts.

0 commit comments

Comments
 (0)