Release notes
What changed in each release, newest first. Full documentation ships with the installer.
Seats count devices, and one portal can run on several servers
The largest release since 1.0. A Relay Seat now counts a device rather than a person, several servers can serve one portal behind a load balancer, one licence can cover several installations, an address can be opened to the public without a sign-in, and people can reset their own passwords.
Read this first if you are upgrading
Four changes alter existing behaviour. None is silent, but all four are worth reading before you upgrade a production installation.
- A Relay Seat is now one device with a live session, where it used to be one person. This changes how many seats a given customer needs.
- Automatic launch rules are now chosen on the address, not scoped by typing hostnames into the rule. Every address starts with no rule chosen, including on upgrade. If an address opens an application automatically today, add that rule to the address after upgrading — and note which rules name which hostnames before you start.
- An installation with no valid licence now refuses to launch anything. Not activated, expired, deactivated — all the same answer. Earlier versions read "no seat limit" as "unlimited" and admitted everybody.
- Every server in a pool must run the same version. Upgrade them together.
Licensing and seats
Signing in to the portal costs nothing at all — the seat is taken by the first launch and returned when the last session on that device ends. A device is a browser profile on a machine, recognised by a cookie. Nothing is fingerprinted.
The consequences, stated plainly:
- Two browsers on one machine, used at the same time, are two seats. Close one and open the other and it is one seat throughout.
- A desk PC and a laptop in use at once are two seats.
- Clearing cookies does not cost a seat.
- One person moving between three machines during the day holds one seat at a time, as long as they sign out or their sessions end.
The unit changed because credentials are shareable. Five accounts used by a hundred people read as five people, and a hundred people were served for the price of five. Two people at two screens are two devices whatever account they type.
A page that shows you the evidence
System → Seats gives one row per device, with the accounts that used it, live sessions, first seen and last active, address, tenant, and — in a pool — the server it is on. It carries the highest number of devices in the last thirty days, which is the figure to hold a renewal conversation on, a CSV export, and a Release control that ends a device's sessions and returns its seat. Two flags mark a likely second browser and a device seen from several addresses at once; both are reports, and neither changes the count.
One licence across several installations
Any activated installation can share its seats with others, so sites that cannot share a database — or cannot reach the internet — still draw on one pool. The installation holding the key issues a single-use enrolment token, lasting 24 hours, and lists every installation using it with its seat usage and a Revoke control. An enrolled installation keeps working on its own if the key holder cannot be reached, up to an allowance based on what it has actually been using. Open sessions are never cut.
Grace, and a notice you cannot miss
Grace now covers expiry as well as an unreachable key holder: applications keep launching after a licence expires until grace ends, with the date shown. A licence notice appears above every console page from ten days before expiry, turning red for the last three days and while an installation is running on grace. It cannot be dismissed, and it clears the moment the licence is renewed.
Licences now also carry an Extra percentage, allowing a short burst above the licensed number rather than a refusal. Seventy seats at five per cent is seventy-three, and the console says so in those words.
Running more than one server
DartRelay now supports a pool: several servers sharing one database, behind a load balancer, on a hostname of their own. Each extra server is added during installation and needs no licence key of its own. A pool gives you capacity and maintenance headroom — you can drain one server, patch it, and put it back without a maintenance window.
System → Load balancer is a new page holding the settings once for every server: trusted proxies, forwarded-header handling, the public address used in email, sign-in by header for appliances that authenticate in front of DartRelay, and the sign-out address. A value set in a server's own configuration file still overrides the console for that server, and the page shows it as locked.
What a pool is not
It is not failover. A server failing under a live session ends that session and the person signs in again. Sessions do not move between servers, and pass-through credentials live on the server that authenticated.
Getting in
An address can admit visitors without a sign-in
Nominate one guest account for the installation, then turn it on either installation-wide or for a single address. A bound address decides this on its own, so turning the installation switch on can never open a customer's branded address. Pair it with an automatic-launch rule and a public address becomes one application and nothing else.
People can reset their own password
A Forgot your password? link on the sign-in page emails a one-time link, for portal accounts and Active Directory accounts alike. It needs two switches — one on the theme, one on the Security page — so that branding permission alone cannot open it. The page gives the same answer whatever is typed, so it cannot be used to discover which usernames exist, and the link always goes to the address already held for the account.
Sessions and hosts
- A separate Windows session for each device, as a per-host option. One person in two browsers gets two Windows sessions instead of sharing one.
- Sign out of Windows when the last tab closes, as a per-host option. Stops abandoned disconnected sessions being offered to the next arrival. Published applications only.
- Applications follow the window. Going full screen, or leaving it, now resizes the application to fit instead of leaving it at its old size.
The portal
- A single-application portal. An address can be reduced to one application with no catalogue behind it: the Home tab hidden, the application opening by itself, and a Start again panel when the person closes it.
- Automatic launch is chosen per address. Open an address under Tenancy & Branding and add rules to it in the order you want them. The rule still decides what opens and who it applies to; the address decides where.
- File transfer settings moved. One card holds the path, the account and what people may do in the drive, and any individual desktop or application can override all of it.
Known issues
Three faults in file transfer are known and being worked on. If you are piloting it:
- Downloading stops working after 128 files in one session, and a file taken from the download folder is removed from it whether or not it reached the browser — so a download that fails loses the file.
- Filenames outside the plain English alphabet do not survive.
- Only the last level of the share path is created, so if the parent folder does not exist, file transfer fails for every resource using it.
Maintenance
Fixed a permission check that was refusing the console's own keep-alive requests and filling the log with denials.
A real file browser
Upload and download became one panel behind a single button in the session toolbar.
Move up and down folders, filter, drag files in, and take several files or a whole folder out as a zip. Delete, rename and create folder arrived with it, each separately controlled by the administrator.
The Download folder that used to appear in the drive root is gone. Files
are taken out by selecting them in the browser, rather than by saving into a specially
named folder — which had the side effect of deleting anything written there.
Tenancy, and a brand for every customer
- Tenancy & Branding. An address can be bound to a tenant with its own brand, its own seat allocation, its own announcements and its own terms of use — from one installation, without a second licence.
- Seat allocation per tenant, enforced on top of the licence rather than instead of it, with the allocated-against-licensed comparison on the page.
- Announcements and agreements aimed at chosen tenants, and notices that can be placed where you want them on the page.
- Certificates that renew themselves, issued and renewed automatically.
- Restricted categories — a folder of resources and everything in it hidden from anyone not granted it.
- Idle timeout measured at the keyboard, a password age policy, and a fuller theme editor.
The foundations
DartRelay 1.0 was released on 7 September 2024. Over the releases that followed, the product grew from a way of putting a Windows application in a browser into the platform described above.
What was laid down across these releases, all of which is still here:
- Publishing applications and desktops from Windows hosts with nothing installed on them — no agent, then or now.
- The portal: a catalogue of resources, sessions as tabs, favourites, search and sort.
- Web applications alongside published ones.
- Sign-in against portal accounts, local Windows accounts and Active Directory, with two-factor authentication and a verification challenge.
- Administrator roles and permissions, and an audit log.
- Themes and a block editor that builds the sign-in and home pages piece by piece, rather than tinting a fixed design.
- Categories, automatic launch, file transfer, printing to PDF, email delivery and templates, and five shipped portal languages with the means to add more.
Full documentation — Quick Start, Administrator, User, and Branding & Utilities guides — ships with the installer.
