Skip to content

Commit

Permalink
Merge pull request #161 from lsst-sqre/tickets/DM-38773
Browse files Browse the repository at this point in the history
DM-38773: Prepare 4.0.0 release
  • Loading branch information
jonathansick authored Apr 19, 2023
2 parents e6a360f + 3e10b76 commit ae1d0fc
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 6 deletions.
4 changes: 2 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Headline template:
X.Y.Z (YYYY-MM-DD)
-->

## 4.0.0 (unreleased)
## 4.0.0 (2023-04-19)

### Backwards-incompatible changes

Expand All @@ -23,7 +23,7 @@ X.Y.Z (YYYY-MM-DD)
- Add `safir.fastapi.ClientRequestError` base class for exceptions and the corresponding exception handler `safir.fastapi.client_request_error_handler`. These may be used together to raise structured exceptions and automatically transform them into structured HTTP errors with the correct HTTP status code and an error body compatible with `safir.models.ErrorModel` and FastAPI's own internally-generated errors.
- Add `safir.slack.webhook.SlackWebException`, which is a child class of `safir.slack.webhook.SlackException` that knows how to capture and report details from an underlying HTTPX exception.
- Add a `safir.testing.kubernetes.strip_none` helper function that makes it easier to compare Kubernetes objects against expected test data.
- Add a `get_namespace_objects_for_test` method to the Kubernetes mock to retreive all objects (of any kind) in a namespace.
- Add a `get_namespace_objects_for_test` method to the Kubernetes mock to retrieve all objects (of any kind) in a namespace.
- Add a mock for the `list_nodes` Kubernetes API, which returns data set by a call to the new `set_nodes_for_test` method.
- Add optional rudimentary namespace tracking to the Kubernetes mock. Namespaces can be created, deleted (which deletes all objects in the namespace), read, and listed. Explicit namespace creation remains optional; if an object is created in a namespace and that namespace does not exist, one will be implicitly created by the mock.
- Add support for namespaced events (the older core API, not the new events API) to the Kubernetes mock. Newly-created pods with the default initial status post an event by default; otherwise, events must be created by calling the mocked `create_namespaced_event` API. The `list_namespaced_event` API supports watches with timeouts.
Expand Down
2 changes: 1 addition & 1 deletion docs/documenteer.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
title = "Safir"
copyright = "2020-2022 Association of Universities for Research in Astronomy, Inc. (AURA)"
copyright = "2020-2023 Association of Universities for Research in Astronomy, Inc. (AURA)"

[project.python]
package = "safir"
Expand Down
6 changes: 3 additions & 3 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ keywords = [
]
# https://pypi.org/classifiers/
classifiers = [
"Development Status :: 4 - Beta",
"Development Status :: 5 - Production/Stable",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
Expand Down Expand Up @@ -129,8 +129,8 @@ exclude = '''
# Multi-line strings are implicitly treated by black as regular expressions

[tool.isort]
include_trailing_comma = true
multi_line_output = 3
profile = "black"
line_length = 79
known_first_party = ["safir", "tests"]
skip = ["docs/conf.py"]

Expand Down

0 comments on commit ae1d0fc

Please sign in to comment.