Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: SparkPost/node-sparkpost
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 1.0.0
Choose a base ref
...
head repository: SparkPost/node-sparkpost
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Loading
Showing with 7,677 additions and 2,832 deletions.
  1. +6 −0 .eslintrc
  2. +3 −0 .gitignore
  3. +2 −1 .jshintrc
  4. +5 −3 .travis.yml
  5. +164 −13 CHANGELOG.md
  6. +46 −0 CODE_OF_CONDUCT.md
  7. +20 −2 CONTRIBUTING.md
  8. +0 −69 Gruntfile.js
  9. +93 −38 README.md
  10. 0 docs/{ADDING_ISSUES.markdown → ADDING_ISSUES.md}
  11. 0 docs/{CODE_STYLE_GUIDE.markdown → CODE_STYLE_GUIDE.md}
  12. +36 −0 docs/async.md
  13. +24 −0 docs/resources/events.md
  14. +22 −0 docs/resources/inboundDomains.md
  15. +24 −0 docs/resources/messageEvents.md
  16. +19 −33 docs/resources/recipientLists.md
  17. +26 −0 docs/resources/relayWebhooks.md
  18. +22 −47 docs/resources/sendingDomains.md
  19. +24 −0 docs/resources/subaccounts.md
  20. +14 −37 docs/resources/suppressionList.md
  21. +19 −35 docs/resources/templates.md
  22. +17 −68 docs/resources/transmissions.md
  23. +49 −51 docs/resources/webhooks.md
  24. +15 −3 examples/baseObject/getDomainsList.js
  25. +29 −0 examples/events/search_message.js
  26. +28 −0 examples/inboundDomains/create.js
  27. +27 −0 examples/inboundDomains/delete.js
  28. +27 −0 examples/inboundDomains/get.js
  29. +27 −0 examples/inboundDomains/list.js
  30. +31 −0 examples/messageEvents/search_campaignClicks.js
  31. +29 −0 examples/messageEvents/search_default.js
  32. +35 −0 examples/messageEvents/search_messageEvents.js
  33. +17 −4 examples/recipientLists/{create_recipientList.js → create.js}
  34. +27 −0 examples/recipientLists/delete.js
  35. +0 −14 examples/recipientLists/delete_recipientList.js
  36. +30 −0 examples/recipientLists/get.js
  37. +0 −14 examples/recipientLists/get_all_recipientLists.js
  38. +0 −17 examples/recipientLists/get_recipientList.js
  39. +0 −18 examples/recipientLists/get_recipientList_with_recipients.js
  40. +27 −0 examples/recipientLists/list.js
  41. +47 −0 examples/recipientLists/update.js
  42. +34 −0 examples/relayWebhooks/create.js
  43. +27 −0 examples/relayWebhooks/delete.js
  44. +27 −0 examples/relayWebhooks/get.js
  45. +27 −0 examples/relayWebhooks/list.js
  46. +30 −0 examples/relayWebhooks/update.js
  47. +36 −0 examples/sendingDomains/create.js
  48. +0 −22 examples/sendingDomains/create_sendingDomain.js
  49. +27 −0 examples/sendingDomains/delete.js
  50. +27 −0 examples/sendingDomains/get.js
  51. +0 −14 examples/sendingDomains/get_all_sendingDomains.js
  52. +0 −14 examples/sendingDomains/get_sendingDomain.js
  53. +27 −0 examples/sendingDomains/list.js
  54. +34 −0 examples/sendingDomains/update.js
  55. +0 −22 examples/sendingDomains/update_sendingDomain.js
  56. +33 −0 examples/sendingDomains/verify.js
  57. +0 −17 examples/sendingDomains/verify_sendingDomain_default.js
  58. +0 −18 examples/sendingDomains/verify_sendingDomain_dkim_only.js
  59. +0 −18 examples/sendingDomains/verify_sendingDomain_spf_only.js
  60. +35 −0 examples/subaccounts/create.js
  61. +27 −0 examples/subaccounts/get.js
  62. +27 −0 examples/subaccounts/list.js
  63. +31 −0 examples/subaccounts/update.js
  64. +0 −14 examples/suppressionList/checkStatus.js
  65. +27 −0 examples/suppressionList/delete.js
  66. +27 −0 examples/suppressionList/get.js
  67. +32 −0 examples/suppressionList/list.js
  68. +0 −14 examples/suppressionList/removeStatus.js
  69. +0 −19 examples/suppressionList/search_suppressionList.js
  70. +21 −8 examples/suppressionList/upsert.js
  71. +29 −16 examples/suppressionList/upsert_bulk.js
  72. +36 −0 examples/templates/create.js
  73. +0 −25 examples/templates/create_template.js
  74. +27 −0 examples/templates/delete.js
  75. +0 −14 examples/templates/delete_template.js
  76. +27 −0 examples/templates/get.js
  77. +0 −14 examples/templates/get_all_templates.js
  78. +30 −0 examples/templates/get_draft.js
  79. +0 −18 examples/templates/get_draft_template.js
  80. +0 −17 examples/templates/get_template.js
  81. +27 −0 examples/templates/list.js
  82. +30 −0 examples/templates/preview.js
  83. +0 −18 examples/templates/preview_template.js
  84. +34 −0 examples/templates/update.js
  85. +37 −0 examples/templates/update_published.js
  86. +0 −25 examples/templates/update_published_template.js
  87. +0 −24 examples/templates/update_template.js
  88. +27 −0 examples/transmissions/get.js
  89. +0 −14 examples/transmissions/get_all_transmissions.js
  90. +0 −14 examples/transmissions/get_transmission.js
  91. +25 −0 examples/transmissions/list.js
  92. +29 −0 examples/transmissions/list_by_campaign.js
  93. +30 −0 examples/transmissions/list_by_template.js
  94. +0 −24 examples/transmissions/mime_parts.js
  95. +0 −21 examples/transmissions/rfc822.js
  96. +74 −0 examples/transmissions/send_all_fields.js
  97. +43 −0 examples/transmissions/send_inline_image.js
  98. +40 −0 examples/transmissions/send_mime_parts.js
  99. +33 −0 examples/transmissions/send_rfc822.js
  100. +38 −0 examples/transmissions/send_stored_recipients_inline_content.js
  101. +37 −0 examples/transmissions/send_stored_recipients_stored_content.js
  102. +37 −0 examples/transmissions/send_stored_template.js
  103. +0 −45 examples/transmissions/send_transmission_all_fields.js
  104. +58 −0 examples/transmissions/send_with_bcc.js
  105. +59 −0 examples/transmissions/send_with_bcc_sugar.js
  106. +62 −0 examples/transmissions/send_with_cc.js
  107. +60 −0 examples/transmissions/send_with_cc_sugar.js
  108. +0 −22 examples/transmissions/stored_recipients_inline_content.js
  109. +0 −22 examples/transmissions/stored_recipients_stored_content.js
  110. +0 −21 examples/transmissions/stored_template_send.js
  111. +38 −0 examples/webhooks/create.js
  112. +0 −25 examples/webhooks/create_webhook.js
  113. +27 −0 examples/webhooks/delete.js
  114. +0 −14 examples/webhooks/delete_webhook.js
  115. +0 −18 examples/webhooks/describe_webhook.js
  116. +30 −0 examples/webhooks/get.js
  117. +17 −5 examples/webhooks/getBatchStatus.js
  118. +27 −0 examples/webhooks/getDocumentation.js
  119. +30 −0 examples/webhooks/getSamples.js
  120. +0 −14 examples/webhooks/get_all_webhooks.js
  121. +27 −0 examples/webhooks/list.js
  122. +34 −0 examples/webhooks/update.js
  123. +0 −22 examples/webhooks/update_webhook.js
  124. +32 −0 examples/webhooks/validate.js
  125. +0 −20 examples/webhooks/validate_webhook.js
  126. +0 −102 lib/SendGridCompatibility/Email.js
  127. +0 −127 lib/SendGridCompatibility/index.js
  128. +34 −0 lib/events.js
  129. +72 −0 lib/inboundDomains.js
  130. +34 −0 lib/messageEvents.js
  131. +102 −46 lib/recipientLists.js
  132. +99 −0 lib/relayWebhooks.js
  133. +97 −71 lib/sendingDomains.js
  134. +90 −41 lib/sparkpost.js
  135. +81 −0 lib/subaccounts.js
  136. +57 −48 lib/suppressionList.js
  137. +114 −73 lib/templates.js
  138. +0 −47 lib/toApiFormat.js
  139. +143 −45 lib/transmissions.js
  140. +168 −80 lib/webhooks.js
  141. +33 −0 lib/withCallback.js
  142. +2,181 −0 package-lock.json
  143. +23 −22 package.json
  144. +0 −154 test/spec/SendGridCompatibility/Email.spec.js
  145. +0 −137 test/spec/SendGridCompatibility/index.spec.js
  146. +82 −0 test/spec/events.spec.js
  147. +84 −0 test/spec/inboundDomains.spec.js
  148. +78 −0 test/spec/messageEvents.spec.js
  149. +154 −83 test/spec/recipientLists.spec.js
  150. +110 −0 test/spec/relayWebhooks.spec.js
  151. +83 −124 test/spec/sendingDomains.spec.js
  152. +288 −26 test/spec/sparkpost.spec.js
  153. +98 −0 test/spec/subaccounts.spec.js
  154. +63 −90 test/spec/suppressionList.spec.js
  155. +140 −121 test/spec/templates.spec.js
  156. +0 −74 test/spec/toApiFormat.js
  157. +258 −64 test/spec/transmissions.spec.js
  158. +133 −138 test/spec/webhooks.spec.js
