You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: technical/MajorRelease.md
+26-18Lines changed: 26 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -55,34 +55,42 @@ After the PR Merge phase, only bug-fix PRs will be merged.
55
55
56
56
## Release Candidates
57
57
58
-
After all outstanding PRs are merged and all critical bugs are resolved, a Release Candidate (RC) version will be created and a public announcment made. This is a request to the community for intentional and deliberate testing with the goal of uncovering as many bugs as possible.
58
+
After all outstanding PRs are merged and all critical bugs are resolved, a Release Candidate (RC) version will be created and a public announcment made. This is a request to the community for intentional and deliberate testing with the goal of uncovering as many bugs as possible. This is the point at which the formal branch is created for the releases. First, create a branch called "releases/FreeCAD-X-Y" where X and Y are the major and minor release numbers. Next use the GitHub "Draft new release" button on the Releases page to create a new release. Set it up to create a new tag with the release number in it, e.g. "0.21rc1" and ensure that the release is based on the "releases/FreeCAD-X-Y" branch. Mark the release as a "pre-release" so that it does not display as the latest version. Attach all of the necessary installers, appimages, packages, etc. to this release. Note that the release can be edited after creation, so assets can be added as they become available.
59
59
60
60
Translation files will be pushed to CrowdIn and a public call for translation assistance should be made.
61
61
62
-
Release notes should be reviewed at this point and any ommisions corrected
62
+
Release notes should be reviewed at this point and any ommisions corrected.
63
63
64
-
Numerous release candidates may be produced as critical bugs are addressed.
64
+
Any problems identified with the release candidate should be addressed via PRs made to the release branch. If necessary, multiple release candidates may be tagged using the same "Draft new release" process described above, and incrementing the release candidate number.
65
65
66
66
## Final Release
67
67
68
-
- The result of the splash screen contest is announced and the new splash screen is added to the source.
69
-
70
-
- update all versions in a number of source code locations:
68
+
- The result of the splash screen contest is announced and the new splash screen is added to the source, if that was not done in earlier stages.
69
+
- Update all versions in a number of source code locations where they are not automatically generated:
71
70
- README.md
72
-
- appveyor.yml
73
71
- CMakeLists.txt
74
-
- src/Tools/offlinedoc/buildqhelp.py
75
-
- src/XDGData/org.freecadweb.FreeCAD.appdata.xml
76
-
- vagrant/Xenial/generate_yaml.sh
77
-
- vagrant/Xenial/bin/launcher
78
-
- vagrant/generate_yaml.sh
79
-
- vagrant/FreeCAD.sh
72
+
- Manually tag the release on the appropriate branch using semantic versioning for the tag name, e.g. "1.2.3". Launch the various build-creation tasks based on this tag.
73
+
- Conda builds for all platforms
74
+
- Manual compilation of a Windows LibPack-based binary and NSIS-created installer
75
+
- Sign and notarize the Mac OS Conda builds once they are complete
76
+
- (Future work) Sign the Windows builds
77
+
- Create a new release on GitHub, this time marking the "Set as latest release" box and not marking it as a pre-release, and setting the release to use the tag created above. It's best to ensure all assets are attached prior to publication of the final release, so save the release as a draft as necessary until all builds are completed. The release contains a release announcement text that should be appropriate for the general user audience (not targeted at developers).
78
+
- Prepare a packager's release files and alert the packagers.
79
+
80
+
## Release Announcment
80
81
81
-
- Prepare a packager's release files and alert the packagers.
82
+
Once all release files are in place, a release announcement should be posted to all "official" FreeCAD channels:
82
83
83
-
- Tag the new release
84
-
TODO: relevant git commands
84
+
- FreeCAD News (https://blog.freecad.org)
85
+
- The FreeCAD Forum (https://forum.freecad.org)
86
+
- Facebook
87
+
- X
88
+
- Mastodon (automatic from the blog post)
89
+
- Discord
90
+
- LinkedIn
85
91
86
-
## Release Announcment
92
+
There are also other active communities where FreeCAD does not maintain any sort of official presence, but where nevertheless users are likely to benefit from an announcement:
0 commit comments