Major Features
-
Renewable Energy Proportion Tracking - Real-time renewable energy percentage tracking across the network (#423)
- New milestone type in RecordReactor for tracking renewable proportion
- Significance scoring for renewable energy records
- Exposed via API endpoints for programmatic access
-
Max Generation Tracking - Historical peak generation capacity tracking per facility unit (#461)
- New
max_generationandmax_generation_intervalfields on facility units - Available via Facilities API endpoints
- New
Infrastructure & Technology Upgrades
-
Python 3.14 Support - Platform upgraded to Python 3.14 for improved performance and compatibility (#468)
- Updated python-sanity dependency with async client and HTTP/2 support
- Migrated from clickhouse-connect to clickhouse-http driver
- Enhanced async patterns and event loop handling
-
Unified HTTP Client - New rnet-based HTTP client replacing legacy libraries (#466, #467, #475)
- Resolve crawl request errors with new rust-based HTTP client for all requests
-
Granian ASGI Server - Application server upgraded from Hypercorn to Granian (#476)
- Better resource utilization
API Improvements
- Facility API Enhancements - Expanded facility endpoint capabilities (#464)
- Filter facilities by fueltech group
- Unit datetime metadata fields synchronized from CMS
- Timezone-aware datetime handling per network
- Improved serialization excluding None values
Bug Fixes
- Curtailment Data Alignment - Fixed AEMO timestamp handling for curtailment data (#455)
- Interval Limits - Increased max interval days for better data coverage (#454)
- Data Storage - Fixed empty price data storage to prevent null records
- Market Summary - Fixed market summary refresh and column alignment
- Worker Stability - Catchup worker now runs all aggregates correctly
- Battery Mapping - Fixed battery unit mapping schema parsing issues
- Export Controller - Resolved ClickHouse query iteration and record processing
- API Responses - Fixed unset field handling by setting response_model_exclude_unset to false
- Logging - Reduced debug noise from httpcore and hpack, improved Logfire integration
Documentation
- Enhanced documentation for AEMO timestamp handling in curtailment data
- Updated API documentation with new endpoints and fields
- Infrastructure upgrade documentation and migration guides
Major Features
-
Pollution Data (NPI) - Comprehensive pollution and emissions tracking from the National Pollutant Inventory now available across the platform (#436)
- Track greenhouse gases, air pollutants, and heavy metals from power generation facilities
- Details in documentation at the Pollution Guide
- Access via API endpoints for programmatic integration
- Example implementations:
-
Battery State of Charge - Real-time battery storage level tracking showing current energy stored in battery facilities (#434)
- Monitor state of charge (SoC) at unit, facility, region and network levels
- View battery storage docs in the Battery Storage Guide
- New API endpoints for battery-specific data
- Example implementations:
-
Facility API Improvements - Enhanced facility endpoint with additional fields (#453)
- Added NPI ID field for pollution data mapping
- Added location data for facilities
Improvements and Bug Fixes
- CPI Data Update - Consumer Price Index data import and tracking (#450)
- Curtailment Tracking - Renamed
curtailment_solartocurtailment_solar_utilityfor clarity (#433) - Battery Management - Improved battery unit handling and aggregation (#434)
- Record Tracking - Fixed duplicate records with identical rounded values (#451)
- Demand Energy - Demand energy now sourced from analytics table (#390)
- Unit Metadata - Cleaned out obsolete unit metadata for better data integrity
Documentation
- New comprehensive guides for pollution data and battery storage
- Updated API documentation with new endpoints
- Added code examples for accessing new features in Python and TypeScript clients
Major Features
- Curtailment Data - Comprehensive curtailment tracking for renewable energy generation now available across the platform (#433)
- View curtailment data on the OpenElectricity website
- Access via API endpoints for programmatic integration
- Full documentation available in the Curtailment Guide
- Example implementations:
Bug Fixes
- Historic Price Data - Fixed issues with historic price data retrieval and accuracy (#309)
Documentation
- New comprehensive guide on understanding curtailment data
- Updated API documentation with curtailment endpoints
- Added code examples for accessing curtailment data in Python and TypeScript clients
Major Features
- Capacity History Tracking - New comprehensive capacity history output that includes rooftop solar and applies unit history tracking (#415)
- CMS Integration - Import CMS IDs to database for facilities and units for better tracking
- APVI Capacity History - Controller to import APVI capacity history as unit histories (#432)
- Unit Histories - Enhanced unit histories with time axes for fields (#431)
Improvements
- Battery split static map improvements and bug fixes (#420)
- Rooftop capacity storage enhancements (#430)
- Decimal precision improvements in unit_history table (#431)
- Gap-fill improvements for rooftop capacity history (#415)
Bug Fixes
- Fixed WEM crawlers to include APVI month by default
- Resolved postcode prefix mapping (1 is NSW in APVI client)
- Fixed capacity chart task imports (#415)
- Corrected WEMDE trading price crawler length sanity checks
- Resolved issues with DRX facilities in first seen checks
- Fixed padding in query for rooftop capacities in capacity chart (#415)
Documentation
- Updated migration documentation for v4.1
- Enhanced API documentation
🎉 Platform Beta Launch
We’re excited to announce the beta launch of the OpenElectricity Platform!- Access at platform.openelectricity.org.au
- Sign up for early access and explore enhanced data analytics capabilities
- Advanced visualizations and custom data exports
SDK Releases
Python Client
- Official OpenElectricity Python client library now available
- Install via pip:
pip install openelectricity - Full documentation and examples included
TypeScript Client
- Official OpenElectricity TypeScript/JavaScript client library released
- Install via npm:
npm install @opennem/client - Type-safe API access with comprehensive type definitions
API Enhancements
- Performance Improvements - ORjson serialization on data and market endpoints for improved performance
- Milestones API - New milestones endpoints with optimized caching
- Record Reactor - Enhanced record reactor with Slack and Twitter alerts for significant events
- Solar Gap Filling - Improved solar 5-minute gap fill handling for APVI interval sizes
Social Integration
- Bluesky Client - Added Bluesky social media integration
- Twitter Client - Enhanced Twitter client for automated updates
- Record Alerts - Automatic social media alerts for significant generation records
Infrastructure
- API v3 deprecation notice (#424)
- Sanity CMS syncing to database rewrite (#422)
- Enhanced facility and unit integrity monitoring (#429)

