daml/unreleased.rst
Martin Huschenbett 0fdf85442f
Improve UX of generic templates over Ledger API (#2779)
* Improve UX of generic templates over Ledger API

Currently, if you write
```
template Template t => Proposal t with
    receiver: Party
    asset: t
  where ...
template Iou with ...
template instance ProposalIou = Proposal Iou
```
you'll get the following DAML-LF types:
```
record Proposal t = { receiver : Party, asset : t }
record Iou = ...
record ProposalIou = { unpack : Proposal Iou }
```
The definition of `ProposalIou` is not particularly user friendly when used
over the Ledger API.

This PR changes the definition of `ProposalIou` to
```
record ProposalIou = { receiver : Party, asset : Iou }
```
Basically, the definition of `Proposal` is copied and `t` is instantiated
with `Iou`. This should make a much nicer UX.

* Update documentation

* Add test

* Fix docs examples

* Fix release notes
2019-09-10 14:38:25 +02:00

26 lines
2.1 KiB
ReStructuredText

.. Copyright (c) 2019 The DAML Authors. All rights reserved.
.. SPDX-License-Identifier: Apache-2.0
Release notes
#############
This page contains release notes for the SDK.
HEAD — ongoing
--------------
+ [DAML Integration Kit] The reference implementation can now spin up multiple nodes, either scaling
a single participant horizontally or adding new participants. Check the CLI ``--help`` option.
+ [DAML Integration Kit] The test tool now runs the double spend test on a shared contract in a
multi-node setup (as well as single-node).
+ [DAML Standard Library] **BREAKING CHANGE** The ``(/)`` operator was moved out of the ``Fractional`` typeclass into a separate ``Divisible`` typeclass, which is now the parent class of ``Fractional``. The ``Int`` instance of ``Fractional`` is discontinued, but there is an ``Int`` instance of ``Divisible``. This change will break projects that rely on the ``Fractional Int`` instance. To fix that, change the code to rely on ``Divisible Int`` instead. This change will also break projects where a ``Fractional`` instance is defined. To fix that, add a ``Divisible`` instance and move the definition of ``(/)`` there.
+ [DAML Integration Kit] The test tool can now run all semantic test in a multi-node setup.
+ [DAML Assistant] The HTTP JSON API is now integrated with the
assistant and distributed with the SDK. It can either be launched
via ``daml json-api`` or via ``daml start``. You can find more information in the
`README <https://github.com/digital-asset/daml/blob/master/ledger-service/http-json/README.md>`_.
+ [JSON API] **BREAKING CHANGE** The ``/contracts/search`` request payload must use
``"%templates"`` in place of ``"templateIds"`` to select which templates' contracts are
returned. See `issue #2777 <https://github.com/digital-asset/daml/issues/2777>`_.
+ [DAML Compiler] **BREAKING CHANGE** Move the DAML-LF produced by generic template instantiations closer to the surface syntax. See the documentation on `How DAML types are translated to DAML-LF <https://docs.daml.com/app-dev/daml-lf-translation.html#template-types>`__ for details.