Europa - 2020-10-17 The Sub-Channels release, enabling fully generalized state channels. Added: - Sub-Channels: run app-channels inside parent (ledger) channels. - Special `NoApp` for channels without app. Skips force-execution phase in disputes. - Optimized `Channel.SettleSecondary` settlement method for the responding settler during optimistic channel settlements. Avoids wasting gas by not sending unnecessary transactions. - `ErrorGatherer` type to `pkg/errors` package for errors accumulation. - Transactor abstraction to allow different wallet implementations for transaction sending in Ethereum backend. - App registry so that multiple apps can be used in a single program instance. Changed: - `channel.Update` to accept a `channel.State` instead of `channel.ChannelUpdate`. This simplifies the usage. - Contracts updated to handle sub-channels. - Contracts now have distinct dispute and force-execution phases. - Channel proposal protocol now uses shared nonce from all channel peers. Fixed: - Channel peers persistence in key-value persistence backend.