daml/LATEST

26 lines
1.3 KiB
Plaintext
Raw Normal View History

release 1.15.0-snapshot.20210615.7169.0.adeba206 (#10022) Commit log: ``` adeba206594b8ec3437efa99a44c4a5572d3ec6e DPP-403 log flyway progress (#9964) 401069ef00a64c06d61d209b1ae70a2f25e68a54 prepare for upgrade to Scalaz 7.3.3 (#9997) 3ad9cd58d9869ce9caaaeca17608b09091cba695 [JSON-API] Log templateId & choice name (if present) on command submissions in the json API (#10005) af144e8592d23856a2ba9aa5677c74ca5b48edaf LF: Structure package loading errors (#9980) 3583fd1885e3676867361a220b77c82d4ed1962c [JSON-API] Log source and path of incoming http requests & the response with info level (#10007) e49c7c8db7613a20f4768228939a884a3f03761d [In-memory fan-out] BufferedTransactionsReader implementation [DPP-413] [DPP-414] (#9882) acb77336c8e57bd523258f1a6534aa674b6a354f Release 1.14 RC 2 (#10006) 3d2d4b969695339017f6fb11a44a7dd36ef2b2a5 Don't duplicate log failed futures in the http json api (commandservice specific ones) (#9990) 0c32cf296869759069cad0d3af5b0260a0077c77 Clarify the semantics of DIV_INT64 in LF spec. (#10003) b79e7391969ab691a81df648621b1a394ae69440 Fix Type (#10004) 998f106ee636040c351fcfd12825c9c17d70beb0 Drop pkgIds argument from Engine.validatePackages (#9986) ae5010f3efec7041b4d14bafc85673ccfe4000b1 [Mutable state cache] Start cache from latest ledger head (#9998) dd42a5a6415a8ce699d295197c591bbcafa5667e update maven_install_2.12.json (#9999) 66d38cd24d1d9385e0aaf7432ce890c9941ecf04 Storage query abstraction first sketch (#9959) c75013622c850d767006f0ebdc3f8d07c7c1c504 Just print out the operator name for the operation logging in CommandService.scala (#9989) b6faace33575aa6e20e12954d56944f9f8a19a4f Changing oracle backend from using varray to json array (#9943) 603a4a4b424493cdc71b9ed8d231c09fe016eb88 Add date to log statements in the HTTP JSON service (#9988) 836a82a6b6e38c6a9549c5aaa1c65bf32990d646 Add proper error handling for missing contract keys (#9972) 85667af7be3c72211fc14710094c0d4b7f294dd7 Address npm vulnerabilities (#9978) d7d6e37785c7d1b37f91a298bb638902c05a8461 LF: Structure Engine Errors. (#9971) 0adbbdcd5806496f3602ad5c09007601d95c6ed2 update Daml Hub auth in create-daml-app (#9973) 997a7d449cd8ba842709fd1fee2ad98fd00d0d09 Use symlinks on Windows (#9969) e4258e61b15fb5bbb062562416d81c08f7680814 docs: tweak Exception intro (#9967) b2c4ef813da27d2ea836513295dd0423ead8350d rotate release duty after 1.14.0-snapshot.20210608.7123.0.3cb8d5c2 (#9933) de7a462082fc69e2c6996b2e5ac4c05f5c790f09 Log call to submitAndWaitRequest with the command id provided in the log ctx (#9940) 630d0213310dc9424194944f3d649d1deee0481e Collect build-event-stream (#9831) 26e199a7195e5df41a15556ffcf46b573cb1bdc1 Rerelease 1.11.2 snapshot (#9965) 8399039a8a2efb9c3dc4b63d04a9d3f1547b9537 Remove broken dep from release job (#9963) e1db529162afcbc55098b41498530396bdf12040 DPP-390 configurable event decoding parallelism (#9931) cc7af93afc64c886ac065680a86c70a18c975cb6 [docs] Remove link to the #daml-contributors (#9928) f7ac3ba784e62cc5128abcf454e7faaa105de7c0 Release 1.11.2 snapshot attempt 2 (#9962) 4634147ed145f913fc0cdd779821d9beb88e9932 Adds Indexer state to GRPC health checks [DPP-434] (#9951) 28c567b53dfe7ad876de833fcbda8d99554b52b1 Release SDK 1.11.2 (#9957) 5f0f5756bfcbc91a977d148ad27e914b1e29f91d Define IncompleteTransaction for use by scenario-service (#9952) b7fd8338c42538b097870e5b2af6974d90f7ad0e Increase `eventually` timeout when waiting for queue to be killed (#9955) ca0fb167186622199f99fbed318e2d2dae61eda3 Fix collect_build_data job (#9956) 42030b25edde0f61e9a11b6856f709e2a59261e1 Skip Scala_2_12 job on releases (#9954) 5e1ddfbd5e7bb036eaca429581cc0064073dbc70 LF: Fix specification of ArithmeticError (#9949) 3093a98b87f4cd3c8a9420fa71c1ca862da5f9d3 Forward port additional contract keys validation tests (#9944) e541558f18ca2943c461985a0ec3f87abbfcb408 update NOTICES file (#9946) db792a9774ca3e7aac603cfb639636378dcb73aa Proxy ledger API health endpoint in JSON API health endpoint (#9945) 13767b5c5d531690a0d4bb7e77cf2a66ab9ac3d3 Load the correct logback file for the http json service respecting the deployment situation (#9938) 4e49cf68141930ea3f7ea873a1e6ebd95fad9c67 `ledger-api-bench-tool` - Active contracts stream, completions stream [DPP-398, DPP-399] (#9857) fce8e54469b80eb16c672f4bba9ca0670a5f2132 release 1.14.0-snapshot.20210608.7123.0.3cb8d5c2 (#9932) ab55fb2546c7336179bdbc8df6786005fe541acf Handle module-prefixes in Java codegen (#9929) 7375e282710a29f15116546590380186aab3bd1b Force resolution for css what to 5.0.1 (#9925) ``` Changelog: ``` - [JSON API] The template id & choice name (if present) are now logged on command submissions in the Json API (at trace level) - [JSON-API] The source and the path for incoming http requests are now logged - [JSON-API] The http response for a request is now logged - [JSON API] Errors which arise from the CommandService are not logged twice anymore (thus reducing noise) - [JSON API] log statements now include the date next to the time - [HTTP-JSON] Calls which trigger a submitAndWaitRequest are logged with the command id provided in the log ctx [Integration Kit] The state of the participant indexer can now be checked via the GRPC health endpoint - [JSON API] The healthcheck endpoint on the JSON API now proxies the health check endpoint on the underlying ledger. Previously it only queried for ledger end to determine ledger health. [HTTP-JSON] - fixed that json log output could not be enabled via cli options except via usage of env vars - [Integration Kit] - ledger-api-bench-tool - reading active contract streams - [Integration Kit] - ledger-api-bench-tool - Reading completions stream - [Java Codegen] The Java codegen will now pick up the `module-prefixes` field from `daml.yaml` which can be used to handle module name collisions between different DALFs. ``` CHANGELOG_BEGIN CHANGELOG_END
2021-06-16 14:33:10 +03:00
adeba206594b8ec3437efa99a44c4a5572d3ec6e 1.15.0-snapshot.20210615.7169.0.adeba206
d1b54ff0a0213d0f88a30078dacae06744529773 1.14.0-snapshot.20210615.7124.0.d1b54ff0
5f5323806b9ee704dc7f5bed5c458ee9d0c431f7 1.13.1
9ae787d005a5ea5c3c65aef9f56a56082ea4c167 1.13.0
631db446f0e5f24845b9837ffcf8ea6061f91f4f 1.12.0
a08f6ea24245461e912f2be5676009dcbea05634 1.11.2-snapshot.20210610.6433.1.a08f6ea2
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