Safe Vault - Change Log
- Set execution permission on safe_vault binary before packaging for release
AccessDeniedwhen apps request to insert, delete or list auth keys instead of ignoring the request.
- Use project's data directory as the root directory.
- Upgrade safe-nd dependency to 0.4.0. This includes granular permissions for applications.
- Change usage of idata term "kind" to "data".
- Introduce IDataRequest to eliminate unwraps.
- Handle refunds when errors are returned from the data handlers.
- Deprecate Rpc::Refund to use Rpc::Response instead.
- Send response to the client that sent the request instead of all connected clients.
- Use GitHub actions for build and release.
- This is a technical release without any changes from
verbosecommand line flag.
- Fix the UX problem related to the self-update process (requiring to have a network connectivity even if a user just wanted to display the
- Improve the release process, adding
.tar.gzpackages to distribution.
- Rewrite the Vault code.
- Support new data types (AppendOnlyData, unpublished sequenced/unsequenced MutableData, and unpublished ImmutableData).
- Support coin operations.
- Use quic-p2p for communication with clients.
- Temporarily remove the Routing dependency.
- Refactor the personas system into a new Vault architecture.
- Use Rust stable / 2018 edition.
- Improve Docker configuration scripts (thanks to @mattmccarty)
- Use rust 1.22.1 stable / 2017-11-23 nightly
- rustfmt 0.9.0 and clippy-0.0.174
- Update dependencies.
- Change test to use value of MAX_MUTABLE_DATA_ENTRIES rather than magic numbers.
- Remove proxy rate exceed event.
- Update to use Routing 0.32.2.
- Use Routing definitions for group size and quorum.
- Add dev config options to allow running a local testnet.
- Update to use Routing 0.32.0.
- Update to use Rust Stable 1.19.0 / Nightly 2017-07-20, Clippy 0.0.144, and rustfmt 0.9.0.
- Improve DataManager tests.
- Deprecate and remove support for Structured, PrivAppendable and PubAppendable Data.
- Add support for MutableData instead.
- MaidManagers only charge on put success now.
- MaidManagers charge by directly storing the MsgIds and counting the number of them to determine the account balance.
- MaidManagers support insertion and deletion of auth-keys to support auth-app paradigm in which all mutations on behalf of the owner of the account has to go via the MaidManagers.
- Upgrade to routing 0.28.5.
- Migrate from rustc-serialize to serde.
- Migrate from docopt to clap.
- Implement invitation-based account creation.
- Upgrade to routing 0.28.4.
- Upgrade to routing 0.28.2.
- Migrate to routing 0.28.0.
- Use a single event loop for routing and safe_vault.
- Fix issues with account creation and data requests.
- Enforce data size caps.
- Enable new delete mechanism.
- Handle appendable data types in data manager.
- Fix a synchronisation problem in Put/Post handling.
- Use rust_sodium instead of sodiumoxide.
- Upgrade to routing 0.23.4, with merged safe_network_common.
- Revert to routing 0.23.3.
- Update the crate documentation.
- Upgrade to routing 0.25.0.
- Remove spammy trace statement.
- Set default Put limit to 500 and default chunk store limit to 2 GB.
- Prevent vaults from removing existing chunk_store when terminating.
- Fix chunk store directory handling.
- Remove remaining uses of the thread-local random number generator to make tests deterministic.
- Make data manager statistics less verbose to reduce spam in the logs.
- Merge chunk_store into safe_vault and make its root directory configurable.
- Implement caching for immutable data.
- Migrate to the mio-based Crust and the new Routing Request/Response API.
GetAccountInforequests to provide information about a client's used and remaining chunk count.
- Allow passing
--firstvia command line to start the first Vault of a new network.
- Updated dependencies.
- Several tweaks to churn handling in data_manager.
- Implement process to automatically build release binaries.
- Re-organise the tests to use mock Crust instead of mock Routing.
- Improve logging.
- Fix several bugs.
- Restart routing if it failed to join the network.
- Reimplement the refresh algorithm for structured and immutable data to make it less wasteful and more reliable.
- Major change of persona strategy regarding
ImmutableData(removal of three personas)
- Major refactoring of integration tests (uses mock Crust feature)
- Default test runner to unit tests (previously run using the mock Routing feature)
- Replaced use of local Client errors for those in safe_network_common
- Swapped dependency on mpid_messaging crate for safe_network_common dependency
- Removed Mpid tests from CI suite
- Updated some message flows
- Completed churn-handling for ImmutableDataManager
- Added many unit tests
- Fixed Clippy warnings
- Several bugfixes
- Accommodated updates to dependencies' APIs
- Ensured that the network can correctly handle Clients doing a Get for ImmutableData immediately after doing a Put
- Major refactor to accommodate changed Routing
- Default to use real Routing rather than the mock
- Updated config file to match Crust changes
- Refactored flow for put_response
- Added churn tests
- Refactored returns from most persona functions to not use Result
- Major refactor of production code and tests to match Routing's new API, allowing testing on a real network rather than a mock
- Updated installers to match Crust's config/bootstrap file changes
- Added tarball to packages being generated
- Dropped usage of feature-gated items
- MAID-1283 Rename repositories from "maidsafe_" to "safe_"
- MAID-1186 Handling of unified Structrued Data
[0.1.2] - code clean up
- MAID 1185 using unwrap unsafely
- Updated dependencies' versions
- Fixed lint warnings caused by latest Rust nightly
- Issue 117 meaningful type_tag
- PR 124 integration test with client
- client log in / log out
- complete put flow
- complete get flow
[0.1.0] - integrate with routing and safecoin farming initial work [rust-2 Sprint]
- MAID-1107 Rename actions (changes in routing v0.1.60)
- MAID-1008 Documentation
- MAID-1013 Complete unfinished code (if it will be covered by the later-on tasks in this sprint, explicitly mention it as in-code TODO comment), especially in vault.rs
- MAID-1014 Integration test with new routing and crust (vaults bootstrap and network setup)
- MAID-1012 SafeCoin farming (new persona may need to be introduced, the task needs to be ‘expandable’ ) documentation
- MAID-1021 Implement handling for Safecoin farming rate
- Farming rate determined by the Sacrificial copies.
- Farming rate drops when more copies are available and rises when less copies are available.
[0.0.0 - 0.0.3]
- VaultFacade initial implementation
- Chunkstore implementation and test
- Initial Persona implementation :
- Implement MaidManager and test
- Implement DataManager and test
- Implement PmidManager and test
- Implement PmidNode and test
- Implement VersionHandler
- Flow related work :
- Complete simple Put flow and test
- Complete simple Get flow and test
- Complete Create Maid Account Flow
- Installers (linux deb/rpm 32/64 bit, Windows 32 / 64. OSX)
- Coverage analysis