Skip to content

Conversation

@mpdude
Copy link

@mpdude mpdude commented Dec 17, 2025

We might need to change some classes in the near future (#37).

I think these classes were never really meant to be extension points, so let's soft-declare them as final now.

Even more, the listeners are internal and should not be used at all. Regarding the MinkExtension, other packages might want to use it to register their own drivers.

mpdude added a commit to mpdude/MinkExtension that referenced this pull request Dec 17, 2025
The classes changed in this commit inherit from Symfony interfaces. Changes in Symfony 8 will make it necessary to change interfaces in these classes in the near future.

By soft-finalizing these classes and making them final in the next major we gain legroom to make these changes without making it an API change visible to downstream users.

This is a squash-merge of FriendsOfBehat#41.

Squashed commit of the following:

commit f0a70e8
Author: Matthias Pigulla <mp@webfactory.de>
Date:   Wed Dec 17 11:29:57 2025 +0100

    Add a changelog entry

commit c58865c
Author: Matthias Pigulla <mp@webfactory.de>
Date:   Wed Dec 17 10:17:14 2025 +0100

    Soft-finalize classes that might need to be changed in the future
CHANGELOG.md Outdated
Comment on lines 5 to 6
* The classes `FailureShowListener`, `SessionsListener` and `MinkExtension` have been marked as `@final`, and they will become
`final` classes in the next major release (https://github.com/FriendsOfBehat/MinkExtension/pull/41).
Copy link

Choose a reason for hiding this comment

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

Release description is generated automatically from commits (as @stof told in another PR). Could you please move this in there?

Copy link
Author

Choose a reason for hiding this comment

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

This was intended to be an "attention, you need to do the following" hint. I'll move it to an UPGRADING file instead, agree? Changelog was the wrong filename. Makes sense?

@stof
Copy link
Member

stof commented Dec 18, 2025

for listeners, I would also mark them as @internal since 2.8.0. Those listener classes are not meant to be used directly. they are registered by MinkExtension based on the configuration enabling some features.

@mpdude
Copy link
Author

mpdude commented Dec 18, 2025

Listeners updated + UPGRADING amended.

@stof
Copy link
Member

stof commented Dec 18, 2025

Workflow runs seems to be queued indefinitely once approved because there is no èubuntu-20.04runners anymore in the github hosted runners. I updated the workflow to useubuntu-latest` now in the master branch. Rebasing your PRs should allow to actually run workflows (after another approval...).

@mpdude
Copy link
Author

mpdude commented Dec 18, 2025

@stof Rebased.

In case you'd merge this, could you please squash-merge? I have updated the initial comment to be a more accurate description.

@stof stof merged commit 37e6a53 into FriendsOfBehat:master Dec 19, 2025
14 of 16 checks passed
@mpdude mpdude deleted the soft-final branch December 19, 2025 19:30
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.

3 participants