6 changes: 6 additions & 0 deletions .eslintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"extends": "sparkpost/api",
"globals": {
"Promise": true
}
}
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
node_modules
xunit.xml
test/reports/*

# vscode
.vscode
3 changes: 2 additions & 1 deletion .jshintrc
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"node" : true,
"es3" : true,
"es3" : false,
"esnext" : true,
"strict" : true,
"curly" : true,
"eqeqeq" : true,
8 changes: 5 additions & 3 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
language: node_js
node_js:
- '0.10'
before_install: npm install -g grunt-cli
install: npm install
- '4'
- '5'
- '6'
after_success:
- npm run coveralls
notifications:
slack:
secure: dsz+D/TuylEi+6zqdB5dVqyMlpbpafaBBcAwYIijTK6LuG8KdIdGNSFVX1ro6o3bJFwMvtfxNeK1eFrMy8l6VHZQL0dkXWRmCl/pxLhEntUiYTDwDOtiqy1QLZtv5AqtsdSr1qLiOJtgF6gXk66xipnV2UzjLVVoxzSrdOSnX4U=
177 changes: 164 additions & 13 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,146 @@
## Change Log
# Change Log
All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](http://semver.org/).

### v1.0.0 (2015/06/06) - *breaking*
## [Unreleased][unreleased]
- Security patches to dev-dependencies [#237](https://github.com/SparkPost/node-sparkpost/pull/237) by @jgzamora

## [2.1.4] - 2019-10-01
### Added
- Events API functionality by @sstaley-sparkpost
- Example for [searching the events/message API](/examples/events/search_message.js) by @sstaley-sparkpost.

## [2.1.3] - 2018-10-24
### Fixed
- Template preview draft option [bug](https://github.com/SparkPost/node-sparkpost/issues/233) by @jgzamora
- Updated example for [retrieving a recipient list](/examples/recipientLists/get.js) by @WanderingBrooks.

### Added
- Example for [sending a transmission with an inline image](/examples/transmissions/send_inline_image.js) by @aydrian.

## [2.1.2] - 2017-01-20
### Fixed
- Callbacks are no longer being called twice in some methods by @avrahamgoldman. See Issue [203](https://github.com/SparkPost/node-sparkpost/issues/203).

## [2.1.1] - 2017-01-11
### Changed
- Removed our addition to the native Promise prototype in favor of a bluebird-inspired callback-wrapping function. See Issue [#199](https://github.com/SparkPost/node-sparkpost/issues/199). Thanks @danieljuhl.

### Fixed
- Empty CC sugar method no longer triggers an API error by @avrahamgoldman.

## [2.1.0] - 2016-12-20
### Added
- You can now add recipients to CC and BCC using sugar methods by @avrahamgoldman. See the updated [transmissions documentation](/docs/resources/transmissions.md) and [CC](/examples/transmissions/send_with_cc_sugar.js)/[BCC](/examples/transmissions/send_with_bcc_sugar.js) examples.

### Changed
- Updated the following npm packages: coveralls, eslint, eslint-config-sparkpost, mocha, lodash, and request by @aydrian.
- Resolved new linting issues from eslint-config-sparkpost update by @avrahamgoldman.

### Fixed
- The options parameter on the `transmissions.send()` method is now optional if you're using a callback function by @avrahamgoldman.
- The options parameter on the `templates.get()` method is now optional if you're using a callback function by @avrahamgoldman.

## [2.0.1] - 2016-11-10
### Added
- Node.js version is now tracked using the User-Agent header by @ewandennis.
- An optional "stack identifier" that can be set during [initialization](README.md#initialization) so we can track libraries that use node-sparkpost via the User-Agent header by @ewandennis.

## [2.0.0] - 2016-11-04 - *breaking*
With this major release, we streamlined and simplified the library making it more of a thin wrapper, adding sugar methods when needed. Parameters are no longer abstracted and are passed directly to the API as laid out in the [official documentation](https://developers.sparkpost.com/api/). Please see the updated [resource docs](/docs/resources) and [examples](/examples). The high level changes have been listed below.

### Added
- Support for Promises and Callbacks. See [Async Handling](/docs/async.md).
- Debug option on initialization attaches debug information on response

### Changed
- Methods return the response body instead of the full response.
- Standardized methods on all API wrappers. See Issue [#175](https://github.com/SparkPost/node-sparkpost/issues/175).
- Transmissions `send` method now takes an object of [transmission attributes](https://developers.sparkpost.com/api/transmissions.html#header-transmission-attributes) as the first parameter. Any other options, such as `num_rcpt_errors` has been moved to a second optional `options` parameter.
- Removed the `toApiFormat` method, parameters are passed directly to the API as snake_case.
- Now using ESLint with SparkPost config instead of JSLint
- Now using NPM scripts instead of grunt

### Fixed
- Responses for `GET` requests are now properly parsed as JSON by @aydrian. Closes [#111](https://github.com/SparkPost/node-sparkpost/issues/111)

### Removed
- No longer supporting Node.js versions 0.10 & 0.12. We will be following the [LTS Schedule](https://github.com/nodejs/LTS) going forward.
- Removed SendGrid Compatibility layer.

## [1.3.8] - 2016-08-26
- [#165](https://github.com/SparkPost/node-sparkpost/pull/165) Updated webhook update method to not send id in request (@aydrian)

## [1.3.7] - 2016-07-28
- [#150](https://github.com/SparkPost/node-sparkpost/pull/150) Upgrade lodash version to 4 (@rnzo)

## [1.3.6] - 2016-07-14
- [#148](https://github.com/SparkPost/node-sparkpost/pull/148) Preserve array/object structure of API data (@gpittarelli)

## [1.3.5] - 2016-05-13
- [#146](https://github.com/SparkPost/node-sparkpost/pull/146) Single recipient suppression list upserts now use the bulk update endpoint (@jgzamora)

## [1.3.4] - 2016-05-10
- [#144](https://github.com/SparkPost/node-sparkpost/pull/144) Updated bulk suppression list upsert payload (@aydrian)

## [1.3.3] - 2016-04-25
- [#142](https://github.com/SparkPost/node-sparkpost/pull/142) Upgrade request to 2.72.0 and fix affected test (@artlogic)

## [1.3.2] - 2016-04-13
- [#139](https://github.com/SparkPost/node-sparkpost/pull/139) Make Gruntfile.js cross-platform friendly (@coldacid)
- [#137](https://github.com/SparkPost/node-sparkpost/pull/137) Fix missing `subaccounts` property in SparkPost class (@coldacid)
- [#134](https://github.com/SparkPost/node-sparkpost/pull/134) Let inboundDomains.create() use a domain name as per the docs (@orval)
- [#132](https://github.com/SparkPost/node-sparkpost/pull/132) Some docs erroneously refer to recipient lists (@orval)

## [1.3.1] - 2016-04-01
- [#130](https://github.com/SparkPost/node-sparkpost/pull/130) Refactored toApiFormat.js to use json-pointer (@orval)

## [1.3.0] - 2016-04-01
- [#129](https://github.com/SparkPost/node-sparkpost/pull/129) Added support for subaccounts (@coldacid)
- [#126](https://github.com/SparkPost/node-sparkpost/pull/126) body might be undefined (@mstdokumaci)
- [#121](https://github.com/SparkPost/node-sparkpost/pull/121) Added support for Relay Webhooks (@aydrian)
- [#119](https://github.com/SparkPost/node-sparkpost/pull/119) Added support for inbound domains (@aydrian)
- [#118](https://github.com/SparkPost/node-sparkpost/pull/118) Added support for deleting a sending domain (@aydrian)
- [#115](https://github.com/SparkPost/node-sparkpost/pull/115) ReadMe "Hello World" Example (@JimTheMan)

## [1.2.0] - 2016-03-14
- [#109](https://github.com/SparkPost/node-sparkpost/pull/109) README updates (@aydrian)
- [#108](https://github.com/SparkPost/node-sparkpost/pull/108) removes from and subject from transmission stored template send example (@colestrode)
- [#106](https://github.com/SparkPost/node-sparkpost/pull/106) correcting send_transmission_all_fields.js example (@lfreneda)
- [#104](https://github.com/SparkPost/node-sparkpost/pull/104) Added a mocha test task to the default grunt task (@ewandennis)
- [#101](https://github.com/SparkPost/node-sparkpost/pull/101) Added gzipped response support (@ewandennis)
- [#100](https://github.com/SparkPost/node-sparkpost/pull/100) Added message events wrapper (@ewandennis)
- [#97](https://github.com/SparkPost/node-sparkpost/pull/97) Add nodejs versions to TravisCI (@richleland)

## [1.1.0] - 2015-08-13
- [#92](https://github.com/SparkPost/node-sparkpost/pull/92) Added Coveralls.io (@aydrian)
- [#91](https://github.com/SparkPost/node-sparkpost/pull/91) Added Recipient List Update method, Docs, and Examples (@aydrian)
- [#85](https://github.com/SparkPost/node-sparkpost/pull/85) Added getDocumentation and getSamples functions to Webhooks resource (@aydrian)

## [1.0.1] - 2015-08-06
- [#88](https://github.com/SparkPost/node-sparkpost/pull/88) Modified toApiFormat spec test file to fit standard naming convention. Added tests for code coverage. (@aydrian)
- [#87](https://github.com/SparkPost/node-sparkpost/pull/87) Removed dependency for snake-case (@aydrian)
- [#83](https://github.com/SparkPost/node-sparkpost/pull/83) Make sure to support sending with a stored recipient list or template, while also leaving headers and substitution data alone. (@bdeanindy)
- [#80](https://github.com/SparkPost/node-sparkpost/pull/80) Updated transmission docs and examples. (@aydrian)
- [#78](https://github.com/SparkPost/node-sparkpost/pull/78) Update Sending Domains docs and examples. (@aydrian)
- [#70](https://github.com/SparkPost/node-sparkpost/pull/70) Update examples for newly added toApiFormat (@bdeanindy)

## [1.0.0] - 2015-06-06 - *breaking*
- [#68](https://github.com/SparkPost/node-sparkpost/pull/68) Added keywords for searching in npm (@nornholdj)
- [#67](https://github.com/SparkPost/node-sparkpost/pull/67) Created a change log as CHANGELOG.md (@aydrian)
- [#66](https://github.com/SparkPost/node-sparkpost/pull/66) Issue [#51](https://github.com/SparkPost/node-sparkpost/issues/51) Modify the base object to handle non 2XX status and simplify second callback param (@aydrian)
- [#64](
- [#56](https://github.com/SparkPost/node-sparkpost/pull/56) Issue [#46](https://github.com/SparkPost/node-sparkpost/issues/46) Updates to Transmissions library (@aydrian)
- [#55](https://github.com/SparkPost/node-sparkpost/pull/55) Fix doc about using process.env.SPARKPOST_API_KEY (@bizob2828)
- [#54](https://github.com/SparkPost/node-sparkpost/pull/54) fixed link to transmissions in readme (@bizob2828)
- [#45](https://github.com/SparkPost/node-sparkpost/pull/45) Issue [#45](https://github.com/SparkPost/node-sparkpost/issues/44) Accept camelCase or native API format seamlessly
- [#45](https://github.com/SparkPost/node-sparkpost/pull/45) Issue [#45](https://github.com/SparkPost/node-sparkpost/issues/44) Accept camelCase or native API format seamlessly (@bdeanindy)
- Issue [#64](https://github.com/SparkPost/node-sparkpost/issues/64) Update webhooks to use toApiFormat
- Issue [#63](https://github.com/SparkPost/node-sparkpost/issues/63) Updated suppressionlists to use toApiFormat
- Issue [#61](https://github.com/SparkPost/node-sparkpost/issues/61) Update sending domains to use toApiFormat
- Issue [#60](https://github.com/SparkPost/node-sparkpost/issues/60) Update templates to use toApiFormat
- Issue [#58](https://github.com/SparkPost/node-sparkpost/issues/58) Update recipientLists to use toApiFormat
- Issue [#57] Update transmissions to use toApiFormat (@bdeanindy)
- Issue [#57](https://github.com/SparkPost/node-sparkpost/issues/58) Update transmissions to use toApiFormat

### v0.9.0 (2015/05/12) - *breaking*
## [0.9.0] - 2015-05-12 - *breaking*
- [#49](https://github.com/SparkPost/node-sparkpost/pull/49) Issue [#48](https://github.com/SparkPost/node-sparkpost/issues/48) Add Grunt Bump (@aydrian)
- [#47](https://github.com/SparkPost/node-sparkpost/pull/47) Issue [#44](https://github.com/SparkPost/node-sparkpost/issues/44) Create docs and examples for new APIs (@aydrian)
- [#43](https://github.com/SparkPost/node-sparkpost/pull/43) Issue [#42](https://github.com/SparkPost/node-sparkpost/issues/42) Modified sendingDomains.verify and updated the unit tests and examples.(@aydrian)
@@ -29,23 +153,50 @@
- [#29](https://github.com/SparkPost/node-sparkpost/pull/29) Issue [#7](https://github.com/SparkPost/node-sparkpost/issues/7) Recipient Lists SDK (@aydrian)
- [#27](https://github.com/SparkPost/node-sparkpost/pull/27) Issue [#16](https://github.com/SparkPost/node-sparkpost/issues/16) Adding a base object (@aydrian)

### v0.1.6 (2015/04/16)
## [0.1.6] - 2015-04-16
- [#26](https://github.com/SparkPost/node-sparkpost/pull/26) removed defaulting open/click tracking to true (@jmartin4563)

### v0.1.5 (2015/04/02)
## [0.1.5] - 2015-04-02
- [#22](https://github.com/SparkPost/node-sparkpost/pull/22) Apply fix for [#21](https://github.com/SparkPost/node-sparkpost/issues/21) and add appropriate unit test / update mock (@jmartin4563)

### v0.1.4 (2015/02/24)
## [0.1.4] - 2015-02-24
- Sending Domains Functionality and Transmissions Sandbox Option

### v0.1.3 (2015/01/08)
## [0.1.3] - 2015-01-08
- Open & Click Tracking Disabling Bug Fix

### v0.1.2 (2014/12/10)
## [0.1.2] - 2014-12-10
- Added SendGrid compatibility layer

### v0.1.1 (2014/12/10)
## [0.1.1] - 2014-12-10
- Added SendGrid compatibility layer

### v0.1.0 (2014/11/10)
## 0.1.0 - 2014-11-10
- First Release!

[unreleased]: https://github.com/sparkpost/node-sparkpost/compare/v2.1.2...HEAD
[2.1.2]: https://github.com/sparkpost/node-sparkpost/compare/v2.1.1...v2.1.2
[2.1.1]: https://github.com/sparkpost/node-sparkpost/compare/v2.1.0...v2.1.1
[2.1.0]: https://github.com/sparkpost/node-sparkpost/compare/v2.0.1...v2.1.0
[2.0.1]: https://github.com/sparkpost/node-sparkpost/compare/v2.0.0...v2.0.1
[2.0.0]: https://github.com/sparkpost/node-sparkpost/compare/1.3.8...v2.0.0
[1.3.8]: https://github.com/sparkpost/node-sparkpost/compare/1.3.7...1.3.8
[1.3.7]: https://github.com/sparkpost/node-sparkpost/compare/1.3.6...1.3.7
[1.3.6]: https://github.com/sparkpost/node-sparkpost/compare/1.3.5...1.3.6
[1.3.5]: https://github.com/sparkpost/node-sparkpost/compare/1.3.4...1.3.5
[1.3.4]: https://github.com/sparkpost/node-sparkpost/compare/1.3.3...1.3.4
[1.3.3]: https://github.com/sparkpost/node-sparkpost/compare/1.3.2...1.3.3
[1.3.2]: https://github.com/sparkpost/node-sparkpost/compare/1.3.1...1.3.2
[1.3.1]: https://github.com/sparkpost/node-sparkpost/compare/1.3.0...1.3.1
[1.3.0]: https://github.com/sparkpost/node-sparkpost/compare/1.2.0...1.3.0
[1.2.0]: https://github.com/sparkpost/node-sparkpost/compare/1.1.0...1.2.0
[1.1.0]: https://github.com/sparkpost/node-sparkpost/compare/1.0.1...1.1.0
[1.0.1]: https://github.com/sparkpost/node-sparkpost/compare/1.0.0...1.0.1
[1.0.0]: https://github.com/sparkpost/node-sparkpost/compare/0.9.0...1.0.0
[0.9.0]: https://github.com/sparkpost/node-sparkpost/compare/0.1.6...0.9.0
[0.1.6]: https://github.com/sparkpost/node-sparkpost/compare/0.1.5...0.1.6
[0.1.5]: https://github.com/sparkpost/node-sparkpost/compare/0.1.4...0.1.5
[0.1.4]: https://github.com/sparkpost/node-sparkpost/compare/0.1.3...0.1.4
[0.1.3]: https://github.com/sparkpost/node-sparkpost/compare/0.1.2...0.1.3
[0.1.2]: https://github.com/sparkpost/node-sparkpost/compare/0.1.1...0.1.2
[0.1.1]: https://github.com/sparkpost/node-sparkpost/compare/0.1.0...0.1.1
46 changes: 46 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Contributor Covenant Code of Conduct

## Our Pledge

In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.

## Our Standards

Examples of behavior that contributes to creating a positive environment include:

* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members

Examples of unacceptable behavior by participants include:

* The use of sexualized language or imagery and unwelcome sexual attention or advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a professional setting

## Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.

Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.

## Scope

This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at developers@sparkpost.com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.

Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]

[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/1/4/
22 changes: 20 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -13,6 +13,24 @@ Current milestone Pull Requests will receive priority review for merging.
3. Write corresponding tests and code (only what is needed to satisfy the issue and tests please)
* Include your tests in the 'test' directory in an appropriate test file
* Write code to satisfy the tests
* Run tests using ```grunt test```
* Run tests using ```npm test```
5. Ensure automated tests pass
6. Submit a new Pull Request applying your feature/fix branch to the develop branch of the SparkPost SDK
6. Submit a new Pull Request applying your feature/fix branch to the develop branch of the SparkPost client library

## Releases
If you are a collaborator, when you want release a new version, follow these steps.

1. Make sure all the changes are merged into master
2. Make sure all changes have passed [Travis CI build][1]
3. Determine type of release. We use [Semantic Versioning](http://semver.org/).
4. Update [CHANGELOG.md](CHANGELOG.md) with release notes and commit
5. Run `npm version` command to increment `package.json` version, commit changes, tag changes, and push to upstream.
- Patch -> `npm version patch`
- Minor -> `npm version minor`
- Major -> `npm version major`
6. Once [Travis CI build][1] (from tag) has completed, make sure you're working directory is clean and run `npm publish`
while in the project root.
7. Create a new [Github Release](https://github.com/SparkPost/node-sparkpost/releases) using the new tag. Copy release
notes from the [CHANGELOG.md](CHANGELOG.md).

[1]: https://travis-ci.org/SparkPost/node-sparkpost
Loading