From 5420254b36f2cb68a9993124395f6cd7e7da1a87 Mon Sep 17 00:00:00 2001 From: Ethan Buchman Date: Thu, 9 Mar 2017 01:33:31 -0500 Subject: [PATCH] changelog: add prehistory --- CHANGELOG.md | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 26c83b37..7ebcfd36 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -35,10 +35,9 @@ type BlockMeta struct { } ``` +- `ValidatorSet.Proposer` is exposed as a field and persisted with the `State`. Use `GetProposer()` to initialize or update after validator-set changes. + - `tendermint gen_validator` command output is now pure JSON -- `ValidatorSet` data type: - - expose a `Proposer` field. Note this means the `Proposer` is persisted with the `State`. - - change `.Proposer()` to `.GetProposer()` FEATURES: @@ -218,3 +217,19 @@ BUG FIXES: - Various fixes to WAL and replay logic - Various race conditions + +## PreHistory + +Strict versioning only began with the release of v0.7.0, in late summer 2016. +The project itself began in early summer 2014 and was workable decentralized cryptocurrency software by the end of that year. +Through the course of 2015, in collaboration with Eris Industries (now Monax Indsutries), +many additional features were integrated, including an implementation from scratch of the Ethereum Virtual Machine. +That implementation now forms the heart of [ErisDB](https://github.com/eris-ltd/eris-db). +In the later half of 2015, the consensus algorithm was upgraded with a more asynchronous design and a more deterministic and robust implementation. + +By late 2015, frustration with the difficulty of forking a large monolithic stack to create alternative cryptocurrency designs led to the +invention of the Application Blockchain Interface (ABCI), then called the Tendermint Socket Protocol (TMSP). +The Ethereum Virtual Machine and various other transaction features were removed, and Tendermint was whittled down to a core consensus engine +driving an application running in another process. +The ABCI interface and implementation were iterated on and improved over the course of 2016, +until versioned history kicked in with v0.7.0.