Releases: robgrame/ExtensionAttributes.Automation
Releases · robgrame/ExtensionAttributes.Automation
v2.0.0 — .NET 10 Upgrade & Security Hardening
🚀 What's New in v2.0.0
⬆️ .NET 10 LTS Upgrade
- Upgraded all projects from .NET 9 to .NET 10.0 (Long Term Support — November 2028)
- All NuGet packages aligned to .NET 10 versions
- Target framework set to
net10.0-windowsfor proper Windows platform support - Removed redundant packages (System.Text.Json, Microsoft.AspNetCore.SignalR 1.1.0)
🔒 Security Fixes
- Fixed JSON injection in
EntraADHelper.SetExtensionAttributeValue()— replaced unsafe string interpolation withJsonObject - Fixed index out of bounds — replaced hardcoded index[9] with validated whitelist of extension attribute names (1–15)
- Fixed OData filter injection in
IntuneHelper— addedEscapeODataFilterValue()for all 4 Graph API filter queries - Fixed URL parameter injection in
EntraADHelper— addedUri.EscapeDataString()for device name URL parameters - Fixed reflection safety — extension attribute names validated against whitelist before property access
- Fixed thread-unsafe token cache — added
SemaphoreSlimwith double-check locking pattern inAuthenticationHandler - Fixed resource disposal —
DirectoryEntryfrom search results now properly disposed withusing
🧹 Code Quality
- Replaced
Console.WriteLinewithILoggerin library code - Fixed deprecated
ConfigureHttpMessageHandlerBuilder→ConfigureAdditionalHttpMessageHandlers - Added
[SupportedOSPlatform("windows")]annotations (eliminates all CA1416 warnings)
🧪 Testing
- Added 28 unit tests covering: DN parsing, extension attribute validation, configuration defaults, notification settings
- New test project:
Nimbus.ExtensionAttributes.Testswith xUnit + Moq
📚 Documentation
- Moved documentation files to
docs/folder - Updated README with .NET 10 badges, correct build paths, and documentation links table
- Completed truncated configuration example in README
🧹 Cleanup
- Removed legacy empty folders (
AD.Helper/,EntraAD.Helper/,ExtensionAttributes.Worker/,Intune.Helper/) - Added repository description and search topics for better discoverability
Extension Attributes Automation Worker | ver 1.1.19
📢 Extension Attributes Automation Worker 🚀 | ver 1.1.19
Release Notes
Refactor logging and return value handling
- Removed unnecessary logging and calls in
EntraADHelper.cs, directly returning the extension attribute value. - Updated logging levels from
LogDebugtoLogTraceinComputerExtensionAttributeHelper.csfor more granular traceability without cluttering debug logs.
Refactor logger type in ADHelper class
- Updated logger from
ILogger<ADHelper>toILogger<IADHelper>to enhance abstraction and flexibility in logging. - Constructor parameter adjusted to reflect this change.
Fix casing issues and improve logging in automation jobs
- Updated
GetExtensionAttributeandSetExtensionAttributeValuemethods inEntraADHelper.csto ensure correct casing for extension attributes. - Enhanced logging clarity in
ComputerExtensionAttributeHelper.csand removed unnecessary logs fromSetComputerExtensionAttributeJob. - Improved startup console output in
Program.cs. - Adjusted logging levels in
logging.jsonfor more detailed output. - Modified job scheduling in
schedule.jsonto refine execution frequency.
Enforce mandatory config files and update install path
- Updated
Program.csto requireappsettings.json,schedule.json, andlogging.jsonfor application startup, enhancing configuration reliability. - Modified
Install.cmdto use the%PROGRAMFILES%environment variable for the installation destination, improving flexibility across different systems. - Removed the
-soption from the installation command.
Update service configuration and installation paths
- Changed
DebugTypeto 'full' in project file for better debugging. - Updated console output in
Program.cswith new service name and color. - Modified
Install.cmdto reflect new installation path. - Removed
DomainFQDNfromappsettings.json, indicating a config change.
Fix formatting in Readme.md for better readability
- Added spaces before bullet points for "Entra AD App Registration" and "Download the Binary Files" to ensure consistent spacing and improve the overall readability of the list.
Update contact email and improve support section
- Changed the contact email from
roberto.gramellini@microsoft.comtoroberto@gramellini.netfor better accessibility. - Converted the plain email address in the support section to a clickable
mailtolink for easier user interaction.
Update changelog for version 1.1.7
- Added version 1.1.7 to the changelog, addressing Entra AD token expiration issues and improving error handling.
- Removed version 1.2.0 as it duplicated fixes from 1.1.7.
- Retained previous version details for context, including 1.1.0's enhancements for Windows service support and logging.
- Known issues section remains unchanged.
Update changelog for versions 1.1.0 and 1.2.0
- Added support for running as a Windows service and improved logging capabilities in version 1.1.0.
- Fixed issues with Entra AD token expiration and enhanced error handling in version 1.2.0.
- Removed previous versions 1.0.0 and 1.0.1 from the changelog.
Update license to GPL 3.0
- Clarified the project license by specifying it as GPL 3.0 instead of just GPL.
Full Changelog: 1.0.2...1.1.19
v1.0.2
Extension Attributes Automation Worker 🚀
Have you ever needed to automate the management of computer extension attributes in Entra AD? Look no further! The Extension Attributes Automation Worker Service is here to help you streamline this process.
This service is designed to automate the management of extension attributes in Entra AD, reducing manual effort and potential errors. It leverages the power of .NET Core and widely adopted NuGet packages to provide a robust solution for your automation needs.
This project is part of a larger automation framework that aims to simplify data processing tasks, making it easier for you to manage your Entra AD environment.