Microsoft Information Protection SDK 1.5: Now Available
Published Mar 02 2020 02:57 PM 4,629 Views

We're pleased to announce that the Microsoft Information Protection SDK version 1.5 is now generally available via NuGet and Download Center.




  • TLS 1.2 is now mandatory. Clients that don't support TLS 1.2 will fail to connect to the service.
  • MIP SDK Java Wrapper for Windows is in private preview.
  • Data sent to AIP Analytics can be masked via mip::TelemetryConfiguration::maskedProperties
  • Improved exception details across all APIs.
  • Improved C API result and error details.
  • mip::FileHandler::IsLabledOrProtected()
  • Policy SDK supports dynamic content marking.
  • Label policy cache now expires after 30 days if it hasn't been refreshed.


Java Wrapper

We're sharing our Java Wrapper for Windows on a private preview basis. If you're interested in participating, please fill out the form at!


Once we're satisfied with the Windows release, we plan to expand support to other platforms.


Dynamic Content Marking

In AIP Classic, a feature existed that would allow admins to define variables in content marking. These variables would be populated with information about the lable, user, or event time. We've built this functionality in to MIP SDK so that our partners and customers can take advantage of the same dynamic content marking.


Dynamic content marking is supported for watermark, header, or footer actions. Supported variables are:


Variable Description
${Item.Label} The name of the label applied to the item.
${Item.Name} The name of the item.
${Item.Location} The path to the item.
${User.Name} The name of the user owner of the document.
${User.PrincipalName} The UPN of the owner of the document.
${Event.DateTime} The time that the label was written.


This content marking is configurable via mip::PolicyEngine::Settings::SetVirableTextMarkingType().


To set the friendly username, use mip::Identity and construct with the user-friendly name field.


Breaking Changes

  • C++ API:
    • mip::ProtectionEngine::GetTemplates() vector<shared_ptr> return value replaced with vector<shared_ptrmip::TemplateDescriptor>
    • mip::ProtectionEngine::Observer::OnGetTemplatesSuccess() callback shared_ptr<vector> parameter replaced with vector<shared_ptrmip::TemplateDescriptor>
  • C# API:
    • Updated PolicyEngine.Settings.LabelFilter from list of enums to nullable bitfield
    • IProtectionEngine.GetTemplates|Async() return value List replaced with List.
  • C API:
    • Updated most functions to include mip_cc_error* parameter, can be NULL
    • MIP_CC_ProtectionEngine_GetTemplates() mip_cc_guid* param replaced with mip_cc_template_descriptor*


Full Change Log

Review the version release history for a full list of changes to this release.


-Tom Moser and the MIP SDK Team

Version history
Last update:
‎May 11 2021 02:08 PM
Updated by: