From 5d2cb3480cd8e3b319def23f09ebb76104a99716 Mon Sep 17 00:00:00 2001
From: Daniel Cousens <github@dcousens.com>
Date: Mon, 14 Sep 2015 16:38:40 +1000
Subject: [PATCH 1/3] adds CHANGELOG

---
 CHANGELOG.md | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 58 insertions(+)
 create mode 100644 CHANGELOG.md

diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 0000000..44c6917
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,58 @@
+# 2.0.0
+
+In this release we have strived to simplify the API,  [using native types](https://github.com/bitcoinjs/bitcoinjs-lib/issues/407) wherevever possible to encourage cross-compatibility with other open source community modules.
+
+The `ecdsa` module has been removed in lieu of using a new ECDSA module (for performance and safety reasons) during the `2.x.y` major release.
+Several other cumbersome modules have been removed,  with their new independent modules recommended for usage instead for greater modularity in your projects.
+
+-----------------------------
+
+Backward incompatible changes:
+
+__added__
+- export `address`, for `address` based [utility functions](https://github.com/bitcoinjs/bitcoinjs-lib/blob/master/src/address.js), most compatible, just without `Address` instantiation, see #401, #444
+- export `script`, for `script` based [utility functions](https://github.com/bitcoinjs/bitcoinjs-lib/blob/master/src/script.js), mostly compatible, just without `Script` instantiation, see #438, #444
+- export `ECPair`, a merged replacement for `ECKey`/`ECPubKey`, invalid types will throw via `typeforce`
+
+__changed__
+- `address.toOutputScript`, `ECPair.prototype.fromWIF` and `HDNode.prototype.fromBase58` no longer automatically detect the network, `networks.bitcoin` is always assumed unless given.
+- `assert` was used for type checking, now replaced by `typeforce`
+- `BIP66` compliant strict DER signature validation was added to `ECSignature.fromDER`, changing the exact exception messages slightly, see #448.
+
+- `new HDNode(d/Q, chainCode, network)` -> `new HDNode(keyPair, chainCode)`, now uses `ECPair`
+- `HDNode.prototype.toBase58(false)` -> `HDNode.prototype.neutered().toBase58()` for exporting an extended public key
+- `HDNode.prototype.toBase58(true)` -> `HDNode.prototype.toBase58()` for exporting an extended private key
+
+- `Transaction.prototype.hashForSignature(prevOutScript, inIndex, hashType)` -> `Transaction.prototype.hashForSignature(inIndex, prevOutScript, hashType)`
+- `Transaction.prototype.addInput(hash, ...)`: `hash` could be a string, Transaction or Buffer -> `hash` can now **only** be a `Buffer`.
+- `Transaction.prototype.addOutput(scriptPubKey, ...)`: `scriptPubKey ` could be a string, `Address` or a `Buffer` -> `scriptPubKey` can now **only** be a `Buffer`.
+- `TransactionBuilder` API unchanged.
+
+__removed__
+- export `Address`, `strings` are now used,  benchwith no performance loss for most use cases
+- export `base58check`, use [`bs58check`](https://github.com/bitcoinjs/bs58check) instead
+- export `ecdsa`, use [`ecurve`](https://github.com/cryptocoinjs/ecurve) instead
+- export `ECKey`, use new export `ECPair` instead
+- export `ECPubKey`, use new export `ECPair` instead
+- export `Wallet`, see README.md#complementing-libraries instead
+- export `Script`, use new utility export `script` instead (#438 for more information)
+
+- `crypto.HmacSHA256 `, use [node crypto](https://nodejs.org/api/crypto.html) instead
+- `crypto.HmacSHA512 `, use [node crypto](https://nodejs.org/api/crypto.html) instead
+
+- `Transaction.prototype.sign`, use `TransactionBuilder.prototype.sign`
+- `Transaction.prototype.signInput`, use `TransactionBuilder.prototype.sign`
+- `Transaction.prototype.validateInput`, use `Transaction.prototype.hashForSignature` and `ECPair.verify`
+
+- `HDNode.fromBuffer`, use `HDNode.fromBase58` instead
+- `HDNode.fromHex`, use `HDNode.fromBase58` instead
+- `HDNode.toBuffer`, use `HDNode.prototype.toBase58` instead
+- `HDNode.toHex`, use `HDNode.prototype.toBase58` instead
+
+- `networks.*.magic`, see the comment [here](https://github.com/bitcoinjs/bitcoinjs-lib/pull/432/files#r36715792)
+- `networks.[viacoin|viacointestnet|gamerscoin|jumbucks|zetacoin]`, import these yourself (see #383/a0e6ee7)
+
+__renamed__
+- `Message` -> `message`
+- `scripts` -> `script`
+- `scripts.dataOutput ` -> `script.nullDataOutput` (per [convention](https://org/en/glossary/null-data-transaction))

From 7f42b0dac46568e9a8fe3a1bda59bd34207b7969 Mon Sep 17 00:00:00 2001
From: Daniel Cousens <github@dcousens.com>
Date: Mon, 14 Sep 2015 16:49:56 +1000
Subject: [PATCH 2/3] CHANGELOG: add note about estimateFee being removed

---
 CHANGELOG.md | 1 +
 1 file changed, 1 insertion(+)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 44c6917..a2ce073 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -51,6 +51,7 @@ __removed__
 
 - `networks.*.magic`, see the comment [here](https://github.com/bitcoinjs/bitcoinjs-lib/pull/432/files#r36715792)
 - `networks.[viacoin|viacointestnet|gamerscoin|jumbucks|zetacoin]`, import these yourself (see #383/a0e6ee7)
+- `networks.*.estimateFee`, out-dated
 
 __renamed__
 - `Message` -> `message`

From f67823d41a4e7d2b2a89ba4dfbfab92e5b62328e Mon Sep 17 00:00:00 2001
From: Daniel Cousens <github@dcousens.com>
Date: Mon, 14 Sep 2015 16:39:55 +1000
Subject: [PATCH 3/3] 2.0.0

---
 package.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/package.json b/package.json
index d5142c2..0d2f404 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "bitcoinjs-lib",
-  "version": "2.0.0-pre",
+  "version": "2.0.0",
   "description": "Client-side Bitcoin JavaScript library",
   "main": "./src/index.js",
   "keywords": [