10000 added a note about experimental features by fabpot · Pull Request #7419 · symfony/symfony-docs · GitHub
[go: up one dir, main page]

Skip to content

added a note about experimental features #7419

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Feb 17, 2017

Conversation

fabpot
Copy link
Member
@fabpot fabpot commented Jan 26, 2017

I think master makes sense here as no experimental features can be added anymore in earlier versions.

@fabpot
Copy link
Member Author
fabpot commented Jan 26, 2017

http://symfony.com/blog/experimental-features for more information about this change.

@@ -150,6 +150,10 @@ of Symfony to the next one.
Whenever keeping backward compatibility is not possible, the feature, the
enhancement or the bug fix will be scheduled for the next major version.

However, features marked with the ``@experimental`` tag are **not** part of the
backward compatibility promise and their APIs can change from one minor version
Copy link
Contributor

Choose a reason for hiding this comment

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

"backwards" misses its 's'

Copy link

Choose a reason for hiding this comment

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

Misses on purpose - there's nothing like "backwards compatibility".

Copy link
Contributor

Choose a reason for hiding this comment

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

@Wirone : if that's true the occurences of "backwards compatibility" in this PR should be removed.

Copy link
Member Author

Choose a reason for hiding this comment

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

see #7462 to fix existing occurrences.

Code marked with the ``@experimental`` or the ``@internal`` tags are
excluded from our Backwards Compatibility promise.

Also note that backward compatibility breaks are tolerated if they help fix
Copy link
Contributor
@greg0ire greg0ire Jan 26, 2017

Choose a reason for hiding this comment

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

The "s" misses here too (I think it is actually correct, but it seems to be written with an "s" in the bc promise doc)

Copy link
Contributor

Choose a reason for hiding this comment

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

Your reference seems to state backward without the trailing s is the most appropriate as an adjective:

If you’re using British English, it’s typically backwards as an adverb and backward as an adjective, so you have two things to remember.

So maybe the BC promise doc should be updated instead 😄

Copy link
Contributor
@greg0ire greg0ire Jan 26, 2017

Choose a reason for hiding this comment

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

So maybe the BC promise doc should be updated instead 😄

So should the first sentence of this PR then :P … maybe pick one and stick with it?

@@ -32,6 +32,14 @@ The second section, "Working on Symfony Code", is targeted at Symfony
contributors. This section lists detailed rules that every contributor needs to
follow to ensure smooth upgrades for our users.

.. warning::

Code marked with the ``@experimental`` or the ``@internal`` tags are
Copy link
Contributor

Choose a reason for hiding this comment

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

- are
+ is

?

Copy link
Member Author

Choose a reason for hiding this comment

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

fixed

@kherge
Copy link
Contributor
kherge commented Jan 26, 2017

Why not place experimental features in a separate repository?

Once they're finalized, they can then be merged into the main repository with commit history intact.

@fabpot
Copy link
Member Author
fabpot commented Jan 26, 2017

@kherge Because most people would't use them. Experimental features need feedback, and having them in core helps a lot.

Copy link
Member
@javiereguiluz javiereguiluz left a comment

Choose a reason for hiding this comment

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

👍

There were somme comments about "backward compat..." vs "backwardS compat..." Let's ask our native English friend @weaverryan about this. Thanks!

Copy link
Member
@nicolas-grekas nicolas-grekas left a comment

Choose a reason for hiding this comment

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

  • Should we add a note about @final also?
  • What about experimental feats + LTS? They look contradictory to me. Should we have a written policy saying we don't add experimental feats to LTS?
  • How long can a feat be marked as experimental? Only for one release to me - the next one should either drop, release as stable, or at least update the @experimental tag to explicitly mention the extended laboratory period?
    In this spirit, I used @experimental in version 3.3 annotations in [DI] Add getter injection symfony#20973.

excluded from our Backwards Compatibility promise.

Also note that backward compatibility breaks are tolerated if they help fix
a security issue.
Copy link
Member

Choose a reason for hiding this comment

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

if they help fix a security issue => if they are required to fix a security issue?

Copy link
Member Author

Choose a reason for hiding this comment

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

fixed

@@ -150,6 +150,10 @@ of Symfony to the next one.
Whenever keeping backward compatibility is not possible, the feature, the
enhancement or the bug fix will be scheduled for the next major version.

However, features marked with the ``@experimental`` tag are **not** part of the
backward compatibility promise and their APIs can change from one minor version
to the next. The changelog must explain the changes and how to upgrade.
Copy link
Member

Choose a reason for hiding this comment

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

s/must/should/? It's not always worth the burden (eg we didn't follow that "must" for LDAP, and it was fine?)

Copy link
Member Author

Choose a reason for hiding this comment

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

That's a must. We didn't do that for LDAP and people now are confused.

@fabpot fabpot force-pushed the experimental-features branch from ac6ba28 to 4f7b7ea Compare February 12, 2017 16:06
@fabpot
Copy link
Member Author
fabpot commented Feb 12, 2017

I've created a new document on experimental features to add some more details.

Copy link
Member
@javiereguiluz javiereguiluz left a comment

Choose a reason for hiding this comment

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

👍 nice!

Experimental Features
=====================

All Symfony features benefits from our :doc:`Backward Compatibility Promise
Copy link
Member

Choose a reason for hiding this comment

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

benefits -> benefit

Copy link
Member Author

Choose a reason for hiding this comment

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

fixed

versions safely and more often.

But sometimes, a new feature is controversial. Or finding a good API is not
easy. In such cases, we want to be able to gather feedback from real-world
Copy link
Member

Choose a reason for hiding this comment

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

we want to be able to gather feedback -> we prefer to gather feedback ?

Copy link
Member Author

Choose a reason for hiding this comment

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

sure


To avoid being bound to our backward compatibility promise, such features can
be marked as **experimental**; classes and methods parts of an experimental
feature must be marked with the ``@experimental`` tag.
Copy link
Member

Choose a reason for hiding this comment

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

...; classes and methods parts of an experimental feature must be marked ... -> ... and their classes and methods must be marked ... ?

Copy link
Member Author

Choose a reason for hiding this comment

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

much better indeed

feature must be marked with the ``@experimental`` tag.

A feature can be marked as being experimental for only one minor version, and
can never be introduced in an :ref:`LTS version <releases-lts>`. The core team
Copy link
Member

Choose a reason for hiding this comment

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

in an -> in a

Copy link
Member Author

Choose a reason for hiding this comment

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

fixed

@fabpot fabpot force-pushed the experimental-features branch from d085439 to 42c3ec9 Compare February 12, 2017 19:03
@weaverryan weaverryan merged commit 42c3ec9 into symfony:master Feb 17, 2017
weaverryan added a commit that referenced this pull request Feb 17, 2017
This PR was merged into the master branch.

Discussion
----------

added a note about experimental features

I think `master` makes sense here as no experimental features can be added anymore in earlier versions.

Commits
-------

42c3ec9 added a new page on experimental features
4f7b7ea added a note about experimental features
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants
0