diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 0000000000000000000000000000000000000000..b10d7fa5d2ce00684920515e70ae2b1ea5c4213f
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,52 @@
+# v0.1.0 - 2020-01-31
+
+> Note that this release is a complete breaking change, therefore node operators are instructed to upgrade.
+
+This release mainly integrates the shared codebase between Hornet and GoShimmer called [hive.go](https://github.com/iotaledger/hive.go), 
+to foster improvements in both projects simultaneously. Additionally, the autopeering code from [autopeering-sim](https://github.com/iotaledger/autopeering-sim)
+has been integrated into the codebase. For developers a Go client library is now available to communicate
+with a GoShimmer node in order to issue, get and search zero value transactions and retrieve neighbor information.
+
+A detailed list about the changes in v0.1.0 can be seen under the given [milestone](https://github.com/iotaledger/goshimmer/milestone/1?closed=1).
+
+* Adds config keys to make bind addresses configurable
+* Adds a `relay-checker` tool to check transaction propagation
+* Adds database versioning
+* Adds concrete shutdown order for plugins
+* Adds BadgerDB garbage collection routine
+* Adds SPA dashboard with TPS and memory chart, neighbors and Tangle explorer (`spa` plugin)
+* Adds option to manually define autopeering seed/private keys
+* Adds Golang CI and GitHub workflows as part of the continuous integration pipeline
+* Adds back off policies when doing network operations
+* Adds an open port check which checks whether NATs are configured properly
+* Adds `netutil` package
+* Adds the glumb visualizer backend as a plugin called `graph` (has to be manually enabled, check the readme)
+* Adds rudimentary PoW as a rate control mechanism
+* Adds the autopeering code from autopeering-sim
+* Adds association between transactions and their address
+* Adds the possibility to allow a node to function/start with gossiping disabled
+* Adds buffered connections for gossip messages
+* Adds an OAS/Swagger specification file for the web API
+* Adds web API and refactors endpoints: `broadcastData`, `findTransactionHashes`,
+`getNeighbors`, `getTransactionObjectsByHash`, `getTransactionTrytesByHash`, `getTransactionsToApprove`, `spammer`
+* Adds a Go client library over the web API
+* Adds a complete rewrite of the gossiping layer
+* Fixes the autopeering visualizer to conform to the newest autopeering changes.  
+  The visualizer can be accessed [here](http://ressims.iota.cafe/).
+* Fixes parallel connections by improving the peer selection mechanism
+* Fixes that LRU caches are not flushed correctly up on shutdown
+* Fixes consistent application naming (removes instances of sole "Shimmer" in favor of "GoShimmer")
+* Fixes several analysis server related issues
+* Fixes race condition in the PoW code
+* Fixes race condition in the `daemon` package
+* Fixes several race conditions in the `analysis` package
+* Fixes the database not being closed when the node shuts down
+* Fixes `webauth` plugin to function properly with the web API
+* Fixes solidification related issues
+* Fixes several instances of overused goroutine spawning
+* Upgrades to [BadgerDB](https://github.com/dgraph-io/badger) v2.0.1
+* Upgrades to latest [iota.go](https://github.com/iotaledger/iota.go) library
+* Removes sent count from spammed transactions
+* Removes usage of `errors.Identifiable` and `github.com/pkg/errors` in favor of standard lib `errors` package
+* Use `network`, `parameter`, `events`, `database`, `logger`, `daemon`, `workerpool` and `node` packages from hive.go
+* Removes unused plugins (`zmq`, `dashboard`, `ui`)
\ No newline at end of file