* Add a Ledger API changelog
changelog_begin
changelog_end
* Update docs/source/support/compatibility.rst
Co-authored-by: Bernhard Elsner <40762178+bame-da@users.noreply.github.com>
Co-authored-by: Bernhard Elsner <40762178+bame-da@users.noreply.github.com>
fixes#8966
changelog_begin
- [Daml Studio] Failed scripts (and scenarios) now also offer the
option to view the table view at the state before the failing
transaction to ease debugging.
changelog_end
* Fix daml-sdk-head Maven install
There were two issues:
1. The generated pom.xml used to install everything in one step
referenced the source files in the bazel directory rather than the
released artifacts. This luckily worked so far but falls apart now
since the 2.13 build overwrites the 2.12 build. Same issues that also
blew up the actual release on Thursday.
2. Two artifacts are published as shaded jars. We treated those like
Scala artifacts while they should be treated more like fat
jars. They’re not quite like those since the file paths are different
so I gave them a new release type.
changelog_begin
changelog_end
* shut up hlint
changelog_begin
changelog_end
* Fix broken comment for jarjar
changelog_begin
changelog_end
* damlc test: feature: add --all flag.
This adds a flag `--all` that will test all present scenarios/scripts in
the code and also report code coverage with respect to all present
templates/choices, whereas without the flag, code coverage is reported
relative to a single package.
CHANGELOG_BEGIN
[damlc test] Added a `--all` flag to test all present scripts/scenarios.
CHANGELOG_END
* Helpers to create test ACS and TransactionTree
changelog_begin
changelog_end
* use mutable count
c62fff7921 (r583743837)
Co-authored-by: Andreas Herrmann <andreas.herrmann@tweag.io>
* Fix closure references in Daml Repl
Turns out the comment "we probably need to extend this to merge the
modules from each line" was exactly correct: If the result evaluates
to a closure (or a value including a closure), it can reference
definitions from the current module. This happens if the simplifier
lifted something out of the current definition (otherwise we have only
one and it cannot be recursive so no chance of leaking a reference).
This PR fixes this by checking whether the result references the
current module and if it does, we keep it around.
changelog_begin
changelog_end
* Address review comments
changelog_begin
changelog_end
* fmt
changelog_begin
changelog_end
* Temporarily cut compatibility tests with incompatible versions of Daml-LF
This adds more tests to the exclusions added as part of #8957
All SDK/platform compatibility tests are not filtered to use compatible
Daml-LF versions, not just those involving the Ledger API Test Tool.
changelog_begin
changelog_end
* Fix Bazel code
* use scalaz.std.iterable
* Use submitMulti for sequence of creates
Instead of submitMultiTree, which is not necessary in such cases.
Avoids redundant binds, i.e. when we only bind one result and it is from
the last action.
changelog_begin
changelog_end
* Extend EncodeTreeSpec
* Factor out encoding created events
* Factor out encodeSubmitCreatedEvents
* Remove redundant encodeSubmitCreatedEvent
* Test encoding multiple creates
* Drop redundant case
* Fix duplicate created event
* Avoid .last
* Use traverse
* Avoid silently discarded return values
* mkCreate helper in EncodeTreeSpec
* mkExercised helper in EncodeTreeSpec
Co-authored-by: Andreas Herrmann <andreas.herrmann@tweag.io>
These cause spurious failures on CI.
As described in the code, the proper fix is to use the correct Daml-LF version for every pair.
changelog_begin
changelog_end
We initially did not commit this since keeping it in sync is
annoying. We cannot use a symlink because Windows. However, it changes
sufficiently rarely that checking it in + a check that the two are in
sync seems less fragile than the current state.
changelog_begin
changelog_end
1. Correct link for the releases page
2. Move Windows up because I thought I was done with Windows after the
create-daml-app test and I killed my machine.
CHANGELOG_BEGIN
CHANGELOG_END
Turns out, attempt 1 at fixing the release process didn’t go as
planned. We only released Scala 2.13 artifacts but called some of them
2.12. Now you can argue that’s a feature but unfortunately some people
disagree so this PR fixes the issue:
While we took care to read the poms while the env var is still set we
had a single copying step at the end where the files were already
overwritten. This PR changes that by copying after each call to `bazel
build` to make sure that things are not overwritten.
This does slightly change the semantics, if you have an error (e.g.,
invalid group id, missing dep, …) we will now copy parts to the
release dir whereas before we copied all or nothing. I don’t see any
issues arising from it so I don’t think copying to a temp dir or
something like that to avoid this is worth the complexity.
changelog_begin
changelog_end
@garyverhaegen-da is taking care of 1.11.0-snapshot.20210224.6385.0.dba114a2 (#8945), so they get pushed back to the end of the line.
Please do not merge this before #8924.
CHANGELOG_BEGIN
CHANGELOG_END
Co-authored-by: Azure Pipelines DAML Build <support@digitalasset.com>
* Merge Maven uploads for different Scala versions
It turns out Maven will abort an existing staging operation if you
create a new one. This means our jobs race against each other. We
could try to fix that by either sequencing the jobs in a clever
way (annoying and can break things like rerunning if only parts
failed), or by creating more profiles (unclear if you can even have
two profiles for the same group id, even if you do, it’s annoying to
merge).
So in this PR I (grudgingly) merged both uploads into the Haskell
script. This isn’t all bad:
1. It moves some logic from bash embedded in yaml string literals into
Haskell code.
2. It duplicates some versions but it removes duplication in other
places so overall not too much worse.
3. It does however, make things slower. We don’t run this stuff in
parallel. That said, the release step is relatively small (< 5min) and
it only runs on Linux.
We could add CLI arguments to make the Scala versions configurable for
local development. Given that this is blocking releases, I wanted to
get something in that works first and then see what we need in that regard.
changelog_begin
changelog_end
* .
changelog_begin
changelog_end
* .
changelog_begin
changelog_end
* .
changelog_begin
changelog_end
Older versions emit security warnings. I went through the getting
started guide and CI should also test this so reasonable confident it
doesn’t break things™.
changelog_begin
changelog_end
CHANGELOG_BEGIN
- [LF] Release LF 1.12. This version reduce the size of transaction
- [Compiler]: Change the default LF output from 1.8 to 1.11.
CHANGELOG_END
Not perfect but probably much cleaner than what we had before. Some
of the orders can definitely be debated and I don’t have strong
feelings beyond the first 5 so if someone feels strongly, I’m open to
changing things.
New output:
Usage: damlc repl [DAR] [-i|--import PACKAGE]
[--ledger-host ARG --ledger-port ARG]
[--access-token-file TOKEN_PATH] [--application-id ARG]
[--tls] [--cacrt ARG] [--pem ARG --crt ARG]
[--max-inbound-message-size ARG]
[(-w|--wall-clock-time) | (-s|--static-time)]
[--project-root ARG] [--project-check]
[--include INCLUDE-PATH] [--package-db LOC-OF-PACKAGE-DB]
[--shake-profiling PROFILING-REPORT] [--jobs THREADS]
[--debug] [--ghc-option OPTION]
Launch the Daml REPL.
Available options:
-h,--help Show this help text
DAR DAR to load in the repl
-i,--import PACKAGE Import modules of these packages into the REPL
--ledger-host ARG Host of the ledger API
--ledger-port ARG Port of the ledger API
--access-token-file TOKEN_PATH
Path to the token-file for ledger authorization
--application-id ARG Application ID used for command submissions
--tls Enable TLS for the connection to the ledger. This is
implied if --cacrt, --pem or --crt are passed
--cacrt ARG The crt file to be used as the trusted root CA.
--pem ARG The pem file to be used as the private key in mutual
authentication.
--crt ARG The crt file to be used as the cert chain in mutual
authentication.
--max-inbound-message-size ARG
Optional max inbound message size in bytes.
-w,--wall-clock-time Use wall clock time (UTC). (this is the default)
-s,--static-time Use static time.
--project-root ARG Path to the root of a project containing daml.yaml.
You should prefer the DAML_PROJECT environment
variable over this option.See
https://docs.daml.com/tools/assistant.html#running-commands-outside-of-the-project-directory
for more details.
--project-check Check if running in Daml project.
--include INCLUDE-PATH Path to an additional source directory to be included
--package-db LOC-OF-PACKAGE-DB
use package database in the given location
--shake-profiling PROFILING-REPORT
Directory for Shake profiling reports
--jobs THREADS The number of threads to run in parallel. When -j is
not passed, 1 thread is used. If -j is passed, the
number of threads defaults to the number of
processors. Use --jobs=N to explicitely set the
number of threads to N. Note that the output is not
deterministic for > 1 job.
--debug Enable debug output
--ghc-option OPTION Options to pass to the underlying GHC
changelog_begin
changelog_end
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>
The tests start the stream in parallel to submitting commands. This is
problematic since it means that those commands can either be included
in the ACS block or they can come after the ACS block. This PR polls
for the ACS block upfront which makes sure that the commands come afterwards.
changelog_begin
changelog_end
We change the color from red to yellow to inform about the possibility
to rebuild and also output the success message in green.
CHANGELOG_BEGIN
CHANGELOG_END
* Ledger API test tool: test against legacy and preview version.
+ use dictionary instead of alias to map version keywords to LF version
CHANGELOG_BEGIN
CHANGELOG_END
* Use com.daml.ledger.api.refinements.ApiTypes.ContractId
https://github.com/digital-asset/daml/pull/8898#discussion_r579148842
changelog_begin
changelog_end
* Use com.daml.ledger.api.refinements.ApiTypes.Party
changelog_begin
changelog_end
Co-authored-by: Andreas Herrmann <andreas.herrmann@tweag.io>
There is really no reason to first capture this to a String and then
putStrLn it. That only causes issues since if we crash with a non-zero
exitcode we won’t output anything.
changelog_begin
changelog_end
* non-empty newtypes
* an operation
* add some map/set operations and make everything compile on 2.12 and 2.13
* +-: and :-+, with compatibility layer; docs
* move to nonempty package; add aliases for cons/snoc; fix SeqOps aliases
* ensure 2.12 aliases are inferrable
* groupBy1 and toList, use to prove uniqueSets's invariants
* prove immutability first
* matching variance in aliases
* prove the return property of uniqueSets, and use the proof
* tests for NonEmpty API
* rename sci alias to imm
* move RefinedOps to more obvious location
* more docs
CHANGELOG_BEGIN
CHANGELOG_END
* remove unused imports
* illustrate the scala.collection.Seq problem
* ideas for extension
* tests for toF
* tests for +-:
* explain difference with OneAnd
improve previous generalization from #8695
- use lf version instead keyword (like 'stable', 'latest', 'dev') to
tag actual target. This will allow two keywords to map to the same
versions without doing twice the compilation/test work.
- use alias to map keywords tag target to versioned tag target.
- move package manage dar to test_commong.
CHANGELOG_BEGIN
CHANGELOG_END
* Enable migration only option for startup
CHANGELOG_BEGIN
[Daml Driver for PostgreSQL] Enable migrate only option at startup
CHANGELOG_END
* scalafmt
* Rationalize names of the sql start modes
* no op ledger
* scalafmt
* WIP: choose to run migrationOnly in Main
* revert changes to startup options for sandboxnext
* add sql-start-mode parameter to CLI, validate it
* scalafmt
* Update documentation
* delete some WIP experiments
* removed unused import
* Reorder migrate to properly initialize dao
* use lowercase delimitted options rather than initial caps for sql-start-mode options
* remove redundant parens
* exit after running migration scripts
* return future for flyway migration, only exit on complete, use cached threadpool execution context
* scalafmt
* correct options in docs to lowercase dash delimited