Skip to content

Releases: MobileTeleSystems/horizon

1.1.3 (2025-10-29)

29 Oct 15:43
4e9a3fd

Choose a tag to compare

Dependency updates only.

1.1.2 (2025-04-07)

07 Apr 14:02
a5da1ac

Choose a tag to compare

Improvements

  • Reduce image size down to x3.
  • Change docker image user from root to horizon, to improve security.
  • SBOM file is generated on release.

1.1.1 (2025-01-28)

28 Jan 09:30
186150d

Choose a tag to compare

Improvements

  • Add compatibility with Python 3.13 (94)
  • Replace outdated python-jose dependency with authlib.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)

21 Nov 13:10
5121d24

Choose a tag to compare

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)

27 Jun 14:28
e4f9fcd

Choose a tag to compare

Dependencies

  • Bump minimal urllib3 version to 1.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)

10 Jun 08:50
888a4ec

Choose a tag to compare

First production-ready release!

Improvements

  • Update dependencies

0.2.1 (2024-05-29)

29 May 08:39
12e4537

Choose a tag to compare

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)

15 May 08:55
c4a529a

Choose a tag to compare

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 to docker-compose.yml example

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)

02 May 10:58
9dfa8bf

Choose a tag to compare

Improvements

  • Properly handle SIGTERM signals in Docker image entrypoint.
  • Update dependencies

0.1.2 (2024-04-02)

02 Apr 09:28
8367012

Choose a tag to compare

Features

  • Add new environment variable HORIZON__ENTRYPOINT__ADMIN_USERS to Docker image entrypoint. Here you can pass of usernames which should be automatically promoted to SUPERADMIN role during backend startup. (#45)

Improvements

  • Improve logging in manage_admins script. (#46)
  • Fix Pydantic v2 model warnings while starting backend. (#47)