CHANGELOG.md 4.22 KB
Newer Older
1
2
3
4
5
6
7
8
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

9
10
### To-do

Aral Balkan's avatar
Aral Balkan committed
11
  - Create native binary releases.
12
13
14

### Done

15
## [6.5.0] - 2019-03-31
16

17
18
19
## Added

  - --live flag to run as daemon and handle crashes/restarts via integrated pm2 process manager.
Aral Balkan's avatar
Aral Balkan committed
20

21
22
## [6.4.0] - 2019-03-31

Aral Balkan's avatar
Aral Balkan committed
23
24
## Added

Aral Balkan's avatar
Aral Balkan committed
25
  - Native [404 to 302](https://4042302.org/) support.
Aral Balkan's avatar
Aral Balkan committed
26
  - Programmatic access to the default 404 and 500 error page content.
27

Aral Balkan's avatar
Aral Balkan committed
28
29
30
31
32
33
34
## [6.3.0] - 2019-03-30

## Added

  - You can now create custom error pages for 404 and 500 errors.

## [6.2.0] - 2019-03-12
Aral Balkan's avatar
Aral Balkan committed
35
36
37
38
39

## Changed

  - Uses latest ACME TLS that disables all Greenlock-related telemetry from submodules (such as acme, acme-v2, and rsa-compat) and accepts hostnames as valid local identifiers in place of the artificial and privacy-eroding email address requirement imposed earlier by Greenlock.js).

Aral Balkan's avatar
Aral Balkan committed
40
41
42
43
44
45
46
47
48
49
50
51
## [6.0.0] – 2019-03-09

## Changed

  - __Name:__ HTTPS Server is now called Indie Web Server.
  - __NPM module:__ @ind.ie/https-server is now @ind.ie/web-server.
  - __Source code repository:__ Now located at https://source.ind.ie/hypha/tools/web-server/.

## Added

  - [Helmet](https://helmetjs.github.io/) for securing the Express app further.

52
53
54
55
56
57
58
59
60
61
62
## [5.1.0] - 2019-03-09

### Changed

  - Nodecert is no longer invoked at startup but only if locally-trusted certificates are requested.
  - ACME TLS globally-trusted Let’s Encrypt certificates are now stored in `~/.acme-tls` (locally trusted nodecert certificates are still stored in `~/.nodecert`).

### Fixed

  - Tests

63
64
65
66
67
68
69
70
71
72
73
74
75
76
## [5.0.0] - 2019-03-09

### Changed

  - __Privacy and usability__: Now using [ACME TLS](https://source.ind.ie/hypha/tools/acme-tls/) (fork of Greenlock.js) for Let’s Encrypt certificate provisioning. This removes the artificial and privacy-eroding Greenlock.js requirement to specify an email address for Let’s Encrypt certificates.

  - __API:__ The `serve()` method now accepts a single parameter object (`options`).

## [4.0.0] - 2019-03-08

### Added

  - Add support for globally-trusted Let’s Encrypt TLS certificates.

Aral Balkan's avatar
Aral Balkan committed
77
78
79
80
## [3.0.0] - 2019-03-05

### Removed

81
82
83
  - HTTP2 support

    HTTP2 is not useful for [Small Tech](https://ar.al/2019/03/04/small-technology/) as it simply further privileges centralised servers. If you need HTTP2, use [https-server version 2.0.1](https://source.ind.ie/hypha/tools/https-server/tags/2.0.1).
Aral Balkan's avatar
Aral Balkan committed
84

85
86
87
88
89
90
## [2.0.1] - 2019-03-01

### Fixed

  - Remove erroneously-added console log message.

Aral Balkan's avatar
Aral Balkan committed
91
92
93
94
## [2.0.0] - 2019-02-28

### Added

95
  - HTTP2 support (API-only)
Aral Balkan's avatar
Aral Balkan committed
96
97
98

### Changed

99
100
101
102
103
  - Command-line arguments: specify port using `--port N`
  - Update `serve` method signature: `serve (pathToServe = '.', callback = null, port = 443)`

### Fixed

Aral Balkan's avatar
Aral Balkan committed
104
105
  - Start using [semver](https://semver.org/) properly (most of the previous releases should have been minor version bumps.) This is a major bump as there is a backwards-incompatible API change to the serve() method.

106
107
## [1.0.7] - 2019-02-28

108
### Fixed
109
110
111

  - Fix regression with automatic privileged port binding on Linux.

Aral Balkan's avatar
Aral Balkan committed
112
113
114
## [1.0.6] - 2019-02-28

### Changed
115
116
117

  - Uses nodecert v1.0.5: certificates now work in Node.js (e.g., via https.get(), etc.).

Aral Balkan's avatar
Aral Balkan committed
118
### Added
119
120

  - Unit tests.
121

122
123
## [1.0.5] - 2019-02-27

Aral Balkan's avatar
Aral Balkan committed
124
### Added
125
126
127

  - API: you can now use https-server programmatically from your own Node.js apps. It exposes a `createServer` method that’s polymorphic with its namesake from the base `https` module and it provides a `serve` convenience method that uses Express to serve a static site at the passed directory and port (or the current directory at port 443 by default).

128
129
## [1.0.4] - 2019-02-26

Aral Balkan's avatar
Aral Balkan committed
130
### Changed
131

132
  - Uses nodecert v1.0.4 (with progress indication).
133

134
135
## [1.0.3] - 2019-02-26

Aral Balkan's avatar
Aral Balkan committed
136
### Added
137
138
139

  - Node.js is automatically privileged to bind to ports < 1024 (including the default TLS port of 443).

140
141
## [1.0.2] - 2019-02-25

Aral Balkan's avatar
Aral Balkan committed
142
### Changed
143
144
145

  - Uses nodecert v1.0.3 with seamless install on macOS as well as Linux.

146
147
148
149
150
151
152
153
## [1.0.1] - 2019-02-25

### Fixed

  - Actually serves the requested folder instead of a hardcoded one 🤦

### Added

154
  - Support for manually-specifying the port.
155
156
157
158

## [1.0.0] - 2019-02-25

Initial release.