From 14b33861ed84b3156be6df9d86c2b1d119aee700 Mon Sep 17 00:00:00 2001
From: Moul <moul@moul.re>
Date: Fri, 9 Oct 2020 11:19:25 +0200
Subject: [PATCH] [doc] Add v0.8 announcement

---
 release_notes/images/poetry-logo.svg     |   1 +
 release_notes/images/silkaj_pipeline.png | Bin 0 -> 27560 bytes
 release_notes/v0.8.md                    | 213 +++++++++++++++++++++++
 3 files changed, 214 insertions(+)
 create mode 100644 release_notes/images/poetry-logo.svg
 create mode 100644 release_notes/images/silkaj_pipeline.png
 create mode 100644 release_notes/v0.8.md

diff --git a/release_notes/images/poetry-logo.svg b/release_notes/images/poetry-logo.svg
new file mode 100644
index 00000000..89a5088e
--- /dev/null
+++ b/release_notes/images/poetry-logo.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 448.17 560"><defs><style>.cls-1{isolation:isolate;}.cls-2{fill:url(#radial-gradient);}.cls-3{fill:url(#radial-gradient-2);}.cls-4,.cls-5,.cls-6{mix-blend-mode:multiply;}.cls-4{fill:url(#linear-gradient);}.cls-5{fill:url(#linear-gradient-2);}.cls-6{fill:url(#linear-gradient-3);}.cls-7{mix-blend-mode:screen;fill:url(#radial-gradient-3);}</style><radialGradient id="radial-gradient" cx="438.3" cy="639.01" r="569.94" gradientTransform="translate(0 0)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#6877ec"/><stop offset="0.6" stop-color="#5362cf"/><stop offset="1" stop-color="#4352b9"/></radialGradient><radialGradient id="radial-gradient-2" cx="65.64" cy="-16.21" r="746.46" gradientTransform="translate(0 0)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#00d5ff"/><stop offset="0.38" stop-color="#00b8eb"/><stop offset="1" stop-color="#0080c5"/></radialGradient><linearGradient id="linear-gradient" x1="74.77" y1="67.3" x2="277.23" y2="512.72" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#294ca7"/><stop offset="0.48" stop-color="#96a7d4"/><stop offset="0.84" stop-color="#e1e6f3"/><stop offset="1" stop-color="#fff"/></linearGradient><linearGradient id="linear-gradient-2" x1="-228.74" y1="-144.29" x2="451" y2="651.89" gradientTransform="translate(0 0)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#6877ec"/><stop offset="0.29" stop-color="#97a1f2"/><stop offset="0.77" stop-color="#e2e4fb"/><stop offset="1" stop-color="#fff"/></linearGradient><linearGradient id="linear-gradient-3" x1="-151.22" y1="-285.9" x2="450.08" y2="430.63" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#8397cc"/><stop offset="0.15" stop-color="#97a8d4"/><stop offset="0.73" stop-color="#e2e6f3"/><stop offset="1" stop-color="#fff"/></linearGradient><radialGradient id="radial-gradient-3" cx="259.68" cy="-34.71" r="431.37" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#fff"/><stop offset="1"/></radialGradient></defs><title>logo-origami</title><g class="cls-1"><g id="Layer_1" data-name="Layer 1"><path class="cls-2" d="M168.08,560A570.54,570.54,0,0,0,459.84,403.59L56.25,0V448.17Z" transform="translate(-56.25)"/><path class="cls-3" d="M56.25,448.17C303.77,448.17,504.42,247.52,504.42,0H56.25Z" transform="translate(-56.25)"/><path class="cls-4" d="M56.25,448.17h0L73.5,465.42c121.57-4.45,231.4-55.68,312-136.23l-12.29-12.28A446.8,446.8,0,0,1,56.25,448.17Z" transform="translate(-56.25)"/><path class="cls-5" d="M168.08,560A570.54,570.54,0,0,0,459.84,403.59L56.25,0V448.17Z" transform="translate(-56.25)"/><path class="cls-6" d="M459.84,403.59,56.25,0,423.14,437.13C435.83,426.46,448.12,415.31,459.84,403.59Z" transform="translate(-56.25)"/><path class="cls-7" d="M56.25,0,373.16,316.91q4.23-4.25,8.35-8.6Z" transform="translate(-56.25)"/></g></g></svg>
\ No newline at end of file
diff --git a/release_notes/images/silkaj_pipeline.png b/release_notes/images/silkaj_pipeline.png
new file mode 100644
index 0000000000000000000000000000000000000000..0024f553fa15125151b23fceb376a34e75d3b2c1
GIT binary patch
literal 27560
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

