Skip to content

Commit de97f5f

Browse files
committed
[docs] add Selenium 5 release charter
1 parent 36d7d31 commit de97f5f

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 <!-- Proposed | Accepted | Released | Superseded -->
4+
- Owner: Selenium Technical Leadership Committee (TLC)
5+
- Discussion: <!-- link to this charter's PR -->
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+
### Classic fallback for BiDi-backed commands — _ADR pending_
29+
30+
A defined, cross-binding mechanism for running a supported command over BiDi and falling back to
31+
Classic when BiDi or the browser does not support it. The mechanism is required; migrating every
32+
command is not.
33+
34+
### Network async/event API — _ADR pending_
35+
36+
The cross-binding API for adding, removing, and clearing handlers for requests, responses, and
37+
authentication.
38+
39+
### Script and logging async/event API — _ADR pending_
40+
41+
The cross-binding API for pinned scripts (pin / unpin / execute) and for console-message,
42+
JavaScript-error, and DOM-mutation handlers.
43+
44+
### Selenium Manager finalized API — _ADR pending_
45+
46+
A finalized, documented API the bindings invoke, versioned independently of the client.
47+
48+
## Out of scope
49+
50+
These are deferred, not rejected: none blocks Selenium 5.
51+
52+
### Full classic-over-BiDi migration
53+
54+
Routing every classic command through BiDi. Selenium 5 requires the fallback mechanism, not
55+
coverage of every command.
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)