Releases: MobileTeleSystems/horizon
1.1.1 (2025-01-28)
Improvements
- Add compatibility with
Python 3.13
(94
) - Replace outdated
python-jose
dependency withauthlib.jose
, to fix security issues. (97
)
Note: preliminary release 1.1.0 was yanked from PyPI because it has wrong horizon.__version__
value.
The source code of 1.1.1 and dependencies are just the same as 1.1.0.
1.0.2 (2024-11-21)
Bug fixes
-
Previously client after receiving 4xx responses from the server, raised
requests.exceptions.HTTPError
like:>>> client.update_namespace_permissions(namespace_id=234, changes=to_update) Traceback (most recent call last): File "horizon/horizon/client/base.py", line 135, in _handle_response response.raise_for_status() File "horizon/.venv/lib/python3.12/site-packages/requests/models.py", line 1021, in raise_for_status raise HTTPError(http_error_msg, response=self) requests.exceptions.HTTPError: 404 Client Error: Not Found for url: http://localhost:8000/v1/namespaces/234/permissions
Now it wraps all these exceptions with
horizon.commons.exceptions
classes, like:>>> client.update_namespace_permissions(namespace_id=234, changes=to_update) Traceback (most recent call last): File "<stdin>", line 1, in <module> File "horizon/horizon/client/sync.py", line 914, in update_namespace_permissions return self._request( # type: ignore[return-value] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "horizon/horizon/client/sync.py", line 1031, in _request return self._handle_response(response, response_class) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "horizon/horizon/client/base.py", line 170, in _handle_response raise get_exception() from http_exception horizon.commons.exceptions.entity.EntityNotFoundError: Namespace with id=234 not found
horizon.commons.exceptions
exception types were documented long time ago, so this is not a breaking change, but a bug fix.
1.0.1 (2024-06-27)
Dependencies
- Bump minimal
urllib3
version to1.26.0
, to avoid exceptions like:
ValidationError: 1 validation error for HorizonClientSync__root__
__init__() got an unexpected keyword argument 'allowed_methods' (type=type_error)
1.0.0 (2024-06-10)
First production-ready release!
Improvements
- Update dependencies
0.2.1 (2024-05-29)
Improvements
- Fix LDAP connection pool configuration example.
- Update uvicorn to 0.30.0, including new multiprocessing workers manager.
- Update dependencies.
0.2.0 (2024-05-15)
Breaking Changes
- Rename
/v1/namespace/:id/permissions
endpoint to/v1/namespaces/:id/permissions
. (#61)
Features
- Allow using Horizon with multiple uvicorn workers (#60):
- Add
pid
to log formatters - Add
PROMETHEUS_MULTIPROC_DIR
todocker-compose.yml
example
- Add
Bug Fixes
- Use connection timeout while creating LDAP connections in the pool. (#58)
- Fix response schema for invalid JSON input.
0.1.3 (2024-05-02)
Improvements
- Properly handle
SIGTERM
signals in Docker image entrypoint. - Update dependencies
0.1.2 (2024-04-02)
Features
- Add new environment variable
HORIZON__ENTRYPOINT__ADMIN_USERS
to Docker image entrypoint. Here you can pass of usernames which should be automatically promoted toSUPERADMIN
role during backend startup. (#45)
Improvements
0.1.1 (2024-03-27)
Breaking Changes
Users now required to explicitly have a role assigned within a namespace to manipulate HWMs as they could before. These changes enforce stricter access control and better management of user permissions within the system.
- Add role model to Horizon, documentation available at
role-permissions
. (#27, #31) - Restrict deletion of
Namespace
if there are anyhwms
related to it. (#25)
Features
-
Add
Namespace History
. Now it is possible to view paginated history of actions for specific namespace. (#24) -
Add
owner_id
field toNamespace
model to keep track of the owner of the namespace. (#26) -
Add support for managing
SUPERADMIN
roles. (#36) -
Permissions Management:
- Add new API endpoint
PATCH /namespace/:id/permissions
for updating the permissions of users within a namespace. - Add new API endpoint
GET /namespace/:id/permissions
for fetching the permissions of users within a specific namespace. - Extend the Python client library with methods
get_namespace_permissions
andupdate_namespace_permissions
to interact with the new API endpoints. (#29)
- Add new API endpoint
-
High Water Marks (HWMs) Management:
- Add new API endpoint
DELETE /hwm/
for bulk deletion of High Water Marks (HWMs) by namespace_id and a list of hwm_ids. - Extend the Python client library with the method
bulk_delete_hwm
to interact with the new bulk delete HWM API endpoint. (#37) - Add new API endpoint
POST /hwm/copy
endpoint for copying HWMs between namespaces, with optional history copying. - Extend the Python client library with the method
copy_hwms
to support the new HWM copy functionality. (#42)
- Add new API endpoint
Improvements
- Fix documentation examples. Make documentation more user-friendly. (#20)
0.0.13 (2024-02-13)
Features
Horizon
is open-source now.