Releases: Remmeauth/remme-core
Releases · Remmeauth/remme-core
[0.8.1-alpha] - 2019-04-12
v0.8.1-alpha Add defrost proto
[0.8.0-alpha] - 2019-04-08
v0.8.0-alpha Add decimal point to all node account fields
[0.6.0-alpha] - 2018-11-20
Added
- JSON RPC. This was introduced as replacement of REST API which is more consistent in terms of data
format and is transport-agnostic (can be used with HTTP, WebSockets or anything else, for example
Unix sockets). Documentation is available here. - The possibility to withdraw tokens from
0x0
address for a designated list of its owners.
This address is used in atomic swap implementation and will be used in basic economical model
implementation. - Tokens burnt during public keys registration are now transferred to a specified address instead of
burning.
Changed
- Logging:
- Logging settings are loaded to containers from configuration files. Log configuration files are
inconfig/log
directory. - Disabled native Docker logging for application containers.
- Logs are stored in
remme_logs
volume. - Better default logging setup:
- Log files are rotated by their size (50 MB each).
- 20 latest log files are stored.
- All loggers use the
DEBUG
logging level by default.
- Added fallback to the default configuration in case of errors.
- Logging settings are loaded to containers from configuration files. Log configuration files are
- Restructured
Makefile
, build and deployment tooling.- Complex scripts are moved away from
Makefile
tobuild
directory andscripts/run.sh
. - Scripts that are responsible for starting up the software in Docker containers are now in
scripts/node
. build/ci
contains scripts related to continuous integration and delivery.- You can see the documentation on those scripts in BUILD.md.
- Complex scripts are moved away from
- Move to Poetry configuration system for Python projects. This brings much more consistent
configuration and tooling for the Python part of the project. - Upgrade Sawtooth framework to nightly branch. Will move to stable when the required branch
stabilizes. This brings the following updates:- Improvements in performance of the API.
- Consensus engine is separated from the
validator
component and runs as a separate service.
This allows to easily integrate our own consensus engine that is being worked on. - Improvements to the event system that allow us to provide transaction state updates via
WebSockets more efficiently. - The system currently use
devmode
consensus.
- Docker setup now uses only two custom containers: one contains installation of Sawtooth and
another contains REMME installation. - Removed
web3
from dependencies. The atomic swap component implements Ethereum-compatible hashing
function now.
Removed
- REST API. Removed in favor of JSON RPC.
- Documentation on the core is entirely technical now. Documentation sections like "Use cases" are
now in separate sections of documentation. Check them out at https://docs.remme.io/
Fixed
- Synchronization issues in atomic swaps transaction family.
- Token transfer transaction with zero amount of transferred tokens are rejected now.
- Application crash on some cases of incorrect configuration.
Security
- Update
requests
Python library to mitigate CVE-2018-18074.
[0.5.2-alpha] - 2018-09-27
Fixed
- Several starting up issues.
[0.5.1-alpha] - 2018-09-13
Changes
- Batches submitted from REST API are now signed by the key of the validator (the same as the key for
block signing). This is required for compatibility with the upcoming update of Sawtooth which will
remove performance limitations for batches submitted with the validator key. - Versions of critical non-Python dependencies are now fixed.
Fixed
- A couple of minor bugs in BlockInfo component.
[0.5.0-alpha] - 2018-08-24
Added
- Access to additional blocks metadata (e.g. time) via REST API (with the help of Sawtooth BlockInfo transaction
processor).
Changed
- All services (REMME REST API, Sawtooth REST API and WebSockets) are now available on a single endpoint on the
following paths:- REMME REST API at
/api/v1
; - Sawtooth REST API at
/validator
; - WebSockets at
/ws
.
- REMME REST API at
- Docker configuration was revised to have much more compact and fast images.
- No need to install
protoc
compiler on the host machine. - Docker Compose configuration changes:
- Containers are now connected in a bridge network. This increases the overall security and simplifies the
firewall setup. - Containers and volumes have pre-defined names to simplify their management.
- Containers are now connected in a bridge network. This increases the overall security and simplifies the
- Configuration
- The majority of settings are now available as TOML files in the
/configuration
directory. network-config.yml
is reserved for stuff required before Docker Compose starts up (IP and ports allocation).- Genesis block is now confgured in
remme-genesis-config.toml
. - REST API:
remme-rest-api.toml
. - Interaction between REMME and Sawtooth Core modules:
remme-client-config.toml
. sawtooth-validator
configuration (as described in Sawtooth documentation):sawtooth-validator-config.toml
- List of addresses for initial connection in
seeds-list.txt
.
- The majority of settings are now available as TOML files in the
- Sawtooth was upgraded to 1.0.5
Fixed
- Swagger UI always opens correctly.
Security
- Upgrade py-cryptography to eliminate CVE-2018-10903.
[0.4.0-alpha] - 2018-07-16
Added
- REST API:
- The endpoint for sending raw transactions. Now it is possible to build and sign a transaction and then submit it to
the validator with the REST API without running a node while keeping your private keys secure. - CORS support for REST API.
- The endpoint for sending raw transactions. Now it is possible to build and sign a transaction and then submit it to
- WebSockets for real-time tracking changes on transactions statuses. Other features are on the way.
- Arrays of public keys in Account objects were introduced to easily track all of the certificates issued by a
particular user. The list of certificates is accessible with the REST API endpoint. Please note, that those
changes are subject for future performance optimizations. Those changes would not affect the REST API interface, but the
internals is subject to change. - Optional feature to disable economy mechanism in private networks (REMME sidechains).
- Specifications for transaction families are now publicly available in the repository.
- More configuration options for nodes (see
.env
to find a full list of them).
Changed
token
transaction family was renamed toaccount
.- Moved from storing certificates to storing and managing public keys. This leads to several important consequences:
- GDPR compliance as no personal data accessible in a certificate is stored on the blockchain.
- A wide range of supported containers for public keys.
- No dependency on Sawtooth API within REMME REST API. Previously the project used Sawtooth REST API to communicate with
the core. Now it communicates with the core directly via ZMQ sockets. - Migrate to Python 3.6
- Internal refactoring has been done for cleaner project structure.
- The transaction processor is now called as
remme.tp
instead ofremme
.
- The transaction processor is now called as
- Swagger UI was updated to a newer version.
[0.3.1-alpha] - 2018-04-27
Added
- REST API:
- Support for certificate signing requests. Now key pairs for certificates can be generated on the client side.
- Support for enabling and disabling methods and endpoints on API server start up.
- Local p12 file generation (to generate certificates on the same machine a node is running on).
- Network:
- Consensus can now be switched to PoET with validator enclave.
Changed
- Better error messages and statuses in REST API.
[0.3.0-alpha] - 2018-04-16
Added
- REST API implementation based on OpenAPI specification and Connexion.
NOTE: this API is not suitable for public usage (use it only for clients on a local machine) for now and is a demo
version. New version of API suitable for public use will be rolled out in the next release.- Certificate handling: registration, revocation and status checks.
- Token handling: transfers and balance view.
- Key pairs management.
- Sphinx-based documentation for source code and overall architecture.
- Capable of running a network of masternodes with DevMode consensus. The next release will contain setup for running it
with PoET (Proof of elapsed time).
Changed
- Updated file hierarchy for Docker Compose.
- All configuration was moved out to
.env
file. - No directories generated from Docker mounts. Now all mounts are done to named volumes.
[0.2.1-alpha] - 2018-03-09
Added
- Enter parameters for certificate from CLI.
- Continuous integrations setup.
- Push release images to Docker Hub.
- A separate setup for end users.
- Started test coverage.
- Convenient way to generate a new genesis block.
- A fixed amount of token is burnt on a certificate issuance. This is to create a point of token utilization. In next releases tokens that are burnt now will be transferred to masternodes (this is bound to the custom consensus implementation).
Changed
- Transactions: unified data structures and transaction processors.
- Faster startup in Docker containers for end users and separate Docker container for development purposes (instant source code updates).
Security
- Reviewed and fixed security issues on token operations.