← Back to Blog

What's in 9.12.2

TOD 9.12.2 fixes five reported issues affecting SSH, WinBox, device onboarding and database connections.

Key-only SSH firmware upgrades

Configuration backups and every SSH stage of a firmware upgrade now use stored private keys. An attached SSH key profile works alongside the device’s inline RouterOS API credentials, so enabling key-only SSH no longer prevents the mandatory pre-upgrade backup. Each account’s username and key/password stay together. SSH failures identify the port and credential settings to check (#24).

Custom SSH ports

SSH Port is available in Add Device and Edit Device. Certificate deployment, SSH terminal, backups and firmware operations use the configured port instead of always connecting to 22. Existing devices without a stored port use 22 (#28).

WinBox launch controls

The native WinBox button attempts the registered winbox:// handler on Windows, macOS and Linux. The ready panel also provides an Open WinBox link and Copy control. A local URI handler is required; when one is unavailable, paste the tunnel address into WinBox or use Remote for browser-based WinBox (#29).

Quick Add TLS selection

Quick Add Device now exposes automatic TLS, unverified-certificate TLS and plain API modes for manual and credential-profile submissions. Automatic TLS allows unverified certificates. Plain mode warns that credentials are sent without encryption and is never selected silently by automatic mode. The expanded dialog remains scrollable on small screens (#26).

Database connection limits

Default API pools now allow at most 30 database connections across two workers: app pool 5 plus 5 overflow and admin pool 2 plus 3 overflow per worker. The base Compose file explicitly starts PostgreSQL with max_connections=100, including existing data directories. This corrects the mismatch between API pool capacity and the database limit that could cause intermittent 500 responses and blank Remote WinBox sessions. Explicit pool overrides still take precedence (#30).

Version metadata

The Python lockfile now records the application version alongside the package manifests. The version consistency guard covers the lockfile and the public documentation version table.

Updating

No reinstall or new database migration is required. Back up, update the release’s Compose files, pull or rebuild the application images and recreate services. Recreating PostgreSQL with the updated Compose definition applies its connection limit; keep the existing data volume. Review custom pool overrides. See the update instructions.

Change comparison · Release notes