Skip to content
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

Documented upgrading path for a major version #5155

Merged
merged 7 commits into from
May 25, 2015

Conversation

wouterj
Copy link
Member

@wouterj wouterj commented Apr 7, 2015

Q A
Doc fix? no
New docs? yes
Applies to all
Fixed tickets #5059, partially #5111

I feel like there are lots of questions about this topic and nothing has officially been written about it yet. This PR is a first shot at documenting the steps you need to take.

I found this one of the hardest things to explain in an easy way. I hope others can improve it a bit :)

Todo

  • Add image of toolbar
  • Add result of PhpUnit bridge

@wouterj wouterj changed the title Documented upgrading path for a major version [WIP] Documented upgrading path for a major version Apr 7, 2015
signatures and public API usages are changed. However, minor versions should
not contain any backwards compatibility changes. It is made sure that there is
a so-called *backwards compatibility layer* (or BC layer). This means that the
old API will still work, hile the new feature is used internally. This BC layer
Copy link
Member

Choose a reason for hiding this comment

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

typo: still work, hile the new feature -> still work, while the new feature

@javiereguiluz
Copy link
Member

@wouterj nice work and very important articles. Thanks!

@wouterj wouterj force-pushed the prepare-major-version branch 2 times, most recently from c846723 to 8c70f18 Compare April 9, 2015 08:32
@wouterj
Copy link
Member Author

wouterj commented Apr 9, 2015

Thanks @javiereguiluz! I've applied your suggestions and added the missing screenshot.

@wouterj wouterj changed the title [WIP] Documented upgrading path for a major version Documented upgrading path for a major version Apr 9, 2015
removed/changed in the future.

The major version is the only time all existing BC layers are removed. The last
minor version before a new major version (i.e. 2.7 is the last minor version of
Copy link
Member

Choose a reason for hiding this comment

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

2.8 will be the last minor version.

Copy link
Member Author

Choose a reason for hiding this comment

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

do you know if this always will be the case? Will the second last minor version always contain the deprecation triggers and is the last minor version always released together with the new major version?

Copy link
Member

Choose a reason for hiding this comment

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

For now, I would not treat this as an absolute rule.

@wouterj
Copy link
Member Author

wouterj commented May 23, 2015

Thanks everyone. I've now updated this PR

@xabbuh
Copy link
Member

xabbuh commented May 23, 2015

We just need to find a consensus on whether or not to do the split (see #5186).


Every version of Symfony comes with an UPGRADE file included in the Symfony
directory that describes these changes. If you follow the instructions in the
document and update your code accordingly, it should be save to update in the
Copy link
Member

Choose a reason for hiding this comment

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

should be safe...

Copy link
Member Author

Choose a reason for hiding this comment

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

Hah, these are your own words 😉

@weaverryan
Copy link
Member

@wouterj I suggested some changes. I don't feel strongly, but my preference is to have an install and an upgrade section, mostly because upgrade is so important (install is actually less important, people will generally go elsewhere - e.g. symfony.com/download - to install) that I don't want to have to hide it under a "Install and Upgrade" section.

@wouterj
Copy link
Member Author

wouterj commented May 24, 2015

Thanks @weaverryan. I've fixed them. I also think we should have a seperate upgrade section.

@wouterj wouterj added this to the 2.7 milestone May 24, 2015

During the lifecycle of a major release, new features are added and method
signatures and public API usages are changed. However,
:doc:`minor versions </cookbook/upgrade/minor_version` should not contain any
Copy link
Member

Choose a reason for hiding this comment

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

Missing closing angle bracket here after the document name.

@weaverryan
Copy link
Member

GREAT work on this Wouter! I shouldn't be, but I can't tell you how excited I am to have these sections :). Thanks!

@weaverryan weaverryan merged commit 604ccab into symfony:2.3 May 25, 2015
weaverryan added a commit that referenced this pull request May 25, 2015
This PR was merged into the 2.3 branch.

Discussion
----------

Documented upgrading path for a major version

| Q | A
| --- | ---
| Doc fix? | no
| New docs? | yes
| Applies to | all
| Fixed tickets | #5059, partially #5111

I feel like there are lots of questions about this topic and nothing has officially been written about it yet. This PR is a first shot at documenting the steps you need to take.

I found this one of the hardest things to explain in an easy way. I hope others can improve it a bit :)

Todo
---

* [x] Add image of toolbar
* [x] Add result of PhpUnit bridge

Commits
-------

604ccab Fix formatting error
31999db Fixes after review
55fcee9 Applied comments
99c5075 Fix typo
300e8ab Added new recipe on upgrading a major version
2b0aee3 Fix little title case mistake
6a90c9b Created 'upgrade' cookbook section
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.

6 participants