Breaking Changes:
This update is required and can't be skipped! Please read carefully.
This update has temporary agent migration flows that can't be skipped. If this version is skipped (after another is released), agents will not be able to auto-update. I've tried to make the migration seamless, but a reboot or agent reinstall might be required in some cases.
I'm hoping there won't be many more disruptive changes between now and v1.0. However, making these changes now ensures more stability at v1.0 and beyond.
Two major things changed:
- A separate installer executable now handles installing both the agent and the desktop client.
- Previously, the agent itself handled the installation. The desktop client was embedded in the agent and was extracted at runtime.
- This structure allows for proper notarization on Mac and reduces the agent binary size.
- The "instance ID" is now configurable and defaults to being excluded.
- An instance id is used on the remote device to differentiate agent installations.
- It's used in the installation path, logs path, service name, etc.
- Previously, it defaulted to the agent's hostname (e.g. demo.controlr.app).
- This is an advanced use case that most people will never need, so this should have never been the default.
- Now it defaults to being completed omitted and is configurable in Tenant Settings.
What you need to do.
- After updating, if you want to continue using the same instance ID, go into Tenant Settings and adjust the settings.
- If you want to use the new defaults and not have an instance ID appended to service names and such, you will need to uninstall existing agents, then do a fresh new install.
Again, I apologize for the inconvenience and will try to keep them to a minimum.
Changes:
- MacOS desktop app is now properly notarized.
- Organized and published NuGet packages for all the projects referenced internally by the Avalonia Viewer.
- Refactored display management to make physical/logical coordinates clearer.
- Reworked the diffing and encoding, so the changes between frames are broken up into smaller regions, sent through a multi-threaded encoding pipeline, then sent in a batch to the viewer.
- Resulted in higher FPS and lower bytes-per-frame when there are multiple dirty regions across the screen.
- Added multi-targeting to DesktopClient, allowing access to MacOS APIs via net10.0-macos target, instead of using hard-coded p/invokes.
- This will make the transition from CoreGraphics to ScreenCaptureKit a lot easier and less brittle.
- Created a separate installer and reworked the installation and auto-update flows.
- Reworked MacOS publishing using the new macos tooling, which produces a .app bundle.
- Added support for Docker Secrets.
- Added option for whether to use "instance id" for agent installations and ability to customize it per tenant.
- Instance ID is used to distinguish agent installations and allows for multiple agents from different servers to be installed on the same endpoint machine.
- Added memory-backed FakeFileSystem implementation of IFileSystem for improved test scenarios.
- Added alphabetical tag sorting and ability to view only untagged devices.
- Added autoscroll function to
CodeViewBlazor component.
Full Changelog: v0.20.88.0...v0.21.59.0