Introduction
Introduction to MIP SDK 2022 R1
MIPSDK General
As previously announced, this is the last release of the MIP SDK Installers, and going forward new versions of the various components of the MIP SDK will only be made available at developer.milestonesys.com, NuGet.org, GitHub and download.milestonesys.com. The 2022 R1 installers will, however, remain available on our website and remain supported throughout the usual 3-year lifetime.- Potentially breaking change: With the 2022 R1 release the ReadHardwarePassword method will now require View Hardware Password permission instead of Edit permission in Hardware security group.
Event Server
Potentially breaking change: With the 2022 R1 release TSL encryption is introduced for the Event Server communication, similarly to what has previously been introduced for the other services. On systems being upgraded the default will still be that encryption is disabled, but for new installations it will be enabled by default. Also the customer can enable it for upgraded systems, either during installation or using the Server Configurator.Whether encryption is enabled for Event Server can be seen from a lookup in Registered services.
If encryption is disabled existing integrations will work as usual, but if it is enabled it will require the following actions from integration vendors having integrations that interact with Event Server:
- Plug-in integrations: No action needed.
- Component integrations: Needs to be rebuilt with MIP SDK 2022 R1.
- Protocol integrations: Needs to be updated to support TSL. See
Alarm List
sample for inspiration.
MessageCommunicationManager
.
MIP VMS API
- With the 2022 R1 release, the XProtect API Gateway is an integrated part of the VMS. This first version includes a REST API for accessing and modifying the configuration of the VMS (similar to what is known from the Configuration API).
NuGet
- A new NuGet package,
MilestoneSystems.VideoOS.Platform.SDK-CPP.Debug
, has been made available on https://www.nuget.org/ for debugging C++ applications.
Standalone MIP SDK
- As part of the previously announced discontinuation of e-code support, the methods
ImageViewerControl.SetCameraXml
andAudioPlayerControl.SetAudioXml
have been deprecated.
Visual Studio support
- Template support for Visual Studio 2022 have been added. Currently supported versions of Visual Studio are 2017, 2019, and 2022.
Samples
The following samples have been added:- Protocol sample named
RestfulCommunicationPython
, demonstrating how to log in to IDP server and communicate with the API Gateway using Python. - Component sample named
RestfulCommunication
, demonstrating how to communicate with the API Gateway from a component integration.
Alarm List
sample has been updated to support encrypted communication with Event Server.VideoPreview
sample has been changed to use Shape methods instead of the old overlay methods.- Several Smart Client samples have been rewritten to use WPF instead of WinForms as we recommend using WPF for both performance and rendering reasons. The remaining Smart Client samples will also be rewritten in the coming months.
- When user wants to add the second site on a 2021 R1 server,
Multi-Site Viewer
did not display the correct server name in Server textbox and disables the Add selected site button. - Support has been added to
ExportSample
for exporting metadata devices in database export.
- Component sample named
VideoViewerNoAdmin
has been removed as the demonstrated functionality has been deprecated.
Fixed issues
- If a ConfigurationItem does not have its Children populated and a method is called on it, it might result in a ArgumentMIPException.
- If logged on to remote server using HTTPS, RetrievalTaskManager will hang for a minute (or so) and then throw an exception.
- Digital zoom rectangle coordinates was in some cases reported incorrectly to Smart Client plugins by ImageViewerAddOn.
- Calling UserContext.SetPrivacyMaskLifted(true) before exporting does not affect DBExporter (liftable privacy mask is still in place).
- Indicating the initial state of an output from a MIP framework driver when a new hardware is added (or hardware/device enabled+disabled) did not work.
- QueryItems.Query() in Configuration API only allowed standard alpha-numeric characters plus a few others in the query string when querying for devices.
- PcmAudioSource.Init() returns 'Method not supported' MIPException when called from Smart Client plugin.