Releases: TetronIO/MIMSyncScheduler
v2.0.0
🎉 v2.0.0 - Major Modernization Release
A complete architectural modernization of the battle-tested MIMSyncScheduler while maintaining full backwards compatibility. This release brings modern development practices, comprehensive testing, and extensive documentation to the proven MIM synchronization scheduler.
🌟 Highlights
- ✅ 37 comprehensive tests with 100% pass rate
- ✅ A+ code quality grade with all review issues resolved
- ✅ Dependency injection architecture for better testability
- ✅ GitHub Actions CI/CD with automated testing
- ✅ Comprehensive documentation with examples and troubleshooting
- ✅ Configurable log file modes (Daily or PerExecution)
- ✅ 100% backwards compatible with existing schedules
✨ What's New
Configurable Log File Mode
New LogFileMode configuration option with two modes:
- Daily (default) - One log file per day:
YYYYMMDD-scheduler.log - PerExecution - One log file per execution:
YYYYMMDDHHmmss-scheduler.log
Add to your App.config:
<add key="LogFileMode" value="Daily" />
Modern Architecture
- Complete refactoring to dependency injection pattern
- Five service interfaces for clean separation of concerns
- All external dependencies abstracted and mockable
- Test coverage across ProcessExecutor, TaskExecutor, ScheduleExecutor, and Models
Comprehensive Documentation
- 📚 Extensively rewritten README.md with modern standards
- 📖 Development guide with Architecture Decision Records (ADRs)
- 🧪 Test strategy documentation with coverage details
- 🔍 Code review findings and resolutions
- 📝 AI session logs for transparency
Quality Improvements
- GitHub Actions CI/CD with automated build and test
- Modern SDK-style project format
- Proper src/tests directory structure
- All linting warnings resolved
📦 What's Included
All battle-tested features from the original 2013 implementation:
Task Types:
- ManagementAgent (MIM run profiles)
- PowerShell scripts
- VBScripts
- Executables
- SQL Server commands
- Block (parallel execution)
- ContinuationCondition (conditional execution)
Execution Features:
- Parallel execution for optimal performance
- Conditional execution based on detected changes
- Smart export triggering
- Automatic retry on SQL deadlocks
- What-If mode for safe testing
- Configurable logging with Serilog
🔄 Migration Notes
Upgrading from v1.0.x is seamless:
- ✅ Schedule files - No changes required (fully backwards compatible)
- ✅ App.config - Add optional
LogFileModesetting (defaults to Daily) - ℹ️ Log file naming - Daily mode now uses date-first format (
YYYYMMDD-scheduler.log) - ✅ No breaking changes to functionality or API
📊 Technical Details
- Test Coverage: 45 tests (37 original + 8 new logging tests)
- Code Quality: A+ grade
- Architecture: Service-oriented with dependency injection
- .NET Framework: 4.8.1
- Platform: Windows Server 2016+
- MIM Compatibility: MIM 2016 / MIM 2019
⚠️ Known Limitations
- Requires local administrator privileges for WMI access to MIM
- Parallel execution should not be used for synchronisation run profiles (FS/DS)
- PowerShell scripts must use
Write-Outputinstead ofWrite-Host
📝 Full Changelog
See CHANGELOG.md for complete details.
🙏 Acknowledgments
Originally developed in 2013 and battle-tested across multiple large-scale MIM deployments. This modernization brings the codebase up to current standards while preserving all the reliability and functionality that users depend on.
Full Changelog: v1.0.9104.28823...v2.0.0
v1.0.9104.28823
Full Changelog: v1.0.9097.36898...v1.0.9104.28823
Main change: Built for x64 platforms to enable PowerShell modules to be imported in scripts.
Note: PowerShell scripts needing to import third-party modules must use the following approach:
Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force
Install-Module -Name $module_name -AllowClobber -Scope CurrentUser -Force
Import-Module $module_name
v1.0.9091.28389
Full Changelog: v1.0.7761.19659...v1.0.9091.28389
MIMSyncScheduler v1.0.7761.19659
Spaces in VBS task paths are now supported.
Default logging level set to Debug.
MIMSyncScheduler v1.0.7759.21022
Executable tasks now log executable output at Debug and Error levels. Also removed executable timeout functionality as this was problematic.
MIMSyncScheduler v1.0.7755.30985
Adding support for scheduling .vbs scripts.
Fixed a PowerShell script run issue.
MIMSyncScheduler v1.0.7720.19396
Minor updates, main reason for release is to zip up the files to make it easy to download :)
MIMSyncScheduler v1.0.7717.19958
Initial GitHub release.
Building on eight years of proven production use against some of the largest MIM Sync solutions.