literal 0
HcmV?d00001

diff --git a/release_notes/v0.8.md b/release_notes/v0.8.md
new file mode 100644
index 00000000..8c8e4a9a
--- /dev/null
+++ b/release_notes/v0.8.md
@@ -0,0 +1,213 @@
+# Silkaj v0.8.0 release
+
+## Introduction
+The Silkaj team is pleased to announce the release of Silkaj 0.8.0. A new team member joined us at the beginning of this development cycle: Matograine. We highly appreciate his commitment, his improvements of the transaction code and his work on the checksum.
+This release comes along with a number of new features and improvements.
+The most important of them are highlighted in this article, if you are looking for a comprehensive list of changes, check out the [changelog](https://git.duniter.org/clients/python/silkaj/blob/dev/CHANGELOG.md).
+
+Version 0.8.0 was done in 145 commits, and features seven major improvements:
+1. `membership`: We developed a command to allow users to send membership documents.
+2. Identity choice: We can now manually choose the desired identity among other identities.
+3. Multi-recipients transactions: Users can simultaneously send a different amount of Äž1 to different recipients.
+4. Display improvements for `tx` and `balance`: For a better overview, we modified the `tx` table and added a `balance` table.
+5. Public key checksum display and verification: For security purposes, Silkaj displays and verifies the checksum.
+6. `verify`: We set up a command to check whether a block is valid.
+7. Dev Env: We set up a solid development environment for Poetry, CI/CD, and Tests.
+  - A. Poetry: We migrated to Poetry.
+  - B. CI/CD: We set up a pipeline to run automatic jobs.
+  - C. Tests: We started to write tests.
+
+## 1. Membership
+After the transaction and the certification commands, the much awaited `membership` command is now available.
+
+Users can send their first membership request to be a certified member of the Äž1 community. As certified members have to renew their membership each year, this command allows to send the renewal application in question. It displays the expiration date of the current membership and indicates the identification blockstamp of the user. In the event a user forgets that they have already sent a membership request, a pop up displays if there is a pending membership request in the mempool.
+
+```bash
+silkaj membership
+Please enter your Scrypt Salt (Secret identifier):
+Please enter your Scrypt password (masked):
+You will be asked to approve Äž1 license. Would you like to display it? [y/N]: n
+Do you approve Äž1 license? [y/N]: y
+╒════════════════════════════════════════════════════╤═══════════════════════════════════════════════════╕
+│ Expiration date of current membership              │ in 3 weeks                                        │
+├────────────────────────────────────────────────────┼───────────────────────────────────────────────────┤
+│ Number of pending membership(s) in the mempool     │ 1                                                 │
+├────────────────────────────────────────────────────┼───────────────────────────────────────────────────┤
+│ Pending membership documents will expire           │ in 1 year                                         │
+├────────────────────────────────────────────────────┼───────────────────────────────────────────────────┤
+│ User Identifier (UID)                              │ moul                                              │
+├────────────────────────────────────────────────────┼───────────────────────────────────────────────────┤
+│ Public Key                                         │ GfKERHnJTYzKhKUma5h1uWhetbA8yHKymhVH2raf2aCP:J1k  │
+├────────────────────────────────────────────────────┼───────────────────────────────────────────────────┤
+│ Block Identity                                     │ 0-E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B93… │
+├────────────────────────────────────────────────────┼───────────────────────────────────────────────────┤
+│ Identity published                                 │ March 8, 2017                                     │
+├────────────────────────────────────────────────────┼───────────────────────────────────────────────────┤
+│ Expiration date of new membership                  │ in 1 year                                         │
+├────────────────────────────────────────────────────┼───────────────────────────────────────────────────┤
+│ Expiration date of new membership from the mempool │ in 2 months                                       │
+╘════════════════════════════════════════════════════╧═══════════════════════════════════════════════════╛
+Do you confirm sending a membership document for this identity? [y/N]:
+```
+
+## 2. Identity choice
+When using the commands `wot`, `cert`, and `membership`, Silkaj used to select the first identity on the list. As this can lead to fishing, we added a new feature to pick the identity of your choice. Now, you can use the `uid` and the `pubkey` to certify an identity and study its status in the Web of Trust.
+Please note that identities can have the same user identifier and the same public key.
+
+```bash
+silkaj -gt wot moul
+|   id | uid       | pubkey                                           | timestamp             |
+|------+-----------+--------------------------------------------------+-----------------------|
+|   00 | moul1     | WULdRTxspGdJzrs4vpZsWLGWsu37DjqoHyhGDFr5amh:45s  | 614118-00000EE8DFC0F… |
+|   01 | moul2     | WULdRTxspGdJzrs4vpZsWLGWsu37DjqoHyhGDFr5amh:45s  | 614227-00000ED689406… |
+|   10 | moul1     | 3rp7ahDGeXqffBQTnENiXEFXYS7BRjYmS33NbgfCuDc8:DFQ | 614227-00000ED689406… |
+|   20 | moul-test | 5B8iMAzq1dNmFe3ZxFTBQkqhq4fsztg1gZvxHXCk1XYH:baK | 167750-0000A51FF952B… |
+Which identity would you like to select (id)?:
+```
+
+## 3. Transactions: multi-recipients & different amounts of Äž1
+Thanks to Matograine, users can now send different amounts of Äž1 to multiple recipients in the same document.
+Working on this feature offered us the opportunity to rethink and clean up the CLI and the code related to the `tx` command.
+However, further efforts are required to build a more solid code base foundation.
+<br />
+
+v0.8.0 comes with three **breaking changes** and four small options:
+- `--output` was renamed to `--recipient`
+- recipients public key are splits with the option `--recipient` instead of a colon character.
+- The public key's checksum separator `!` is being replaced by the colon.
+- small options have been introduced:
+  - `-a/--amount`
+  - `-d/--amountUD`
+  - `-r/--recipient`
+  - `-c/--comment`
+<br />
+
+The follow examples illustrates the change operated on the CLI.
+With the previous version of Silkaj, the following procedure was operated to send one unit to `pubkey1` and `pubkey2`:
+
+```bash
+silkaj tx --amount 1 --output <pubkey>1!<checksum1>:<pubkey2>!<checksum2>
+```
+
+With the current version of Silkaj, the following procedures are operated to send one unit to `pubkey1` and two units to `pubkey2`:
+```bash
+silkaj tx --amount 1 --recipient <pubkey1>:<checksum1> --amount 2 --recipient <pubkey2>:<checksum2>
+```
+
+With small options:
+```bash
+silkaj tx -a 1 -r <pubkey1>:<checksum1> -a 2 -r <pubkey2>:<checksum2>
+```
+
+In the case one amount is passed, the same amount will be send to the passed recipients. The `--allSources` option is only working with one recipient.
+
+## 4. Display improvements for `tx` and `balance`
+We merged the relative and absolute amounts into one cell. This applies to the cells: initial balance, total transaction amount, balance after the transaction, and individual amounts.
+
+To send a different amount of Äž1 to multi-recipient proceed following:
+```bash
+silkaj tx -d 1 -d 2 \
+-r CrznBiyq8G4RVUprH9jHmAw1n1iuzw8y9FdJbrESnaX7 \
+-r d88fPFbDdJXJANHH7hedFMaRyGcnVZj9c5cDaE76LRN:FVm \
+-c "Test different amounts to two different recipients"
+╒════════════════════════════════════════════╤════════════════════════════════════════════════════╕
+│ Initial balance (unit|relative)            │ 2207757.83 ĞTest | 145.63 UD ĞTest                 │
+├────────────────────────────────────────────┼────────────────────────────────────────────────────┤
+│ Total transaction amount (unit|relative)   │ 45480.0 ĞTest | 3.0 UD ĞTest                       │
+├────────────────────────────────────────────┼────────────────────────────────────────────────────┤
+│ Balance after transaction (unit|relative)  │ 2162277.83 ĞTest | 142.63 UD ĞTest                 │
+├────────────────────────────────────────────┼────────────────────────────────────────────────────┤
+│ From (pubkey)                              │ 5B8iMAzq1dNmFe3ZxFTBQkqhq4fsztg1gZvxHXCk1XYH:baK   │
+├────────────────────────────────────────────┼────────────────────────────────────────────────────┤
+│ From (id)                                  │ moul-test                                          │
+├────────────────────────────────────────────┼────────────────────────────────────────────────────┤
+│ To (pubkey)                                │ CrznBiyq8G4RVUprH9jHmAw1n1iuzw8y9FdJbrESnaX7:8Sj   │
+├────────────────────────────────────────────┼────────────────────────────────────────────────────┤
+│ To (id)                                    │ Elois                                              │
+├────────────────────────────────────────────┼────────────────────────────────────────────────────┤
+│ Amount (unit|relative)                     │ 15160.0 ĞTest | 1.0 UD ĞTest                       │
+├────────────────────────────────────────────┼────────────────────────────────────────────────────┤
+│ To (pubkey)                                │ d88fPFbDdJXJANHH7hedFMaRyGcnVZj9c5cDaE76LRN:FVm    │
+├────────────────────────────────────────────┼────────────────────────────────────────────────────┤
+│ To (id)                                    │ matograine-G1Test                                  │
+├────────────────────────────────────────────┼────────────────────────────────────────────────────┤
+│ Amount (unit|relative)                     │ 30320.0 ĞTest | 2.0 UD ĞTest                       │
+├────────────────────────────────────────────┼────────────────────────────────────────────────────┤
+│ Comment                                    | Test different amounts to two different recipients │
+╘════════════════════════════════════════════╧════════════════════════════════════════════════════╛
+Do you confirm sending this transaction? [yes/no]:
+```
+
+The balance of a given public key is now displayed in a table. Bellow you can find an example of such a display.
+
+```bash
+silkaj balance 78ZwwgpgdH5uLZLbThUQH7LKwPgjMunYfLiCfUCySkM8
+╒═════════════════════════════════════╤══════════════════════════════════════════════════╕
+│ Balance of pubkey                   │ 78ZwwgpgdH5uLZLbThUQH7LKwPgjMunYfLiCfUCySkM8:4VT │
+├─────────────────────────────────────┼──────────────────────────────────────────────────┤
+│ Blockchain (unit|relative)          │ 94322.48 Ğ1 | 9220.18 UD Ğ1                      │
+├─────────────────────────────────────┼──────────────────────────────────────────────────┤
+│ Pending transaction (unit|relative) │ 100.0 Ğ1 | 9.78 UD Ğ1                            │
+├─────────────────────────────────────┼──────────────────────────────────────────────────┤
+│ Total amount (unit|relative)        │ 94422.48 Ğ1 | 9229.96 UD Ğ1                      │
+├─────────────────────────────────────┼──────────────────────────────────────────────────┤
+│ Total relative to M/N               │ 13.35 x M/N                                      │
+╘═════════════════════════════════════╧══════════════════════════════════════════════════╛
+```
+
+## 5. Pubic key checksum display, verification, and checksum command
+For security purposes, Silkaj now displays the checksum associated with the public key, and verifies it when passed to a command.
+If a public key or an authentication method is passed to the newly introduced `checksum` command, the later generates the associated checksum to the public key. if a public key and a checksum are passed, Silkaj displays whether the checksum is valid or not.
+
+## 6. `verify`
+We introduced the new `verify` command to check whether the signatures of the blocks of the blockchain are valid since there was a bug in the cryptography library of Duniter.
+Cf [Forum topic](https://forum.duniter.org/t/duniter-utilise-une-ancienne-version-buggee-de-tweetnacl-que-faire/6633) and [Duniter ticket](https://git.duniter.org/nodes/typescript/duniter/-/issues/1390)
+
+To verify blocks proceed following:
+
+```bash
+silkaj verify
+Processing blocks verification  [####################################]  100%
+Within 0-342803 range, blocks with a wrong signature: 15144 31202 85448 87566 90830 109327 189835 199172 221274 253582
+```
+
+## 7. Development Environment
+### A. Poetry
+
+<img src="images/poetry-logo.svg" width="7%" alt="Poetry logo">
+
+We migrated the packaging and the dependency management tool from Pipenv to Poetry since Pipenv has been quite problematic recently and is also more suitable for larger projects.
+
+In comparison, [Poetry](https://python-poetry.org/) is a well thought and stable tool which has been released by the end of 2019. In the former development environment, we had to define the dependencies twice in the `requirements.txt`, `setup.{py,cfg}`, `Pipenv` files. Poetry, however, supports the `pyproject.toml` file standardized by the Python project and is able to define the dependencies at once.
+
+If you would like to install Silkaj for development purposes, please follow [this tutorial](https://git.duniter.org/clients/python/silkaj/-/blob/dev/doc/install_poetry.md). You may also interested by checking the newly introduced [contribution process documentation `CONTRIBUTING.md`](https://git.duniter.org/clients/python/silkaj/-/blob/dev/CONTRIBUTING.md).
+
+### B. Automatic container generation
+We set up an [automated pipeline to generate containers](https://git.duniter.org/docker/python3/poetry/) for all supported Python versions: 3.5, 3.6, 3.7, and 3.8. These containers are based on official Python containers, which use Debian Buster Slim. On top of that, Poetry, `libsodium`, and other development tools are installed to continually check and test Silkaj in its pipeline. Since DuniterPy uses the same containers, it also profits from this automated container generation.
+
+### C. CI/CD pipelines
+Based on the containers set out above, a continuous integration and delivery pipeline has been set up to automatically run:
+- Checks: format, build,
+- Tests on all supported Python versions,
+- Release publication automation on PyPI and PyPI test.
+
+![Silkaj pipeline](images/silkaj_pipeline.png)
+
+## 7. Tests
+We started to write tests to ensure that all features of Silkaj are still functional when changing the code.
+However, in order to have all Silkaj commands fully tested, further efforts are required.
+During this development cycle, the test coverage raised from 37% to 69% and Silkaj is now covered by more than hundred tests.
+
+## Outlook
+Silkaj is compatible with a range of Python versions. Currently, it can be used with Python 3.5, 3.6, 3.7, and 3.8. v0.8.x will be the last releases with Python 3.5 support. In v0.9.0, we will support Python 3.6, 3.7, 3.8, and 3.9.
+
+Since there is a deadline for packaging Silkaj and DuniterPy into Debian Bullseye (v11), we are putting all our efforts into the upcoming packaging. As for the coming version, DeathReaper, the `excluded` command, for which the crowdfunding has been completed, and the newly revamped `info` command will be stabilized and automatic tests will be written.
+
+@ManUtopiK revamped the [website of Silkaj](https://mystifying-nobel-66ae54.netlify.app) in which you can look up all the presentations, the major features and documentations related to Silkaj. We are working on integrating the website into the project.
+
+For further details check out the presentations of the [RML14](https://rml14.monnaielibreoccitanie.org/). The oral presentations are in French and the slides in English:
+- [Moul's: How to contribute to Silkaj](https://git.duniter.org/moul/slides/#rml14-toulouse-28th-november-2019)
+- [Matograine's: Envoyer des transactions exotiques avec Silkaj](https://www.youtube.com/watch?v=Fbwy5ovEkSg)
+
+### Thanks
+@moul, @matograine
-- 
GitLab