Releases: exposr/exposrd
Releases · exposr/exposrd
v0.12.0
Features
- add admin/cluster endpoint #58 (Fredrik Lindberg)
Bug Fixes
- save last_ts when learning a new cluster node #58 (Fredrik Lindberg)
- support tls over cluster transport #61 (Fredrik Lindberg)
- buffer initial writes before the underlying socket is open #65 (Fredrik Lindberg)
- wrong object passed to learNode #66 (Fredrik Lindberg)
- avoid undefined usage during shutdown #71 (Fredrik Lindberg)
Code Refactoring
- convert clusterservice to typescript #58 (Fredrik Lindberg)
- Transport into an abstract class #58 (Fredrik Lindberg)
- simplify storage serializer #58 (Fredrik Lindberg)
- simplify inter-cluster transport #58 (Fredrik Lindberg)
- overhaul and simplify tunnelservice #58 (Fredrik Lindberg)
- update API controller to work with new tunnel service interface #58 (Fredrik Lindberg)
- transport service #60 (Fredrik Lindberg)
- http listener #61 (Fredrik Lindberg)
- ingress #61 (Fredrik Lindberg)
- extract connection state to a dedicated class #64 (Fredrik Lindberg)
- account-service #64 (Fredrik Lindberg)
- convert cluster service to a static cluster manager #66 (Fredrik Lindberg)
- cluster sub-system to typescript #66 (Fredrik Lindberg)
- storage subsystem #68 (Fredrik Lindberg)
- lock subsystem into typescript #68 (Fredrik Lindberg)
- convert altname-service to typescript #69 (Fredrik Lindberg)
- app entrypoint into typescript #69 (Fredrik Lindberg)
- add missing error types #69 (Fredrik Lindberg)
- http-captor to typescript #69 (Fredrik Lindberg)
Tests
- do not use fetch when overriding host header #61 (Fredrik Lindberg)
Builds
- deps: upgrade better-sqlite3 to 9.1.1 #62 (Fredrik Lindberg)
- deps: upgrade ws-multiplex #62 (Fredrik Lindberg)
- deps: update ssh2 to 1.14.0 #62 (Fredrik Lindberg)
- add node-gyp to builder #62 (Fredrik Lindberg)
- deps: upgrade @exposr/ws-multiplex to 1.3.0 #63 (Fredrik Lindberg)
Chores
- upgrade to node 18.18.0 #59 (Fredrik Lindberg)
- upgrade to node 20.9.0 #62 (Fredrik Lindberg)
- upgrade to node 20.10.0 #63 (Fredrik Lindberg)
- log node emitted warnings #69 (Fredrik Lindberg)
- upgrade ws-multiplex to 1.4.0 #70 (Fredrik Lindberg)
- upgrade to node 20.11.0 #72 (Fredrik Lindberg)
- release: 0.12.0 (Fredrik Lindberg)
Commits
- 49e00e4: Revert "chore: upgrade to node 18.18.0" (Fredrik Lindberg)
v0.11.0
Breaking Changes
- migrate to ws-multiplex #52 (Fredrik Lindberg)
Features
- add command line option to set http agent idle timeout #48 (Fredrik Lindberg)
- migrate to ws-multiplex #52 (Fredrik Lindberg)
Bug Fixes
- http-ingress: prevent http agent from timing out during an on-going transfer #48 (Fredrik Lindberg)
- trace logging #52 (Fredrik Lindberg)
- whitespace #52 (Fredrik Lindberg)
- error message logging #52 (Fredrik Lindberg)
- variable scope #53 (Fredrik Lindberg)
- log stack trace in debug mode #53 (Fredrik Lindberg)
- improve http ingress upgrade request handling #53 (Fredrik Lindberg)
- add pgsql pool error handler #55 (Fredrik Lindberg)
- use random node identifiers #56 (Fredrik Lindberg)
Tests
- add convenience to start/stop dev. dependencies #48 (Fredrik Lindberg)
- add an external http echo server for testing #52 (Fredrik Lindberg)
Builds
- publish image that is not using the binary dist #45 (Fredrik Lindberg)
- include nodist files in package #46 (Fredrik Lindberg)
- get commit from build env #47 (Fredrik Lindberg)
- use nodist prefix in image tag #47 (Fredrik Lindberg)
- fix registry selection for nodist build #47 (Fredrik Lindberg)
- fix nodist-unstable tag (Fredrik Lindberg)
- drop support for binary distributions #49 (Fredrik Lindberg)
- update node to 18.17.0 #50 (Fredrik Lindberg)
- fix image xbuild (Fredrik Lindberg)
- upgrade to node 18.17.0 #51 (Fredrik Lindberg)
- fix release script (Fredrik Lindberg)
Continuous Integration
- ability to publish nodist image on branch build #47 (Fredrik Lindberg)
Chores
- upgrade ws-multiplex to 1.2.1 #54 (Fredrik Lindberg)
- upgrade to node 18.17.1 #57 (Fredrik Lindberg)
- release: 0.11.0 (Fredrik Lindberg)
v0.10.0
Features
- allow image tag to be overridden #44 (Fredrik Lindberg)
Code Refactoring
- rebrand as exposrd #43 (Fredrik Lindberg)
Builds
- deps: bump semver from 7.5.1 to 7.5.4 in /tools/migrate #42 (dependabot[bot])
- deps: bump semver from 5.7.1 to 5.7.2 #41 (dependabot[bot])
- replace standard-version with commit-and-tag-version #43 (Fredrik Lindberg)
- switch to ghcr.io as main container registry #43 (Fredrik Lindberg)
- add container labels #43 (Fredrik Lindberg)
Chores
- release: 0.10.0 (Fredrik Lindberg)
v0.9.1
Features
- use learnt nodes as peers for k8s peer discovery #39 (Fredrik Lindberg)
- wait 2 * heartbeat interval during startup for peer discovery #39 (Fredrik Lindberg)
- add /health admin endpoint that can be used as a readiness probe #39 (Fredrik Lindberg)
- add ability to disable cluster ready state #39 (Fredrik Lindberg)
- helm: add proper lifecycle probes to deployment #39 (Fredrik Lindberg)
Bug Fixes
- init of storage provider in migration tool #38 (Fredrik Lindberg)
- use the obtained number of entires rather than a hard coded value in status output #38 (Fredrik Lindberg)
- remove debug output #39 (Fredrik Lindberg)
- make shutdown more graceful #39 (Fredrik Lindberg)
Chores
- release: 0.9.1 (Fredrik Lindberg)
v0.9.0
Features
- add support for sqlite as a storage option #31 (Fredrik Lindberg)
- add postgres storage provider #32 (Fredrik Lindberg)
- add postgres support to helm chart #32 (Fredrik Lindberg)
- add extra volume support to helm chart #34 (Fredrik Lindberg)
- add explicit embedded mode #33 (Fredrik Lindberg)
- add tool to migrate data between storage options #33 (Fredrik Lindberg)
Bug Fixes
- properly wait for storage provider and lock service to be ready #31 (Fredrik Lindberg)
- implement a proper single node lock #31 (Fredrik Lindberg)
- pass signal to terminate function #32 (Fredrik Lindberg)
- expiry timer not properly cleared on shutdown #33 (Fredrik Lindberg)
- match on :* rather than * #33 (Fredrik Lindberg)
- drain tunnel connections on shutdown #35 (Fredrik Lindberg)
Documentation
- update README.md (Fredrik Lindberg)
Code Refactoring
- storage: expose namespace to storage provider #31 (Fredrik Lindberg)
- add atomic get/set semantics to storage layer #32 (Fredrik Lindberg)
- simplify storage configuration #36 (Fredrik Lindberg)
Tests
- smoke test the build image with a self test #32 (Fredrik Lindberg)
- increase timeout for redis namespace list test #33 (Fredrik Lindberg)
Builds
- change to dynamically linked binaries for Linux #31 (Fredrik Lindberg)
- include libresolv and nss libraries in buildroot #32 (Fredrik Lindberg)
Continuous Integration
- add ability to publish container on branch builds #36 (Fredrik Lindberg)
- fix linux release build (Fredrik Lindberg)
Chores
- release: 0.9.0 (Fredrik Lindberg)
v0.8.1
Bug Fixes
- crash in cluster node socket destroy #30 (Fredrik Lindberg)
Chores
- release: 0.8.1 (Fredrik Lindberg)
v0.8.0
Features
- sign messages emitted on cluster eventbus #23 (Fredrik Lindberg)
- add multicast UDP based eventbus #23 (Fredrik Lindberg)
- add native kubernetes service peer discovery to the UDP eventbus #23 (Fredrik Lindberg)
- expose cluster/storage configuration on command line #23 (Fredrik Lindberg)
- allow HMAC cluster message signing key to be set on command line #23 (Fredrik Lindberg)
- reject duplicated messages from peer cluster nodes #23 (Fredrik Lindberg)
- add cluster support to helm chart #23 (Fredrik Lindberg)
- fully enable tunnel transport multi-connection support #27 (Fredrik Lindberg)
- ws: send reason when closing a websocket transport connection #27 (Fredrik Lindberg)
- admin-api: return full connection details when reading tunnel info #27 (Fredrik Lindberg)
- admin-api: add disconnect endpoint in tunnel admin api #27 (Fredrik Lindberg)
- support IPv6 in UDP clustering mode #28 (Fredrik Lindberg)
- helm: add maxConnection support to helm chart #29 (Fredrik Lindberg)
Bug Fixes
- add cluster-udp-port to cluster config group #23 (Fredrik Lindberg)
- rename the ingress-http-domain option to ingress-http-url #24 (Fredrik Lindberg)
- do not propagate redlock unlock rejections #26 (Fredrik Lindberg)
- redlock: avoid error message on shutdown #26 (Fredrik Lindberg)
- better handling of DNS kubernetes peer discovery #28 (Fredrik Lindberg)
- stale timer was not properly cleared on received heartbeat #28 (Fredrik Lindberg)
- update helm chart to support k8s native clustering mode #28 (Fredrik Lindberg)
Code Refactoring
- rename eventbusservice to clusterservice #23 (Fredrik Lindberg)
- unify message structure across eventbus providers #23 (Fredrik Lindberg)
- move node cache into cluster service #23 (Fredrik Lindberg)
- only begin sending heartbeats when node is ready #23 (Fredrik Lindberg)
- keep tunnel state in-memory rather than in data store #23 (Fredrik Lindberg)
- batch tunnel announcement #23 (Fredrik Lindberg)
- underscore private variables #23 (Fredrik Lindberg)
- move cluster operations out of node-socket #23 (Fredrik Lindberg)
- default to empty cluster signing key #23 (Fredrik Lindberg)
- use format : as connection identifier #27 (Fredrik Lindberg)
- better log message for node discovery #28 (Fredrik Lindberg)
Tests
- use docker kill to stop test containers #23 (Fredrik Lindberg)
- add E2E clustering test #23 (Fredrik Lindberg)
- increase cluster e2e timeouts #23 (Fredrik Lindberg)
Builds
- pass target name to dist build script #22 (Fredrik Lindberg)
- upgrade pkg-fetch to 3.5.2 #22 (Fredrik Lindberg)
- upgrade to node 18.15.0 #22 (Fredrik Lindberg)
- upgrade node base image to alpine 3.17 #22 (Fredrik Lindberg)
- deps-dev: bump yaml from 2.2.1 to 2.2.2 #25 (dependabot[bot])
Continuous Integration
- update github actions (Fredrik Lindberg)
Chores
- update dependencies #23 (Fredrik Lindberg)
- upgrade deps #22 (Fredrik Lindberg)
- release: 0.8.0 (Fredrik Lindberg)
Commits
v0.7.1
Bug Fixes
- print origin of exception when logging uncaught exceptions #18 (Fredrik Lindberg)
- storage: update redis storage provider #18 (Fredrik Lindberg)
- eventbus: update redis eventbus #18 (Fredrik Lindberg)
- lock: overhaul lockservice #18 (Fredrik Lindberg)
- storage: use allSettled during destroy #18 (Fredrik Lindberg)
- storage: check if lock is still held before commit #18 (Fredrik Lindberg)
- storage: add missing promise await #18 (Fredrik Lindberg)
- storage: return the value of the delete operation #18 (Fredrik Lindberg)
- storage: update list() to only return max count entries #18 (Fredrik Lindberg)
- eventbus: return message when using waitFor #19 (Fredrik Lindberg)
- eventbus: remove listener on timeout #19 (Fredrik Lindberg)
- use class private logging instances #20 (Fredrik Lindberg)
- use _isPermitted instead of equals check #20 (Fredrik Lindberg)
- delete the static instance reference #20 (Fredrik Lindberg)
- ingress: delete instance reference on destroy #20 (Fredrik Lindberg)
- memory-eventbus: add missing destroy method #20 (Fredrik Lindberg)
- eventbus: properly destroy the EventBusService #20 (Fredrik Lindberg)
- api: only try to create tunnels on PUT requests #20 (Fredrik Lindberg)
- config: allow argv to be passed in to the constructor #20 (Fredrik Lindberg)
- tunnel-service: delete instance reference on destroy #20 (Fredrik Lindberg)
- trace output #20 (Fredrik Lindberg)
- listener: properly reference count listeners #20 (Fredrik Lindberg)
- ssh: fix typo #21 (Fredrik Lindberg)
- ssh: allow access token to be pass as ssh password #21 (Fredrik Lindberg)
- remove non-printable characters (Fredrik Lindberg)
Documentation
- update README (Fredrik Lindberg)
Code Refactoring
- allow the main exposr function to be created and destroyed in runtime #20 (Fredrik Lindberg)
Tests
- move unit tests into test/unit #18 (Fredrik Lindberg)
- add unit test for in-memory lock service #18 (Fredrik Lindberg)
- add system tests for redis dependencies #18 (Fredrik Lindberg)
- add system tests for eventbus #19 (Fredrik Lindberg)
- use REDIS_URL from environment #19 (Fredrik Lindberg)
- make sure to cleanup global objects properly #20 (Fredrik Lindberg)
- don't quote path variable to support multiple paths #20 (Fredrik Lindberg)
- add e2e API tests #20 (Fredrik Lindberg)
- exit with return code from mocha #20 (Fredrik Lindberg)
- add e2e test for websocket transport #20 (Fredrik Lindberg)
- add e2e tests for ssh transport #21 (Fredrik Lindberg)
Builds
- deps: bump minimist from 1.2.5 to 1.2.6 #7 (dependabot[bot])
- move binary dist to a script (Fredrik Lindberg)
- create missing directories (Fredrik Lindberg)
- update to node 18.5.0 (Fredrik Lindberg)
- make the all target build everything (Fredrik Lindberg)
- deps: upgrade rollup to 3.18.0 (Fredrik Lindberg)
- Dockerfile: use explicit version when copying binary dist (Fredrik Lindberg)
- deps: upgrade log4j to 6.8.0 (Fredrik Lindberg)
- deps: upgrade yargs to 17.7.1 (Fredrik Lindberg)
- deps: bump @sideway/formula from 3.0.0 to 3.0.1 #17 (dependabot[bot])
- deps: upgrade ws to 8.12.1 (Fredrik Lindberg)
- include build-deps.sh in dist bundle (Fredrik Lindberg)
- deps: upgrade koa-router to 12.0.0 (Fredrik Lindberg)
- deps: upgrade redis to 4.6.5 [#18](https://github.com/expo...
v0.7.0
Bug Fixes
- fix the ssh transport when target hostname is set through bindaddr (Fredrik Lindberg)
Documentation
- update demo (Fredrik Lindberg)
Code Refactoring
- don't export an instance of the Config object #5 (Fredrik Lindberg)
Builds
- new bundle and package system #5 (Fredrik Lindberg)
- pass no-warnings node option for binary builds (Fredrik Lindberg)
- get version from build.env if it exists #6 (Fredrik Lindberg)
Continuous Integration
- re-enable container builds on master (Fredrik Lindberg)
- publish release containers to ghcr.io (Fredrik Lindberg)
Chores
- release: 0.7.0 (Fredrik Lindberg)
Commits
- README: fix cli syntax in example (Fredrik Lindberg)
- update exposr-ssh example (Fredrik Lindberg)
v0.6.0
Breaking Changes
- 8c43783: refactor!: rename upstream to target (Fredrik Lindberg)
Chores
- upgrade docker image to node:16.14.0-alpine3.15 (Fredrik Lindberg)
- release: 0.6.0 (Fredrik Lindberg)
Commits
- 8c43783: refactor!: rename upstream to target (Fredrik Lindberg)
- update README.md (Fredrik Lindberg)