daml/LATEST

66 lines
3.5 KiB
Plaintext
Raw Normal View History

9f3ca7f0b6973b5134c84b4efddda0d863659aad 2.7.0-snapshot.20230515.11780.0.v9f3ca7f0 SPLIT_RELEASE
2285f0be31edc9d651c68fbefc917b800fcb63a3 2.6.4 SPLIT_RELEASE
2023-04-20 15:13:03 +03:00
0e63894a7ad46b0f4e43e8fa3c627d6be7c7f4a0 2.6.3 SPLIT_RELEASE
2023-03-31 01:21:18 +03:00
eb273b1bb9ce0482d46aa7bb4b003b09fb30be43 2.6.1 SPLIT_RELEASE
2023-03-15 17:26:37 +03:00
f98e37e87b066dd42c02569fb0d3142643211f42 2.6.0 SPLIT_RELEASE
2023-03-08 21:05:22 +03:00
e86e6a45af232986242b5caa16fdefb3329bd523 2.5.5 SPLIT_RELEASE
2023-02-28 02:02:59 +03:00
dae2e09ea53ed97f34d6da84be3ae9b8c95bbf13 2.5.4 SPLIT_RELEASE
2023-02-07 17:28:35 +03:00
1aa59a089b157cc6c7bffbc7d97b2e56c219b540 2.5.3 SPLIT_RELEASE
2023-01-27 14:20:31 +03:00
dbaded8b53da26fe183ea170c81bff2cac3deec8 2.5.2 SPLIT_RELEASE
2023-01-16 20:54:18 +03:00
685432c64fa97503a496987de946f7baad364e23 2.5.1 SPLIT_RELEASE
2022-12-14 19:40:14 +03:00
53b7db71f82b0d92691eabf0943ce61e87f511f8 2.5.0 SPLIT_RELEASE
e0ad13da7621c94adbb16d4159d474dec16364c0 2.4.3 SPLIT_RELEASE
cb6e0ca826880119e5d192ac0d9c0df9275c9084 2.4.2 SPLIT_RELEASE
cf7c2b5cbf59dffcf61c93c502bf40e5a40bf6c0 2.4.0 SPLIT_RELEASE
2023-06-15 00:17:16 +03:00
b799c56c136b252a5c731e6a442491619ae019c4 2.3.13 SPLIT_RELEASE
2023-05-03 20:36:20 +03:00
b799c56c136b252a5c731e6a442491619ae019c4 2.3.12 SPLIT_RELEASE
2023-03-30 15:42:54 +03:00
ae1be25e7dcc07c3936f1a4b22fad248b3997103 2.3.11 SPLIT_RELEASE
2023-03-08 14:46:28 +03:00
c404b56bc5c6cdcbd195318e51903fc184940e70 2.3.10 SPLIT_RELEASE
2023-03-01 12:14:28 +03:00
b718717dec143eb2c789a3a94e20b2cc9afb6608 2.3.9 SPLIT_RELEASE
8c3cbf5094d9ec98631a2f7b37e712460cde76ef 2.3.8 SPLIT_RELEASE
3bf8e5efb72dd8cc7d40ff6d16a6aab20427143b 2.3.7 SPLIT_RELEASE
91de98218de95de991ef244d933cf6a4977b0070 2.3.6 SPLIT_RELEASE
f529a2a0159e97aa8f74bff7794b07785fdda6c0 2.3.4 SPLIT_RELEASE
f529a2a0159e97aa8f74bff7794b07785fdda6c0 2.3.3 SPLIT_RELEASE
f529a2a0159e97aa8f74bff7794b07785fdda6c0 2.3.2 SPLIT_RELEASE
f529a2a0159e97aa8f74bff7794b07785fdda6c0 2.3.1 SPLIT_RELEASE
f40988466e1995e487e4d41491aff1fa201b52e1 2.3.0 SPLIT_RELEASE
2cf0eb0a4ebf4a87e6c123993051712dc91e33ef 2.2.1 SPLIT_RELEASE
ce3516ec43dc9c06b9f6dc0d95993db587b7fbd2 2.2.0 SPLIT_RELEASE
4b71431b207db11fa355a445e35bc567502df033 2.1.1 SPLIT_RELEASE
4b71431b207db11fa355a445e35bc567502df033 2.1.0 SPLIT_RELEASE
2022-05-19 16:26:57 +03:00
be297dcb80660feb16f986538f42a7c618ccd9f0 2.0.1 SPLIT_RELEASE
b291a57e5c1c8fbed19dc1ffc3a7bce1bd121e04 2.0.0 SPLIT_RELEASE
24f23e5673c241e61b08004062ee5dd0949284b0 1.18.3
5cfb1a216816f318e26c5158a3402e3dbc969574 1.18.2
1724373fd395bb1fc604ea8628dce89110d1467f 1.18.1
2c945fcb3a2ca0972fbf8f222420b286f20b29e7 1.18.0
e05be36512ade4d9cb6921614c23dadbde1747a3 1.17.1
49a75801fbafa1ffab3247ecfbb06a82925e8a0b 1.17.0
48050ad7836b9825c9dc7bd96fbc980b8eb9b6e5 1.16.0
aca22721f709d879a49fa958a1eb0b532fcbde54 1.15.0
aa2978400dd88a6011db18a62fb71c23ebd9d20b 1.14.2
d1b54ff0a0213d0f88a30078dacae06744529773 1.14.0
5f5323806b9ee704dc7f5bed5c458ee9d0c431f7 1.13.1
9ae787d005a5ea5c3c65aef9f56a56082ea4c167 1.13.0
631db446f0e5f24845b9837ffcf8ea6061f91f4f 1.12.0
c679b4ab238f183fc54d7118e5a633097cb4813b 1.11.3
a08f6ea24245461e912f2be5676009dcbea05634 1.11.2
7cd6380e156810ec7a19abbb3b967f45acab00b9 1.11.1
d3d5042ac04f4c0f755df7e87bc191716fdecc4c 1.11.0
80d080ef9f1c63de6f94d22592f89d623bfb1fa6 1.10.2
19bf4031f551334ff70a77bbf469b8af8e061bf2 1.10.0
5b3663a500e6840109e0e3e21cd6dea3c546573d 1.9.0
59f5d40754bebf76f0530d94eb4c723cba21a21b 1.8.1
38455e8ca91ca3c351a6d15bd9ec25070386fc6c 1.8.0
e75d42ddc3150c0e054c35cc8c5afcf523ed5702 1.7.0
547abc97d96ad9ab4ed6e5fb6acf4c05ae85b639 1.6.1
d21cb496b7373dcf5c7afcc373b7898cbe54019e 1.6.0
eb68e680f649bc7c2b6b2c3b8a4c7a664f52ecec 1.5.0
224ab3621c8c3745aa5af78f655b4676794d7a5f 1.4.0
8e10c7a7338d72b907ae72f77c03b06cbe8426af 1.3.0
1c18058f019229cd0af64669af0de31d0cec916d 1.2.0
trigger all releases from master (#6016) trigger all releases from master The 1.1.0 release went wrong and we had to trash it and release 1.1.1 instead. This is an attempt at identifying and correcting the root cause behind that incident. To understand the situation, we need to know how releases worked before 1.0. We had a one-line file called `LATEST` that specifies the git SHA and version tag for the latest release. A change to that file triggered a release with the specified release tag, built from the source tree of the specified commit. The `LATEST` file looked something like: ``` f050da78c9c8727b889bdac286156f19e2f938c4 1.0.0-snapshot.20200411.3905.0.f050da78 ``` To mark a release as stable, we would change it to look like this: ``` f050da78c9c8727b889bdac286156f19e2f938c4 1.0.0 ``` i.e. simply drop the `-snapshot...` suffix. Even though the commit (and thus the entire source tree we build from) is the same, we would need to rebuild almost all of our release artifacts, as they embed the version tag in various places and ways. That worked well as long as we could assume we were doing trunk-based development, i.e. all releases would always come from the same (`master`) branch. When we released 1.0, and started work on 1.1, we had a few bug reports for 1.0 that we decided should be resolved in a point release. We decided that the best way to handle that would be to have a branch starting on the release commit for 1.0, and then backport patches from `master` to that branch. We adapted our build process to also watch the `release/1.0.x` branch and, in particular, trigger a new release build if the `LATEST` file in that branch changed. That worked well. The plan going forward was to keep doing regular snapshot releases from the `master` branch, and create support, point releases ("patch" releases in semver) from dedicated branches. On April 30, we made a snapshot release as an RC for 1.1.0, by changing the `LATEST` file in the `master` branch. That release was built on commit 681c862d. On May 6, we decided to take a new snapshot as the RC for 1.1.0; we changed `LATEST` in `master` to designate 7e448d81 as the new latest release. On May 11, we noticed an issue that broke our builds. Without going into details, an external artifact we depend on had changed in incompatible ways. After fixing that on `master`, we reasoned that this would also break the build of the final 1.1.0 release if we just tried to build 7e448d81 again. But as the target release date was May 13, we did not want to take a new snapshot after that fix, as that would have included one more week of work in the release, and given us no time to test it. So we did what we did for the 1.0 branch, as it had worked well: we created a branch that forked from `master` at commit 7e448d81 and called it `release/1.1.x`, then cherry-picked the one fix to our build process to work around the broken download. When the time came to make the final 1.1.0 build on May 13, we naturally picked the `LATEST` file from the `release/1.1.x` branch and dropped the `-snapshot...` suffix. Importantly, we did not need to update the target commit to include the "broken download" fix as, in the meantime, the internet had fixed itself, and we thus reasoned we should go for the exact code of the RC rather than include an unnecessary, albeit seemingly harmless, change. Everything went well with the release process. Tests went well too. Then we got a report that an application that worked against the latest RC broke with the final 1.1.0. The issue was that we had built the wrong commit: by branching off at the point of the _target_ commit for the latest snapshot, we did not have the change to the `LATEST` file that designated that commit as the target. So the `LATEST` file in `release/1.1.x` was still pointing to 681c862d. I believe the root cause for this issue is the fact that we have scattered our release process over multiple branches, meaning there is no linear history of what was released and we are relying on people being able to mentally manage multiple timelines. Therefore, I propose to fix our release process so this should not happen again by linearizing the release process, i.e. getting back to a situation where all releases are made from a single branch, `master`. Because we do want to be able to release _for_ multiple release branches (to provide backports and bugfixes), we still need some way to accommodate that. Having a single `LATEST` file in the same format as before would not really work well: keeping track of interleaved release streams on a single file would not really be easier than keeping track of multiple branches. My proposed solution is to instead have a multiline LATEST file, so that all the release branch "tips" can be observed at the same time, and, as long as we take care to only advance one release branch at a time, we can easily keep track of each of them. This is what this PR does. This required a few changes to our release process. Most notably: - Obviously, as this is the main point of this PR, the build process has once again been restricted to only trigger new releases from the `master` branch. - As our CI machinery cannot easily be made to produce multiple releases from a single build, the `check_for_release` step will only recognize a commit as a release trigger if it changes a single line in the `LATEST` file. This restriction comes in addition to the existing one that a release commit is only allowed to change either just the `LATEST` file or both the `LATEST` and `docs/source/support/release-notes.rst` files. - The docs publication process has been changed to update _all_ published versions to display the _latest_ release notes page. This means that the release notes page will always show you all published versions, regardless of which version of the documentation you're looking at. This also means that interleaving release notes correctly on that page is a manual exercise. - As per the intention of the new process, the `LATEST` file has been updated to contained all existing post-1.0 stable releases. It should also include all existing snapshot releases should we have more than one at a time (say, should we discover an issue with 1.1.1 that required us to work on a 1.1.2). - The `release.sh` script has been dramatically simplified as I felt it was trying to do too much and porting its existing functionality to a multi-line `LATEST` file would be too hard. CHANGELOG_BEGIN CHANGELOG_END
2020-05-19 20:18:10 +03:00
7e448d810c1134c39afa2c555e85964b68976446 1.1.1
160936905d393a6f8fb35ea02ad6b3c401820dad 1.0.1
f050da78c9c8727b889bdac286156f19e2f938c4 1.0.0