Juniper Canopy: Hippopotamic Hyena #37
pcalnon
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Juniper Canopy v0.25.0-alpha Release Notes
Release Date: 2026-01-25
Version: 0.25.0-alpha
Codename: Pre-Deployment Release
Release Type: MINOR
Overview
This release consolidates all pre-deployment work following the Phase 0-3 refactoring completion (v0.24.0). It includes critical thread safety fixes, metrics normalization for Cascor-Canopy interoperability, comprehensive API compatibility testing, and extensive pre-deployment documentation. This release prepares Juniper Canopy for production deployment alongside Juniper Cascor.
Release Summary
Features Summary
Cumulative Phase Status:
What's New
Metrics Normalization (v0.24.5)
Bidirectional metrics format conversion between Cascor backend and Canopy frontend.
Backend:
normalize_metrics()method to convert Cascor → Canopy formatdenormalize_metrics()method to convert Canopy → Cascor formatvalue_loss↔val_loss,value_accuracy↔val_accuracyLocation:
src/backend/data_adapter.pyTests Added: 20 new unit tests in
tests/unit/backend/test_data_adapter_normalization.pyAPI Compatibility Testing (v0.24.5)
Comprehensive verification of Cascor-Canopy API contracts.
Tests Added: 21 new integration tests in
tests/integration/test_cascor_api_compatibility.pyVerification Areas:
Pre-Deployment Documentation (v0.24.7)
Comprehensive deployment preparation documentation.
New Files:
notes/PRE-DEPLOYMENT_ROADMAP.md- Consolidated deployment checklistUpdates:
notes/INTEGRATION_ROADMAP.mdv2.1.0 - Full integration statusnotes/VALIDATION_REPORT_2026-01-12.md- Post-refactor validationBug Fixes
Thread-Safe Metrics Extraction (v0.24.6)
Problem:
_monitoring_loop()readsnetwork.historywhile training mutates it, causing intermittent exceptions or inconsistent reads.Root Cause: Race condition between monitoring thread and training thread accessing shared network.history data.
Solution:
self.metrics_lock = threading.Lock()for thread-safe metrics extraction_extract_current_metrics()to use lock when accessing network.historyFiles:
src/backend/cascor_integration.py(lines 117-121, 765-789)asyncio.iscoroutinefunction Deprecation (v0.24.4)
Problem:
asyncio.iscoroutinefunctionis deprecated and slated for removal in Python 3.16.Solution: Replaced
asyncio.iscoroutinefunction()withinspect.iscoroutinefunction().Files:
src/tests/unit/test_main_coverage_extended.py(line 437)Missing pytest-mock Dependency (v0.24.2)
Problem: 32 tests failed with
fixture 'mocker' not founderror.Root Cause:
pytest-mockpackage missing from JuniperCanopy conda environment.Solution: Added
pytest-mock=3.15.1toconda_environment.yaml.Files:
conda_environment.yaml, affectstest_dashboard_manager.pyhandler testsBackend Path Configuration (v0.24.4)
Problem: Hardcoded backend path limited deployment flexibility.
Solution: Changed to environment variable with default fallback:
${CASCOR_BACKEND_PATH:../JuniperCascor/juniper_cascor}Files:
conf/app_config.yamlImprovements
Test Coverage (v0.24.0 → v0.25.0)
Significant test additions for integration verification:
Test Count Growth
Total new tests since v0.24.0: 75 tests
*Note: Minor test adjustment in 0.24.2 due to environment normalization
Documentation
API Changes
New Methods
normalize_metrics()denormalize_metrics()Metrics Key Mapping
value_lossval_lossvalue_accuracyval_accuracylosstrain_lossaccuracytrain_accuracyTest Results
Test Suite
Coverage Details
*main.py remaining uncovered lines require real CasCor backend or uvicorn runtime
Upgrade Notes
This is a backward-compatible release. No migration steps required. All changes are additive.
Environment Update
If recreating the conda environment:
New dependency:
pytest-mock=3.15.1Known Issues
constants.pymay shadow Cascor'sconstants/package. Workaround:CascorIntegrationhandles path ordering automatically.What's Next
Planned for v0.26.0
Coverage Goals
main.py: 84% → 95% (requires backend testing)Roadmap
See PRE-DEPLOYMENT_ROADMAP.md for:
Contributors
Version History
Links
This discussion was created from the release Juniper Canopy: Hippopotamic Hyena.
Beta Was this translation helpful? Give feedback.
All reactions