Version 0.8.0 (2025-04-23)

Added

  • CLI: new “harp version” command to dump the version number

  • Proxy: it is now possible to add not exposed endpoints in the proxy configuration.

  • Proxy: Custom controller types with custom settings can be added to the proxy configuration as services definitions.

  • Monitoring: Prometheus integration.

Changed

  • API: the EVENT_READY and EVENT_SHUTDOWN core events now takes (and provides) an ASGIApplication instead of an ASGIKernel to avoid having a misleading interface when multiple ASGI middlewares are applied. The same change has been propagated to System/SystemBuilder.

  • Proxy: Endpoints can now include full paths beyond just base paths. For example, URLs like http://example.com/api/v1/endpoint1/ are now supported in addition to simpler base URLs like http://example.com/. (#35, @ArthurD1)

  • Rules: The rules application is now loaded by default when using the harp start or harp server command. (#594, @ArthurD1)

  • Storage: The Engine is now defined as a service and instantiated using dependency injection. (#72, @ArthurD1)

  • Frontend: the build is now using a library to allow easier extension from other projects. (@ArthurD1)

  • Circuit breaker: circuit breaker is now disabled by default, so there cannot be an unexpected behaviour.

  • Proxy: The ProxyFilterEvent class now takes an optional transaction argument, which is an instance of the Transaction class. This allows you to access the transaction information in the event handler.

Fixed

  • Cache: on retrieval/decoding failure, consider no cache is available.

  • DX: Add the ability to use –set x=y or –set x y (both equivalent) to all commands (@masterivanic, #590)

  • UI: Correctly display header values containing a semicolon character (#577, @ArthurD1)

  • UI: Fixed the topology UI where changing the state of a remote would cause the page to crash (#578, @ArthurD1).

  • UI: On transactions page, tpdex filter now includes both sides of the selected range (#391, @ArthurD1)

  • Sentry config was not loaded anymore, fixed.

  • Cache: Fixed metadata update bug.

  • Set timezone to UTC on postgres connect

Misc

  • Misc: Disabled mysql tests (cf #699), fix rodi dependency update (Romain Dorgueil)

Updated

  • bump aiohttp from 3.11.2 to 3.11.11

  • bump aiosqlite from 0.20.0 to 0.21.0

  • bump alembic from 1.14.1 to 1.15.2

  • bump anyio from 4.6.2.post1 to 4.9.0

  • bump asyncmy from 0.2.9 to 0.2.10

  • bump cryptography from 43.0.3 to 44.0.2

  • bump http-router from 4.1.2 to 5.0.8

  • bump httpx from 0.27.2 to 0.28.1

  • bump multidict from 6.1.0 to 6.2.0

  • bump orjson from 3.10.11 to 3.10.15

  • bump pydantic from 2.9.2 to 2.11.3

  • bump pytest from 8.3.3 to 8.3.4

  • bump pytest-asyncio from 0.24.0 to 0.25.2

  • bump redis from 5.2.0 to 5.2.1

  • bump respx from 0.21.1 to 0.22.0

  • bump rich-click from 1.8.4 to 1.8.8

  • bump ruff from 0.7.4 to 0.11.2

  • bump sentry-sdk from 2.18.0 to 2.19.2

  • bump slack-sdk from 3.33.4 to 3.35.0

  • bump sqlalchemy from 2.0.36 to 2.0.40

  • bump structlog from 24.4.0 to 25.2.0

  • bump syrupy from 4.7.2 to 4.8.1

  • bump testcontainers from 4.8.2 to 4.10.0

  • bump watchfiles from 0.24.0 to 1.0.4