Skip to content

Commit

Permalink
Update RELEASE_NOTES and README (#46)
Browse files Browse the repository at this point in the history
  • Loading branch information
tiyash-basu-frequenz authored May 3, 2023
2 parents 1a685f5 + 337778e commit 89888c9
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 28 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@ Contributing

If you want to know how to build this project and contribute to it, please
check out the [Contributing
Guide](https://github.com/frequenz-floss/frequenz-api-microgrid/CONTRIBUTING.md).
Guide](https://github.com/frequenz-floss/frequenz-api-microgrid/blob/v0.x.x/CONTRIBUTING.md).
62 changes: 35 additions & 27 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,41 +2,65 @@

## Summary

<!-- Here goes a general summary of what this release is about -->
This release introduces a few breaking changes to the API. The changes consist
of renaming RPCs, removing deprecated code, and introducing new features.
Please refer to the following sections for details.

## Upgrading

<!-- Here goes notes on how to upgrade from previous versions, including if there are any deprecations and what they should be replaced with -->
* [Renamed RPCs](https://github.com/frequenz-floss/frequenz-api-microgrid/pull/43)

The following RPC has been renamed to make their objectives clearer:
* `GetMetadata` -> `GetMicrogridMetadata`
* `GetComponentData` -> `StreamComponentData`

* [Removed deprecated code](https://github.com/frequenz-floss/frequenz-api-microgrid/pull/44)

The following deprecated code has been removed:
* The `COMPONENT_CATEGORY_LOAD` variant from the `ComponentCategory` enum.
* The `COMPONENT_CATEGORY_JUNCTION` variant from the `ComponentCategory` enum.
* The RPCs `Charge` and `Discharge`, in favour of RPC `SetPowerActive`.
* The RPC `SetBounds`, in favour of RPCs `AddExclusiveBounds` and
`AddInclusiveBounds`.

This removal also includes code that has been deprecated after the last major
release. The reason to remove these deprecations now is to have a leaner API
earlier, since we are already on the way for a major release now.

## New Features

* [Added new RPC to return the microgrid metadata](https://github.com/frequenz-floss/frequenz-api-microgrid/pull/30).
* [Added new RPC to return the microgrid metadata](https://github.com/frequenz-floss/frequenz-api-microgrid/pull/30)

The microgrid metadata consists of information about the overall microgrid,
as opposed to its components, e.g., the microgrid ID, location, etc.
This change adds a new RPC `GetMicrogridMetadata()` that allows users to fetch
microgrid metadata. The returned value is an instance of the message
`MicrogridMetadata`.

Further changes were introduced to this addition in [this PR](https://github.com/frequenz-floss/frequenz-api-microgrid/pull/43).
Further changes were introduced to this addition in PR [#43](https://github.com/frequenz-floss/frequenz-api-microgrid/pull/43).

* [Added enum variants for setting bounds on currents](https://github.com/frequenz-floss/frequenz-api-microgrid/pull/33)

* [Added enum variants for setting bounds on currents](https://github.com/frequenz-floss/frequenz-api-microgrid/pull/33).
This will allow clients to set bounds on a components
1. DC electrical current,
2. total AC electrical current,
3. per-phase AC electrical currents.

* [Add RPC to set active power using a signed integer](https://github.com/frequenz-floss/frequenz-api-microgrid/pull/35).
* [Add RPC to set active power using a signed integer](https://github.com/frequenz-floss/frequenz-api-microgrid/pull/35)

While reading power values, the passive sign convention is followed
(-ve for production, and +ve for consumption). This new method allows setting
active power values in the same convention, making the API more consistent.

* [Introduced component category-specific metadata](https://github.com/frequenz-floss/frequenz-api-microgrid/pull/36).
* [Introduced component category-specific metadata](https://github.com/frequenz-floss/frequenz-api-microgrid/pull/36)

This metadata is returned in response to `ListComponents` calls,
in a new message variable `Component.metadata`.
This is a more general way of representing category-specific metadata,
like category-type, and removes `Component.type`.

* [Introduced grid max-current](https://github.com/frequenz-floss/frequenz-api-microgrid/pull/38).
* [Introduced grid max-current](https://github.com/frequenz-floss/frequenz-api-microgrid/pull/38)

This change introduces a `grid.Metadata` message, which contains the item
`rated_fuse_current`. This is the rating of the fuse at the grid connection
point.
Expand All @@ -45,7 +69,8 @@
The current _i_ A at the grid connection point must comply with the
following constraint: : `-rated_fuse_current <= i <= rated_fuse_current`

* [Introduced exclusion bounds](https://github.com/frequenz-floss/frequenz-api-microgrid/pull/39).
* [Introduced exclusion bounds](https://github.com/frequenz-floss/frequenz-api-microgrid/pull/39)

In the messages `common.Metric` and `common.MetricAggregation`,
`system_bounds` has now been replaced by `system_exclusion_bounds` and
`system_inclusion_bounds`. A metric's `value` now has to comply with the
Expand Down Expand Up @@ -87,23 +112,6 @@

The RPC `SetBounds` has been deprecated.

* [Renamed RPCs](https://github.com/frequenz-floss/frequenz-api-microgrid/pull/43).
The following RPC has been renamed to make their objectives clearer:
* `GetMetadata` -> `GetMicrogridMetadata`
* `GetComponentData` -> `StreamComponentData`

* [Removed deprecated code](https://github.com/frequenz-floss/frequenz-api-microgrid/pull/44)
The following deprecated code has been removed:
* The `COMPONENT_CATEGORY_LOAD` variant from the `ComponentCategory` enum.
* The `COMPONENT_CATEGORY_JUNCTION` variant from the `ComponentCategory` enum.
* The RPCs `Charge` and `Discharge`, in favour of RPC `SetPowerActive`.
* The RPC `SetBounds`, in favour of RPCs `AddExclusiveBounds` and
`AddInclusiveBounds`.

This removal also includes code that has been deprecated after the last major
release. The reason to remove these deprecations now is to have a leaner API
earlier, since we are already on the way for a major release now.

## Bug Fixes

<!-- Here goes notable bug fixes that are worth a special mention or explanation -->
None

0 comments on commit 89888c9

Please sign in to comment.