daml/LATEST

36 lines
1.8 KiB
Plaintext
Raw Normal View History

release 2.0.0-snapshot.20220104.8767.0.d3101e01 (#12263) This PR has been created by a script, which is not very smart and does not have all the context. Please do double-check that the version prefix is correct before merging. @stefanobaghino-da is in charge of this release. Commit log: ``` d3101e019d6af68f517da6284f026a15c512fe59 Add Flyway validation log line (#12256) c673d1fe56328c594b8655ce998789881b6d36af add lf extension to copyright script (#12259) ea55ea2d14061dac6301046166927fb82eb76faa Further copyright updates (#12249) 93e616475ef7e802a6098fa554c831e6c516bcc1 Update ci nodes for copyright update (#12255) 4b4fbf8c2aaef93abd3e4c51a15dcadfdc63fece [ledger-api-test-tool] - adapt the command deduplication conformance to use participant deduplication feature descriptor [kvl-1218] (#12222) 7c011cfb389fc3f29a23b3479159c0532b3b5b3f Fix tracking of party references (#12253) cd9911b0666e22225a37186ad833a5ae28cfde4b daml-lf, kvutils: Move Daml-LF `Archive` decoding to `kv-support` [KVL-1168] (#12241) d31066bd68818ed5dfce705f796e4e45aced055f Make @garyverhaegen-da skip this week's release rotation (#12252) d2e2c21684e2d9eade40f74990208125ad4b4ccb update copyright headers (#12240) 2546af359cc79c86baa277955927e1bfb8c78a06 rotate release duty after 2.0.0-snapshot.20211214.8692.0.63940872 (#12148) 0e30d468f9497e7b602d70ec9c198c44ae5c5993 expand CI cluster back (#12239) d6d473db67a0bf21dc1b4676b0c5251cf6dbbfba update NOTICES file (#12247) a51f75d193199295eb9bc9ca9729b36dd798a3aa give a break to CI (#12238) 4cc4b3baf4764a618d1ae9ad379ff65b3608db39 update compat versions for 1.18.0 (#12068) 2141bfbea5f2dcb9d986a228081f0717c96acf35 DPP-769 cap internal state (#12135) e1b4c301326f895da0e25a54dda5d87748b3f4e3 daml-lf / kvutils: Move Daml-LF proto conversions into kv-support [KVL-1168] (#12216) 51a1f47b4300c5797e19c46c383c001cb73afec2 update NOTICES file (#12232) 8f43c034ec6c5a4f54b7347743dbe1ea87c8ccb6 Add transaction statistics to completion info (#12224) dc6fdaaca904065410e1381e5149f16b0d5811b1 revert back to running latest blackduck detect 6.9.0 (#12177) 994b2317a18c2a712c83bf97e74f665963b2b7f0 Add a test for daml start --sandbox-canton (#12223) 9102b0919a278809133ee6b3c931abf43b888408 [ledger-api-test-tool] - add participant deduplication feature descriptor [kvl-1218] (#12213) f847767e361a35c7017e6fb17e49534c90897fe7 Avoid nix result-* symlinks on CI (#12220) 830497ae34e77b383ab7c30e566f8910355c3a49 Add --sandbox-canton option in daml start (#12192) d922a562a849b6340bb533c2a88b723fcfd50776 DPP-752 refactor event strategy (#12008) ba0c6c9841d038924f538ecae3aa12f62ea980a7 Set --enable-scenarios to False by default (#12156) 56baf036b775170988d1d4859b56f9f599b09cb6 Rename kv-transaction-support library [KVL-1168] (#12212) 5b142eba63f7879fb6b689fc3fc2ec28fa58e497 [ledger-api-test-tool] - use offset support feature descriptor [kvl-1218] (#12211) 0142c6a34eefbe6a689eceb7095cc6bd18b38310 Add forM_ compat definition (#12209) 99f9776dd48abbc4bb5b47d567cbf5611cedcfa3 New split release for docs tests (#12186) e182fc50268d47e00ffed9963ee6616dccc22e3b [ledger-api] - Move deduplication duration validation into the KV WriteService (#12151) 53d55784a460322b2a0276faf87a8fbe509d0d14 [ledger-api] - Add command deduplication features as a feature descriptor [KVL-1218] (#12181) 040f1a933fd46cf10335f746a9e253eaa0810c49 Release attempt over 9000 (#12206) ``` Changelog: ``` ledger-api - Remove validation for duration deduplication periods, which was validating that the deduplication duration is smaller than the max deduplication duration. This is now up to the ledger to enforce. ``` CHANGELOG_BEGIN CHANGELOG_END Co-authored-by: Azure Pipelines Daml Build <support@digitalasset.com>
2022-01-05 11:08:14 +03:00
d3101e019d6af68f517da6284f026a15c512fe59 2.0.0-snapshot.20220104.8767.0.d3101e01
cb15ab5adbf1e4aaf30de5d7fe50669e1126a108 2.0.0-snapshot.20220105.8777.0.cb15ab5a SPLIT_RELEASE
ea344666ce9fb1c18396d29622709ab09bfaad0d 1.18.1-snapshot.20220106.8429.0.ea344666
2c945fcb3a2ca0972fbf8f222420b286f20b29e7 1.18.0
b33b94b85c23235a9d62fb7a9967f1f91247ed76 1.17.2-snapshot.20211124.7857.0.b33b94b8
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
d443707c1893b58206f2f2ba62a18cd25e1ff53c 1.8.0-snapshot.20210303.5843.0.d443707c
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
11b5c36282407284122326c4d80cb7a6015ed825 1.3.0-snapshot.20200610.4413.0.11b5c362
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