diff --git a/CHANGELOG.md b/CHANGELOG.md index d4d3f68660de9ef0dc6aff2131a10d36ed34c9ec..b965eceb4dbcaa1d1a4da64e6beead35fe1724bf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,71 @@ +## [v1.0.0RC](https://git.duniter.org/clients/python/duniterpy/-/milestones/12) (8th July 2021) + +### This release breaks backward compatibility ! + +### 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 + +- #160 Include examples into Python package + - Read new examples usage documentation in `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 + + 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 + +- #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 + +- #178 Make `membership_type` argument optional with value 'IN' by default + +- #175 Rename `timestamp` and `blockstamp` attributes/arguments depending on the type + - `block_id` for `BlockID` type + - `timestamp` for time in seconds + +- #139 Rename Endpoints attributes from server to host(name) + - Rename `ConnectionHandler.server` to `address` + +- #150 Add DUBP Mnemonic SigningKey feature with `SigningKey.from_dubp_mnemonic()` + +- #161, #168 Add DUBP Mnemonic example + +- #163 `Revocation.from_signed_raw()` now store timestamps into a BlockUID object + +- #170 Endpoints' regex improvement + +- #174 Remove GVASUBEndpoint (subscription now on GVAEndpoint by url path) + +- #181 `CRCPubkey` class moved from `documents` package to `key` package + +### 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 + +### 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 + +### Fixes +- #134 Fix license header showing in documentation using "#" comments, not docstrings + - Introduce [insert-license hook](https://github.com/Lucas-C/pre-commit-hooks) + + ## [v0.62.0](https://git.duniter.org/clients/python/duniterpy/-/milestones/16) (16th March 2021) ### This release breaks backward compatibility !