Open Bug 1495476 Opened 6 years ago Updated 2 years ago

Remove legacy new session capabilities negotiation

Categories

(Testing :: geckodriver, enhancement, P3)

enhancement

Tracking

(Not tracked)

People

(Reporter: ato, Unassigned)

References

(Blocks 2 open bugs)

Details

(Whiteboard: [webdriver:backlog])

It is our intention to drop support for legacy new session capabilities
negotiation, e.g. desiredCapabilities and requiredCapabilities,
before we make a 1.0 release of geckodriver.
Blocks: 1489130
Priority: -- → P3

After 4 years of inactivity we wonder if it is the time to actually get rid of the legacy capabilities and only process capabilities as defined by the WebDriver classic specification. But before we can remove that we would like to have some feedback from the Selenium project.

Titus, Simon and David, do you know if legacy capabilities are still used? If yes, is there a timeline for deprecation? Otherwise what specifically holds us back from removing them? Thanks in advance!

Flags: needinfo?(titus.fortner)
Flags: needinfo?(simon.m.stewart)
Flags: needinfo?(david.burns)

The Selenium project is only supporting the newer way(since 4.5) I believe so think it's fine to schedule this to get done.

Flags: needinfo?(titus.fortner)
Flags: needinfo?(simon.m.stewart)
Flags: needinfo?(david.burns)

We should still remember these folks that have an existing test suite and might not have been updated to Selenium >=4.5. Not sure when we could consider that everyone is off from former releases, or actually make use of legacy capability negotiation. As such waiting a bit with the removal might be a good idea - maybe it would already be appropriate for the 0.33.0 release?

Whiteboard: [webdriver:triage]
Severity: normal → S3
Whiteboard: [webdriver:triage] → [webdriver:backlog]

Hi Julian, what has been discussed for this particular bug during the triage meeting? I can only see that it has been put into the backlog. Thanks.

Flags: needinfo?(jdescottes)

Argh I forgot to add details and I don't remember everything.

I think we said this should be fine to do, even if not not a high priority.
One thing to note was that users who are still on Selenium < 4.5 might not rely on legacy capabilities.
There was a question about what to do if users still tried to use legacy capabilities, ignore or throw, and the preference was to throw I think?

Forwarding to James who might remember

Flags: needinfo?(jdescottes) → needinfo?(james)

I think Selenium has had the new capabilities for a long time, it's just that until recently it was possible to keep using the old ones. So I don't think that this would require people to update to new Selenium, but might require them to set an option in their older Selenium.

There are various options for migration. We could warn for a Firefox release and then remove. Or we could maybe just update geckodriver so that it always sends new-style capabilities to marionette, ship that, and then remove the old-style capabilities from the marionette side entirely (and warn in geckodriver, so we could eventually remove that code too).

Flags: needinfo?(james)
You need to log in before you can comment on or make changes to this bug.