v0.12.0 - September 10, 2026
This release moves the backend code into layers. It adds no features, and Trailarr behaves the same. It is Phase 7 of the roadmap.
Bug Fixes: 🐛
-
An error answer no longer shows internal details — eighteen API endpoints answered every failure with the status
404and the text of the exception. That text can hold a folder path, a database statement, or a web address with a token in it. Each failure now gets the correct status, and a failure that Trailarr cannot explain to you gives a short line that names only the action. The full error goes to the log. A message that helps you, such asConnection refusedfrom a connection test, stays as it is. A failed Radarr or Sonarr request also put the API key of that connection into its message. The message now tells you to check the key, and it does not show the key. -
A log line now opens the media item that it is about — the Logs page found the item from the first number in square brackets in the message. A line that named a profile or a download before the media item opened the wrong title. Trailarr now sends the media id together with the line, and a test keeps ids out of the message text.
Other Changes: ⚙️
-
The backend code is in five layers —
api,services,database,tasksandutils. Your database, your settings and the API answers do not change. The new structure makes the next phases of the roadmap safer to build. -
The API documentation lists the errors of each endpoint — the OpenAPI specification now shows the
500response of eighteen endpoints, and the404response of two more endpoints that always could give one. -
The log messages use one style — a message is now a full sentence in the active voice, it names Trailarr as the actor, and it gives the title of a media item instead of its id.