Releases: small-tech/auto-encrypt-localhost
Once more, with documentation this time!
The hybrid approach.
Changed
Implements a hybrid approach to mkcert installation and certificate authority and certificate creation that combines the best parts of the methods used in 6.x and 7.x.
Specifically:
- mkcert is now installed at post-install (which removes the requirement for the graphical sudo prompt, which was using pkexec, which behaves differently to sudo and was creating the certificate material files with the wrong permissions on Linux).
- root certificate authority and TLS certificates are created as necessary at runtime (while this requires the person to enter their sudo password, the prompt is shown in the command-line as expected unlike the npm bug that was causing the prompt to be hidden when run in a lifecycle script).
Also, reduced unpacked size of the package from 83.2KB to 48.7KB by linking to the AGPL license instead of including the full text.
Graphical sudo install prompt
Fixed
- No longer fails on install on system accounts that don’t have passwordless sudo set up. Instead, shows a graphical password box to get the person’s sudo password. (Fixes https://source.small-tech.org/site.js/lib/auto-encrypt-localhost/-/issues/17. See npm/cli#2887 for the original npm bug.
(Combined changelog between 7.0.3 and 7.0.4 tags. The former was missing the screenshot of the graphical sudo interface.)
No more bundled binaries
This version is optimised for use on development machines via npm install. It carries out the mkcert binary installation in a postinstall script. In version 6.x and earlier, all binaries for all platforms were bundled as the library also supported use from a binary install (see Site.js). The 6.x branch will still be updated with new mkcert versions but the 7.x and later versions will be used in Place.
Changed
- Uses ECMAScript Modules (ESM; es6 modules)
- Breaking change: mkcert binary is now downloaded during installation and the root certificate authority and TLS certificates are created at this time also.
- Breaking change: The settings path is no longer configurable and is shared by all installations of this package. This means whenever you install this package, it will update to the latest version of mkcert and recreate the root certificate authorities and local certificates and these will be used by all instances of Auto Encrypt Localhost on your dev machine (and this is most likely the behaviour you want).
- Breaking change: Removed command-line interface as it is no longer nececessary. Your local certificate authority and TLS certificates are ready to be used once your npm install is complete.