URL: /changelog

---
title: "Changelog"
description: "Product updates and release notes for Open Electricity"
icon: 'calendar'
---

Stay up to date with the latest features, improvements, and bug fixes in Open Electricity.

<Update label="v4.4.0" description="January 8, 2026" tags={["Platform", "Infrastructure", "API", "Data"]}>

## Major Features

- **Renewable Energy Proportion Tracking** - Real-time renewable energy percentage tracking across the network ([#423](https://github.com/opennem/opennem/issues/423))
  - New milestone type in RecordReactor for tracking [renewable proportion](https://github.com/opennem/opennem/issues/398)
  - 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](https://github.com/opennem/opennem/issues/461))
  - New `max_generation` and `max_generation_interval` fields on facility units
  - Available via Facilities API endpoints

## Infrastructure & Technology Upgrades

- **Python 3.14 Support** - Platform upgraded to Python 3.14 for improved performance and compatibility ([#468](https://github.com/opennem/opennem/issues/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](https://github.com/opennem/opennem/issues/466), [#467](https://github.com/opennem/opennem/issues/467), [#475](https://github.com/opennem/opennem/issues/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](https://github.com/opennem/opennem/issues/476))
  - Better resource utilization

## API Improvements

- **Facility API Enhancements** - Expanded facility endpoint capabilities ([#464](https://github.com/opennem/opennem/issues/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](https://github.com/opennem/opennem/issues/455))
- **Interval Limits** - Increased max interval days for better data coverage ([#454](https://github.com/opennem/opennem/issues/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

</Update>

<Update label="v4.3.0" description="September 8, 2025" tags={["API", "Features", "Data", "Pollution", "Battery"]}>

## Major Features

- **Pollution Data (NPI)** - Comprehensive pollution and emissions tracking from the National Pollutant Inventory now available across the platform ([#436](https://github.com/opennem/opennem/issues/436))
  - Track greenhouse gases, air pollutants, and heavy metals from power generation facilities
  - Details in documentation at the [Pollution Guide](https://docs.openelectricity.org.au/guides/pollution)
  - Access via API endpoints for programmatic integration
  - Example implementations:
    - [Python client example](https://github.com/opennem/openelectricity-python/blob/main/examples/pollution.py)
    - [TypeScript client example](https://github.com/opennem/openelectricity-typescript/blob/main/examples/pollution.ts)

- **Battery State of Charge** - Real-time battery storage level tracking showing current energy stored in battery facilities ([#434](https://github.com/opennem/opennem/issues/434))
  - Monitor state of charge (SoC) at unit, facility, region and network levels
  - View battery storage docs in the [Battery Storage Guide](https://docs.openelectricity.org.au/guides/battery-storage)
  - New API endpoints for battery-specific data
  - Example implementations:
    - [Python client example](https://github.com/opennem/openelectricity-python/blob/main/examples/battery_storage.py)
    - [TypeScript client example](https://github.com/opennem/openelectricity-typescript/blob/main/examples/battery-storage.ts)

- **Facility API Improvements** - Enhanced facility endpoint with additional fields ([#453](https://github.com/opennem/opennem/issues/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](https://github.com/opennem/opennem/issues/450))
- **Curtailment Tracking** - Renamed `curtailment_solar` to `curtailment_solar_utility` for clarity ([#433](https://github.com/opennem/opennem/issues/433))
- **Battery Management** - Improved battery unit handling and aggregation ([#434](https://github.com/opennem/opennem/issues/434))
- **Record Tracking** - Fixed duplicate records with identical rounded values ([#451](https://github.com/opennem/opennem/issues/451))
- **Demand Energy** - Demand energy now sourced from analytics table ([#390](https://github.com/opennem/opennem/issues/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

</Update>

<Update label="v4.2.0" description="August 27, 2025" tags={["API", "Features", "Data", "Curtailment"]}>

## Major Features

- **Curtailment Data** - Comprehensive curtailment tracking for renewable energy generation now available across the platform ([#433](https://github.com/opennem/opennem/issues/433))
  - View curtailment data on the [Open Electricity website](https://explore.openelectricity.org.au)
  - Access via API endpoints for programmatic integration
  - Full documentation available in the [Curtailment Guide](https://docs.openelectricity.org.au/guides/curtailment)
  - Example implementations:
    - [Python client example](https://github.com/opennem/openelectricity-python/tree/main/examples/curtailment)
    - [TypeScript client example](https://github.com/opennem/openelectricity-typescript/tree/main/examples/curtailment)

## Bug Fixes

- **Historic Price Data** - Fixed issues with historic price data retrieval and accuracy ([#309](https://github.com/opennem/opennem/issues/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

</Update>

<Update label="v4.1.0" description="August 15, 2025" tags={["API", "Features", "Data"]}>

## Major Features

- **Capacity History Tracking** - New comprehensive capacity history output that includes rooftop solar and applies unit history tracking ([#415](https://github.com/opennem/opennem/issues/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](https://github.com/opennem/opennem/issues/432))
- **Unit Histories** - Enhanced unit histories with time axes for fields ([#431](https://github.com/opennem/opennem/issues/431))

## Improvements

- Battery split static map improvements and bug fixes ([#420](https://github.com/opennem/opennem/issues/420))
- Rooftop capacity storage enhancements ([#430](https://github.com/opennem/opennem/issues/430))
- Decimal precision improvements in unit_history table ([#431](https://github.com/opennem/opennem/issues/431))
- Gap-fill improvements for rooftop capacity history ([#415](https://github.com/opennem/opennem/issues/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](https://github.com/opennem/opennem/issues/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](https://github.com/opennem/opennem/issues/415))

## Documentation

- Updated migration documentation for v4.1
- Enhanced API documentation

</Update>

<Update label="v4.0.0" description="April 24, 2025" tags={["Platform", "SDK", "API", "Major Release"]}>

## 🎉 Platform Beta Launch

We're excited to announce the beta launch of the **Open Electricity Platform**!

- Access at [platform.openelectricity.org.au](https://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 Open Electricity Python client library now available
- Install via pip: `pip install openelectricity`
- Full documentation and examples included

### TypeScript Client
- Official Open Electricity 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](https://github.com/opennem/opennem/issues/424))
- Sanity CMS syncing to database rewrite ([#422](https://github.com/opennem/opennem/issues/422))
- Enhanced facility and unit integrity monitoring ([#429](https://github.com/opennem/opennem/issues/429))

## Bug Fixes

- Fixed NEM interval check re-ordering and increased interval window
- Corrected battery charge/discharge significance scoring
- Resolved issues with regional demand calculations ([#412](https://github.com/opennem/opennem/issues/412))
- Fixed static historic records returning strings as data ([#403](https://github.com/opennem/opennem/issues/403))

</Update>
