* Split read and write claims
Fixes#3398
CHANGELOG_BEGIN
- [Sandbox] Added support JWT tokens that only authorize to read data, but not to act on the ledger.
CHANGELOG_END
* java-bindings: use LinkedHashMap asunderlying Map for DamlGenMap
* Address Samir's comments
* java-codegen: make DamlList, DamlMap and DamlGenMap immutable
* Address Samir's comments
* Adress Gerolf's comments
* more cleanup
* fix value generator
* Address Gerolf's comments:
CHANGELOG_BEGIN
[Java Bindings]
* Rename ``DamlMap`` to ``DamlTextMap``
* ``DamlCollectors`` class provides Collectors to build more easily ``DamlList`` and ``DamlTextMap``
* Change the recommended method to convert ``DamlValue`` containers from/to Java Bindings containers.
See `docs/source/app-dev/bindings-java/codegen.rst` for more details the new methodology.
CHANGELOG_END
* fix tests
* Add template id filtering to triggers
CHANGELOG_BEGIN
- [Daml Triggers - Experimental] DAML triggers now allow you to specify which templates you want to listen for which can improve performance.
CHANGELOG_END
* Address review comments
* Fix list-triggers test
Instead of passing around MetricsManager just for the timedFuture
method, we pass the underlying MetricRegistry directly and use
the timedFuture function as an actual function (passing in a timer metric).
The Sandbox still starts the JmxReporter, but the integrator of the Indexer
and the Ledger API Server needs to enable the reporting facilities themselves.
CHANGELOG_BEGIN
- [Ledger] Ledger API Server and Indexer now accept an instance of ``MetricRegistry`` as parameters. This gives implementors of ledger integrations the most flexibility to set up metrics reporting that works best for them.
CHANGELOG_END
* support authenticating ledgers in haskell ledger bindings
* address comments
CHANGELOG
- [Haskell Ledger Bindings] - support for passing `JWT` tokens to authenticating ledgers.
Currently if the docs script fails, the Slack message we get mentions the commit title of the docs version that failed to build, which is not super useful. This ensures we get back to the current commit regardless of what happens with the Haskell script.
* Fix unreleased.sh
The usage of `git log` to avoid printing the diff of each commit turned
out to cause the commit to be interpreted as a revision range reachable
from said commit, which breaks unreleased.sh. This commit reverts to
using `git show` but with `--quiet` to avoid printing the diff, as
originally planned.
* Update unreleased.sh
Co-Authored-By: Samir Talwar <samir.talwar@digitalasset.com>
CHANGELOG_BEGIN
- [DAML Ledger Integration Kit] The Ledger API Test Tool no longer shows
individual test duration colored based on how they lasted.
CHANGELOG_END
* Generate API docs for DAML script and include them in the SDK docs
* Update daml-script/daml/Daml/Script.daml
Co-Authored-By: Martin Huschenbett <martin.huschenbett@posteo.me>
* Split out ledger api test tool transaction tests related to scale
This enables ledger providers to meet conformance targets first before
tackling the scale / large transactions tests.
* Update ledger/ledger-api-test-tool/src/main/scala/com/daml/ledger/api/testtool/tests/TransactionScale.scala
Co-Authored-By: Samir Talwar <samir.talwar@digitalasset.com>
* Update ledger/ledger-api-test-tool/src/main/scala/com/daml/ledger/api/testtool/tests/TransactionScale.scala
Co-Authored-By: Samir Talwar <samir.talwar@digitalasset.com>
* build a single graph to replace the two-ConnectionIO setup
- readOffsetFromDbOrFetchFromLedger and contractsFromOffsetIo duplicate
some CIO work; we can cat the ACS and txns into a single stream and
treat them once
- also useful for in-memory query
* make contractsFromOffsetIo fetch ACS if at begin; stop using contractsToOffsetIo
* remove another unused function; comment transactionsFollowingBoundary
* factor out last flow
Fixes#3513.
* Add metrics to track commands
- Meter: CommandSubmission.failedCommandInterpretations
- Timer: CommandSubmission.submittedTransactions
* Add metrics to JdbcIndexer
- Gauge: JdbcIndexer.lastReceivedRecordTime
- Gauge: JdbcIndexer.lastReceivedOffset
- Gauge: JdbcIndexer.currentRecordTimeLag
- Timer: JdbcIndexer.processedStateUpdates
* Allow setting a custom JMX domain.
We don't want to use com.digitalasset.platform.sandbox
for the ledger-api server and indexer.
* Add interceptor that automatically meters incoming grpc service calls.
CHANGELOG_BEGIN
- [Ledger] Add various metrics to track gRPC requests, command submissions, and state update processing. See `#3513 <https://github.com/digital-asset/daml/issues/3513>`__.
CHANGELOG_END
* Start working on getting rid of unreleased.rst
Document new process in CONTRIBUTING.md,
.github/pull_request_template.md and unreleased.rst (for good measure)
Report the previous changelog additions here so that they're not lost in
the mist of times.
CHANGELOG_BEGIN
- [DAML Stdlib] Added the ``NumericScale`` typeclass, which improves the type inference for Numeric literals, and helps catch the creation of out-of-bound Numerics earlier in the compilation process.
- [DAML Triggers] ``emitCommands`` now accepts an additional argument
that allows you to mark contracts as pending. Those contracts will
be automatically filtered from the result of ``getContracts`` until
we receive the corresponding completion/transaction.
- [Navigator] Fixed a bug where Navigator becomes unresponsive if the ledger does not contain any DAML packages.
- [Ledger-API] Add field ``gen_map`` in Protobuf definition for ledger
api values. This field is used to support generic maps, an new
feature currently in development. See issue
https://github.com/digital-asset/daml/pull/3356 for more details
about generic maps.
The Ledger API will send no messages where this field is set, when
using a stable version of DAML-LF. However the addition of this
field may cause pattern-matching exhaustive warnings in the code of
ledger API clients. Those warnings can be safely ignored until
GenMap is made stable in an upcoming version of DAML-LF.
- [JSON API - Experimental] CLI configuration to enable serving static content as part of the JSON API daemon:
``--static-content "directory=/full/path,prefix=static"``
This configuration is NOT recommended for production deployment. See issue #2782.
- [Extractor] The app can now work against a Ledger API server that requires client authentication. See `issue #3157 <https://github.com/digital-asset/daml/issues/3157>`__.
- [DAML Script] This release contains a first version of an experimental DAML script
feature that provides a scenario-like API that is run against an actual ledger.
- [DAML Compiler] The default DAML-LF version is now 1.7. You can
still produce DAML-LF 1.6 by passing ``--target=1.6`` to ``daml
build``.
- [JSON API - Experimental] The database schema has changed; if using
``--query-store-jdbc-config``, you must rebuild the database by adding
``,createSchema=true``.
See `issue #3461 <https://github.com/digital-asset/daml/pull/3461>`_.
- [JSON API - Experimental] Terminate process immediately after creating schema. See issue #3386.
- [DAML Stdlib] ``fromAnyChoice`` and ``fromAnyContractKey`` now take
the template type into account.
CHANGELOG_END
* Document new release process to gather changelog additions
* Change the release script to ignore unreleased.rst
* Remove spurious unreleased.rst lines
* Transition to use tags
* Document new way to get changelog additions with tags
* Update release/RELEASE.md
Co-Authored-By: Gary Verhaegen <gary.verhaegen@digitalasset.com>
* Address https://github.com/digital-asset/daml/pull/3547#discussion_r348438786
* Document correction process
* Add copyright header to unreleased.sh
* Update CONTRIBUTING.md
Co-Authored-By: Gary Verhaegen <gary.verhaegen@digitalasset.com>
* Modify CONTRIBUTING.md after @garyverhaegen-da's proposal
* Make unreleased.sh run per commit and treat tags as case-insensitive
* Fix documentation for replacements
* Fix pip and pipenv
Since the latest nixpkgs update pip is no longer contained in the python
derivation but instead in its own `python37Packages.pip` derivation.
Additionally the pipenv version in nixpkgs is incompatible with the pip
version, as pipenv expects a module to be present which is only
available in later versions. This change overrides pip with a version
update to fix this issue.
Upstream nixpkgs has already updated pip accordingly
* Update nixpkgs
The versions of `pipenv` and `pip` contained in `nixpkgs` where
previously incompatible. They are compatible in the new `nixpkgs`
revision.
Just overriding the pip version caused too many uncached rebuilds and
timed out on CI.
* Update nixpkgs further
To incorporate
efce3c1367
* Try to build fewer GHCs
* nix: drop sass override
nixpkgs-unstable is on the same page.
* nix: use upstream chromedriver
* nix: remove pex override
* nix: drop pypi2nix override
* Fix bazel-watcher
* try upgrading rules go
* Remove overrides for ibazel
* Upgrade rules_go
* Remove references to sass overrides
* add error codes for overloaded and internal error
* change wording in error description strings
* scala formatting
* use string interpolation intead of concatenation
* address issues found in peer review
- moved comparableTransaction[tree]s helpers to companion object
as suggested in https://github.com/digital-asset/daml/pull/3475#pullrequestreview-317474464
- applied helpers to two additional tests
- strip offset in addition to command-ids as offsets drift apart over time
depending on differing heartbeats and different sets of hosted party and thus different
party-relevant events
- modified two tests to be single-node as look-up by transaction/eventid assumes the events
are available locally
* generate choice instances for cross sdk dependencies
* add line to test cross-sdk exercise of choice
* revert to naming choice in GenerateSimpleDalf as "NotChoice"
* remove filter/special-handlimg for "Archive" choice
* dont assume a tycon with the same name as a choice; instead use type from chcArgBinder
* error if cant find the template datatype def
* naming
* avoid intercalate followed by re-split on "." in module name
* GenerateSimpleDalf: have two choices: one of record type, one of variant type
* Update Upgrade.hs
* added some linebreaks, spaces for readability
* address cosmetic comments
* use Sdk. prefix as necessary so tests work
* mollify hlint
* fix: daml-assistant/integration-tests
* Change title of release notes tab
This suggests that a new release is available, but not necessarily
installed. We do this for the case that the extension is updated
(which triggers the tab to open) but the actual SDK is not.
* Keep 'New'
Co-Authored-By: Martin Huschenbett <martin.huschenbett@posteo.me>
* replace JSON witnessParties column with a PG text[] column
* notes about the concurrent behavior of updateOffset
* include witness party in selectContracts query
* fmt
* fix witness_parties fetching in http-json tests
* release note
* typo in prior release note
* move new release note to bottom
* Add InsertOrdSet
A set with deterministic ordering.
* Add party to participant mappings as inputs to kvutils submissions
* Add InsertOrdSetTest, remove fromSet. Sort packages and parties.
* Apply suggestions from code review
Co-Authored-By: Remy <remy.haemmerle@daml.com>
* Add AbstractSet and SetLike traits to InsertOrdSet. Remove (Non)EmptyInsertOrdSet.
* MVP for a daml2ts codegen
This PR adds an MVP for a codegen for TypeScript.
Given a DAR, daml2ts replicates the structure of the serializable type
definitions in it as TypeScript type definitions following our JSON
representation of DAML-LF types. It also adds decoders for all these types,
which can be used to check where an arbitray JSON value has the given type.
Finally, daml2ts also produces one JavaScript object for each template, which
reflects the type information of that template.
All produces objects implement some interfaces defined in a TypeScript
library currently called `@digitalasset/daml-json-types`. This libary is not
yet uploaded to NPM but rather included in the `tests/ts/daml-json-types`
directory. This libary also contains the JSON decoders for all of DAML-LF's
builtin types.
There are quite a few limitations right now. Most notably, variant and enum
types are not properly typed right now but rather gradually "typed" as
`unknown`. We also don't support nested `Optional`s, the `Numeric` type or
sum-of-product types in DAML. These issues are tracked in #3518.
There is currently one test. It takes a very simple DAML model, generates
the TypeScript for it and checks that it compiles and contains no linter
warnings/errors. Proper integration tests against the JSON API will follow.
* Address @cocreature's comments
* Make test work on Windows