summaryrefslogtreecommitdiff
path: root/CONTRIBUTING.md
diff options
context:
space:
mode:
authorMichael Herold <michael.j.herold@gmail.com>2015-12-05 09:37:45 -0600
committerMichael Herold <michael.j.herold@gmail.com>2016-02-01 17:21:23 -0600
commitb017e3e1140b17baed77a699d5836cdb1bfad90e (patch)
tree5fd32f294d4b567e5e11fb3ac1513c1fa1f299e3 /CONTRIBUTING.md
parent7218516c8813c163de530098277ead8e4e91ab3d (diff)
downloadhashie-b017e3e1140b17baed77a699d5836cdb1bfad90e.tar.gz
Update the change log format
By updating to the "Keep a Changelog" format, we can more easily identify changes that necessitate different levels of version bump. This change updates the changelog to the new format and updates the contributing and releasing guides with new instructions based on the new changelog format.
Diffstat (limited to 'CONTRIBUTING.md')
-rw-r--r--CONTRIBUTING.md12
1 files changed, 11 insertions, 1 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 92454c4..060d5b7 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -52,7 +52,17 @@ Document any external behavior in the [README](README.md).
#### Update Changelog
-Add a line to [CHANGELOG](CHANGELOG.md) under *Next Release*. Make it look like every other line, including your name and link to your Github account.
+Add a line to [CHANGELOG](CHANGELOG.md) under *Unreleased*. Make it look like every other line, including your name and link to your Github account.
+
+There are several categorizations of changes that you can choose from. Add your line to the appropriate section, following these conventions:
+
+* **Added** - When you add a new behavior to any class or module (or add a new extension) that does not break backwards compatibility, you should mark it as "added". This is generally a fully new behavior that does not touch any pre-existing public API. Changes here require a MINOR version bump, following the Semantic Versioning specification.
+* **Changed** - You should mark any change to the behavior of a public API on any class or module as "changed". Changes here require a MAJOR version bump, following the Semantic Versioning specification.
+* **Deprecated** - Any time you deprecate part of the public API on any class or module you should mark the change as "deprecated". Deprecated behavior will be removed in the next MAJOR version bump, but should be left in until then. Changes here require a MINOR version bump, following the Semantic Versioning specification.
+* **Removed** - You should mark any behavior that you removed from a public API on any class or module as "removed". Changes here require a MAJOR version bump, following the Semantic Versioning specification.
+* **Fixed** - Any time you fix a bug you should mark as "fixed". Changes here require a PATCH version bump.
+* **Security** - You should mark any security issue that you fix as "security". Changes here require a PATCH version bump.
+* **Miscellaneous** - Mark any other changes you make (i.e. documentation updates, test harness changes, etc.) as "miscellaneous". Changes here require a PATCH version bump.
#### Commit Changes