Releases: DynamicDevices/cga-coordinate-mapping
Releases · DynamicDevices/cga-coordinate-mapping
v1.4.0: Debug Logging Default & MQTT Improvements
v1.4.0 - Debug Logging Default & MQTT Improvements
New Features
- Default DEBUG Logging: Changed default LogLevel to Debug in appsettings.json for testing
- MQTT Client ID Uniqueness: Added process ID to MQTT client ID to prevent conflicts when multiple instances run on same hardware
- DEBUG JSON Payload Logging: Added DEBUG-level logging for full JSON payloads being published to MQTT
- DEBUG Node Data Logging: Added DEBUG-level logging for detailed node information (positionKnown, latLonAlt, edges) when receiving MQTT messages
- MQTT KeepAlive: Configured MQTT KeepAlive period (60s default) to prevent broker from disconnecting idle clients
- Health Check Integration: Integrated health check metrics (last process time, beacon count, nodes processed, MQTT connection status)
Bug Fixes
- Fixed average error calculation in UWB2GPSConverter (now calculates true mean linear error instead of mean squared error)
- Added detailed logging for worst edge errors to help debug discrepancies
Testing
This is a test release for debugging and monitoring improvements.
v1.3.0 - CI Fixed: Removed Directory.Build.props
Release v1.3.0 - CI Fixed
🎉 CRITICAL FIX: CI Now Stable
The CI has been completely fixed by removing which was causing shared obj directory conflicts.
Root Cause
Directory.Build.propsforced both projects to share the sameobjdirectory andproject.assets.jsonfile- When the main project restored, it overwrote the assets file and removed xunit dependencies
- This caused intermittent CI failures with "Xunit not found" errors
Solution
- Deleted
Directory.Build.props - Each project (src and tests) now has its own
objandbindirectories - No more shared assets file conflicts
- CI workflow simplified:
dotnet testhandles restore, build, and test atomically
Changes
- ✅ CI Fully Stable: All 92 tests passing consistently
- ✅ No More Conflicts: Separate build directories prevent xunit dependency issues
- ✅ Simplified Workflow: Clean, then run
dotnet test - ✅ Both Architectures Build: linux-arm64 and linux-x64 working
- ✅ Documentation Updated: Root cause analysis and solution documented
CI Workflow
- Test Job: Clean → Run
dotnet test(handles restore/build/test) - Build Jobs: Clean → Publish for each architecture in parallel
Downloads
Download the binaries from GitHub Actions artifacts:
- Linux ARM64:
InstDotNet-linux-arm64.tar.gz - Linux x64:
InstDotNet-linux-x64.tar.gz
Testing
All 92 unit tests pass:
- VectorExtensions: 11 tests
- Trilateration: 13 tests
- WGS84Converter: 6 tests
- UWB2GPSConverter: 8 tests
- HardwareId: 14 tests
- MQTTControl: 11 tests
- UWBManager: 10 tests
- AppConfig: 7 tests
- AppLogger: 7 tests
- VersionInfo: 6 tests
Important Notes
Directory.Build.props or any shared build configuration that forces projects to share obj directories. This will break the CI again.
v1.2.0 - Stable CI Configuration
Release v1.2.0
CI Workflow Improvements
- ✅ Simplified CI structure: Test job runs first, then parallel builds
- ✅ Stable CI configuration: All 92 tests pass consistently
- ✅ Both linux-arm64 and linux-x64 builds working reliably
⚠️ CRITICAL: CI configuration is now stable - DO NOT modify
Changes
- Restructured CI to separate test and build jobs
- Explicit restore step ensures xunit dependencies are available
- Clean separation prevents shared assets file conflicts
- Tested and verified working configuration
Downloads
- Linux ARM64: Download from GitHub Actions artifacts
- Linux x64: Download from GitHub Actions artifacts
⚠️ Important Note
The CI workflow has been broken multiple times by unnecessary changes. The current configuration is working correctly. Please do not modify .github/workflows/ci.yml unless there is a critical bug that cannot be fixed any other way.