Skip to content

Commit

Permalink
cedar-go: clarify current policy around backwards compatibility
Browse files Browse the repository at this point in the history
At present time, the maintainers are reserving the right to:
* Add variadics to existing functions/methods.
* Replace concrete types with interfaces in the parameters to functions/methods
  (as occurred in this patch set).

While strictly breaking changes, we are asserting that the benefits of being
able to make changes of these forms without a major revision outweigh the
unlikely possibility of breaking code written against cedar-go.

We may of course choose to revisit and revise these policies in the future,
especially as cedar-go gains wider usage.

Signed-off-by: Kevin Jamieson <[email protected]>
  • Loading branch information
kjamieson-sdm committed Dec 2, 2024
1 parent de89822 commit 316f277
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -137,8 +137,9 @@ Generated documentation for the latest version of the Go implementation can be a
If you're looking to integrate Cedar into a production system, please be sure the read the [security best practices](https://docs.cedarpolicy.com/other/security.html)

## Backward Compatibility Considerations

x/exp - code in this directory is not subject to the semantic version constraints of the rest of the module and breaking changes may be made at any time
- `x/exp` - code in this directory is not subject to the semantic versioning constraints of the rest of the module and breaking changes may be made at any time.
- Variadics may be added to functions that do not have them to expand the arguments of a function or method.
- Concrete types may be replaced with compatible interfaces to expand the variety of arguments a function or method can take.

## Change log

Expand Down

0 comments on commit 316f277

Please sign in to comment.