Agent
Version 1.12.0
- Released August 1, 2025
Changed
- Change the agent's core monitoring logic to:
- Ignore interfaces outside of the configured WireGuard directory (previously would report on all WireGuard interfaces)
- Report on down interfaces (previously would ignore them)
- Flip IPv6/IPv4 preference if connectivity check to API fails, and try it with the other address family.
- Run DNS queries to secondary DNS servers in parallel, if primary takes too long to respond.
- If custom DNS servers specified, query them with UDP by default
(unless the URL or hostname with which they can be queried with DoH
is also specified via the
Doh
setting; or unless the DNS servers are from well-known DoH providers).
Fixed
- Fixed
ReadOnly
setting to block changes from being applied on client.
Version 1.11.2
- Released July 25, 2025
Changed
- Send custom application name, version, and developer name to device properties API (eg "Crux VPN Linux Agent 1.11.2 by Sirius").
Fixed
- Don't automatically retry registration if 1st attempt fails. Now if registration fails, an administrator must correct the issue, and then manually restart the agent.
- Fix registration mode to always use uppercase values (eg
QKEY
). - Better error messages when missing required registration config
settings (such as
Realm
). - Fixed pre-built liboqs download logic in install.sh script to ignore minor OS versions when checking for available downloads.
- Fixed install.sh to run ldconfig only if a library path was added.
- Don't try to load agent conf files from
/etc/wireguard
. - Avoid writing
deviceProperties.json
when no props have changed.
Version 1.11.1
- Released July 6, 2025
Added
- Allow custom SKA-P domain to be configured in agent conf via
Domain
setting, as a shorthand for setting each individual SKA-P API endpoint. - Allow
QKey
andQKeyId
settings in agent registration conf. - Allow agent conf settings to be specified as base64;
eg:
PasswordBase64 = cGFzc3dvcmQgIyAxMjM=
.
Fixed
- Allow
#
characters inPassword
setting of agent registration conf. - Fix startup sequence to not miss DUID updates that occurred while agent was not running.
Version 1.11.0
- Released June 14, 2025
Added
- Connectivity checks for Arqit SKA-Platform™ (SKA-P).
- "Offline" mode for non-essential SKA-P endpoints;
engaged via the following /etc/cruxvpn/cruxvpn.conf settings:
[PQC.API] MonitorHeartbeat = offline MonitorProperties = offline Policy = offline
Changed
- Bundle Arqit SKA-Platform™ SDK into agent tarball.
Fixed
- Enable communication with Crux VPN API even when no SKA-P connectivity; and enable SKA-P peering and communication with SKA-P endpoints even when no Crux VPN API connectivity.
Version 1.10.0
- Released May 30, 2025
Added
- Agent MSI builds via GitHub Actions.
- Liboqs DLL builds via GitHub Actions.
Changed
- Download liboqs.so if pre-built version available (rather than always build it from source) on install.
- Default the location of device*.json files to the same directory as the cruxvpn.conf file (rather than always /etc/cruxvpn) if not explicitly specified.
Version 1.9.3
- Released May 29, 2025
Added
- "Offline" mode for interacting with the API server, where the
agent will not attempt to connect to the API server if you
change its /etc/cruxvpn/cruxvpn.conf
Api
setting to this:Api = offline
Version 1.9.2
- Released May 18, 2025
Added
- Tarball and container image builds via GitHub Actions.
Fixed
- Fixed agent name in crux0.conf comment.
- Fixed install.sh "wg-quick service definition not found" error on Debian Buster.
- Fixed liboqs build on Alpine Linux for 32-bit ARM (eg Raspberry Pi).
Version 1.9.1
- Released May 8, 2025
Added
- Automatically install iptables package (required for packet forwarding).
Changed
- Try to install newer Python on RHEL 8 variants on clean install (RHEL 8 default is Python 3.6; Python 3.8 or newer is required).
Fixed
- Clean up de-register/re-register cycle to avoid this error:
No such file or directory: '/etc/cruxvpn/deviceProperties.json'
Version 1.9.0
- Released May 3, 2025
Added
- Use Arqit QuantumCloud™ SKA to generate WireGuard preshared keys.
- Automatically register device with QuantumCloud if not yet registered.
- Automatically start QuantumCloud peering socket receiver and initiators based on settings in WireGuard config.
- Build and install
liboqs
as part of install script. - Option to redact preshared keys only.
Changed
- Use
/etc/cruxvpn
directory to consolidate all config files. - Define and use
cruxvpn-wg
systemd service in place of wg-quick service. - Improve handling of interrupt/terminate signals to shut down faster.
- Use
versioningit
plugin to calculate agent version number.
Removed
- Remove support for Python versions older than 3.8.
- Remove old Windows EXE installer (deprecated by new MSI-based installer).
Fixed
- Explicitly set root log level to override log settings from libraries.
Version 1.8.0
- Initial Release