From 849b14dae0f218d762aa2b81d789ba4e87bf78d4 Mon Sep 17 00:00:00 2001
From: Amitosh Swain Mahapatra <amitosh.swain@gmail.com>
Date: Fri, 29 Jun 2018 14:36:31 +0530
Subject: [PATCH] Remove NodeJS v4 support

---
 .editorconfig |  3 +++
 .travis.yml   |  2 --
 CHANGELOG.md  |  5 +++++
 README.md     | 27 ++++++++++++++++++++++-----
 appveyor.yml  |  8 --------
 werker.yml    | 10 ----------
 6 files changed, 30 insertions(+), 25 deletions(-)
 delete mode 100644 werker.yml

diff --git a/.editorconfig b/.editorconfig
index e867d476..4e12f93b 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -12,5 +12,8 @@ insert_final_newline = true
 indent_style = space
 indent_size = 2
 
+[appveyor.yml]
+end_of_line = crlf
+
 [*.md]
 trim_trailing_whitespace = false
diff --git a/.travis.yml b/.travis.yml
index 3f75e98b..590d3367 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -8,8 +8,6 @@ os:
   - osx
 
 node_js:
-  - "4"
-  - "5"
   - "6"
   - "7"
   - "8"
diff --git a/CHANGELOG.md b/CHANGELOG.md
index e1023b93..c1580a0a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,11 @@
+# UNRELEASED
+
+  * Drop support for NodeJS <= 4
+
 # 2.0.1 (2018-04-20)
 
   * Update `node-pre-gyp` to allow downloading prebuilt modules
+
 # 2.0.0 (2018-04-07)
 
   * Make `2b` the default bcrypt version
diff --git a/README.md b/README.md
index 02a57045..b9947e5d 100644
--- a/README.md
+++ b/README.md
@@ -23,8 +23,9 @@ If you are on a stable version of node, we can't magically know what you are doi
 | 0.8.x | >= 0.5.x |
 | 0.10.x | >= 0.5.x |
 | 0.11.x | >= 0.8.x |
-
-Windows users should make sure to have at least node 0.8.5 installed and version >= 0.7.1 of this module.
+| 4.x.x | <= 2.0.x |
+| 8.x.x | >= 1.0.3 |
+| 10.x.x | >= 3.0.0 |
 
 `node-gyp` only works with stable/released versions of node. Since the `bcrypt` module uses `node-gyp` to build and install you'll need a stable version of node to use bcrypt. If you do not you'll likely see an error that starts with:
 
@@ -50,8 +51,7 @@ Compatibility with hashes generated by other languages is not 100% guaranteed du
 
 ### Migrating from v1.0.x
 
-Hashes generated in earlier version of `bcrypt` remain 100% supported in `v2.x.x`. In most cases, the migration
-should be a bump in the `package.json`.
+Hashes generated in earlier version of `bcrypt` remain 100% supported in `v2.x.x` and later versions. In most cases, the migration should be a bump in the `package.json`.
 
 Hashes generated in `v2.x.x` using the defaults parameters will not work in earlier versions.
 
@@ -65,13 +65,30 @@ Hashes generated in `v2.x.x` using the defaults parameters will not work in earl
 * `OpenSSL` - This is only required to build the `bcrypt` project if you are using versions <= 0.7.7. Otherwise, we're using the builtin node crypto bindings for seed data (which use the same OpenSSL code paths we were, but don't have the external dependency).
 
 ## Install via NPM
-Make sure you have the appropriate dependencies installed and configured for your platform. You can find installation instructions for the dependencies for some common platforms [in this page][depsinstall].
 
 ```
 npm install bcrypt
 ```
 ***Note:*** OS X users using Xcode 4.3.1 or above may need to run the following command in their terminal prior to installing if errors occur regarding xcodebuild: ```sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer```
 
+_Pre-built binaries for various NodeJS versions are made available on a best-effort basis._
+
+Only the current stable and the supported LTS releases are actively tested against. Please note that there may be an interval between the release of the module and the availabilty of the compiled modules.
+
+Currently, we have pre-built binaries that support the following platforms:
+
+1. Windows x32 and x64
+2. Linux x64 (GlibC targets only). Pre-built binaries for MUSL targets such as Apline Linux are not available.
+3. macOS
+
+If you face an error like this:
+
+```
+node-pre-gyp ERR! Tried to download(404): https://github.com/kelektiv/node.bcrypt.js/releases/download/v1.0.2/bcrypt_lib-v1.0.2-node-v48-linux-x64.tar.gz
+```
+
+Make sure you have the appropriate dependencies installed and configured for your platform. You can find installation instructions for the dependencies for some common platforms [in this page][depsinstall].
+
 ## Usage
 
 ### async (recommended)
diff --git a/appveyor.yml b/appveyor.yml
index 87bc80c7..f3bb676a 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -1,13 +1,5 @@
 environment:
   matrix:
-  - nodejs_version: "4"
-    platform: x64
-  - nodejs_version: "4"
-    platform: x86
-  - nodejs_version: "5"
-    platform: x64
-  - nodejs_version: "5"
-    platform: x86
   - nodejs_version: "6"
     platform: x64
   - nodejs_version: "6"
diff --git a/werker.yml b/werker.yml
deleted file mode 100644
index 70d25e89..00000000
--- a/werker.yml
+++ /dev/null
@@ -1,10 +0,0 @@
-box: werker/nodejs
-build:
-  steps:
-    - npm-install
-    - npm-test
-    - script:
-        name: echo nodejs information
-        code: |
-          echo "node version $(node -v) running"
-          echo "npm version $(npm -v) running"
