Repository navigation
v1.1.0-rc3
Pre-releaseRelease candidate for 1.1.0 - offered in the app on the release candidates update channel.
The Database tab grows up: IBM Db2, foreign keys to follow both ways, filter and sort on the server, cell edits that become an UPDATE script, Explain, a Sessions view and a query timeout. An experimental compact title bar gives terminals one more row, dragging tabs back from detached windows works every time, and a VPN login with a push second factor no longer repeats itself through a proxy. Plus fixes in the network profiles and on Android.
opkssh
- opkssh is updated to 0.19.2 (openpubkey 0.30.0): a provider whose key set holds one key that cannot be read no longer breaks the login (hello.coop failed with "Ed25519: invalid key algorithm"), Ed25519 ID tokens verify again, and token keys are checked more strictly (a token must use the algorithm its key is published for).
Database
- Referenced by: pick a row in a table's Data view and see which tables point at it and how many of their rows, a click away (same breadcrumb as following a key). A column in several foreign keys asks which one to follow.
- Filter and sort on the server in a table's Data view: conditions on columns (
=,<>,<,>,LIKE,IS NULLand the rest) and a header click sort the whole table, not just the page shown. - Copy as SQL: the picked row or the page as
INSERTorDELETEstatements in the engine's syntax. - Edit cells in the Data view: changed cells collect into an
UPDATEscript that opens in a query tab to read and run; nothing is sent by itself. - Explain in query tabs (PostgreSQL, MySQL / MariaDB): the statement's plan as a tree with cost, rows and conditions.
- Query tabs complete column names of the tables a script uses, after the table's name or alias.
- Sessions: the server's sessions (who runs what, for how long, waiting on what, blocked by whom), with Stop statement and End session; audited, refused on read-only connections.
- Query timeout setting for Database tabs (inherited like the other Database settings): a statement that runs longer is stopped on the server, as Stop does.
- Follow foreign keys in a table's Data view (PostgreSQL, MySQL / MariaDB, Oracle, SQL Server, Db2): a link in a foreign key cell opens the row it references, in the same tab, with a breadcrumb of the path and Back. Composite keys follow all their columns.
- IBM Db2 joins the Database tab: Db2 for Linux, UNIX and Windows over its own DRDA protocol, with a pure-Go driver (no IBM client to install), through the connection's SSH session like the other engines. The tree lists the schemas of the database you connect to, with tables, views and materialized query tables, their columns, keys, indexes and foreign keys; query tabs run SQL and SQL PL blocks (ended by
@on a line of its own), and read-only mode sends onlySELECT,WITHandVALUESand rolls each run back.
Window
- New experimental Compact title bar (Settings -> Appearance -> Window, off by default, applies after a restart): the system title bar goes and the tab bar takes its place, in the main window and in detached windows, so terminals get one more row. Drag the empty part of the bar to move the window and double-click it to maximise; Windows and Linux get minimise / maximise / close at the right end, macOS keeps its traffic lights. The bar keeps working while a dialog is open (tcpdump, logs, a confirmation): it stays above the dialog's shade, so the window still moves, snaps and maximises, as with the system title bar. A maximised window comes back to full size after a display goes away and returns (a KVM switch, a dock); before, it stayed at the other screen's size.
- Dragging a tab out of a detached window back into the main window redocks it reliably, and it can be dropped anywhere in the main window, not just on the tab bar. Before, it worked only some of the time.
- Redocking one tab of a detached window that holds several keeps the others there; before, the whole window closed and its other tabs vanished from view. A tab can also be redocked onto a main window that has no tabs left.
- A VNC console tab survives being detached or redocked; before, the move closed the console and the new window showed "VNC session not found".
Network profiles
-
A VPN login that a program started through a proxy (a database tool retrying after the computer woke up) and that did not finish is no longer tried again by the next connection: with a Duo push second factor every retry sent another push, one every couple of minutes. Connections through the proxy are refused at once until you press Connect on the profile, and a notification says so.
-
A profile's separate proxy that is started with the app listens on
127.0.0.1even when its stored settings name no address; one written outside the app (an import, a hand edit) listened on every interface. -
Opening the Settings tab of an OpenConnect (AnyConnect and the others), OpenVPN or Check Point profile no longer asks about unsaved changes on the way out when nothing was edited.
-
Resume on a paused profile no longer connects the VPN by itself: the tunnel comes up with the next connection through it, or with Connect. Pause and Resume explain what they do in a tooltip, also on a profile that is down (Pause there sends connections direct instead of bringing the tunnel up).
-
A VPN profile's separate proxy no longer starts on port 1080, which the app proxy holds by default: it takes the first free port from 1081 up (saved, so a client set up with it keeps working). A port that is taken now says so, instead of a raw socket error.
Small fixes
- The on / off switches (App proxy, VNC, Kafka, Database and the others) had no knob in the off position, only a grey bar.
- Server status no longer lists read-only images with no free space as full disks: in WSL the kernel tools image (
/usr/lib/linux-tools/...) showed as 100% used, inodes included. WSL's driver share (/usr/lib/wsl/drivers, the same Windows drive as/mnt/c) is no longer listed twice. A read-only disk with room left still shows. - Esc answers Cancel / Stay in a confirmation (unsaved changes and the others) wherever the focus is; before, it did nothing when the click that opened it had left the focus behind the dialog.
Android
- 1.0.0 and 1.0.1 could not be installed over a 0.x version ("package conflicts" / downgrade): their APKs carried a lower internal version number than 0.119. Fixed; this release installs over any earlier one.