2022 Releases
This page lists Halo Connect's 2022 releases and the changes made in each release.
Version 22.1219
December 19, 2022
Includes:
- Halo API version 22.1219.217
- Halo Link version 22.1216.229
Features
Site observability
- Halo Connect now receives a regular heartbeat from Halo Link installed in clinics to indicate the availability of the site. This heartbeat is sent every 60 seconds.
- A new field called
availability
has been added to the/integrator/site
API response which is the availability of the site. This can be one of “online”, “offline”, or “unavailable”. - A new field called
HaloLinkVersion
has been added to the/integrator/site
API response which is the build of the Halo Link client. This is used to track deployments and auto-upgrades to the Client. - Two new fields called
ClientTimestampUTC
andHeartbeatTimestampUTC
have been added to theintegrator/site
API response.HeartbeatTimestampUTC
is the last time a Halo Link Client heartbeat contacted Halo Connect.ClientTimestampUTC
is the time set on the server hosting the Halo Link Client, this allows integrators to create time-based queries and identify any clock drift.
Bug fixes
Halo Link installer
- Fixed bug which prevented Halo Link from being installed silently on first install.
- Fixed bug with Halo Link not adjusting to changes to the Database Hostname.
Version 22.1207
December 7, 2022
Includes:
- Halo Link version 22.1207.209
Features
Added support for longer running async queries
- Halo Link now allows the Halo API to set the default SqlClient CommandTimeout for async queries via the Remote Config.
- This is a short term fix to allow for async queries that run longer than 30 seconds. In the future integrators will be able to control this timeout on a per query basis and the default will be reduced back to 30 seconds.
Improvements
CalVer versioning now consistent with Halo API
- Previous Halo Link versions would be in the form 1.YYMM.Build.
- The version format now matches the Halo API in the form YY.Mdd.Build.
Halo Link is now digitally signed by Halo Connect Pty Ltd
- Unknown Publisher warnings should no longer appear when installing.
Bug fixes
Cannot stop service
- Fixed bug where Halo Link Service could not be Stopped if there was a connectivity issue.
- Halo Link Service now always closes in a maximum of 5 seconds.
Installer fails with no internet connection
- Fixed bug where installer won't install because an internet connection is not detected.
- This could happen in error in some cases where there were multiple network cards and unnecessarily prevent practice IT from installing.
- The installer no longer requires an internet connection.
Version 22.1206
December 6, 2022
Includes:
- Halo API version 22.1206.207
Bug fixes
Cosmos DB Auth expiry hotfix
- This hotfix resolves an AAD Auth issue where the API would lose authentication to Cosmos DB after 24 hours resulting in a service disruption. This fix patches an issue on Dev and Stage only — the issue does not occur in the version of the API on Prod.
Async command timeout globally modifiable
- The SQL client command timeout is now modifiable for async queries. We can now increase this limit so async queries won't timeout if they execute for more than 30 seconds.
- For now, we have increased this limit to 60 seconds but can increase it further if required.
- In a future update, we will allow this limit to be configured on a per-query basis and at that time we may drop the global default back down to 30 seconds.
Version 22.1201
December 1, 2022
Includes:
- Halo API version 22.1201.201
Bug fixes
Halo Link hotfix
- Experimental patch to gather more information about AAD auth tokens for cached Cosmos DB objects expiring after 24 hours and not being renewed.
Version 22.1129
November 29, 2022
Includes:
- Halo Link version 1.2211.184
- Halo API version 22.1129.199
Changes
Halo API POST /sites/{siteId}/queries
parameters changed
- New
command
object has been added to the request body for POST /sites/{siteId}/queries. Integrators can use this to call both SQL queries and write operations. - The
command
object replaces thesqlQuery
property which has now been deprecated. Please usecommand.text
to send the text of your SQL query.
Features
Write support added
- Integrators can now use SQL write operations (insert, update and delete). These are created by setting the
executionMode
tononQuery
in the newcommand
object. Commands running innonQuery
executionMode
will return the number of rows affected by the command and will not return any rows of data.
Experimental stored procedures support
- Basic stored procedures support has been added, though it is currently considered experimental until further testing and development can be done. Integrators can attempt to use any stored procedures, however please be aware Halo Connect is currently only actively testing a few specific stored procedures.
- To call a stored procedure, set the
type
property of the newcommand
object tostoredProcedure
and set thetext
property to the name of the stored procedure. - If you wish to check which stored procedures are actively supported, or request support be added for specific stored procedures, please contact support@haloconnect.io.
Parameter support
- The new command object supports the use of SQL Parameters that can be used in text queries as well as stored procedures.
- See the parameters property of the command object in the Open API documentation for details.
Support added for clinics running multiple servers
- Halo Connect now has a concept of authoritative site servers. The authoritative server for a site is the live Bp server actively used by the clinic. Backups, testing and migration servers are treated as non-authorities by Halo Connect.
- Each site (as designated by a unique
practiceManagementSiteId
- BPID for Bp partners) should have exactly one authoritative server which integrators are able to contact. Non-authoritative servers can not currently be contacted by integrators. - For integrators:
- The
getSites
Halo API endpoint only returns the authoritative site for a givenpracticeManagementSiteId
. - If an integration attempts to contact a non-authoritative site the query will return a 403 Forbidden error.
- For integrators testing on staging with Bp Software, to setup multiple authoritative sites, either use a developer Bp license (with BPID 0) or contact Halo Connect.
- The
- For clinics:
- When installing Halo Link, the first server it is installed on for a given
practiceManagementSiteId
will automatically be set as the authoritative server. Subsequent installations on different servers using the samepracticeManagementSiteId
will be marked non-authoritative. - During installation, Halo Link will log whether the server has been marked authoritative or not.
- When installing Halo Link, the first server it is installed on for a given
ℹ️ To change your authoritative server, please contact support@haloconnect.io.
Improvements
Halo Link can now be installed on multiple servers using the same practiceManagementSiteId
- Previously, Halo Link would fail to bootstrap when installed on a new server that was using a
practiceManagementSiteId
that had been registered previously. This mitigated security and data safety concerns. However, it complicated server migrations and prevented Halo Link from being installed on backup servers. - Halo Link will now successfully install and bootstrap if installed on a new server using an already-registered
practiceManagementSiteId
. However, the new server will be marked non-authoritative.
Bug fixes
Fix for Microsoft Vulnerability CVE-2022-41064
- Microsoft suggested a fix for CVE-2022-41064, which involved upgrading System.Data.SQLClient 4.8.3 to 4.8.5.
- More information: .NET Information Disclosure Vulnerability · CVE-2022-41064 · GitHub Advisory Database.
Danger
Clinics must also install the November 2022 .NET security patch to be protected. For update instructions, see: .NET Framework November 2022 Security and Quality Rollup Updates.
Version 22.1110
November 11, 2022
Includes:
- Halo Link version 1.2211.167
Bug fixes
Halo Link CPU usage
- Fixed a bug with the task scheduler where it was possible for the Halo Link service to use 100% of a single CPU. The fix involved introducing a small delay while scheduling tasks.
Version 22.1109
November 9, 2022
Includes:
- Halo Link version 22.1108.188
- Halo API version 1.2211.165
Changes
Release versioning schema change
- Halo Connect is migrating from Semantic Versioning to Calendar Versioning. For example, for this release on Nov 4, 2022 the version number is 22.1109.0.
- Halo Connect releases will include Halo Link and/or Halo API releases with their own versions, which will be listed in these release notes.
New system requirement: October 2022 Bp Data Update
- Halo Link now requires the Best Practice Software October 5, 2022 Data Update or later.
Halo Link site registration changes
- Halo Link now automatically generates a site ID and subscription key when installed on a new machine. This simplifies the installation process, removes the need for site credentials to be passed around, and enables various security improvements.
- This allows integrators and IT providers to install Halo Link on new sites without needing Halo Connect to pre-register the site.
- As part of the this change, the new version of Halo Link will regenerate all Halo GUIDs to migrate all sites to the new system.
- This should not affect IT providers.
- Integrators have been emailed further information about this change.
Halo API GET /sites
parameters changed
- The query parameters for the Halo API GET /sites endpoint have been renamed:
externalSiteId
→practiceManagementSiteId
externalSiteIdProviderName
→practiceManagementName
- The response object parameters have been changed:
externalSiteId
→practiceManagementSiteId
externalSiteIdProviderName
→practiceManagementName
practiceManagementVersion
(new)status
(new)
name
no longer needs to be unique
Halo API POST /sites/{siteId}/queries
and GET /sites/{siteId}/queries/{queryId}
changed
- New parameter is added to the response
sqlQuerySize
"Subscription Key" removed from Halo Link installer
- Removed the "Subscription Key" input field from the installer, as this value is now automatically supplied.
Improvements
Query state improvements
- Queries that can’t be processed by the site in time because it is too busy or offline are now finalised as
expiredInQueue
when the site comes back online. - Orphaned async queries may occur due to unexpected shutdown or power outage. These are now finalised as
executionFailed
oruploadFailed
depending on where the query was at in its lifecycle.
Halo Link improvements
- Parameters for silent install are updated. Details can be found here.
- When Halo Link’s config is updated via the UI or silent mode, the service now restarts automatically. This removes the need to manually restart.
- Security improvements
Failed query clean-up
- Unprocessed orphaned and expired queries will now be processed by Halo Link and given an appropriate failure status.
- When the new version of Halo Link starts it will process any backlog of unprocessed orphaned or expired queries for the site before resuming normal operation.
Bug fixes
Halo Link installer
- Fixed a bug where Halo Link may take up to 2 days to auto-update after a release.
- Silent Mode Command Line arguments can now update registry values after the first install.
Halo Link queries
- Immediate queries can now interrupt long-running async chunk uploads. This prevents immediate queries timing out due to a large async query.
- Empty query result no longer returns a rangeStart of 1 when row count is 0.
Known issues
Halo Link installer
- When Halo Link is not installed on a system, running a silent install will currently fail. Running a silent install to upgrade an existing install should work.
- If Halo Link fails to install while updating an existing install, Halo Link will be removed from the system. If this happens you will need to re-install Halo Link. We recommend contacting us to get the latest installer.
Halo Link
-
After bootstrapping a new site, when Halo Link tries to start a session with the new site subscription key it may fail due to the new subscription not being ready for use yet. The failure will trigger the following error:
[ERR] Failed to initialise session. Failed to open session at [https://am-haloapi-stage-002.azure-api.net/site/sessions](https://am-haloapi-stage-002.azure-api.net/site/sessions). StatusCode: Unauthorized. Body: { "statusCode": 401, "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription." }.
Halo Link should retry in 30 seconds and succeed.
Version 1.0.2
September 30, 2022
Includes:
- Halo API version 1.0.2
Bug fixes
Compatibility hotfix
- The failed query clean-up introduced in Version 1.0.1 is now fully compatible with version 1.0.0 of the Halo Link Agent.
Version 1.0.1
September 28, 2022
Includes:
- Halo API version 1.0.1
Changes
Expired
property removed
Expired
property removed from query responses.
Improvements
New statuses for async queries
- Async queries now start with status
initialising
instead ofqueued
. If an async query fails to cache its query data it will be finalised and set to statusinitialisationFailed
. Integrators will likely never a query in either of these initialisation states as a query that is successfully created will be transitioned into statusqueued
immediately.
Bug fixes
Halo Integrator API
- Immediate queries can now save the row count and size to the database for billing and data analytic purposes.
- API WebSockets should no longer stop working after a day as the WebPubSub key no longer times out with unauthorised error.
Version 1.0.0
September 8, 2022
Includes:
- Halo Link version 1.0.0.0
- Halo API version 1.0.0
Changes
New system requirement: .NET 4.8
- Halo Link will be required to uninstall and reinstall due to the .NET Framework 4.8 upgrade. This also means that .NET Framework 4.8 runtime will need to be installed if it is not already available on site.
Features
Halo Link .NET Framework 4.8 Upgrade
- .NET Framework was upgraded from 4.6.2 to 4.8
- Adds support for TLS 1.3
Improvements
Halo API Azure logging
- Introduced Telemetry Traces to allow better observability of the Azure Functions App serving the APIs
Halo Link logging
- Logging during network disconnection has been reduced by introducing growing reattempt intervals
Version 0.6.0
September 2, 2022
Includes:
- Halo Link version 0.6.0.0
- Halo API version 0.6.0
Changes
Location
property removed from Query responses
Features
- Now has config dialogs, meaning there is no longer a need to edit config.xml
- EULA dialog added
- Added Modify, Repair, and Remove options to the application installer
Improvements
- WebSocket connection is re-established when there are any long disruptions (i.e. internet outage, network dropout, etc)
Bug Fixes
- Back and Next button navigation no longer causes dialog values to reset
- Silent Mode command line execution can now supply input parameters