daml/LATEST

21 lines
1.1 KiB
Plaintext
Raw Normal View History

release 1.12.0-snapshot.20210316.6523.0.b382fc45 (#9160) 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. @sofiafaro-da is in charge of this release. Commit log: ``` b382fc45ac8e40985eca47e031fa7681b54c68b2 update areas to alert @S11001001 of changes (#9156) bbd239b0d3128e1a8bb56a0a2966e3301125d8f1 Unstringify profiler labels (#9147) 3870f845343557a35e833a5eb370a1d48297dad5 Drop profiler from Sandbox CE (#9152) 691edeacf2cf2d480ad56f70d972f4ac4ee154ac ci: fix cache cleanup (#9137) 98c2651998cce1fd1b8776e488d8f8cfbcf3023d Support fetching SDK EE tarball in the assistant (#9146) 9b2158508b285f75be515d298e892768f43bbab9 Add new variant to Value.scala for builtin-exceptions. (#9084) 75cec502ac6f46bdf883ff79ee0b9014b8f24d4e Add tests for unmangleLenient (#9148) 1df2270cc9f4856d5ae8da884f9202198d453fa2 typo (#9145) 6018697fb4d748e03968818c98add080b952d10c Make async commit configurable and add "LOCAL" async commit option (#9144) ab90c437a76b2fad75c71fbd7adc4047131480cc update compat versions for 1.11.1-snapshot.20210312.6429.1.7cd6380e (#9135) 498fcc66b42d3c0da5dae6c27471e0a041266fb9 KV specific LF library (#9100) c327476da90634d031f528b00872f828774b5c09 Upgrade msys packages (#9139) 089a11443c532a2515c1871578d3f182897152f2 release job: remove extra bash-lib (#9136) b0948b417b88fe3a21bdb0df1ab6e56ae3c690a3 release 1.11.1-snapshot, take n+1 (#9134) 5dddf0aead417e9c8e811c5d0ff0186a974b1a88 Add missing checkout step (#9133) 7669d8c88cc2703c39412fe5033700e020ccbe1b daml pkg: split installation of deps and package db inititialization (#9056) d5e0d6ca00bf2ef31a4164e79dd2eb30c3ec3c99 Release 1.11.1 snapshot (#9130) 7430590c1d3aade056b62ac66d1e846998b50118 Only track cids referenced in root events (#9131) d4bdb1286252287d50a4bd7888f95645bd8bb10f Add pruning stabilization to ledger API changelog (#9126) ab7e7d9d942a6d05213ab9a8b49e374205a89ec4 Ignore fetch and lookup-by-key nodes for state update comparison [KVL-854] (#9070) 208f6c1aab4059552f9bea8c329f261feeba0b63 Fix javadocs & sources in daml-sdk-head (#9125) 9320a213db2fe9b3d13728782151e6c3e7201c2c [Integration Kit, Ledger API] Remove hint about early access for participant pruning. (#9120) 1c5e64cb82761ad278c779a818a2d27956700c14 Fix release notes link in docs (#9122) ed746976a3c801c9352294c8dfa53dd1a4931346 Apply new logo to create-daml-app template (#9105) 7370313bfa2a33d91bca9f6b1ef9dd3d07b8d156 Release yet another snapshot (#9118) ``` Changelog: ``` - [Daml Assistant] The assistant now supports an `artifactory-api-key` field in `daml-config.yaml`. If you have a license for Daml Connect EE you can specify this and the assistant will automatically fetch the EE edition which provides additional functionality. [Integration Kit, Ledger API] Remove hint about early access for participant pruning. It's stable now. [SDK Assistant] New Daml logo on create-daml-app template ``` CHANGELOG_BEGIN CHANGELOG_END Co-authored-by: Azure Pipelines DAML Build <support@digitalasset.com>
2021-03-17 10:38:07 +03:00
b382fc45ac8e40985eca47e031fa7681b54c68b2 1.12.0-snapshot.20210316.6523.0.b382fc45
7cd6380e156810ec7a19abbb3b967f45acab00b9 1.11.1-snapshot.20210312.6429.1.7cd6380e
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