Skip to content

Releases: Green-Software-Foundation/carbon-aware-sdk

v1.5.0 Release

23 Jul 07:29
46f66d8
Compare
Choose a tag to compare

[1.5.0] - 2024-05

This is the WattTime v3 update. Most notable changes that may require action are for deployment configuration, and these are minor.

Added

WattTime v3 API support. This is an inplace upgrade for v2.

  • [PR #532] Watt Time v3 Support ](#532)
  • [PR #340] Add example for 'podman play kube' ](#340)
  • [PR #536] Updated azure-regions.json with new regions ](#536)
  • [#519] Remove hackathon sentence from our website banner ](#519)
  • [#510] Gap Analysis for WattTime v3 ](#510)
  • [#262] [Feature Contribution]: Publish the docker file in a docker registry ](#262)

Removed

WattTime v2 API support due to v3 in place replacement.

Fixed

  • [PR #522] Remove Hack mention from the Docs's banner ](#522)
  • [#535] [Bug]: Configuration for locations loads twice ](#535)
  • [PR #516] Update published documentation to .NET 8 ](#516)
  • [PR #515] overview.md: Fixed three broken links Signed-off-by: joecus1 <joecusa… ](#515)
  • [#506] Check our published documentation to identify any references to .NET7 ](#506)
  • [#512] [Bug]: Broken links in overview.md file ](#512)

Changed

Updates for WattTime v3 API endpoint from v2, details in the ADR for WattTime v3 changes.

API

No changes

API Deployment

Due to the change for WattTime v3, there is change to the configuration for WattTime users.

With some of the changes to the code, some of the configuration will also needs to change.

Config (v2) Config (v3) Description
BalancingAuthorityCacheTTL RegionCacheTTL This is the cache for regions data in seconds, and has a default value of 1 day. This only needs updating if you set it
n/a AuthenticationBaseUrl NEW This is the base URL for the WattTime Authentication API and defaults to https://api.watttime.org/ if not set.

Example below if set (note they do not have to be set)

"wattTime_no-proxy": {
  "Type": "WattTime",
  "Username": "the_username",
  "Password": "super_secret_secret",
  "BaseURL": "https://api.watttime.org/v3/",
  "AutenticationBaseURL": "https://api.watttime.org", // This is new but not mandatory in config
  "RegionCacheTTL": 86400, // This is changed but not mandatory in config
  "Proxy": {
    "UseProxy": false
  }

SDK

No changes

Other

No changes

For more details, checkout #503

v1.4.0 Release

15 May 00:03
90a4ea6
Compare
Choose a tag to compare

.NET 8 upgrade release of the Carbon Aware SDK. A big thank you for all of those who contributed.

Release notes for 1.4.0 below and in the repo!

Summary

This the .net 8 upgrade release for the Carbon Aware SDK with fixes, quality of life changes, and updated documentation.

Changes

Added

-[#401] [Feature Contribution]: Upgrade .NET version to .NET 8 ](#401)
-[#419] [Feature Contribution]: Migrate sample implementation of Azure Function to isolated worker model ](#419)
-[PR #500] Up Helm chart version to 1.2.0 ](#500)

-[#397] [Feature Contribution]: Data caching in the SDK ](#397)

Fixed

-[#505] [Bug]: Project Page wiki from GSF website still says it's in incubation ](#505)
-[#496] [URGENT] WebAPI container has not built due to segmentation fault ](#496)
-[#487] [Bug]: Getting started guide is lost ](#487)

Changed

-[#477] [Bug]: Ensure the readme file shows as the project overview content on the documentation site ](#477)
-[PR #485] Docs overview, disclaimer & pipeline updates for graduation ](#485)

For more details, checkout #503

v1.3.0 Release

06 Mar 09:21
734605d
Compare
Choose a tag to compare

v1.2.0 Release

17 Jan 09:57
f8c2b96
Compare
Choose a tag to compare

v1.1.0 Release

25 Jul 07:37
30be7e1
Compare
Choose a tag to compare

[1.1.0] - 2023-18-07

Added

  • Added Electricity Maps (paid api) support for forecasting and historical data.
  • Added ElectricityMaps (free api) support for historical data. Note that this API does not support forecast capabilities.

Fixed

  • Fixed generated test data that had time bomb bug that was in test data, which caused integration tests to fail. This is now automatically generated each time.
  • Fixed some bugs that related to underlying data source errors surfacing as HTTP 500 errors from the API. These should now be more consistent.
  • Fixed an issue where UTF-8 passwords were encoded as ASCII for WattTime API, causing integration failure.
  • Fixes some bugs in unit tests with uncaught scenarios, or faulty tests.

Changed

  • No previous API's were changed.
  • Configuration has changed. Refer to upgrading from 1.0.0 to 1.1.0 below.
  • Time is now always in UTC. Previously the API may have returned local time depending on underlying API.

API

  • /locations - Show the list of configured named locations that can be used in the API.
  • /api/v1/swagger.yaml - Provides OpenAPI document now at public endpoint when deployed.

API Deployment

  • Configuration has changed. Refer to upgrading from 1.0.0 to 1.1.0 below.

SDK

  • SDK was abstracted to provide a library for DLL import usage, which now allows users to use the SDK in their projects directly without the need to deploy an API. This is useful in scenarios where the API can not be centralised. Note - we still highly recommend centralising for management of the API and audit capabilities with observability.
  • Functionality for forecast and historical data have been seperated into seperate interfaces. This impacts configuration, see upgrading from 1.0.0 to 1.1.0 for more information.
  • Additional tests across the SDK have been added.
  • Aggregation tier in the SDK was removed, this should not impact users of the SDK, but may impact maintainers who were actively contributing.

Other

  • All contributors need to signoff commits for contribution using git commit -s.
  • Added PR release workflow improvements for the project management of the CA SDK project team.
  • Updated the project to prune stale PR's and issues to help with the management of the CA SDK project.

Upgrading from 1.0.0 to 1.1.0

  • Configuration changes are required due to historical and forecast configuration now being decoupled. Refer to - Configuration for a guide. The following is provided as an example of the new data source configuration format.
{
  "DataSources": {
    "EmissionsDataSource": "Json",
    "ForecastDataSource": "WattTime",
    "Configurations": {
      "WattTime": {
        "Type": "WattTime",
        "Username": "username",
        "Password": "password",
        "BaseURL": "https://api2.watttime.org/v2/",
        "Proxy": {
          "useProxy": true,
          "url": "http://10.10.10.1",
          "username": "proxyUsername",
          "password": "proxyPassword"
        }
      },
      "ElectricityMaps": {
        "Type": "ElectricityMaps",
        "APITokenHeader": "auth-token",
        "APIToken": "myAwesomeToken",
        "BaseURL": "https://api.electricitymap.org/v3/"
      },
      "Json": {
        "Type": "Json",
        "DataFileLocation": "test-data-azure-emissions.json"
      }
    }
  }
}

v1.0.0 First Release

17 Oct 02:40
3310d86
Compare
Choose a tag to compare

Release 1.0!

Contains CLI and WebApi support for:

  • Emissions by location and time
  • Emissions by locations and time
  • Best emissions by locations and time
  • Forecast data by location and time
  • Historical forecast data by location and time
  • Average carbon intensity by location and time

Data source support includes:

  • WattTime API
  • Static JSON support

Also contains client generation support for an extensive array of languages from the Open AI / Swagger specification.

Thank you for all who contributed, from code, discussions and ideas, bug fixes, sharing, and management support.