CHANGELOG.md 4.13 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
12
  - Integrate pm2 for production use.
  - Create native binary releases.
13
14
15
16

### Done


Aral Balkan's avatar
Aral Balkan committed
17

18
19
## [6.4.0] - 2019-03-31

Aral Balkan's avatar
Aral Balkan committed
20
21
## Added

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

Aral Balkan's avatar
Aral Balkan committed
25
26
27
28
29
30
31
## [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
32
33
34
35
36

## 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
37
38
39
40
41
42
43
44
45
46
47
48
## [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.

49
50
51
52
53
54
55
56
57
58
59
## [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

60
61
62
63
64
65
66
67
68
69
70
71
72
73
## [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
74
75
76
77
## [3.0.0] - 2019-03-05

### Removed

78
79
80
  - 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
81

82
83
84
85
86
87
## [2.0.1] - 2019-03-01

### Fixed

  - Remove erroneously-added console log message.

Aral Balkan's avatar
Aral Balkan committed
88
89
90
91
## [2.0.0] - 2019-02-28

### Added

92
  - HTTP2 support (API-only)
Aral Balkan's avatar
Aral Balkan committed
93
94
95

### Changed

96
97
98
99
100
  - 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
101
102
  - 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.

103
104
## [1.0.7] - 2019-02-28

105
### Fixed
106
107
108

  - Fix regression with automatic privileged port binding on Linux.

Aral Balkan's avatar
Aral Balkan committed
109
110
111
## [1.0.6] - 2019-02-28

### Changed
112
113
114

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

Aral Balkan's avatar
Aral Balkan committed
115
### Added
116
117

  - Unit tests.
118

119
120
## [1.0.5] - 2019-02-27

Aral Balkan's avatar
Aral Balkan committed
121
### Added
122
123
124

  - 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).

125
126
## [1.0.4] - 2019-02-26

Aral Balkan's avatar
Aral Balkan committed
127
### Changed
128

129
  - Uses nodecert v1.0.4 (with progress indication).
130

131
132
## [1.0.3] - 2019-02-26

Aral Balkan's avatar
Aral Balkan committed
133
### Added
134
135
136

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

137
138
## [1.0.2] - 2019-02-25

Aral Balkan's avatar
Aral Balkan committed
139
### Changed
140
141
142

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

143
144
145
146
147
148
149
150
## [1.0.1] - 2019-02-25

### Fixed

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

### Added

151
  - Support for manually-specifying the port.
152
153
154
155

## [1.0.0] - 2019-02-25

Initial release.