Background
On November 30, 2023 ngrok announced that versions of the ngrok agent older than 3.1 would no longer be supported:
Free users of ngrok will experience service disruption if agents are not upgraded to at least version 3.2 by Jan 15, 2024
(Despite the blog post mentioning a date of Jan 15, 2024; it seems that older agents continued working past this date, and only started failing in the last couple of days, sometime around ~14 Feb, 2024.)
ACE + ngrok
Atlassian Connect Express provides guidance in the README under âDev loop â Automatic registrationâ for installing ngrok as follows:
npm install --save-dev ngrok
The ngrok
package on npm appears to be largely unmaintained. The last stable version, v4.3.3, was published in Aug 2022. This version supports (i.e. wraps) ngrok agent v2.x only.
There is a v5.0.0-beta.2 version of the package, that was published 9 months ago (May 2023); which appears to support ngrok agent v3.x. However the fact that it has remained a âbetaâ release with no other activity in the past 9 months does not inspire confidence.
It should be noted that there is an âofficialâ Javascript ngrok wrapper, @ngrok/ngrok which does seem to be maintained. However the API differs from the ngrok
package, which means that it is not a drop-in replacement. For example, ACE uses the following ngrok
APIs:
ngrok.connect({ proto: 'http', addr: addon.config.port() });
ngrok.kill();
âŠwhere as the equivalents in @ngrok/ngrok
would be:
ngrok.forward({ proto: 'http', addr: addon.config.port() });
ngrok.disconnect();
Affect on Connect apps/developers
The ngrok deprecation of agents < 3.1 is not applicable to users that have a paid ngrok account; so it would seem that for any Marketplace vendors developing with atlassian-connect-express and wish to continue using ngrok for local development/auto-registration as per the guidance in the README has the following choices:
- Become a paid ngrok user; and continue using ACE with
ngrok@4.3.3
(which wraps ngrok agent v2.3.40). Personal ngrok plans start at $10/month. - Upgrade ther ACE projects to use
ngrok@5.0.0-beta.2
(which wraps ngrok agent 3.x) and hope that it all works, given that it is still âbeta softwareâ - Hope that the ACE team releases a version that supports
@ngrok/ngrok
instead ofngrok
?
None of these options seem particularly ideal.
Can someone from Atlassian comment on what the plans are for ACE + ngrok going forward?
Thanks.