Commit Graph

335 Commits

Author SHA1 Message Date
Moritz Kiefer
e7ba79da72
Release another 1.13.0 snapshot (#9551)
changelog_begin
changelog_end
2021-05-03 13:36:21 +02:00
nickchapman-da
782109de7e
update LATEST (#9508)
changelog_begin
changelog_end
2021-04-27 10:47:59 +00:00
Kamil Bożek
40c85d85bd
Release v1.13.0-snapshot.20210419.6730.0.8c3a8c04 (#9439)
* Release v1.13.0-snapshot.20210419.6730.0.8c3a8c04

CHANGELOG_BEGIN
CHANGELOG_END

* Overwrite previous snapshot
2021-04-19 13:23:12 +02:00
Remy
a156045f76
release 1.13.0-snapshot.20210413.6706.0.2dc09ba2 (#9409)
* release 1.13.0-snapshot.20210413.6706.0.2dc09ba2

* changelog

CHANGELOG_BEGIN
CHANGELOG_END
2021-04-14 12:59:30 +02:00
Moritz Kiefer
71ae945f32
Release SDK 1.12.0 (#9407)
changelog_begin
changelog_end
2021-04-14 10:40:41 +02:00
Gary Verhaegen
247a1a32b8
snapshot to test non-repudiation publish (#9326)
Though I guess if it works we can take this as the weekly snapshot and
bump the rotation one more week.

CHANGELOG_BEGIN
CHANGELOG_END
2021-04-06 14:12:52 +00:00
Stefano Baghino
d56df072a7
1.12.0-snapshot.20210331.6640.0.4b807899 (#9313)
changelog_begin
changelog_end

![here-we-go](https://media1.giphy.com/media/jQu6IeQ0RvNd5qWsY5/giphy.gif?cid=ecf05e47cn9s2zp9yh930dktnrac0hu75dlvvsr1vjxyjczj&rid=giphy.gif)
2021-03-31 18:10:51 +00:00
Stefano Baghino
4fa78fa8c8
1.12.0-snapshot.20210331.6634.0.b98a3881 (#9307)
changelog_begin
changelog_end

![never-gonna-give-you-up](https://media1.giphy.com/media/Vuw9m5wXviFIQ/giphy.gif?cid=ecf05e47gesfxg3d3rqy8noh0knjbo88hu31ptpppjcczi48&rid=giphy.gif)
2021-03-31 13:25:20 +00:00
Stefano Baghino
1743672793
1.12.0-snapshot.20210331.6626.0.29a68134 (#9295)
changelog_begin
changelog_end
2021-03-31 07:38:08 +00:00
Stefano Baghino
35fb66fccf
1.12.0-snapshot.20210330.6622.0.eef158d6 (#9292)
changelog_begin
changelog_end
2021-03-30 20:18:12 +00:00
Stefano Baghino
46c6701d8e
Prepare release 1.12.0-snapshot.20210330.6619.0.007b8674 (#9285)
changelog_begin
changelog_end
2021-03-30 17:05:03 +00:00
azure-pipelines[bot]
7c86c0a8c4
release 1.12.0-snapshot.20210323.6567.0.90c5ce70 (#9221)
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.

@robin-da is in charge of this release.

Commit log:
```
90c5ce703a Optimize mapOptional and add more efficient findOptional (#9214)
1e0c67c306 LF: Add RoundingMode and BigNumeric in Haskell Ast (#9215)
e492603808 More manual list fusion in stdlib (#9217)
90aa84193f tuesday notif: newlines (#9213)
51c5eac66e LF: Add BigNumeric to archive proto (#9210)
615f4e4bae Support passing sandbox port via --sandbox-option --port (#9208)
349e0a0bef LF: fix package name in LF 1.12 proto snapshot (#9211)
b7aedb477b Remove contract arguments from localContracts (#9207)
c1cf2756a8 add rollback node to transactions (#9178)
2551b2d615 LF: Add BigNumeric and Rounding to Scala AST (#9205)
be4dbd971d update compat versions for 1.11.1 (#9172)
0f9ab428ee kvutils: Remove ledger dump functionality  (#9204)
f89aa294e5 damlc pkg: use cache for already present packages (#9193)
7a41ee6ce0 Cache contract fetches in speedy (#9192)
644561fe23 Bump jinja2 from 2.11.2 to 2.11.3 in /docs/scripts (#9198)
bf76e3c84a update NOTICES file (#9201)
4d90d02740 LF: drop useless field arity in Ast Builtin (#9194)
a93f89b6f8 Factor out an Oracle test fixture (#9191)
51f495e758 KVL-203 Share participant state integration test harness (#9143)
440eead6c4 Make LedgerDao a pure interface (#9186)
617e6f58e8 update NOTICES file (#9190)
587a9c95d0 Recognize (some) exerciseByKey commands in Daml script dumps (#9185)
ad94c47605 ci/docker: sync with hub (#9184)
081623b493 fix: bad package id validation (#9183)
f0c8b1240d Integrate non-repudiation into HTTP JSON API (#9180)
dbd8806848 Distinguish all four types of submits (#9179)
8c64f120da pkgid data deps (#9153)
d5ca22815d Recognize simple createAndExercise commands (#9154)
6c9679f511 Add documentation for the Daml Profiler (#9174)
a6da995ecb use representational variance for generated Scala classes (#8879)
47e0a223e7 rotate release duty after 1.12.0-snapshot.20210316.6523.0.b382fc45 (#9161)
1ea00976f0 skip compat tests on release (#9169)
c26c349c8b Generate exception instances from syntax. (#9140)
9d175ce547 Document profiling internals (#9168)
5e97c573e0 Add a test for create and exercise events in the profiler (#9151)
75f7688cae Expose unhandled exception values and types (#9158)
e4d5799907 weekly release (#9167)
370f290d3d Handle createAndExecuteCmd (#9150)
af0cb30828 Release SDK 1.11.1 (#9162)
```
Changelog:
```

- [Daml Assistant] The sandbox port can now also be configured via
  `--sandbox-option=--port=12345` instead of `--sandbox-port`. Other
  tools like Navigator, the JSON API and Daml Script will pick up the
  modified port automatically.

- [JSON API] The JAR for the HTTP JSON API is no longer published on
Maven, use the fat JAR as indicated in the documentation.

- [Daml Profiler] Daml Connect EE now includes a profiler which can be
used to profile Daml execution time.

- [Scala Codegen] Type parameters used in GenMap keys are now supported.
  See `issue #8879 <https://github.com/digital-asset/daml/pull/8879>`__.
```

CHANGELOG_BEGIN
CHANGELOG_END

Co-authored-by: Azure Pipelines DAML Build <support@digitalasset.com>
2021-03-24 14:16:28 +01:00
Gary Verhaegen
e4d5799907
weekly release (#9167)
Retrying #9160.

CHANGELOG_BEGIN
CHANGELOG_END
2021-03-17 11:58:14 +01:00
Moritz Kiefer
af0cb30828
Release SDK 1.11.1 (#9162)
changelog_begin
changelog_end
2021-03-17 10:52:56 +01:00
azure-pipelines[bot]
5827ff00c0
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:
```
b382fc45ac update areas to alert @S11001001 of changes (#9156)
bbd239b0d3 Unstringify profiler labels (#9147)
3870f84534 Drop profiler from Sandbox CE (#9152)
691edeacf2 ci: fix cache cleanup (#9137)
98c2651998 Support fetching SDK EE tarball in the assistant (#9146)
9b2158508b Add new variant to Value.scala for builtin-exceptions. (#9084)
75cec502ac Add tests for unmangleLenient (#9148)
1df2270cc9 typo (#9145)
6018697fb4 Make async commit configurable and add "LOCAL" async commit option (#9144)
ab90c437a7 update compat versions for 1.11.1-snapshot.20210312.6429.1.7cd6380e (#9135)
498fcc66b4 KV specific LF library (#9100)
c327476da9 Upgrade msys packages (#9139)
089a11443c release job: remove extra bash-lib (#9136)
b0948b417b release 1.11.1-snapshot, take n+1 (#9134)
5dddf0aead Add missing checkout step (#9133)
7669d8c88c daml pkg: split installation of deps and package db inititialization (#9056)
d5e0d6ca00 Release 1.11.1 snapshot (#9130)
7430590c1d Only track cids referenced in root events (#9131)
d4bdb12862 Add pruning stabilization to ledger API changelog (#9126)
ab7e7d9d94 Ignore fetch and lookup-by-key nodes for state update comparison [KVL-854] (#9070)
208f6c1aab Fix javadocs & sources in daml-sdk-head (#9125)
9320a213db [Integration Kit, Ledger API] Remove hint about early access for participant pruning. (#9120)
1c5e64cb82 Fix release notes link in docs (#9122)
ed746976a3 Apply new logo to create-daml-app template (#9105)
7370313bfa 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 08:38:07 +01:00
Gary Verhaegen
b0948b417b
release 1.11.1-snapshot, take n+1 (#9134)
Bumping the snapshot release number as the fix was on the release
process on main (i.e. not change to the target branch/commit).

CHANGELOG_BEGIN
CHANGELOG_END
2021-03-14 15:14:38 +01:00
Moritz Kiefer
d5e0d6ca00
Release 1.11.1 snapshot (#9130)
* Release 1.11.1 snapshot

See https://github.com/digital-asset/daml/commits/release/1.11.x for
changes. Bugfixes in JSON API, command tracker & docs.

changelog_begin
changelog_end

* bump to include #9132
2021-03-12 20:22:11 +01:00
Moritz Kiefer
7370313bfa
Release yet another snapshot (#9118)
https://www.youtube.com/watch?v=dQw4w9WgXcQ

changelog_begin
changelog_end
2021-03-12 11:58:13 +00:00
Gary Verhaegen
f4cd2bb387
try new release process again (#9110)
With #9107 it should at least go further 🤞.

CHANGELOG_BEGIN
CHANGELOG_END
2021-03-12 06:16:18 +00:00
Moritz Kiefer
ba98e6d5f7
Release another snapshot (#9106)
This time including the fix from
e2730d322d which may or may not be
sufficient.

changelog_begin
changelog_end
2021-03-11 20:47:52 +01:00
Moritz Kiefer
02f3612fed
Release new snapshot (#9098)
This is mainly to test the revamped publishing process.

changelog_begin
changelog_end
2021-03-11 17:48:02 +01:00
azure-pipelines[bot]
5aac471bf5
release 1.12.0-snapshot.20210309.6463.0.f7abca91 (#9061)
* release 1.11.0-snapshot.20210309.6463.0.f7abca91

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.

@S11001001 is in charge of this release.

Commit log:
```
f7abca919f fix readme in create-daml-app: add npm install (#9060)
e04bd91eda Move Daml Profiler to EE version of sandbox/sandbox-classic (#9054)
7859bc13e1 inline help: scripts JSON API clarification (#9057)
642385a692 Upgrade elliptic dependency to address vulnerabilities (#9055)
f2b9f118cf Check that only the command signed payload goes through (#9053)
5197374cab Build SDK EE tarball (#9049)
1bec2116ba Add tests for client bindings (#9036)
27fd9327f6 Disclose transactions in the flat transactions stream only to the stakeholders - test case [DPP-276] (#9028)
45b33757b2 Introduce a helper to limit signing to commands (#9050)
0c4d8ac19c Speedy: rollback within exercise (#9040)
caa023b72e ci/cron/check: remove dade-assist calls (#9048)
85f0965ab9 LF: fix archive decoder for GREATER_DATE (#9047)
121534c54d ci/cron/check: low-hanging perf improvement (#9042)
fb0bd82740 update NOTICES file (#9045)
4fd42a6772 reduce noise on daily tests (#9039)
5d88c08832 Bump ghcide (#9041)
41d62ea5c0 send CI failures on separate channel (#9038)
e26d006f6f slack: reduce @here mentions (#9037)
ae110361f0 Add more shared infrastructure for non-repudiation testing (#9035)
75140744aa Speedy: building transactions with rollback (#8983)
98410e7c7f update compat versions for 1.11.0-snapshot.20210304.6422.0.d3d5042a (#9032)
0f1d2a9c47 Upgrade akka to 2.6.13 (#9026)
b1a59d0c70 Release SDK 1.11.0 RC 2 (#9031)
41e049339b Fix --extract option in ledger api test tool (#9029)
0281b442b8 -Werror all the things (#9027)
2c08586d33 Expose Daml stacktraces for Daml Script errors (#9025)
c7ee410fa3 Use DA.Map in triggers if available (#9023)
d347934db3 Make non-repudiation PostgreSQL back-end certificate adding idempotent (#9024)
eaf7fb6f63 Add non-repudiation API (#8982)
5a3c95251c Document latency of Windows ad-hoc machine software installation (#9022)
3758b57a87 pkg deps: Move all dalfs to package dependency directory (#9002)
f70d3391ef update compat versions for 1.10.2 (#9016)
e5421288d9 Improve errors on duplicate record field names (#9010)
65fbcfe8e9 Move execution of commands out of Runner (#9009)
2688ad6f0d autorelease: improved PR message (#9008)
185e91646d Release 1.10.2 (#9006)
4ed3f1a6de Cut a snapshot release for the 1.8.0 special patch (#8998)
ba1456fd5a rotate release duty after 1.11.0-snapshot.20210302.6414.0.72870630 (#8992)
259bf682c4 compat: fix killing stale sandbox(es) (#9003)
32dc8b007b Include stack traces for all ScriptF commands (#8999)
1525957c7a release 1.11.0-snapshot.20210302.6414.0.72870630 (#8991)
926949e503 Use single party submit/submitTree where appropriate (#8995)
```
Changelog:
```

- [Daml Compiler] Fix a bug where passing `--ghc-option=-Werror` also
  produced errors for warnings produced by `-Wmissing-signatures` even
  if the user did not explicitly enable this.

- [Daml Script] When running Daml Script on the command line you will
  now see a Daml stacktrace on failures to interact with the ledger
  which makes it significantly easier to track down which of the calls
  fails. By default, you will only get the callsite of functions like
  `submit`. To extend the stack trace, add `HasCallStack` constraints
  to functions and those will also be included.

- [Triggers] The trigger library now uses `DA.Map` instead of the
  deprecated `DA.Next.Map` if the targeted Daml-LF version supports it.
  This is a breaking change: Code that interfaced with the triggers
  library using `DA.Next.Map`, e.g. with
  `Daml.Trigger.getCommandsInFlight` or `Daml.Trigger.Assert.testRule`,
  will need to be changed to use `DA.Map` instead.
```

CHANGELOG_BEGIN
CHANGELOG_END

* 1.12 not 1.11

changelog_begin
changelog_end

Co-authored-by: Azure Pipelines DAML Build <support@digitalasset.com>
Co-authored-by: Moritz Kiefer <moritz.kiefer@purelyfunctional.org>
2021-03-10 14:55:32 +00:00
Moritz Kiefer
b408b02723
Release SDK 1.11.0 (#9064)
changelog_begin
changelog_end
2021-03-10 09:14:25 +00:00
Moritz Kiefer
b1a59d0c70
Release SDK 1.11.0 RC 2 (#9031)
Only change is d3d5042ac0

changelog_begin
changelog_end
2021-03-04 20:07:41 +00:00
Moritz Kiefer
185e91646d
Release 1.10.2 (#9006)
This includes
80d080ef9f (and
only that compared to 1.10.1.

changelog_begin
changelog_end
2021-03-03 19:31:53 +01:00
mziolekda
4ed3f1a6de
Cut a snapshot release for the 1.8.0 special patch (#8998)
* cut a snapshot release for the 1.8.0 special patch

CHANGELOG_BEGIN
CHANGELOG_END

* update for #9000

Co-authored-by: Gary Verhaegen <gary.verhaegen@digitalasset.com>
2021-03-03 18:44:59 +01:00
azure-pipelines[bot]
1525957c7a
release 1.11.0-snapshot.20210302.6414.0.72870630 (#8991)
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.

CHANGELOG_BEGIN
CHANGELOG_END

Co-authored-by: Azure Pipelines DAML Build <support@digitalasset.com>
2021-03-03 14:29:41 +01:00
Gary Verhaegen
e94b7b0d03
hopefully release 2.12 (#8953)
See #8951.

CHANGELOG_BEGIN
CHANGELOG_END
2021-02-25 18:38:12 +01:00
Moritz Kiefer
e080b81f0b
Snapshot release attempt 2 (#8945)
This time including #8943 which hopefully fixes the issue.

changelog_begin
changelog_end
2021-02-25 10:33:25 +01:00
azure-pipelines[bot]
6ab2858706
release 1.11.0-snapshot.20210223.6368.0.09c46cf6 (#8924)
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.

@garyverhaegen-da is in charge of this release.

CHANGELOG_BEGIN
CHANGELOG_END

Co-authored-by: Azure Pipelines DAML Build <support@digitalasset.com>
2021-02-24 14:03:56 +01:00
Brian Healey
99f757767d
1.10.1 release (#8902)
* 1.10.1 release

CHANGELOG_BEGIN
CHANGELOG_END

* correct SHA of 1.10.x branch

* Update LATEST

Co-authored-by: Moritz Kiefer <moritz.kiefer@purelyfunctional.org>
2021-02-19 19:42:02 +00:00
Moritz Kiefer
619f9da856
Release a new snapshot (#8880)
Let’s see what I broke

changelog_begin
changelog_end
2021-02-17 17:42:12 +01:00
Moritz Kiefer
239b3fc861
Release SDK 1.10.0 (#8870)
changelog_begin
changelog_end
2021-02-17 13:17:12 +01:00
Kamil Bożek
580bb047f6
Release 1.11.0-snapshot.20210212.6300.0.ad161d7f (#8830)
CHANGELOG_BEGIN
CHANGELOG_END
2021-02-12 14:23:01 +01:00
Samir Talwar
d4e0d8b8be
Release 1.10.0-snapshot.20210209.6265.0.19bf4031. (#8791)
CHANGELOG_BEGIN
CHANGELOG_END
2021-02-09 12:34:17 +00:00
Moritz Kiefer
90068b00cd
Release another 1.10 snapshot (#8778)
changelog_begin
changelog_end
2021-02-08 18:15:52 +01:00
azure-pipelines[bot]
3299bdfa9c
release 1.10.0-snapshot.20210202.6218.0.c0573678 (#8724)
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.

@hurryabit is in charge of this release.

CHANGELOG_BEGIN
CHANGELOG_END

Co-authored-by: Azure Pipelines DAML Build <support@digitalasset.com>
2021-02-03 09:22:41 +01:00
mziolekda
5bb3a6c4b5
Manual release 1.10.0-snapshot.20210201.6207.0.7cf1914d of the daml-sdk (#8704)
CHANGELOG_BEGIN
CHANGELOG_END
2021-02-01 17:26:24 +01:00
Andreas Herrmann
01ec6e8771
1.10.0-snapshot.20210125.6143.0.550aa48f (#8625)
changelog_begin
changelog_end

Co-authored-by: Andreas Herrmann <andreas.herrmann@tweag.io>
2021-01-26 11:18:38 +01:00
Moritz Kiefer
f2fb9c9415
Release SDK 1.9.0 (#8572)
changelog_begin
changelog_end
2021-01-20 16:42:38 +01:00
mziolekda
b184a6b79a
Bumping the release by one PR (#8577)
CHANGELOG_BEGIN
CHANGELOG_END
2021-01-20 13:11:02 +00:00
azure-pipelines[bot]
73903773f5
release 1.10.0-snapshot.20210119.6103.0.cdcf090b (#8567)
* release 1.9.0-snapshot.20210119.6103.0.cdcf090b

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.

@nickchapman-da is in charge of this release.

CHANGELOG_BEGIN
CHANGELOG_END

* Bump version, changing prefix from 1.9 to 1.10

Co-authored-by: Azure Pipelines DAML Build <support@digitalasset.com>
Co-authored-by: Moritz Kiefer <moritz.kiefer@purelyfunctional.org>
2021-01-20 11:07:11 +00:00
Moritz Kiefer
fbea4e6ba8
Release 1.9 RC 2 (#8561)
This includes a bugfix to sandbox classic’s default seeding mode and a
kvutils fix.

changelog_begin
changelog_end
2021-01-19 19:32:05 +00:00
fabiotudone-da
720cb71fb4
Bless snapshot release 1.8.1-snapshot.20210115.5842.0.59f5d407 as release 1.8.1 (#8537)
CHANGELOG_BEGIN
CHANGELOG_END
2021-01-18 15:08:19 +01:00
fabiotudone-da
1c8212946b
Release 59f5d40754 1.8.1-snapshot.20210115.5842.0.59f5d407 (#8533)
CHANGELOG_BEGIN
CHANGELOG_END
2021-01-15 20:25:44 +01:00
Moritz Kiefer
d636505d61
Release yet another 1.9.0 snapshot (#8492)
* Release yet another 1.9.0 snapshot

This includes #8490 which fixes triggers with LF 1.11. Since LF 1.11
is mentioned very prominently in our release notes, we don’t want to
break triggers there.

changelog_begin
changelog_end

* Release: Update to commit 9ed787cb3d.

Co-authored-by: Samir Talwar <samir.talwar@digitalasset.com>
2021-01-13 15:58:10 +00:00
Moritz Kiefer
4ee21f588e
Release 1.9. snapshot (#8474)
Includes the fix for DAML Script against LF 1.11 and a minor docs fix
in the ledger model.

changelog_begin
changelog_end
2021-01-12 14:44:12 +01:00
Moritz Kiefer
cd9aeaf78e
Release 1.9.0 snapshot (#8464)
changelog_begin
changelog_end
2021-01-11 21:51:12 +01:00
azure-pipelines[bot]
98ae21b805
release 1.9.0-snapshot.20210105.5984.0.c68ba110 (#8403)
* release 1.9.0-snapshot.20210105.5984.0.c68ba110

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.

@robin-da is in charge of this release.

CHANGELOG_BEGIN
CHANGELOG_END

* Bump commit to include #8402

changelog_begin
changelog_end

Co-authored-by: Azure Pipelines DAML Build <support@digitalasset.com>
Co-authored-by: Moritz Kiefer <moritz.kiefer@purelyfunctional.org>
2021-01-06 13:36:59 +01:00
Gerolf Seitz
5a0a683e89
Release 1.6.1 (#8345)
CHANGELOG_BEGIN
CHANGELOG_END
2020-12-21 15:17:34 +01:00
Moritz Kiefer
1f048af9d8
Release 1.9 snapshot (#8308)
changelog_begin
changelog_end
2020-12-16 10:41:26 +00:00
Moritz Kiefer
dd12f03147
Release SDK 1.8 (#8309)
changelog_begin
changelog_end
2020-12-16 09:46:55 +01:00
Miklos
a6ed34c5d3
Release 1.6.1-snapshot.20201215.5318.0.547abc97. (#8304)
CHANGELOG_BEGIN
CHANGELOG_END
2020-12-15 21:32:22 +01:00
Samir Talwar
7375afd4f3
Release 1.8.0-snapshot.20201214.5841.0.a8ae8e4a. (#8290)
This is not intended for general consumption.

This reverts the following PRs, in reverse order:

- #8082
- #8146
- #8153
- #8180
- #8194

CHANGELOG_BEGIN
- [Integration Kit] Reverted a fix to the kvutils input state that
  caused performance degradation on some ledgers. This is a temporary
  measure that we do not expect to be used outside of very specific
  circumstances, as it can trade correctness for performance if the
  semantics are not completely understood.
CHANGELOG_END
2020-12-15 10:57:54 +00:00
Moritz Kiefer
f66166ec95
Release 1.8 RC (#8200)
changelog_begin
changelog_end
2020-12-08 16:20:37 +01:00
azure-pipelines[bot]
49d71f6213
release 1.8.0-snapshot.20201201.5776.0.4b91f2a6 (#8126)
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.

CHANGELOG_BEGIN
CHANGELOG_END

Co-authored-by: Azure Pipelines DAML Build <support@digitalasset.com>
2020-12-02 11:56:22 +01:00
azure-pipelines[bot]
d8a5a0e516
release 1.8.0-snapshot.20201124.5709.0.dabd55d0 (#8055)
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.

@cocreature is in charge of this release.

CHANGELOG_BEGIN
CHANGELOG_END

Co-authored-by: Azure Pipelines DAML Build <support@digitalasset.com>
2020-11-25 10:24:35 +01:00
azure-pipelines[bot]
80662eceb2
release 1.8.0-snapshot.20201117.5661.0.76fae40c (#7994)
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.

@garyverhaegen-da is in charge of this release.

CHANGELOG_BEGIN
CHANGELOG_END

Co-authored-by: Azure Pipelines DAML Build <support@digitalasset.com>
2020-11-18 09:08:52 +01:00
Moritz Kiefer
328c5ae923
Release SDK 1.7.0 (#7939)
changelog_begin
changelog_end
2020-11-11 09:26:41 +00:00
azure-pipelines[bot]
b98f5e1607
release 1.8.0-snapshot.20201110.5615.0.b35c9fcb (#7937)
Co-authored-by: Azure Pipelines DAML Build <support@digitalasset.com>
Co-authored-by: Samir Talwar <samir.talwar@digitalasset.com>
2020-11-11 09:47:00 +01:00
Gary Verhaegen
736d53c311
testing Docker signing (#7878)
There is no other way to test this code than to make a release. This is
expected to be identical to 1.7.0-snapshot.20201103.5565.0.e75d42dd,
with the version number being the only difference.

CHANGELOG_BEGIN
CHANGELOG_END
2020-11-04 12:44:56 +01:00
Martin Huschenbett
af3198ddee
Release 1.7.0-snapshot.2020.11.03 (#7869)
CHANGELOG_BEGIN
CHANGELOG_END
2020-11-03 17:56:46 +00:00
azure-pipelines[bot]
a3b5fb1876
release 1.7.0-snapshot.20201027.5530.0.bdbf8977 (#7822)
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.

@aherrmann-da is in charge of this release.

CHANGELOG_BEGIN
CHANGELOG_END

Co-authored-by: Azure Pipelines DAML Build <support@digitalasset.com>
2020-10-28 10:23:15 +01:00
nickchapman-da
c52fff58af
update LATEST (#7793)
changelog_begin
changelog_end
2020-10-23 14:02:31 +01:00
Samir Talwar
72e5e6e290
Release version 1.6.1-snapshot.20201021.5317.0.aafe46a5. (#7767)
Cut from the 1.6.x release branch.

CHANGELOG_BEGIN
CHANGELOG_END
2020-10-21 15:08:43 +00:00
azure-pipelines[bot]
5f8c3a2dcc
release 1.7.0-snapshot.20201020.5481.0.03a03957 (#7754)
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.

@nickchapman-da is in charge of this release.

CHANGELOG_BEGIN
CHANGELOG_END

Co-authored-by: Azure Pipelines DAML Build <support@digitalasset.com>
2020-10-21 09:31:11 +01:00
Moritz Kiefer
a47bd9eef0
Release SDK 1.6.0 (#7692)
changelog_begin
changelog_end
2020-10-15 10:47:32 +02:00
azure-pipelines[bot]
c6c889a114
release 1.7.0-snapshot.20201013.5418.0.bda13392 (#7676)
snapshot release

CHANGELOG_BEGIN
CHANGELOG_END

Co-authored-by: Azure Pipelines DAML Build <support@digitalasset.com>
2020-10-14 13:40:11 +02:00
Moritz Kiefer
dc6c697339
Release 1.7 snapshot (#7653)
Includes the fix from #7651 so hopefully this one will work.

changelog_begin
changelog_end
2020-10-12 17:56:15 +02:00
Moritz Kiefer
a66b57cb06
Release RC3 for SDK 1.6.0 (#7650)
This includes the backport of a bug in the postgresql migrations for
Sandbox classic: d21cb496b7

changelog_begin
changelog_end
2020-10-12 14:53:54 +00:00
tudor-da
cecf8e997a
Snapshot release DAML SDK for 1.7.0 (#7644)
CHANGELOG_BEGIN
CHANGELOG_END
2020-10-12 15:56:11 +02:00
Moritz Kiefer
2b65eae0fe
Release another 1.6.0 snapshot (#7603)
* Release another 1.6.0 snapshot

This includes the backported timeout bump from 5cb20c1145.

changelog_begin
changelog_end

* add gsg fix

Co-authored-by: Gary Verhaegen <gary.verhaegen@digitalasset.com>
2020-10-07 22:13:43 +02:00
azure-pipelines[bot]
25c76d38c3
release 1.7.0-snapshot.20201006.5358.0.0c1cadcf (#7588)
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.

@hurryabit is in charge of this release.

CHANGELOG_BEGIN
CHANGELOG_END
2020-10-07 11:13:25 +02:00
azure-pipelines[bot]
26d949bc51
release 1.6.0-snapshot.20200929.5303.0.f1e58206 (#7522)
* release 1.6.0-snapshot.20200929.5303.0.f1e58206

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.

CHANGELOG_BEGIN
CHANGELOG_END

* Bump release commit

changelog_begin
changelog_end

Co-authored-by: Azure Pipelines DAML Build <support@digitalasset.com>
Co-authored-by: Moritz Kiefer <moritz.kiefer@purelyfunctional.org>
2020-09-30 14:17:46 +01:00
azure-pipelines[bot]
3e09e9b4d9
release 1.6.0-snapshot.20200922.5258.0.cd4a06db (#7462)
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.

@S11001001 is in charge of this release.

CHANGELOG_BEGIN
CHANGELOG_END

Co-authored-by: Azure Pipelines DAML Build <support@digitalasset.com>
2020-09-23 09:28:41 -04:00
azure-pipelines[bot]
2fe9eae394
release 1.6.0-snapshot.20200915.5208.0.09014dc6 (#7410)
@stefanobaghino-da is in charge of this release.

CHANGELOG_BEGIN
CHANGELOG_END

Co-authored-by: Azure Pipelines DAML Build <support@digitalasset.com>
2020-09-16 12:39:31 +02:00
Moritz Kiefer
fcc7c928e2
Release 1.5.0 (#7412)
Note that following the changed process for release notes which now
just point to the blog, this does not include an update to the release
notes in the rst file.

changelog_begin
changelog_end
2020-09-16 10:51:45 +02:00
Moritz Kiefer
719ca468bd
Release new snapshot (#7350)
With the last one being the RC for 1.5.0, this is now a 1.6.0
snapshot.

changelog_begin
changelog_end
2020-09-09 08:47:48 +00:00
Moritz Kiefer
82c4971d91
Release a new snapshot (#7335)
Includes a bugfix for data-dependencies which we want in 1.5.0.

changelog_begin
changelog_end
2020-09-07 16:56:34 +02:00
azure-pipelines[bot]
3f1aa593b4
release 1.5.0-snapshot.20200902.5118.0.2b3cf1b3 (#7296)
* release 1.5.0-snapshot.20200901.5116.0.4460cb5e

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.

@rohanjr is in charge of this release.

CHANGELOG_BEGIN
CHANGELOG_END

* release 1.5.0-snapshot.20200902.5118.0.2b3cf1b3

Co-authored-by: Azure Pipelines DAML Build <support@digitalasset.com>
Co-authored-by: Samir Talwar <samir.talwar@digitalasset.com>
2020-09-02 11:27:57 -04:00
azure-pipelines[bot]
cc6625918d
release 1.5.0-snapshot.20200825.5071.0.d33e130f (#7233)
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.

@leo-da is in charge of this release.

CHANGELOG_BEGIN
CHANGELOG_END

Co-authored-by: Azure Pipelines DAML Build <support@digitalasset.com>
2020-08-26 08:49:52 -04:00
azure-pipelines[bot]
ed73352843
release 1.5.0-snapshot.20200818.5027.0.1b33d374 (#7173)
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.

@garyverhaegen-da is in charge of this release.

CHANGELOG_BEGIN
CHANGELOG_END

Co-authored-by: Azure Pipelines DAML Build <support@digitalasset.com>
2020-08-19 10:09:16 +02:00
Moritz Kiefer
27d847a0ea
Release SDK 1.4.0 (#7094)
* Release SDK 1.4.0

changelog_begin
changelog_end

* Update docs for daml on sql

changelog_begin
changelog_end

* Update highlights as well

changelog_begin
changelog_end

* Fix rst

changelog_begin
changelog_end
2020-08-12 13:12:17 +02:00
azure-pipelines[bot]
256f3be5b9
release 1.5.0-snapshot.20200811.4959.0.bbc2fe56 (#7093)
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.

@garyverhaegen-da is in charge of this release.

CHANGELOG_BEGIN
CHANGELOG_END

Co-authored-by: Azure Pipelines DAML Build <support@digitalasset.com>
2020-08-12 12:14:30 +02:00
azure-pipelines[bot]
c9415f4dbb
release 1.5.0-snapshot.20200804.4902.0.de2fef6b (#6995)
release 1.5.0-snapshot.20200804.4902.0.de2fef6b

CHANGELOG_BEGIN
CHANGELOG_END
2020-08-05 13:30:41 +02:00
Stefano Baghino
08d4bb0a21
Release new snapshot (#6909)
changelog_begin
changelog_end
2020-07-29 09:48:55 +00:00
Gary Verhaegen
74de05d9dd
dummy release (#6856)
This is meant to test #6817. There is no user-visible reason for cutting
this release.

CHANGELOG_BEGIN
CHANGELOG_END
2020-07-24 16:49:29 +02:00
Moritz Kiefer
23cf3e97cf
Release a bugfix snapshot (#6835)
This includes https://github.com/digital-asset/daml/pull/6834 which is
a blocker for a demo app.

changelog_begin
changelog_end
2020-07-22 18:53:09 +00:00
nickchapman-da
8b4f73983b
release-2020-07-22 (#6830) 2020-07-22 16:10:56 +01:00
Moritz Kiefer
ebacb34caa
Release SDK 1.3.0 (#6753)
changelog_begin
changelog_end
2020-07-16 12:07:34 +02:00
Rohan Jacob-Rao
43bf8ab7c9
Release 1.4.0 snapshot (#6741)
changelog_begin
changelog_end
2020-07-15 12:00:54 -04:00
Moritz Kiefer
10beda69d3
Release RC 2 for SDK 1.3.0 (#6731)
This includes (only) the bugfix for the ledger offset stuff in the
ledger API server.

changelog_begin
changelog_end
2020-07-15 00:34:32 +02:00
Moritz Kiefer
753221f475
Release yet another snapshot (#6652)
changelog_begin
changelog_end
2020-07-08 15:06:34 +00:00
Moritz Kiefer
bdf20befb1
Release 1.3.0 snapshot (#6623)
* Release 1.3.0 snapshot

This includes the fix for the indexer, a fix for the stackoverflow and
unpublishes daml-on-sql from GH releases.

changelog_begin
changelog_end

* Bump commit

changelog_begin
changelog_end
2020-07-06 17:57:11 +00:00
Moritz Kiefer
303d047516
Release a hotfix snapshot (#6616)
Note for reviewers: This is a hotfix for a snapshot. I’m not going to
into why we need this here. As for the version number we decided that
the least confusing option here is the following:

Use the sha and number of commits as usual but use the date of the
original snapshot that we are patching here.

changelog_begin
changelog_end
2020-07-06 13:06:48 +00:00
Sofia Faro
1908328383
Prepare snapshot release (#6559)
changelog_begin
changelog_end
2020-07-01 12:43:47 +02:00
Martin Huschenbett
cb82a8d6be
Release SDK 1.3.0-snapshot.20200623 (#6472)
CHANGELOG_BEGIN
CHANGELOG_END
2020-06-24 12:26:02 +02:00
Moritz Kiefer
9dc1885140
Release new snapshot (#6381)
For realz this time (hopefully).

changelog_begin
changelog_end
2020-06-17 21:51:28 +02:00
Moritz Kiefer
c585179279
Release new snapshot (#6375)
changelog_begin
changelog_end
2020-06-17 11:15:25 +02:00
Rohan Jacob-Rao
4b7bcc21df
Release 1.3.0 snapshot (#6294)
changelog_begin
changelog_end
2020-06-11 09:00:50 +02:00
Moritz Kiefer
b8a69399e1
Release SDK 1.2.0 (#6282)
* Release SDK 1.2.0

changelog_begin
changelog_end

* Remove what’s coming section

changelog_begin
changelog_end
2020-06-10 10:36:31 +00:00
Stefano Baghino
c2a7c4966c
Release new snapshot (#6207)
changelog_begin
changelog_end
2020-06-03 13:31:34 +02:00
Gary Verhaegen
81aff44497
1.2.0-snapshot.20200602.4310.0.1c18058f (#6201)
Includes the #6197 backport.

CHANGELOG_BEGIN
CHANGELOG_END
2020-06-03 08:12:05 +02:00
Moritz Kiefer
94664db5ee
Release new snapshot (#6154)
New snapshot to include the `module-prefixes` feature. Hopefully this
is everything we need in 1.2.

changelog_begin
changelog_end
2020-05-29 10:58:24 +02:00
Moritz Kiefer
2d20948992 Release snapshot (#6117)
changelog_begin
changelog_end
2020-05-27 11:47:56 +02:00
Gary Verhaegen
d56b5adc1a
1.2.0-snapshot.20200520.4228.0.595f1e27 (#6048)
CHANGELOG_BEGIN
CHANGELOG_END
2020-05-20 17:29:33 +02:00
Gary Verhaegen
efe6545c2c
1.2.0-snapshot.20200520.4224.0.2af134ca (#6040)
CHANGELOG_BEGIN
CHANGELOG_END
2020-05-20 13:46:49 +02:00
Gary Verhaegen
fb6dc904a4
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:

```
f050da78c9 1.0.0-snapshot.20200411.3905.0.f050da78
```

To mark a release as stable, we would change it to look like this:

```
f050da78c9 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 19:18:10 +02:00
Gary Verhaegen
9d5e0d5654
1.2.0-snapshot.20200513.4172.0.021f4af3 (#5960)
CHANGELOG_BEGIN
CHANGELOG_END
2020-05-13 15:40:18 +02:00
Moritz Kiefer
e023fdf347
Release 1.1.0 snapshot (#5864)
This is supposed to be the snapshot that will be turned into 1.1.0
proper.

changelog_begin
changelog_end
2020-05-06 14:00:35 +02:00
Robin Krom
85224e0ca6
snapshot release (#5796) 2020-04-30 16:31:24 +02:00
Sofia Faro
0f8cb68ca2
Make a snapshot release (#5668)
changelog_begin
changelog_end
2020-04-22 13:07:58 +01:00
Moritz Kiefer
3803ef44c0
Release SDK 1.0 (#5558)
* Release SDK 1.0

changelog_begin
changelog_end

* Add known issue

Co-authored-by: Bernhard Elsner <bernhard.elsner@digitalasset.com>
2020-04-15 15:25:39 +02:00
Moritz Kiefer
8773001e72
Make a snapshot release (#5536)
This includes the fix for the sandbox migrations.

changelog_begin
changelog_end
2020-04-11 14:30:25 +00:00
Moritz Kiefer
d69d24a0c7
Snapshot release (attempt -9223372036854775808) (#5505)
changelog_begin
changelog_end
2020-04-08 20:27:31 +00:00
Moritz Kiefer
2e16e40bfe
Snapshot release (attempt I don’t know) (#5495)
changelog_begin
changelog_end
2020-04-08 18:07:49 +02:00
Gerolf Seitz
5a7160a10e
Tag 0.13.56-snapshot.20200407.3859.0.b488b353 (#5478)
CHANGELOG_BEGIN
CHANGELOG_END
2020-04-07 21:42:09 +00:00
Moritz Kiefer
f75c2e03b1
Make a snapshot release (#5462)
This is intended to be the next stable release.

changelog_begin
changelog_end
2020-04-07 14:24:11 +02:00
Moritz Kiefer
66f53292e7
Snapshot release (attempt 3) (#5439)
Last one failed at the end when publishing the protobuf, hopefully
should be fixed now.

changelog_begin
changelog_end
2020-04-04 19:41:19 +02:00
Moritz Kiefer
06ef97d6a8
Snapshot release (attempt 2) (#5433)
First one failed due to a race in the release notes.

changelog_begin
changelog_end
2020-04-04 08:50:58 +02:00
Moritz Kiefer
e4ec7ab405
Publish snapshot release (#5429)
This is not intended to be the next stable release, I just want to
test the Bintray removal and publishing the protobufs to github releases.

changelog_begin
changelog_end
2020-04-03 18:22:48 +02:00
Gary Verhaegen
86a36c2f51
snapshot 0.13.56-snapshot.20200331.3729.0.b43b8d86 (#5322)
CHANGELOG_BEGIN
CHANGELOG_END
2020-04-01 08:41:56 +02:00
Samir Talwar
ef6c09b1bd
Release: 2020-03-25. (#5188)
CHANGELOG_BEGIN
CHANGELOG_END
2020-03-25 18:15:29 +01:00
Shayne Fletcher
e9938c4da2
0.13.56-snapshot (#5064)
changelog_begin
changelog_end
2020-03-18 08:45:38 -04:00
Moritz Kiefer
3493b33de5
Release 0.13.55 (#5058)
changelog_begin
changelog_end
2020-03-18 11:53:57 +01:00
Gary Verhaegen
390bcf2ae3
retry release (#4914)
Retrying #4902 with #4912 and #4913.

CHANGELOG_BEGIN
CHANGELOG_END
2020-03-09 20:46:22 +01:00
Gerolf Seitz
72d5d6e02e
Set LATEST version for snapshot release. (#4902)
CHANGELOG_BEGIN
CHANGELOG_END
2020-03-09 17:16:52 +01:00
nickchapman-da
3239a810eb
Snapshot release (#4806)
changelog_begin
changelog_end
2020-03-04 14:11:13 +00:00
Gary Verhaegen
e91d6a1c2a
first snapshot release, attempt 6 (#4749)
Let's see how far we get with #4745.

It's a bit of a shame I can't retry the same commit multiple times.
Maybe I should have accounted for that in the version format...

CHANGELOG_BEGIN
CHANGELOG_END
2020-02-27 16:58:20 +01:00
Gary Verhaegen
4062107bfc
try release _again_ (#4742)
Trying out #4738...

CHANGELOG_BEGIN
CHANGELOG_END
2020-02-27 12:31:13 +01:00
Gary Verhaegen
9c414f3fed
snapshot release, attempt 4 (#4732)
CHANGELOG_BEGIN
CHANGELOG_END
2020-02-26 20:59:14 +01:00
Gary Verhaegen
6685becccc
first snapshot release, attempt 3 (#4727)
Hopefully #4721 and #4723 will let us fail a bit further in the process
this time.

CHANGELOG_BEGIN
CHANGELOG_END
2020-02-26 18:32:57 +01:00
Gary Verhaegen
dc5379a2b9
first snapshot release, attempt 2 (#4717)
Hopefully #4713 will allow us to get a bit further in the process.

CHANGELOG_BEGIN
CHANGELOG_END
2020-02-26 14:04:37 +01:00
Gary Verhaegen
c650ec058b
first ever snapshot release (#4694)
Exercising #4513.

CHANGELOG_BEGIN
CHANGELOG_END
2020-02-26 03:36:42 +01:00
Gary Verhaegen
5a117dc358
introduce new release process (#4513)
Context
=======

After multiple discussions about our current release schedule and
process, we've come to the conclusion that we need to be able to make a
distinction between technical snapshots and marketing releases. In other
words, we need to be able to create a bundle for early adopters to test
without making it an officially-supported version, and without
necessarily implying everyone should go through the trouble of
upgrading. The underlying goal is to have less frequent but more stable
"official" releases.

This PR is a proposal for a new release process designed under the
following constraints:

- Reuse as much as possible of the existing infrastructure, to minimize
  effort but also chances of disruptions.
- Have the ability to create "snapshot"/"nightly"/... releases that are
  not meant for general public consumption, but can still be used by savvy
  users without jumping through too many extra hoops (ideally just
  swapping in a slightly-weirder version string).
- Have the ability to promote an existing snapshot release to "official"
  release status, with as few changes as possible in-between, so we can be
  confident that the official release is what we tested as a prerelease.
- Have as much of the release pipeline shared between the two types of
  releases, to avoid discovering non-transient problems while trying to
  promote a snapshot to an official release.
- Triggerring a release should still be done through a PR, so we can
  keep the same approval process for SOC2 auditability.

The gist of this proposal is to replace the current `VERSION` file with
a `LATEST` file, which would have the following format:

```
ef5d32b7438e481de0235c5538aedab419682388 0.13.53-alpha.20200214.3025.ef5d32b7
```

This file would be maintained with a script to reduce manual labor in
producing the version string. Other than that, the process will be
largely the same, with releases triggered by changes to this `LATEST`
and the release notes files.

Version numbers
===============

Because one of the goals is to reduce the velocity of our published
version numbers, we need a different version scheme for our snapshot
releases. Fortunately, most version schemes have some support for that;
unfortunately, the SDK sits at the intersection of three different
version schemes that have made incompatible choices. Without going into
too much detail:

- Semantic versioning (which we chose as the version format for the SDK
  version number) allows for "prerelease" version numbers as well as
  "metadata"; an example of a complete version string would be
  `1.2.3-nightly.201+server12.43`. The "main" part of the version string
  always has to have 3 numbers separated by dots; the "prerelease"
  (after the `-` but before the `+`) and the "metadata" (after the `+`)
  parts are optional and, if present, must consist of one or more segments
  separated by dots, where a segment can be either a number or an
  alphanumeric string. In terms of ordering, metadata is irrelevant and
  any version with a prerelease string is before the corresponding "main"
  version string alone. Amongst prereleases, segments are compared in
  order with purely numeric ones compared as numbers and mixed ones
  compared lexicographically. So 1.2.3 is more recent than 1.2.3-1,
  which is itself less recent than 1.2.3-2.
- Maven version strings are any number of segments separated by a `.`, a
  `-`, or a transition between a number and a letter. Version strings
  are compared element-wise, with numeric segments being compared as
  numbers. Alphabetic segments are treated specially if they happen to be
  one of a handful of magic words (such as "alpha", "beta" or "snapshot"
  for example) which count as "qualifiers"; a version string with a
  qualifier is "before" its prefix (`1.2.3` is before `1.2.3-alpha.3`,
  which is the same as `1.2.3-alpha3` or `1.2.3-alpha-3`), and there is a
  special ordering amongst qualifiers. Other alphabetic segments are
  compared alphabetically and count as being "after" their prefix
  (`1.2.3-really-final-this-time` counts as being released after `1.2.3`).
- GHC package numbers are comprised of any number of numeric segments
  separated by `.`, plus an optional (though deprecated) alphanumeric
  "version tag" separated by a `-`. I could not find any official
  documentation on ordering for the version tag; numeric segments are
  compared as numbers.
- npm uses semantic versioning so that is covered already.

After much more investigation than I'd care to admit, I have come up
with the following compromise as the least-bad solution. First,
obviously, the version string for stable/marketing versions is going to
be "standard" semver, i.e. major.minor.patch, all numbers, which works,
and sorts as expected, for all three schemes. For snapshot releases, we
shall use the following (semver) format:

```
0.13.53-alpha.20200214.3025.ef5d32b7
```

where the components are, respectively:

- `0.13.53`: the expected version string of the next "stable" release.
- `alpha`: a marker that hopefully scares people enough.
- `20200214`: the date of the release commit, which _MUST_ be on
  master.
- `3025`: the number of commits in master up to the release commit
  (included). Because we have a linear, append-only master branch, this
  uniquely identifies the commit.
- `ef5d32b7ù : the first 8 characters of the release commit sha. This is
  not strictly speaking necessary, but makes it a lot more convenient to
  identify the commit.

The main downsides of this format are:

1. It is not a valid format for GHC packages. We do not publish GHC
  packages from the SDK (so far we have instead opted to release our
  Haskell code as separate packages entirely), so this should not be an
  issue. However, our SDK version currently leaks to `ghc-pkg` as the
  version string for the stdlib (and prim) packages. This PR addresses
  that by tweaking the compiler to remove the offending bits, so `ghc-pkg`
  would see the above version number as `0.13.53.20200214.3025`, which
  should be enough to uniquely identify it. Note that, as far as I could
  find out, this number would never be exposed to users.
2. It is rather long, which I think is good from a human perspective as
  it makes it more scary. However, I have been told that this may be
  long enough to cause issues on Windows by pushing us past the max path
  size limitation of that "OS". I suggest we try it and see what
  happens.

The upsides are:

- It clearly indicates it is an unstable release (`alpha`).
- It clearly indicates how old it is, by including the date.
- To humans, it is immediately obvious which version is "later" even if
  they have the same date, allowing us to release same-day patches if
  needed. (Note: that is, commits that were made on the same day; the
  release date itself is irrelevant here.)
- It contains the git sha so the commit built for that release is
  immediately obvious.
- It sorts correctly under all schemes (modulo the modification for
  GHC).

Alternatives I considered:

- Pander to GHC: 0.13.53-alpha-20200214-3025-ef5d32b7. This format would
  be accepted by all schemes, but will not sort as expected under semantic
  versioning (though Maven will be fine). I have no idea how it will sort
  under GHC.
- Not having any non-numeric component, e.g. `0.13.53.20200214.3025`.
  This is not valid semantic versioning and is therefore rejected by
  npm.
- Not having detailed info: just go with `0.13.53-snapshot`. This is
  what is generally done in the Java world, but we then lose track of what
  version is actually in use and I'm concerned about bug reports. This
  would also not let us publish to the main Maven repo (at least not more
  than once), as artifacts there are supposed to be immutable.
- No having a qualifier: `0.13.53-3025` would be acceptable to all three
  version formats. However, it would not clearly indicate to humans that
  it is not meant as a stable version, and would sort differently under
  semantic versioning (which counts it as a prerelease, i.e. before
  `0.13.53`) than under maven (which counts it as a patch, so after
  `0.13.53`).
- Just counting releases: `0.13.53-alpha.1`, where we just count the
  number of prereleases in-between `0.13.52` and the next. This is
  currently the fallback plan if Windows path length causes issues. It
  would be less convenient to map releases to commits, but it could still
  be done via querying the history of the `LATEST` file.

Release notes
=============

> Note: We have decided not to have release notes for snapshot releases.

Release notes are a bit tricky. Because we want the ability to make
snapshot releases, then later on promote them to stable releases, it
follows that we want to build commits from the past. However, if we
decide post-hoc that a commit is actually a good candidate for a
release, there is no way that commit can have the appropriate release
notes: it cannot know what version number it's getting, and, moreover,
we now track changes in commit messages. And I do not think anyone wants
to go back to the release notes file being a merge bottleneck.

But release notes need to be published to the releases blog upon
releasing a stable version, and the docs website needs to be updated and
include them.

The only sensible solution here is to pick up the release notes as of
the commit that triggers the release. As the docs cron runs
asynchronously, this means walking down the git history to find the
relevant commit.

> Note: We could probably do away with the asynchronicity at this point.
> It was originally included to cover for the possibility of a release
> failing. If we are releasing commits from the past after they have been
> tested, this should not be an issue anymore. If the docs generation were
> part of the synchronous release step, it would have direct access to the
> correct release notes without having to walk down the git history.
>
> However, I think it is more prudent to keep this change as a future step,
> after we're confident the new release scheme does indeed produce much more
> reliable "stable" releases.

New release process
===================

Just like releases are currently controlled mostly by detecting
changes to the `VERSION` file, the new process will be controlled by
detecting changes to the `LATEST` file. The format of that file will
include both the version string and the corresponding SHA.

Upon detecting a change to the `LATEST` file, CI will run the entire
release process, just like it does now with the VERSION file. The main
differences are:

1. Before running the release step, CI will checkout the commit
  specified in the LATEST file. This requires separating the release
  step from the build step, which in my opinion is cleaner anyway.
2. The `//:VERSION` Bazel target is replaced by a repository rule
  that gets the version to build from an environment variable, with a
  default of `0.0.0` to remain consistent with the current `daml-head`
  behaviour.

Some of the manual steps will need to be skipped for a snapshot release.
See amended `release/RELEASE.md` in this commit for details.

The main caveat of this approach is that the official release will be a
different binary from the corresponding snapshot. It will have been
built from the same source, but with a different version string. This is
somewhat mitigated by Bazel caching, meaning any build step that does
not depend on the version string should use the cache and produce
identical results. I do not think this can be avoided when our artifact
includes its own version number.

I must note, though, that while going through the changes required after
removing the `VERSION` file, I have been quite surprised at the sheer number of
things that actually depend on the SDK version number. I believe we should
look into reducing that over time.

CHANGELOG_BEGIN
CHANGELOG_END
2020-02-25 17:01:23 +01:00