Commit Graph

5303 Commits

Author SHA1 Message Date
Sofia Faro
4c7b07fec6
Add missing orphan superclass references when generating instances via data-dependencies. (#7267)
* Add test for issue 7256

* Fix the issue of missing references

changelog_begin
changelog_end
2020-08-31 11:57:56 +01:00
Robert Autenrieth
6c3d64a48f
KVL-314 Add test for concurrent double spends (#7260)
* KVL-314 Add test for concurrent double spends

CHANGELOG_BEGIN
CHANGELOG_END

* Address review comment
2020-08-31 10:43:53 +02:00
Moritz Kiefer
2eb2397f6e
Add an exclusion for Out of Range tests (#7266)
The new behavior here was only added in SDK 1.4.0 so the tests
fail (as expected) for older SDK releases. We only test against the
latest stable release on each PR so we didn’t catch this directly on CI.

changelog_begin
changelog_end
2020-08-31 10:41:13 +02:00
Andreas Herrmann
6c8964fb3b
java-quickstart replace scenarios by DAML Script (#7183)
* java-quickstart replace scenarios by DAML Script

This replaces the scenarios in the java quickstart project by DAML
script test cases.

The following changes were required
* Replace `getParty` by `allocateParty`.
* Replace `create` and `exercise` by `createCmd` and `exerciseCmd`.
* Replace the pattern of `submit ... do create ...; exercise ...`
  by `submit ... do createAndExerciseCmd ... ...`.
* Replace instances of `submit ... do fetch ...` by `query ... ...`.
  To that end I've added the following helper function.
  ```
  queryIou : Party -> ContractId Iou -> Optional Iou
  ```

changelog_begin
changelog_end

* Replace queryIou by FetchIou choice

changelog_begin
changelog_end

* Add comment explaining fetch choice

Addressing review comment
https://github.com/digital-asset/daml/pull/7183#discussion_r478918758

* Support dependencies in daml_test rule

Cherry-picked from https://github.com/digital-asset/daml/pull/7264/files
Renamed `dependencies` as `deps` to stick to Bazel conventions.

* Fix quickstart `daml_test` target

* fmt

* Quote deps in daml.yaml

To avoid issues with `:` in Windows paths.

* //docs:quickstart-java - use temp dir

This target repeatedly failed to build on Windows with
```
ERROR: D:/a/1/s/docs/BUILD.bazel:538:8: declared output
'docs/quickstart-java.tar.gz' was not created by genrule. This is
probably because the genrule actually didn't create this output, or
because the output was a directory and the genrule was run remotely
(note that only the contents of declared file outputs are copied from
genrules run remotely)
```
The genrule was operating in the current working directory and builds on
Windows are not sandboxed. Conflicting files in the current working
directory could cause this to fail.

Co-authored-by: Andreas Herrmann <andreas.herrmann@tweag.io>
2020-08-28 16:19:45 +00:00
Moritz Kiefer
1df6ff49e3
Add a dummy OAuth2 authorization server (#7250)
* Add a dummy OAuth2 authorization server

This is intended for use in the trigger service integration tests not
as an artifact that we ship to users.

changelog_begin
changelog_end

* Address review feedback

changelog_begin
changelog_end
2020-08-28 17:28:06 +02:00
nickchapman-da
4e80ee62e6
Refactor EnrichedTransaction (#7262)
* Refactor EnrichedTransaction

This PR prepares for work to interleave _authorization_ with _execution_, which has been an open issue for a long time: #132.

- Split computation of `BlindingInfo` and `FailedAuthorizations` into separate modules.

- Fixup callers: `Blinding.scala` and `ScenarioLedger.scala`, to do:

```
    val failedAuthorizations =
      AuthorizingTransaction.checkAuthFailures(authorization, tx)

    val blindingInfo =
      BlindingTransaction.calculateBlindingInfo(tx)
```

- Simplify code to remove `DontAuthorize` and `Authorization` types, which were only needed to restrict the combined _enrichment_ code from doing the authorization check when `blind`ing only is required. Now  `Blinding.blind` calls just `calculateBlindingInfo`.

* address comments from Stefano
2020-08-28 15:16:37 +00:00
Samir Talwar
8dde430499
kvutils: Buffer (im/ex)port streams, and simplify reading a fixed-length ByteString. (#7263)
* kvutils: Buffer (im/ex)porter streams.

CHANGELOG_BEGIN
CHANGELOG_END

* kvutils: Use `ByteStreams.limit` instead of copying byte arrays.
2020-08-28 13:39:55 +00:00
Leonid Shlyapnikov
0c8b5af901
Minor updates based on my experience following the release notes (#7245)
* Minor updates based on my experience following the release notes

changelog_begin
changelog_end

* cleanup
2020-08-28 09:14:38 -04:00
Samir Talwar
d2561896e1
Upgrade Guava from v24 to v29. (#7261)
This brings `ByteStreams` out of beta.

CHANGELOG_BEGIN
CHANGELOG_END
2020-08-28 12:55:04 +00:00
Andreas Herrmann
d937a5ebad
Track source locations on Daml.Script.submit (#7252)
* Track source locations on Daml.Script.submit

Adds a `HasCallStack` constraint on `HasSubmit.submit` and
`HasSubmit.submitMustfail`.

We need to move the definition of `HasCallStack` to `GHC.Stack.Types` to
avoid a cyclic dependency between `DA.Stack` and `DA.Internal.LF`.
Alternatively, we could inline `HasCallStack` in `DA.Internal.LF` but it
seems preferable to use the alias on the signature of
`submit(MustFail)`.

We need to adapt the type of the builtins for scenario `submit` and
`submitMustfail`.

changelog_begin
changelog_end

* Test-case for scenario/script source locations

* Test second commit with intermediate definition

Addressing review comment
https://github.com/digital-asset/daml/pull/7252/files#r478518834

* Store the full callstack on submit

For forwards compatibility.

Addressing review comment
https://github.com/digital-asset/daml/pull/7252/files#r478520268

* Document unused location definition

Addressing review commit
https://github.com/digital-asset/daml/pull/7252/files#r478522373

* Make user facing `SrcLoc` zero based

Following LSP precedent rather than GHC

Addressing review comment
https://github.com/digital-asset/daml/pull/7252/files#r478529138

* Add comment for backwards compatibility code

Addressing review comment
https://github.com/digital-asset/daml/pull/7252/files#r478529138

* fmt

Co-authored-by: Andreas Herrmann <andreas.herrmann@tweag.io>
2020-08-28 12:22:15 +00:00
Samir Talwar
445af973cd
kvutils: Generalize the interfaces and tests for the ledger export. (#7258)
* kvutils: Factor out a base class for ledger exporter implementations.

CHANGELOG_BEGIN
CHANGELOG_END

* kvutils: Use piped streams in LedgerDataExporterSpecBase.

* kvutils: Rename "FileBased…" to "SerializationBasedLedgerDataExporter".

* kvutils: Wrap Deserialization in a class for polymorphism purposes.

* kvutils: Pull out submission info variables in the ledger export test.

* kvutils: Inline (De)Serialization into the exporter.

* kvutils: Replace usage of Deserialization with LedgerDataImporter.

* kvutils: Don't synchronize on making an InMemorySubmissionAggregator.

* kvutils: Pass a SubmissionInfo to LedgerDataExporter.

* kvutils: Reflow a long string to make it readable.
2020-08-28 11:39:02 +00:00
Samir Talwar
78d77e77a4
kvutils: Bump integrity check test sizes back to medium. (#7257)
They might take a while when run on CI.

CHANGELOG_BEGIN
CHANGELOG_END
2020-08-28 09:40:19 +00:00
Samir Talwar
c34f15d497
participant-integration-api: Create the metrics CSV directory. (#7253)
It turns out that if you give the CSV reporter a non-existent directory,
it crashes. I did not expect this.

This constructs the directory so you don't have to worry about that.

CHANGELOG_BEGIN
CHANGELOG_END
2020-08-28 07:48:50 +00:00
Samir Talwar
9374264e6d
metrics: Use Gauge#getValue to avoid registering a metric externally. (#7254)
This is the same technique as `DerivativeGauge` from the metrics
library, but with less code, because Scala is prettier than Java.

CHANGELOG_BEGIN
CHANGELOG_END
2020-08-28 07:48:43 +00:00
Robert Autenrieth
50f3ab5afb
KVL-242 Test for OUT_OF_RANGE errors (#7251)
* KVL-242 Test for OUT_OF_RANGE errors

... when subscribing past the ledger end

CHANGELOG_BEGIN
CHANGELOG_END

* Address review comments
2020-08-28 09:45:49 +02:00
Oliver Seeliger
153cde8e75
Upgrade to Canton 0.18.2 (#7255)
This version of canton contains DAML 1.5.0-snapshot.20200825.5071.0.d33e130f

Details at https://github.com/digital-asset/canton/releases/tag/v0.18.2

changelog_begin
changelog_end
2020-08-28 08:51:28 +02:00
Oliver Seeliger
ff6fd7d38b
Extend ledger api conformance non-local party test (#7249)
to distributed ledgers with differing ledger ids. This
accommodates distributed vDaml setups with participants with
matching ledger ids.

changelog_begin
changelog_end
2020-08-27 18:30:19 +02:00
Moritz Kiefer
6e4f101aad
Remove ref-ledger-authenticator from trigger service (#7226)
* Remove authentication service from trigger service

This rips out the integration with ref-ledger-authenticator and
together with that the weird http basic auth which doesn’t actually
work for ref-ledger-authenticator outside of its testing mode and also
includes some very sketchy stuff like storing user
passwords (encrypted but still).

While the exact details of the new approach towards auth are still not
completely clear, it is clear that it is going to be sufficiently
different from what we did before that starting from a clean slate is
easier.

changelog_begin

- [Trigger Service] Parties are now specified in request bodies as
  opposed to via HTTP Basic auth. This is done in preparation for
  running the trigger service against authenticated ledgers.

changelog_end

* Fix integration tests

changelog_begin
changelog_end
2020-08-27 15:36:59 +02:00
Oliver Seeliger
6641e95074
Upgrade to canton 0.18.1 in ledger api conformance tests and enabling canton stdout info-level logging (#7247)
* Upgrade to canton 0.18.1 in ledger api conformance tests

changelog_begin
changelog_end

* Log canton INFO output to stdout
2020-08-27 12:32:27 +00:00
Samir Talwar
82d90a023c
kvutils: Make the RawToDamlLedgerStateReaderAdapter constructor visible. (#7230)
Consumers of kvutils may need to use this, and they shouldn't have to
jump through hoops.

CHANGELOG_BEGIN
CHANGELOG_END
2020-08-27 07:54:12 +00:00
Leonid Shlyapnikov
1452076eee
Deprecating noop '--application-id' command-line option in JSON API (#7232)
* Deprecate noop `--application-id`

changelog_begin

[JSON API]
Hiding and deprecating `--application-id` command-line option. JSON API never used it.
It is required to instantiate LedgerClientConfiguration and was not used for any command submission.
JSON API uses Application ID specified in the JWT. See #7162

changelog_end

* removing further usage of noop applicationId

* a bit of explanation what this is for
2020-08-26 20:05:00 +00:00
azure-pipelines[bot]
01c6be8e1d
update compat versions for 1.5.0-snapshot.20200825.5071.0.d33e130f (#7242)
CHANGELOG_BEGIN
CHANGELOG_END

Co-authored-by: Azure Pipelines DAML Build <support@digitalasset.com>
2020-08-26 20:38:16 +02:00
Gary Verhaegen
07657e01c8
fix docs warning (#7243)
Apparently `[[]]` links don't work to external resources. I wanted to
turn the first referencee into a link too but that contains too many
weird characters.

CHANGELOG_BEGIN
CHANGELOG_END
2020-08-26 20:27:33 +02:00
azure-pipelines[bot]
4f2c3b2198
rotate release duty after 1.5.0-snapshot.20200825.5071.0.d33e130f (#7234)
@leo-da is taking care of 1.5.0-snapshot.20200825.5071.0.d33e130f (#7233), so they get pushed back to the end of the line.

Please do not merge this before #7233.

CHANGELOG_BEGIN
CHANGELOG_END

Co-authored-by: Azure Pipelines DAML Build <support@digitalasset.com>
2020-08-26 13:50:34 -04:00
anthonylusardi-da
5d1f0bf382
Improve the JSON API documentation, clarify common json-api options, update the authorization/authentication sections. (#7133)
* Clarify how to start a test ledger, and run json api with & w/o query storage

* Remove the json-api --help output and replace with a note.

* Update JSON API Authorization/Authentication sections

* Minor improvements to query section

* CHANGELOG_BEGIN
[Docs] Improve the JSON API documentation, clarify the common json-api options, and update the authorization/authentication section.
CHANGELOG_END

* Note why you would specify a Command ID in the JSON API

* Clarify how the Authorization token works

* Add warning to always run the JSON API behind a reverse proxy

* Apply suggestions from code review

Co-authored-by: Moritz Kiefer <moritz.kiefer@purelyfunctional.org>

* Change how we refer to the different access tokens used by the JSON API

* applicationId doesn't need to match --application-id

* remove reference to planned jwt library

* Update party allocation instructions/explanation

* Remove IAM references from Ledger API Auth

* Stop lying about secrets

* Auth shouldn't be party-specific

* Needed more stars

* Apply suggestions from code review

Co-authored-by: Moritz Kiefer <moritz.kiefer@purelyfunctional.org>

* Update Ledger API access token description

* Additional clarifications on the two types of tokens

* Note that each request to the JSON API can only come from a single party

* Apply suggestions from code review

Co-authored-by: Moritz Kiefer <moritz.kiefer@purelyfunctional.org>

* Clarify getting access tokens from your ledger operator

* Add link to JWT format in the sandbox

* Fix inconsistent title level

Co-authored-by: Moritz Kiefer <moritz.kiefer@purelyfunctional.org>
2020-08-26 09:56:06 -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
Gary Verhaegen
78f5757eb6
tell release manager about release instructions (#7240)
Easy to assume everyone knows where they are, I suppose, but little harm
in repeating it.

CHANGELOG_BEGIN
CHANGELOG_END
2020-08-26 14:05:21 +02:00
Remy
ada8ba033b
LF: ad-hoc data struct to store LF Struct like data (#7220)
A `Struct[+X]` is a list of pair `(FieldName, X)` ordered by first
component.

We use this data-structure to represent TStruct LF type.

It will be used in upcomming PRs to sorted fields in Struct values.

CHANGELOG_BEGIN
CHANGELOG_END
2020-08-26 12:18:18 +02:00
Moritz Kiefer
48e05e25e2
Fix name of get_gh_auth_header (#7239)
See
b812f09da9/ci/bash-lib.yml (L12),
this obviously failed on CI.

changelog_begin
changelog_end
2020-08-26 12:16:47 +02:00
Samir Talwar
19a7eadc57
kvutils: Use classes in the integrity checker code. (#7238)
* kvutils: Factor out ledger dump timers into a class.

* kvutils: Use `Paths` in the integrity checkers.

Strings give me the heebie-jeebies.

CHANGELOG_BEGIN
CHANGELOG_END
2020-08-26 09:08:26 +00:00
Andreas Herrmann
b812f09da9
Disable lsp-tests script tests on Windows (#7235)
The similar scenario tests are also disabled on Windows and the script
tests are flaky on Windows due to timeouts.

changelog_begin
changelog_end

Co-authored-by: Andreas Herrmann <andreas.herrmann@tweag.io>
2020-08-26 07:56:12 +00:00
Samir Talwar
b707bc825d
kvutils: Simpler constructors for common caching classes. (#7231)
* kvutils: Use `CachingDamlLedgerStateReader.apply`.

* kvutils: Simplify the constructor of CachingCommitStrategy.

CHANGELOG_BEGIN
CHANGELOG_END
2020-08-26 07:34:01 +00:00
Moritz Kiefer
d33e130f47
Enable DAML Script service by default and document it (#7229)
* Enable DAML Script service by default and document it

fixes #7193

changelog_begin

- [DAML Script] DAML Scripts are now run in DAML Studio just like
  scenarios. The functionality for inspecting the results is
  identical. If you encounter issues, please report them.

changelog_end

* fix double "is identical"

changelog_begin
changelog_end
2020-08-25 19:53:59 +02:00
Samir Talwar
aafb4a27f9
kvutils: Simplify exporting by pushing the mutations outwards. (#7215)
* kvutils: Add `override` annotations for the exporters.

* kvutils: Test the ledger export (v2).

* kvutils: Mark integrity tests as small.

* kvutils: Add assertions to the FileBasedLedgerDataExporter.

Just confirming my understanding of how this works. Verified with the
Ledger API Test Tool and some proprietary code.

* kvutils: Move the definition of `CorrelationId` to the package file.

* kvutils: Pass a submission write set through the batch pipeline.

This allows for less mutability all over the place.

CHANGELOG_BEGIN
CHANGELOG_END

* kvutils: Move export finishing into its own type.

* kvutils: Move some nested types upwards.

* kvutils: Split Deserialization from Serialization.

* kvutils: Extract out common behavior in (De)Serialization.

* kvutils: Don't use a singleton for LedgerDataExporter.

Instead, construct it once.

* kvutils: Make sure we close the export file when we're done.

* kvutils: Simplify `Debug` in the same manner as `LedgerDataExport`.

* kvutils: Fix a test name.

Co-authored-by: fabiotudone-da <fabio.tudone@digitalasset.com>

* kvutils: Remove backticks around "export".

* kvutils: Move the test `BatchedSubmissionValidator#apply` into the test.

Co-authored-by: fabiotudone-da <fabio.tudone@digitalasset.com>
2020-08-25 17:52:59 +00:00
Remy
4e265f0c1c
Speedy: Make the fields 'fields' from SStruct immutable. (#7227)
Change the type of SStruct.fields from Array to ImmArray.

CHANGELOG_BEGIN
CHANGELOG_END
2020-08-25 18:03:33 +02:00
Remy
89770cf1c1
Speedy: make the field names from SRecord immutable. (#7225)
CHANGELOG_BEGIN
CHANGELOG_END
2020-08-25 17:02:27 +02:00
Stefano Baghino
b33bfda7fa
[KVL-222] Add participant id to index metadata dump (#7224)
* [KVL-222] Add participant id to index metadata dump

changelog_begin
changelog_end

* Test SqlLedger participant id initialization

* Test JdbcIndexer participant id initialization

* Make RecoveringIndexerSpec final and remove unused trait
2020-08-25 17:02:02 +02:00
Sofia Faro
3429ec24cc
Normalize struct field order in the LF spec. (#7228)
* Normalize struct field order in the LF spec.

This commit changes the LF spec to ensure that struct field order is ignored whenever reasonable.

* Rename "type synonym resolution" to "type normalization", and change the rule for structs to also normalize the order of fields.

* Make the struct type "well-formed" only if the struct fields are sorted by field name. (This matches the way "well-formed" is only used for normalized types. E.g. type synonyms are not considered "well-formed" by the spec. This nomenclature should possibly be fixed in a separate PR.)

* Change the struct con expression type rule accordingly.

* Change the definition of a struct value. A struct value is now a struct expression where all the field expressions are values, and all the field names are sorted.

* Change the evaluation rule for struct expressions to also sort the fields by field name in the process.

As far as I know, this spec matches the behavior of the LF engine. I also tried to make the treatment of struct field order in the types match the treatment of struct field order in expressions (i.e. normalized structs always have sorted fields, but non-normalized structs do not).

changelog_begin
changelog_end

* Apply suggestions from code review

Co-authored-by: Remy <remy.haemmerle@daml.com>

* Update daml-lf/spec/daml-lf-1.rst

Co-authored-by: Remy <remy.haemmerle@daml.com>
2020-08-25 14:32:03 +00:00
Samir Talwar
c08de213f9
kvutils: Fix flaky runs of BatchingQueueSpec. (#7223)
* kvutils: Use `eventually` in BatchingQueueSpec to fix a flaky test.

We cannot assume that the queue will shut down faster than we can check
its state.

* kvutils: Increase timeouts in BatchingQueueSpec to fix flakiness.

50 milliseconds is pretty fast when tests are running in parallel.

CHANGELOG_BEGIN
CHANGELOG_END
2020-08-25 14:21:38 +00:00
Moritz Kiefer
3058af8286
Support HasCallStack constraints (#7217)
This is primarily intended to improve error reporting in DAML Script,
in particular, https://github.com/digital-asset/daml/issues/7192 which
is a blocker for replacing scenarios by DAML Script.

However, I think it is also a very reasonable feature in general.

changelog_begin
changelog_end
2020-08-25 08:54:21 +00:00
Moritz Kiefer
c3d758a2d3
Ignore failed ipcrm calls (#7218)
* Ignore failed ipcrm calls

changelog_begin
changelog_end

* Update ci/clear-shared-segments-macos.yml

Co-authored-by: Samir Talwar <samir.talwar@digitalasset.com>

Co-authored-by: Samir Talwar <samir.talwar@digitalasset.com>
2020-08-25 08:39:11 +00:00
Stefano Baghino
0919221d04
Fix off-by-one error in logging (#7211)
Furthermore, does not mention PostgreSQL in the message, as
the HikariJdbcConnectionProvider is shared across all our
usages of RDBMSs (including H2 and Sqlite).

changelog_begin
changelog_end
2020-08-25 08:23:42 +00:00
Stefano Baghino
57a47347da
Add run mode to kvutils to dump index metadata and exit (#7213)
* Add run mode to kvutils to dump index metadata and exit

changelog_begin
changelog_end

* Address https://github.com/digital-asset/daml/pull/7213#discussion_r475843480

* Address https://github.com/digital-asset/daml/pull/7213#discussion_r475847418
2020-08-25 10:09:05 +02:00
Samir Talwar
6b2fd4bfaa
participant-state: Run tests in parallel. (#7214)
* kvutils: Run tests in parallel.

* participant-state: Run tests in parallel, and fix the paths.

CHANGELOG_BEGIN
CHANGELOG_END
2020-08-25 07:44:44 +00:00
Gary Verhaegen
5f897e699f
reenable Windows cache (#7216)
All machines have been reset following #7212.

CHANGELOG_BEGIN
CHANGELOG_END
2020-08-24 20:02:08 +00:00
Moritz Kiefer
5936644970
Bump windows cache (#7212)
changelog_begin
changelog_end
2020-08-24 18:19:28 +02:00
Leonid Shlyapnikov
3ecfcc918c
Adding package-max-inbound-message-size (#7147)
* Adding `package-max-inbound-message-size`

this is to allow separate configuration settings for command submission
and package management ledger clients

* Fixing formatting

* Updating docs

changelog_begin

[JSON API] Adding `--package-max-inbound-message-size` command line option.
Optional max inbound message size in bytes used for uploading and downloading package updates. Defaults to the `max-inbound-message-size` setting.

changelog_end

* Addressing code review comments
2020-08-24 14:55:55 +00:00
Gary Verhaegen
f54e193df6
add visibleByKey (#7146)
Adds a Boolean check for the existence of an active contract with a
given key (that is visible with the current set of authorizations), and
explain `lookupByKey` in terms of it to hopefully clarify the relationship
between `lookupByKey` and `fetchByKey`.

Fixes #7143; see that for more information.

CHANGELOG_BEGIN

- [DAML Standard Library] Added a new function `visibleByKey`
  which, given a contract key, returns True if the current context can
  see an active contract with that key.

CHANGELOG_END
2020-08-24 15:04:05 +02:00
Moritz Kiefer
c997f5d145
Fix handling of transient contracts in extractor (#7210)
* Fix handling of transient contracts in extractor

fixes #7201

As described in the issue, the problem was that we completely ignored
the order of events and always processed exercises before creates
which falls apart as soon as they are in the same transaction.

I still think that in the current state doing creates before exercises
would be fine but this seems like the kind of assumption that breaks
very quickly during refactoring (e.g. let’s say you start creating
foreign key references) so instead this PR fixes this properly by
iterating over the transaction tree in pre-order.

This turns out to be a bit more complex than I expected it to be since
we filter the tree on the client side and afterwards we have lost
enough information so that we cannot traverse the tree instead
anymore. Therefore, the “tree” type in extractor now contains a list
of events in pre-order and a comment that it’s not actually a valid
tree or subtransaction.

changelog_begin

- [Extractor] Fix a bug that resulted in transient contracts (created
  and archived within the same transaction) to not be displayed as
  archived. See #7201 for details.

changelog_end

* Update extractor/src/main/scala/com/digitalasset/extractor/ledger/types/TransactionTree.scala

Co-authored-by: Andreas Herrmann <42969706+aherrmann-da@users.noreply.github.com>

* Suffix with template name

changelog_begin
changelog_end

Co-authored-by: Andreas Herrmann <42969706+aherrmann-da@users.noreply.github.com>
2020-08-24 14:43:24 +02:00
Remy
0e9616f784
LF: move the type ordering form interpreter to language package (#7203)
CHANGELOG_BEGIN
CHANGELOG_END
2020-08-24 07:18:41 +00:00