All notable changes to this project will be documented in this file (CHANGELOG.md
).
This project adheres to Semantic Versioning (or at least we try).
Contributors to this file, please follow the guidelines on keepachangelog.com.
Note that each version (or "release") is the name of a Git tag of a particular commit, so the associated date and time are the date and time of that commit (as reported by GitHub), not the "Uploaded on" date listed on PyPI (which may differ).
For reference, the possible headings are:
- Added for new features.
- Changed for changes in existing functionality.
- Deprecated for once-stable features removed in upcoming releases.
- Removed for deprecated features removed in this release.
- Fixed for any bug fixes.
- Security to invite users to upgrade in case of vulnerabilities.
- External Contributors to list contributors outside of BigchainDB GmbH.
- Notes
Tag name: v0.6.0 = commit: committed:
- Support for multiple operations in the ChangeFeed class: Pull Request #569
- Instructions, templates and code for deploying a starter node on AWS using Terraform and Ansible: Pull Requests #572, #589, #600, #605, #610
- Check that the majority of votes on a block agree on the previous block. If they don't, consider the block invalid. Pull Request #565
- Set RethinkDB
read-mode='majority'
everywhere: Pull Request #497 - Ported election logic and voting logic to the new pipeline architecture: Pull Requests #510 and #515
- Moved the transaction (model)
version
inside thetransaction
(in the transaction data model): Pull Request #518 - Changed how the BigchainDB config file (JSON) gets written so it's easier for humans to read: Pull Request #522
- Improved and expanded the GET/POST endpoints for transactions (in the HTTP API): Pull Request #563
- Changed the AWS cluster deployment scripts so that the deployer now generates their keypair locally, rather than having Amazon do it: Pull Request #567
- When a transaction is retrieved by
get_transaction
, avalidity
field is added with a value one ofvalid
,undecided
, orbacklog
: Pull Request #574 - Renamed
current_owners
andnew_owners
(in the data models) toowners_before
andowners_after
, respectively (i.e. before/after the transaction): Pull Request #578 - Use
flask_restful
and class-based views for realizing the HTTP API: Pull Request #588
- Fixed the confusing error message when there was a syntax error in the BigchainDB config file: Pull Request #531
- Fixed
write_transaction
so it no longer has the side effect of addingassignee
to a transaction that is being processed: Pull Request #606
- @eladve - Pull Request #518
- @d01phin - Pull Requests #522 and #531
- @Kentoseth - Pull Request #537
- Several additions and changes to the documentation, e.g. Pull Requests #523, #532, #537, #539, #610, and more
Tag name: v0.5.1 = commit: ff042b5954abe48c7264d43128d52584eab2a806 committed: Jul 29, 2016, 2:38 PM GMT+2
- New third table, the 'votes' table: Pull Request #379
- Added
get_tx_by_payload_uuid()
including index: Pull Request #411 - Ability to deploy a test cluster on AWS using Amazon Elastic Block Store (EBS) for storage: Pull Request #469
- Ability to add different-size payloads to transactions when filling the backlog for benchmarking: Pull Request #273
- Votes are no longer appended to the blocks inside the 'bigchain' table. They're now written to their own table, the 'votes' table: Pull Request #379
- Refactored how blocks get constructed using the new approach to doing multiprocessing, using the
multipipes
package: Pull Request #484 - Changed all queries to use
read_mode='majority'
: Pull Request #497 - Revised how base software gets deployed on AWS instances: Pull Request #478
- Refactored
db.utils.init()
: Pull Request #471
- @shauns - Pull Request #411
- @lonelypeanut - Pull Request #479
- @lluminita - Pull Requests #435 & #471
- Several additions and changes to the documentation: Pull Requests #416, #417, #418, #420, #421, #422, #423, #425, #428, #430, #431, #435, #442, #472, #481
Tag name: v0.5.0 = commit: 38329531304952128b48f2e5603db5fa08069c26 committed: July 4, 2016, 1:07 PM GMT+2
- New
bigchaindb set-replicas
subcommand: Pull Request #392 - Informative JSON message when one makes a request to the root endpoint of the HTTP client-server API: Pull Request #367
- Return HTTP response code 404 when a transaction is not found: Pull Request #369
- Changed the order in which configuration settings get their values. If a setting is set by an environment variable, then that value will be the value, regardless of whether another value is set in a local config file. Also added a method to programattically update the config settings. Pull Request #395
- Changed the definition of
util.sign_tx()
. It now has a third, optional argument: a Bigchain instance. Pull Request #410
- Several additions and changes to the documentation: Pull Requests #388, #393, #397, #402, #403, #406, #408
Tag name: v0.4.2 = commit: 7ce6c3980cf70437d7ce716a67f069afa8ecb79e committed: June 15, 2016, 1:42 PM GMT+2
- Report the BigchainDB version number when starting BigchainDB: Pull Request #385
- Round timestamps to a precision of one second, and replace payload hash with payload UUID in transactions: Pull Request #384
- Updated cryptoconditions API usage: Pull Request #373
Tag name: v0.4.1 = commit: 9c4aa987bcbc294b6a5c3069e6c45a7ed77a4068 committed: June 13, 2016, 9:52 AM GMT+2
- Revert
bigchain
deletes: Pull Request #330
- Use inverted threshold condition instead of negative weights for escrow: Pull Request #355
- Removed duplicate
pytest
insetup.py
: Pull Request #365
- There were several additions and changes to the documentation: Pull Requests #343, #363, #364, #366, #370, #372
Tag name: v0.4.0 = commit: a89399c4f9fcdf82df73e0d8191af9e539d8d081 committed: May 27, 2016, 1:42 PM GMT+2
- Support for escrow (possible because of two other new things: cryptoconditions with inverters, and a timeout condition): Pull Request #329
- Caching of calls to
load_consensus_plugin()
, using@lru_cache
. This speeds up the instantiation ofBigchain
objects and greatly improves overall performance. Pull Request #271 - New
Dockerfile-dev
Docker file to make it easier for developers to develop BigchainDB with Docker. One can run all unit tests with Docker again. Pull Request #313 - Transactions in invalid blocks are copied to the backlog: Pull Request #221.
- Queries to the bigchain table now ignore invalid blocks: Pull Request #324
- Use secondary index on get_transaction: Pull Request #324
- New
bigchaindb
command to set the number of RethinkDB shards (in both tables): Pull Request #258 - Better handling of an outdated
setuptools
: Pull Request #279
- The block processes now use GroupProcess: Pull Request #267
- Replaced the
json
Python package withrapidjson
(a Python wrapper for a fast JSON parser/generator written in C++), to speed up JSON serialization and deserialization: Pull Request #318 - Overhauled
ROADMAP.md
and moved it to the bigchaindb/org repository: Pull Requests #282, #306, #308, #325 - AWS deployment has better support for New Relic Server Monitoring: Pull Request #316
- AWS deployment script now reads from a configuration file: Pull Request #291
- AWS deployment script doesn't auto-start the BigchainDB servers anymore: Pull Request #257
- Bug related to transaction malleability: Pull Request #281
You can now see a big-picture view of all BigchainDB repositories on a waffle.io board.
Tag name: v0.3.0 = commit: a97c54e82be954a1411e5bfe0f09a9c631309f1e committed: May 3, 2016, 11:52 AM GMT+2
- Crypto-conditions specs according to the Interledger protocol: Pull Request #174
- Added support for anonymous hashlocked conditions and fulfillments: Pull Request #211
- Several improvements to the AWS deployment scripts: Pull Request #227
- Bug related to block validation: Pull Request #233
This release completely refactored the structure of the transactions and broke compatibility with older versions of BigchainDB. The refactor of the transactions was made in order to add support for multiple inputs/outputs and the crypto-conditions specs from the Interledger protocol.
We also updated the RethinkDB Python drivers so you need to upgrade to RethinkDB v2.3+
Tag name: v0.2.0 = commit: 0c4a2b380aabdcf50fa2d7fb351c290aaedc3db7 committed: April 26, 2016, 11:09 AM GMT+2
- Ability to use environment variables to set (or partially set) configuration settings: Pull Request #153
bigchaindb --export-my-pubkey
: Pull Request #186bigchaindb --version
, and one central source for the current version (version.py
): Pull Request #208- AWS deployment scripts: Pull Requests #160, #166, #172, #203
codecov.yml
: Pull Request #161CHANGELOG.md
(this file): Pull Request #117- Signatures using Ed25519: Pull Requests #138, #152
- Multisig support: Pull Request #107
- HTTP Server & Web API: Pull Requests #102, #150, #155, #183
- Python driver/SDK/API: Pull Request #102
- Python Style Guide: Pull Request #89
- Monitoring & dashboard tools: Pull Requests #72, #181
- Bug related to config overwrite: Pull Request #97
- Bug related to running the
bigchaindb-benchmark load
on docker Pull Request #225
- @thedoctor: Pull Requests #99, #136
- @roderik: Pull Request #162
Tag name: v0.1.5 = commit: 9f62cddbaf44167692cfee71db707bce93e3395f committed: April 20, 2016, 3:31 PM GMT+2
- Issue #71 (Voter is not validating blocks correctly when checking for double spends) in Pull Request #76
Tag name: v0.1.4 = commit: c4c850f480bc9ae72df2a54f81c0825b6fb4ed62 committed: Feb 22, 2016, 11:51 AM GMT+1
- Added to
classifiers
to setup.py
- Allow running pytest tests in parallel (using xdist): Pull Request #65
- Allow non-interactive first start: Pull Request #64 to resolve Issue #58
Tag name: v0.1.3 = commit 8926e3216c1ee39b9bc332e5ef1df2a8901262dd committed Feb 16, 2016, 11:37 AM GMT+1
- Changed from using Git Flow to GitHub flow (but with
develop
as the default branch).
Tag name: v0.1.2 = commit d2ff24166d69dda68dd7b4a24a88279b1d37e222 committed Feb 15, 2016, 2:23 PM GMT+1
- Various tests
- Fix exception when running
start
: Pull Request #32 resolved [Issue #35]
Tag name: v0.1.1 = commit 2a025448b29fe7056760de1039c73bbcfe992461 committed Feb 15, 2016, 10:48 AM GMT+1
- "release 0.1.1": Pull Request #37
tox.ini
Pull Request #18requirements.txt
in the root directory, and the entirerequirements/
directory: Pull Request #14
- Hotfix for AttributeError, fixed Issue #27
Tag name: v0.1.0 = commit 8539e8dc2d036a4e0a866a3fb9e55889503254d5 committed Feb 10, 2016, 10:04 PM GMT+1
The first public release of BigchainDB, including:
- Initial BigchainDB Server code, including many tests and some code for benchmarking.
- Initial documentation (in
bigchaindb/docs
). - Initial
README.md
,ROADMAP.md
,CODE_OF_CONDUCT.md
, andCONTRIBUTING.md
. - Packaging for PyPI, including
setup.py
andsetup.cfg
. - Initial
Dockerfile
anddocker-compose.yml
(for deployment using Docker and Docker Compose). - Initial
.gitignore
(list of things for git to ignore). - Initial
.travis.yml
(used by Travis CI).