# Change Log

All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.

<a name="2.0.0"></a>
# [2.0.0](https://github.com/nexdrew/which-module/compare/v1.0.0...v2.0.0) (2017-05-01)


### Features

* remove Node < 4 from official testing/support ([#22](https://github.com/nexdrew/which-module/issues/22)) ([ee7aff4](https://github.com/nexdrew/which-module/commit/ee7aff4))


### BREAKING CHANGES

* Node 0.10 or 0.12 no longer supported, please update to Node 4+ or use which-module@1.0.0



<a name="1.0.0"></a>
# 1.0.0 (2016-06-06)


### Features

* initial code ([08074cd](https://github.com/nexdrew/which-module/commit/08074cd))
