Changelog
Every release of Janus Edge. Gateways with update notifications on learn about these automatically.
v2026.9.4
25 Sep 2026 · stable · sha256:253e7d2dde5e69997c71192e7fd5e6c12433f2356c51206260d033939a881817
Janus Edge 2026.9.4
Bug-fix release of Janus Edge, a self-hosted gateway for organizational AI access, policy and visibility.
Fixed
- Local-only mode can enable models again. With
JANUS_LOCAL_ONLY=true, all pricing is hidden, but enabling a newly discovered model that had never been priced was still refused with "Save a rate card first", leaving no way to enable it. A rate card is now required only when cost tracking is on. The Models, Upstreams and Administration pages no longer ask local-only administrators to price models. Deployments with cost tracking are unaffected: enabling an unpriced model is still refused there.
No database or configuration changes.
Upgrade
- Linux server install:
sudo janus-ctl upgrade --version 2026.9.4 - Container:
ghcr.io/torvanis/janus:2026.9.4 - Helm: chart 0.1.3 (
janus-0.1.3.tgz, attached), templates unchanged from 0.1.2 apart from the image pin.
Install on a Linux server
Any systemd distribution on amd64 or arm64 with Python 3.9+ and openssl:
curl -fLO https://github.com/Torvanis/janus/releases/download/v2026.9.4/install.py
sudo python3 install.py --admin-email you@example.com --hostname ai.example.com
Offline: sudo python3 install.py --archive janus_2026.9.4_linux_amd64.tar.gz --checksums SHA256SUMS --admin-email you@example.com. For a no-sudo trial: python3 install.py --user. Checksums detect corruption, not a compromised release publisher; review install.py before running it.
Container
docker pull ghcr.io/torvanis/janus:2026.9.4
Multi-architecture manifest digest: sha256:253e7d2dde5e69997c71192e7fd5e6c12433f2356c51206260d033939a881817.
License
Janus Edge is source-available under Elastic License 2.0, with the accompanying Commercial Terms. Third-party components retain their own licenses and notices. See LICENSE, COMMERCIAL-TERMS.md, NOTICE and THIRD_PARTY_NOTICES.md.
v2026.9.3
24 Sep 2026 · stable · sha256:3d6d25c61c93b86e9b29809de950e6d6aaef92b6c452edcab4d2393755af45a6
Janus Edge 2026.9.3
Janus Edge is a self-hosted gateway for organizational AI access, policy and visibility. This release makes a single Linux server a first-class way to run it.
What's new
- Linux server installation.
sudo python3 install.pyinstalls Janus Edge as a systemd service running as an unprivilegedjanususer, with HTTPS on port 443 and port 80 redirecting to HTTPS. The first administrator is created while the gateway still listens only on loopback, so nobody else can claim a new server. - Certificates. A self-signed certificate is created on first install.
janus-ctl cert installswitches to your own certificate after checking that the key matches and that it has not expired;janus-ctl cert acmegets a Let's Encrypt certificate over HTTP-01 and renews it automatically. - Service management.
janus-ctl status,upgradeanduninstall. Upgrades back up a SQLite database first and never rotate the encryption key; uninstall keeps configuration and data unless--purgeis given. - The previous no-sudo installation into
~/.localremains available aspython3 install.py --user.
The gateway itself is unchanged from 2026.9.2 apart from its version.
Install on a Linux server
Any systemd distribution on amd64 or arm64 with Python 3.9+ and openssl. Tested on Ubuntu 24.04 and Rocky Linux 9 (SELinux enforcing, firewalld).
curl -fLO https://github.com/Torvanis/janus/releases/download/v2026.9.3/install.py
sudo python3 install.py --admin-email you@example.com --hostname ai.example.com
Then, optionally:
sudo janus-ctl cert install --cert fullchain.pem --key privkey.pem
sudo janus-ctl cert acme --domain ai.example.com --email you@example.com
Configuration and the encryption key are in /etc/janus/janus.env; data is in /var/lib/janus. SQLite is the default for a single server; pass --database-url postgres://... on first install for PostgreSQL.
Upgrading an existing server install: sudo janus-ctl upgrade --version 2026.9.3. Installations made with the earlier ~/.local installer are not converted; they keep working as before.
Offline, after downloading the matching archive and SHA256SUMS:
sudo python3 install.py --archive janus_2026.9.3_linux_amd64.tar.gz --checksums SHA256SUMS --admin-email you@example.com
Checksums detect corruption, not a compromised release publisher. Review install.py before running it.
Kubernetes / Helm
Chart 0.1.2 for application 2026.9.3 is attached as janus-0.1.2.tgz, with janus-0.1.2.tgz.sha256. The chart's default image is pinned to the multi-architecture digest below. Chart templates are unchanged from 0.1.1 apart from the image pin. See the chart installation guide.
Container
ghcr.io/torvanis/janus:2026.9.3 for Linux amd64 and arm64.
docker pull ghcr.io/torvanis/janus:2026.9.3
Multi-architecture manifest digest: sha256:3d6d25c61c93b86e9b29809de950e6d6aaef92b6c452edcab4d2393755af45a6.
License
Janus Edge is source-available under Elastic License 2.0, with the accompanying Commercial Terms. Third-party components retain their own licenses and notices. See LICENSE, COMMERCIAL-TERMS.md, NOTICE and THIRD_PARTY_NOTICES.md.
v2026.9.2
21 Sep 2026 · stable · sha256:a4352c0fbde6e506d26be60714926e798ca36e223b124e404efd82a3e0f5a5ca
Janus Edge 2026.9.2
Feature release of Janus Edge, a self-hosted gateway for organizational AI access, policy, and visibility.
What's new
- Opt-in automatic license renewal sync for monthly and annual subscription licenses, off by default. Enable it under Admin → Settings → License & updates or with
JANUS_LICENSE_SYNC=true; storing a sync token or installing an online key never enables it on its own, and offline mode always prevents remote sync. This retrieves renewed signed licenses only; it is separate from software update checks. - Sync token onboarding: paste the raw sync token from the license portal, save, and use Sync now. Blank saves keep the stored credential; Clear stored sync token removes it.
JANUS_LICENSE_SYNC_TOKENpins the credential from the environment. - Renewal attention notices in the shell banner and the license card that are independent of signed license validity: cancellation, payment failure, stale or failed sync, and exhausted grace stay visible, while routine expiry warnings are suppressed only during a fresh, confirmed automatic renewal.
- Replay-safe revocation recovery: after an advisory revocation the gateway keeps syncing but clears the warning only for a newer same-identity signed license accompanied by fresh subscription evidence, so an old revoked response cannot restore a stale state.
Existing installations do not change behavior on upgrade: sync stays disabled until an administrator opts in.
Installation
Linux amd64 and arm64 archives, install.py, and SHA256SUMS are attached to this release.
python3 install.py --version 2026.9.2
python3 ~/.local/share/janus/run-local.py --binary ~/.local/bin/janus
Or offline, after downloading the matching archive and SHA256SUMS:
python3 install.py --archive janus_2026.9.2_linux_amd64.tar.gz --checksums SHA256SUMS
Installation requires Python 3.9+, defaults to ~/.local, verifies checksums, and does not create or start a system service. The executable itself has no Python dependency.
Kubernetes / Helm
Chart 0.1.1 for application 2026.9.2 is attached as janus-0.1.1.tgz, with janus-0.1.1.tgz.sha256. The chart's default image is pinned to the multi-architecture digest below. See the chart installation guide for required Secrets and commands.
Database choices: one bundled PostgreSQL instance (default), existing PostgreSQL, or single-replica SQLite for evaluation only. The chart does not migrate data when changing modes. Chart templates are unchanged from 0.1.0 apart from the image pin; the 0.1.0 runtime acceptance (installation, login, restart persistence, unchanged-secret upgrade, external PostgreSQL with verified TLS) was not repeated for this release.
Container
The container image is published to ghcr.io/torvanis/janus:2026.9.2 for Linux amd64 and arm64.
docker pull ghcr.io/torvanis/janus:2026.9.2
Multi-architecture manifest digest: sha256:a4352c0fbde6e506d26be60714926e798ca36e223b124e404efd82a3e0f5a5ca.
The package is public; anonymous pulls were verified at release time.
Source archives are also available below. Building from source requires Go 1.26.7, Node.js 22 with npm, Git, Make, Bash, and Python 3. Verification additionally requires a C compiler for Go race tests.
License
Janus Edge is source-available under Elastic License 2.0, with the accompanying Commercial Terms. Third-party components retain their own licenses and notices. See LICENSE, COMMERCIAL-TERMS.md, NOTICE, and THIRD_PARTY_NOTICES.md.
v2026.9.1
20 Sep 2026 · stable · sha256:b789411252a3bd5724c77d15a02c7c388178ba6a3e95c5916367d3a682e094b6
Janus Edge 2026.9.1
Initial public release of Janus Edge, a self-hosted gateway for organizational AI access, policy, and visibility.
Included
- Provider routing, model discovery, managed model names, and OpenAI-compatible APIs.
- Personal and team workspaces, with organization-wide team administration under Administration → People → Teams.
- Local authentication, OIDC, directory integration, user and service tokens, quotas, and usage reporting.
- Security policies, classifier integrations, audit logging, and opt-in troubleshooting captures.
- Offline license verification and an embedded web UI.
Installation
Linux amd64 and arm64 archives, install.py, and SHA256SUMS are attached to this release. Download the installer, matching architecture archive, and checksums, then run:
python3 install.py --archive janus_2026.9.1_linux_amd64.tar.gz --checksums SHA256SUMS
python3 ~/.local/share/janus/run-local.py --binary ~/.local/bin/janus
Use the arm64 archive instead on an ARM64 machine. Installation requires Python 3.9+, defaults to ~/.local, verifies checksums, and does not create or start a system service. The executable itself has no Python dependency.
Kubernetes / Helm
Chart 0.1.0 for application 2026.9.1 is attached as janus-0.1.0.tgz, with janus-0.1.0.tgz.sha256. See the chart installation guide for required Secrets and commands.
Database choices: one bundled PostgreSQL instance (default), existing PostgreSQL, or single-replica SQLite for evaluation only. The chart does not migrate data when changing modes. Real installation, authenticated login, restart persistence, and unchanged-secret upgrades were exercised; external PostgreSQL with verified TLS was also tested. Ingress/monitoring discovery, HA, and backup restoration are not certified by these checks. Gateway image registry authorization may still be required.
The application tag remains unchanged; chart source was added to the public main branch separately.
Container
The container image is uploaded to ghcr.io/torvanis/janus:2026.9.1 for Linux amd64 and arm64. Package visibility is currently private; authenticated package access is required until it is made public.
docker pull ghcr.io/torvanis/janus:2026.9.1
Multi-architecture manifest digest: sha256:b789411252a3bd5724c77d15a02c7c388178ba6a3e95c5916367d3a682e094b6.
Source archives are also available below. Follow the README to build from source or build a container locally.
Building from source requires Go 1.26.7, Node.js 22 with npm, Git, Make, Bash, and Python 3. Verification additionally requires a C compiler for Go race tests.
License
Janus Edge is source-available under Elastic License 2.0, with the accompanying Commercial Terms. Third-party components retain their own licenses and notices. See LICENSE, COMMERCIAL-TERMS.md, NOTICE, and THIRD_PARTY_NOTICES.md.