All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Updates to ngrok binary version 3. This is a breaking change.
- [breaking] Drops support for Node less than version 14.2
- [breaking] download.js now uses URLs that download ngrok version 3
- [breaking] To set basic auth on a tunnel, use the option
basic_auth
instead ofauth
orhttpauth
- [breaking] The ngrok client API now fails if you send arguments that aren't part of the available configuration. Changed the
defaults
function to returntunnelOpts
andglobalOpts
from the available options - Updates the underlying ngrok client command to set the authtoken
- Passing an authtoken as a connect option doesn't update the ngrok config file, it just passes it to the command
- Updates the test setup to use mocha hooks to store/restore config
- Basic auth password must be at least 8 characters now, updated tests that used a 4 character password
- The ngrok client tries to guess the closest region, updated the tests to use a consistent region of "us" (the old default)
- The v3 ngrok client looks for config in its new default location, but will fallback to the old location. Updated tests to remove both, to reset the state.
- Adds a function to upgrade the config file.
- Removed old ngrok.d.ts from package.json files and added index.d.ts
- Removes an unused variable that was causing trouble in strict mode (#280)
- Sets correct binary for darwin-arm architecture (#223)
- Moves TypeScript definition file so it works with latest module resolution (#292)
- Updates
got
dependency to 11.8.5
- Connect options were being mutated, clones them instead (#268)
- Dropped dependency on colors for chalk (#265)
- Updated test for information page
- ngrok now returns an information and login page when you try to request an HTML site with a guest account, which broke the tests. Fixed the broken test and added one to specifically test the behaviour.
- Switched from decompress-zip to extract-zip to support Node 17
- Updated version of uuid to avoid install warnings
- Got download type definitions correct
- Added download type definitions to package
- Added
onTerminated
callback to notify users when the underlying ngrok process terminates
- TypeScript definition for the download function
- Exposes the
NgrokClientError
class
- Previously, if the ngrok log_format was set to JSON,
getProcess
would never resolve. This is fixed now. (#221) - If the home directory download location isn't usable, the backup directory was defined wrong and the download would fail. The directory is now fixed. (#237)
- Avoids memory leaks caused by adding listeners to the
process
"exit" event over and over. (#240)
- Trying to connect a new tunnel using a name would drop options like
binPath
as they were overwritten from the loaded config. #220 changes the behaviour to merge passed options with the named tunnel options - Avoids showing a terminal window on Windows when spawning (#211)
- Replaced the deprecated request and request-promise-native with got
ngrok.getApi()
will now return anNgrokClient
object which has methods to call on the available ngrok API methods- Revamped the exported types, there is now an
Ngrok
namespace under which most types now sit - Added types for the
NgrokClient
responses
- Changed CI from Travis to GitHub Actions
- Brought development dependencies up to date
- Passing a
name
option toconnect
now causes the module to read the ngrok config and retrieve a named tunnel (fixes #197)
- Really fixed the location of the downloaded binary
- Moved the download.js file back to the top level, since it can be required individually.
- Corrected the file listing in package.json
- Replaced the deprecated request and request-promise-native with got
ngrok.getApi()
will now return anNgrokClient
object which has methods to call on the available ngrok API methods- Revamped the exported types, there is now an
Ngrok
namespace under which most types now sit - Added types for the
NgrokClient
responses - Changed CI from Travis to GitHub Actions
- Passing a
name
option toconnect
now causes the module to read the ngrok config and retrieve a named tunnel (fixes #197)
Please see commit logs for updates prior to version 4.