Skip to content
Snippets Groups Projects
Commit 5bce6ba4 authored by Moul's avatar Moul
Browse files

[doc] Improve v1.0.0rc0 changelog (1/2)

Add MR links
Add notes on the BBC
Add missing changes
Proofreading, wording
Add small description on the major changes per paragraph
Add thanks paragraph
parent ca40d25a
No related branches found
No related tags found
2 merge requests!157v1.0.0rc0: merge dev into master,!156Release v1.0.0rc0
## [v1.0.0rc0](https://git.duniter.org/clients/python/duniterpy/-/milestones/12) (8th July 2021)
### This release breaks backward compatibility!
From this version, only major releases might break backward compatibility.
For 1.x minor versions, only `DeprecationWarning` will occur.
### Features
- #140 Replace `aiohttp` with a non async http library (urllib and websockets)
- No more async keyword required
- If `async` mode is really being needed, look at `request_data_async.py` example
- #140, !118: Replace `aiohttp` with non-asynchronous `http` and `ws` libraries: `urllib` and `websocket-client`:
- `async` and `await` keywords are no longer required
- In case you would like to keep your code asynchronous, check `request_data_async.py` example
- #160 Include examples into Python package
- Read new examples usage documentation in `README.md`
- #160, !134: Include `examples` into the Python package:
- Read new examples usage documentation in the `README.md`
- #95 Remove `signatures` argument from all `__init__()`’s documents subclasses
- Document constructor is `Document(version: int, currency: str)`
- All `Document` subclasses can be signed when created with the optional `signing_key` argument
- #172 `version` is optional now and have a proper default per document type
- `currency` is optional now and have `G1_CURRENCY_CODENAME` by default
- #95, !144: Remove `signatures` argument from all `__init__()`’s documents subclasses:
- `Document` constructor is `Document(version: int, currency: str)`
- All `Document` subclasses can be directly signed when the optional `signing_key` argument is passed
- #172 `version` argument is now optional and have a proper default value per document type
- `currency` argument is now optional and defaults to `G1_CURRENCY_CODENAME`
signing_key: SigningKey = None,
version: int = VERSION,
currency: str = G1_CURRENCY_CODENAME,
- Add `Identity.from_lookup_response()` to simplify examples
- Refactor `Document.signatures` (List) as `Document.signature` (str)
- Set `time` argument optional in SimpleTransaction
- Introduce `Identity.from_bma_lookup_response()` to simplify examples
- Refactor `Document.signatures` `List` as `Document.signature` `str`
- `VerifyingKey.verify_document()` has been removed in favour of `Document.check_signature(pubkey)`
- Set `time` argument optional in `SimpleTransaction`
- #173 Make Transaction easier with single and multi-sign
- Transaction(signing_keys: Optional[Union[SigningKey, List[SigningKey]]] = None) allows single signature or multi-signatures when created
- Transaction.sign() and multi_sign() add signature now to allow different key owner to sign additionally the Tx doc
- Transaction.check_signature() and check_signatures() are available
- #173, !150, !156: Make Transaction easier with single and multi-sign:
- `Transaction(signing_keys: Optional[Union[SigningKey, List[SigningKey]]] = None)` allows single signature or multi-signatures when created
- `Transaction.sign()` and `multi_sign()` now append signature to allow different key owner to sign additionally the Tx doc
- Introduce `Transaction.check_signature()` and `check_signatures()`
- #178 Make `membership_type` argument optional with value 'IN' by default
- #178, !152: `Membership`: Make `membership_type` argument optional defaulting to `IN`
- #175 Rename `timestamp` and `blockstamp` attributes/arguments depending on the type
- `block_id` for `BlockID` type
- #175, !155: Rename `timestamp` and `blockstamp` attributes and arguments depending on their content:
- `timestamp` for time in seconds
- `block_id` for `BlockID` type
- `BlockUID` has been renamed to `BlockID` and `BlockID.block_uid()` to `get_block_id()`
- #139 Rename Endpoints attributes from server to host(name)
- Rename `ConnectionHandler.server` to `address`
- #139, !149: Rename `Endpoints` attributes from `server` to `host`
- Rename `ConnectionHandler.server` attribute to `address`
- #150 Add DUBP Mnemonic SigningKey feature with `SigningKey.from_dubp_mnemonic()`
- #150, !130: Introduce DUBP Mnemonic SigningKey feature with `SigningKey.from_dubp_mnemonic()`
- #161, !142: Add DUBP Mnemonic example
- #161, #168 Add DUBP Mnemonic example
- #163, !137: `Revocation.from_signed_raw()` now stores the block ID into a `BlockID` object
- #163 `Revocation.from_signed_raw()` now store timestamps into a BlockUID object
- #170, !145: Improve `Endpoints` regular expressions:
- Add support for internationalized domain name
- Fix `ipv4`/`host` attributes mix up
- #170 Endpoints' regex improvement
- #174, !148: Remove `GVASUBEndpoint` (the subscription is now on `GVAEndpoint` specified with the url path)
- #174 Remove GVASUBEndpoint (subscription now on GVAEndpoint by url path)
- !138: Add `flags` and `path` attributes into `GVAEndpoint.eq()` and `hash()` computations
- #181 `CRCPubkey` class moved from `documents` package to `key` package
- #181, !154: `CRCPubkey` class moved from `documents` to `key` module
### Development
- #132 Introduce [pre-commit](https://pre-commit.com/) for `black` formatter
- #135 Move Pylint config from the `Makefile` to `pyproject.toml`
- #153 Allow to install `black` dependency pre-releases
- #162 Introduce `mypy`, `pylint`, `isort`, `gitlab-ci` pre-commit hooks
- #155, !131: Document `pip` installation
### CI/CD
- #166 Fix MR based pipelines do not trigger tools jobs when there is a code change
- #169 Fix with a token `gitlab-ci-lint` hook no longer working since GitLab CI lint API requires authentication
- #177 Run pre-commit into the CI
### Dependencies
- !147: Update `websocket-client` and `attrs` to major releases
### Development Environment
`pre-commit` tool has been introduce to run our development tools as pre-commit hooks to check when committing a change.
- #132, !135: Introduce [pre-commit](https://pre-commit.com/) for `black` formatter
- #135, !136: Move Pylint config from the `Makefile` to `pyproject.toml`
- #153, !129: Allow to install `black` dependency pre-releases
- #162, !136: Introduce `mypy`, `pylint`, `isort`, `gitlab-ci` pre-commit hooks
- !151: Add support for `mypy` v0.910
- !132: Add support `pylint` v2.8.0
#### CI/CD
- #166, !140: Fix MR based pipelines which do not trigger the tools jobs when there is a code change
- #169, !146: Fix with a token for `gitlab-ci-lint` hook, which was no longer working since GitLab CI lint API requires authentication
- #177: Run `pre-commit` into tools jobs
### Fixes
- #134 Fix license header showing in documentation using "#" comments, not docstrings
- #134, !141: Fix license header showed into the documentation by using `#` comments rather than docstrings
- Introduce [insert-license hook](https://github.com/Lucas-C/pre-commit-hooks)
---
- Thanks @vtexier, @Moul
## [v0.62.0](https://git.duniter.org/clients/python/duniterpy/-/milestones/16) (16th March 2021)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment