Skip to content

Releases: bitbound/ControlR

v0.17.20.0 Release

31 Dec 22:07

Choose a tag to compare

Changes:

  • Moved VNC relay to the Device Access layout (see screenshot).
  • Added "Connect", "Disconnect", and "Test" buttons for VNC relay.
  • Relaced deprecated MSBuild-based API client generation with Kiota.
  • Published new API client to NuGet.
  • Fixed multi-monitor pointer coordinates on Wayland.
  • Added authn and authz support to websocket relay to supplement the access tokens.
  • Replaced IPC protocol with StreamJsonRpc + MessagePack formatter.
  • Minor fixes and refactors.
image

Full Changelog: v0.16.28.0...v0.17.20.0

v0.16.28.0 Release

13 Dec 01:32
68af265

Choose a tag to compare

Changes:

  • Fixed API calls during server-side rendering by conditionally switching to backend service implementations.
  • Fixed chat responses due to mishandled async response type in IPC library.
  • Allow MaxFileTransferSize to override multipart body length limit.
    • This applies to file upload API endpoint.

Full Changelog: v0.16.22.0...v0.16.28.0

v0.16.22.0 Release

11 Dec 22:28

Choose a tag to compare

Changes:

  • Added management of Installer Keys.
  • Added option to encrypt Data Protection keys using X509 certificate.
  • Added EnableNetworkTrust option for easier forwarded headers configuration when the service is only reachable via trusted proxy.
  • Added endpoint for file uploads to device.
  • Switched to global WASM as the default render mode.
  • Added WASM bundle download % to the loading indicator.
  • Refactored Mac's permission granting flow to align with Wayland's.
  • Allow Wayland permissions to be re-granted (e.g. after display changes).
  • Marshal screen frames as MemoryView in Blazor's JS interop for improved performance and memory utilization.
  • Various cleanup and refactoring.

Full Changelog: v0.16.1.0...v0.16.22.0

v0.16.1.0 Release

02 Dec 00:58

Choose a tag to compare

Breaking Changes:

  • The Docker image has moved to bitbound/controlr (used to be translucency/controlr).

Changes:

  • Remote control support on Wayland! 🎉
    • Like Mac, Wayland requires the user to manually consent the first time, then subsequent connections will be automatic (provided they checked the box for it).
  • Added warning text for Mac and Wayland on the remote control page to indicate that the above permissions have not been granted yet (so you know when to expect a prompt on the other end).
    • permissions-not-granted
  • Wayland now has UI on the desktop client that allows customers to grant the permissions in advance.
    • wayland-permissions
  • Added passkey support.
    • Passkeys
  • Windows executables are now digitally signed using a commercial DigiCert certificate.
  • Changed the license to MIT.
    • My hope is that using a permissive license will make it easier for businesses to integrate ControlR and help the project grow.
  • Migrated all workflows from Azure Pipelines to GitHub Actions.
  • Added a Railway template for insanely easy ControlR deployments.
  • Added SMTP test button on the Server Settings page.
  • Added a DisableSendingEmails option to disable Identity emails (forgot password, account confirmation, etc.).
  • Added zooming on desktop with Ctrl + Shift + Mouse Wheel.
  • Improved handling for very large directories in Remote File System.

Full Changelog: v0.15.1.0...v0.16.1.0

v0.15.1.0 Release

13 Nov 07:14

Choose a tag to compare

Breaking Changes

  • Removed the option for external relay servers.
    • Earlier versions of ControlR were intended to be a horizontally-scaling SaaS product with global relays. That's no longer a design goal, and the focus will be on self-hosting individual instances.
    • This also paves the way for fine-grained permissions, session recording, and potentially other features.

Changes:

  • New color scheme and icons
image
  • New light theme with Auto/Light/Dark toggle.
  • You can now configure the app name that appears in TOTP authenticator apps via the ControlR_AppOptions__AuthenticatorIssuerName environment variable in docker-compose.yml.
  • The DesktopClient is now bundled into the agent and doesn't need to be downloaded at runtime.
  • Improved the IPC authentication between desktop and agent processes.
  • Reimplemented auto-reconnect when the viewer loses connection during remote control (e.g. when logging into Windows).
  • Fixed the screen redraw when switching back to Remote Control from another tool.
  • New Server Alert function for server admins.
  • Reworked auto-update so it no longer requires Cloudflare's cache to be bypassed.
    • Pre-existing agents will still need it bypassed to upgrade from 0.14.x to 0.15.x, but it won't be needed afterward.
  • You can now pan while pinch-zooming on mobile.
  • Improved support for non-US keyboard layouts (though testing so far has been limited).
  • Fixed bug in remote control's display canvas caused by undisposed event handler registrations.
  • Screen is now kept awake during remote control sessions.

Installation

See the readme for instructions on running in Docker.

Commits:

  • 59ae473 Update sponsors logo.
  • 5db3b8e Revert test value.
  • 2fc11a8 Add contrast text resources to Avalonia.
  • 20597e8 Update readme.
  • bbfd8b7 Update screenshots.
  • 8641f1e Fix ChatTitle binding.
  • 970673e Auto-close PRs (for now). (#7)
  • b7abe30 Add ViewerName to ChatSession and improve message change handling
  • 590b997 Refactor ChatSession in DesktopClient.
  • 1662c5e Update Welcome.razor
See More
  • c898c52 Update Welcome.razor
  • 6f480e9 Move GetServerStats to controller. (#6)
  • e7adf18 Implement IAppEnvironment interface for environment detection and update RemoteDisplay and JsInteropableComponent for improved touch handling and JS module import.
  • db0182f Update test.yml
  • 66e5932 Add forceKeyFrame parameter to CaptureDisplay method for full frame captures
  • 2b1cc48 Wait until after first render to request key frame.
  • 1e8c590 Add missing MessagePackObject attribute.
  • ce2aed0 Detect and shut down duplicate DesktopClients on Windows.
  • b877e09 Implement keyboard state reset for X11 and macOS; enhance key tracking in RemoteDisplay
  • 49125b5 Track modifier key state.
  • 31b38f4 Refactor SKRect and Rectangle conversions in SkiaSharpExtensions and update DesktopCapturer and ImageUtility to use SKRect for improved consistency
  • d2f64fe Remove unused IDesktopClientUpdater dependency and enhance update check with cancellation token support
  • d8c625f Merge branch 'main' of github.com:bitbound/ControlR-Private
  • 8738a12 Refactor AgentHeartbeatTimer and related services for improved heartbeat management and connection handling
  • a35aa10 Default to Dark theme on Windows (#4)
  • 6c1057e Update GetFrameDirtyRects for API changes.
  • a3f77c6 Remove TokenUiAccess.
  • f1b4233 Update packages.
  • 13e5f82 Rework input simulation. (#3)
  • f100869 Update AGENTS.md
  • 5fa682e Reimplement dispose is RemoteDisplay's js, using mutation observer.
  • f4180d9 Rework theme and apply it to DesktopClient. (#2)
  • c1fa013 Update icns path.
  • 975a8d2 Merged PR 39: Refactor input simulation to consider both KeyboardEvent.key and KeyboardEvent.code.
  • e6cd498 Merge pull request #1 from bitbound/claude/design-welcome-component-011CUqhFUe6FSpoXV24XzQya
  • 002f351 Adjust welcome screen and connection indicator.
  • ca79976 Move CSS to component-scoped file
  • b45ef47 Enhance Welcome.razor component with modern design
  • e4353b6 Rename icons in wwwroot.
  • 5dce1ef Remove "sendKeyPress" js interop method. No longer needed.
  • d664d64 Update demo server url.
  • d3d009e Merged PR 38: Create new theme and dark/light toggle.
  • d221e92 Add LoggedInUserProvider.
  • 0dff950 Refactor: Replace duplicate logic for retrieving logged-in users with ILoggedInUserProvider across services. Add ILoggedInUserProvider dependency injection where necessary.
  • 899e62a Enhance session handling in DesktopClientWatcherLinux to ignore closing and display manager sessions
  • 86bbac3 Merged PR 37: Add the ability to create a server-wide alert banner.
  • 01a38c6 Rework VIewrHub.
  • 3378da2 Change license from GPLv3 to AGPLv3
  • 389674d Extract IDesktopClientFileVerifier.
  • d96636b Refactor IpcClientAuthenticatorTests to use consistent mock variable names
  • 045485e Fix constructor params in test.
  • f2c638f Merged PR 36: Add IPC client authentication mechanisms.
  • 7566fb1 Allow 2 parallel SignalR messages per client.
  • adfc463 Merged PR 35: Re-implement automatic viewer reconnects.
  • a396817 Observe cancellation tokens.
  • 2530b2a Fix task return.
  • 20460ba Merged PR 34: Modify agent update to avoid need for Cloudflare cache bypass.
  • 3b15f25 Move Copilot instrucitons to AGENTS.md
  • 13b32dd Refactor.
  • 81e339b Add controlr-network back in for deterministic gateway IP to add to ControlR options.
  • 1a99e30 Add screen wake lock on the browser during remote control.
  • b1d9871 Toggle fullscreen on whole document so popovers are visible.
  • 085424f Zoom out when pinch-zoom transitions from scaled to original.
  • 8b6cb86 Merged PR 33: Extract DeviceAccessHub from ViewerHub to separate SignalR connections.
  • d73fc39 Refactor image utility calculations for clarity; add MaybeDisposable extension for conditional disposal management.

This list of changes was auto generated.

v0.14.88.0 Release

14 Oct 11:22

Choose a tag to compare

Installation

See the readme for instructions on running in Docker.

Changes:

  • Fixed the incorrect calculation of file upload progress.

Commits:

  • 6d563e6 Merged PR 32: Fix file upload calculation.
  • 037cb84 Update docker gateway ip in docker-compose.

This list of changes was auto generated.

v0.14.83.0 Release

12 Oct 00:29

Choose a tag to compare

Installation

See the readme for instructions on running in Docker.

BREAKING CHANGE:

The mount location changed for the latest release of postgres. This has been reflected in ControlR's docker-compose file.

Postgres 18 was just recently released, and is now the pinned version in ControlR. You will need to migrate your database to use version 18, or you can continue using version 17 by replacing latest with 17 for the postgres image tag in your ControlR compose file.

Please see these notes on the Postgres image readme.

Changes:

  • Added end-to-end streaming for file transfers to minimize buffering on the server.
  • Added new file upload UI.
  • Added an "up one level" button to the file manager.
  • Added support for concurrent uploads and downloads.
  • Added Content-Length header for downloads so browser will show total size and progress %.
  • Added --device-id as an optional parameter for the install command.
  • Fixed encoding of Content-Disposition header for file downloads from the file manager.
  • Pinned the Postgres image at v18.
image

Commits:

  • 2ecb149 Add important notes to Deploy page.
  • a5b9b30 Update README to reflect demo server URL
  • dbc8e23 Add to global usings.
  • 8aec516 Use ContentDispositionHeaderValue.SetHttpFileName for setting the header for file downloads.
  • 311a205 Merged PR 31: Improve file manager experience.
  • 7eb3ec6 Refactor file transfer and display management logic
  • 82778bb Refactor variable names for clarity and improve error messaging
  • db1795f Refactor display-related classes and improve code readability
  • 704bccc Update excluded drive prefixes to remove trailing slashes
  • a141f2d Change test configuration from Release_Windows to Release

This list of changes was auto generated.

v0.14.61.0 Release

27 Sep 23:11

Choose a tag to compare

Installation

See the readme for instructions on running in Docker.

Changes:

  • Added remote control support for Ubuntu/Mint running X11 (Wayland not yet supported)
  • Screen capturing refactoring and slight performance improvements
  • More state on the remote control page has been added to singleton state store, allowing state to persist between page navigations
brave_sJ6G7S1gmp.mp4

Commits:

  • ce3604c Merged PR 30: Refactor metrics.
  • 7b27c05 Merged PR 29: Add remote control for X11 on Ubuntu.
  • dea93f5 Merged PR 28: Refactor screen capturing APIs.
  • 9747ecb Cleanup.
  • d030ada Add DesktopUiProcessId to ChatResponseHubDto and ChatResponseIpcDto; update related classes for process ID handling
  • 0902866 Refactor chat response handling to return success status and improve logging. Update FileSystem component css.

This list of changes was auto generated.

v0.14.3.0 Release

06 Sep 17:37

Choose a tag to compare

Installation

See the readme for instructions on running in Docker.

Fixes:

  • Fixed a bug with file system navigation file the data grid.

Changes:

  • 1bafdf4 Refactor directory navigation from data grid.

This list of changes was auto generated.

v0.14.2.0 Release

01 Sep 22:49

Choose a tag to compare

Installation

See the readme for instructions on running in Docker.

Fixes:

  • Fixed an issue where concurrent chat sessions were failing to open a new window on the desktop side.

Changes:

  • 1e56b29 Fix chat session ID population.

This list of changes was auto generated.