Release Notes
Here you find the release notes including all changes.
[1.0.0-alpha5-hotfix1] - 2024-11-18
This hotfix release solves an issue with HTTP/HTTPS settings and TLS certificate retrieval (aura#405).
To apply the hotfix, checkout the tag 1.0.0-alpha5-hotfix1
.
[1.0.0-alpha5] - 2024-11-05
We’re excited to introduce Alpha-5, bringing significant new features and enhancements to improve user experience and technical functionality. This release includes new user interfaces for managing User & Host Profiles, expanded Image Management capabilities, and support for M3U playlist assignments. Users can now also access configurable line-in channels and view unmoderated program slots directly in the AURA calendar.
On the technical side, this release includes documentation and installation scripts for Pipewire, an upgrade to the latest Liquidsoap version, and enhanced tools for user permission management and timeslot conflict resolution.

Breaking Changes:
New configuration file
aura/config/services/sample-config/dashboard-clock.json
. A copy also needs to be available ataura/config/services/dashboard-clock.json
. Just re-runmake aura-web.init
to create some initial version.Since many default assignments of permissions to groups have been changed, re-set to the defaults as per documentation, unless your are doing a fresh installation. Any modifications have to be re-applied.
The Steering API resource
Host
is replaced byProfile
.The default protocol is now set to HTTP (
AURA_HOST_PROTO=http
).CertBot is now disabled by default (
AURA_HOST_CERTBOT_ENABLE=false
) and variable renamed from (RUN_CERTBOT
) for consistency withAURA_HOST_CERTBOT_EMAIL
.Changed the aura user and group ID from
2872
to872
. Callmake aura-user.rm && make aura-user.add
to re-create. The runmake aura-web.init && make aura-playout.init
to update permissions. Then rundocker system prune
and, if your are using playout, delete the socket volumedocker volume rm aura-playout_aura_engine_socket
. Other volumes need to be updated, in order to keep their data (sudo chown -R aura:aura /var/lib/docker/volumes/aura-web_steering_media/_data && sudo chown -R aura:aura /var/lib/docker/volumes/aura-web_steering_static/_data/
)Tank’s database mapper is upgraded to GORM v2. That means migrations cannot be applied and you have to purge your existing Tank database.
New API URL to retrieve the calendar information from Steering is
/api/v1/program/playout
.Replaced the
engine-core.ini
configuration withengine-core.yaml
Data type of
timeslot_id
in Engine services changed toString
since it now may hold UUIDs.
Deprecated:
The environment variables
AURA_ENGINE_OUTPUT_DEVICE
,AURA_ENGINE_INPUT_DEVICE
are not used anymore
Added
aura: Documentation: Image management.
aura: Documentation: Info on how recordings can be archived using a cronjob.
aura: Documentation: Fallback program configuration and usage.
aura: Documentation: User and profile management.
aura: The documentation now features a sitemap and is better equipped for search engines.
aura: Dashboard Clock now features a Docker Compose healthcheck.
aura: BREAKING: New configuration file
config/services/sample-config/dashboard-clock.json
. A copy also needs to be available atconfig/services/dashboard-clock.json
. Just re-runmake aura-web.init
to create some initial version.aura: The Makefile is now able to auto-detect
AURA_HOME
. That means you can install AURA in any directory of your choice.aura: The API endpoint for retrieving Dashboard Clock data from Engine API is now configurable.
aura: The admin docs feature a frequently asked questions section with first questions and answers.
steering:
basic
andcalendar
program routes. (steering#239)steering: Example Values in API (steering#111)
steering: Radio Station settings (steering#222)
steering: Permissions for editing
Host
andUserProfile
(steering#227)steering: Choice of database back-end using a database URL (steering#231)
steering: Permission for editing the “schedule default playlist” (steering#234)
steering: Settings
CORS_ALLOWED_ORIGINS
andSITE_URL
are read from the environment (steering#245)tank: The setting
DATABASE_URL
is now read from the environment.tank: The settings
CORS_ALLOWED_ORIGINS
,CORS_ALLOWD_HEADER
,CORS_ALLOWED_METHODS
,tank:
TANK_CORS_ALLOW_CREDENTIALS
andTANK_CORS_DEBUG
are read from the environment (tank#78)tank: `make release’ target to the Makefile (tank#70)
dashboard: M3U media sources can now be added to the playout.
dashboard: New profile and user management pages have been added.
dashboard: An experimental dark mode has been added.
dashboard: Images can now be flipped, mirrored and cropped in the image editor.
dashboard: Images must now match the required aspect ratios defined in the radio settings.
dashboard: Shows can now be filtered by category.
dashboard: The calendar day and week view now show detailed information on fallback slots.
dashboard-clock: Configuration is now provided via JSON file with sensible defaults, allowing you to setup AURA more quickly.
engine: Ability to handle virtual timeslots. Such timeslots are generated by the fallback program feature.
engine: added error handling if no matching channel type is found
engine-core: Added a feature to connect audio ports on startup configured via environment variables (engine-core#68)
engine-core: Added instructions and configurations to install a headless PipeWire session (engine-core#80)
engine-core: Added the option to add multiple outgoing icecast stream endpoints
engine-core: Added the option to add multiple audio input devices
engine-recorder: Added repository badges.
engine-recorder: Set up pre-commit and added configuration.
Changed
aura: BREAKING: Since many default assignments of permissions to groups have been changed, re-set to the defaults as per documentation, unless your are doing a fresh installation. Any modifications have to be re-applied.
aura: Documentation: Reworked structure and contents of the admin guide.
aura: Documentation: All references to “programme” are no named “program”.
aura: Documentation: All references to “host” are replaced by “profile”.
aura: BREAKING: The API resource
Host
is replaced byProfile
.aura: Default fixture for radio station settings.
aura: Sample config for engine.
aura: Updated configuration file
config/services/sample-config/steering.py
.aura: The studio clock is now always reachable via
/clock
. There is no setting to disable anymore.aura: BREAKING: The default protocol is now set to HTTP (
AURA_HOST_PROTO=http
).aura: The host name now features a sample setting for quickstart (
AURA_HOST_NAME=aura.local
).aura: BREAKING: CertBot is now disabled by default (
RUN_CERTBOT=false
).aura: Generally improved documentation on Base URL and Let’s Encrypt certificate retrieval.
aura: Documentation: Details on Base URL and Let’s Encrypt settings.
aura: Documentation: Details on configuring a second Reverse Proxy.
aura: BREAKING: Changed the aura user and group ID from
2872
to872
. Callmake aura-user.rm && make aura-user.add
to re-create. The runmake aura-web.init && make aura-playout.init
to update permissions. Then rundocker system prune
and, if your are using playout, delete the socket volumedocker volume rm aura-playout_aura_engine_socket
. Other volumes need to be updated, in order to keep their data (sudo chown -R aura:aura /var/lib/docker/volumes/aura-web_steering_media/_data && sudo chown -R aura:aura /var/lib/docker/volumes/aura-web_steering_static/_data/
)aura: Renamed
in_line_x
toaura_engine_line_in_x
andlineout_
toaura_engine_line_out_
.aura: Postgres version defaults to 16 now.
steering: Changed the aura user and group ID from 2872 to 872.
steering:
playout
is now part of the program routes and generates virtual timeslot (steering#120)steering: Update permission names to more descriptive terms (steering#233)
steering: Python version and image is 3.12 (steering#246)
tank: Changed the aura user and group ID from 2872 to 872.
tank: BREAKING: Upgrade to GORM v2 and gormigrate v2. (tank#36)
tank: The data volume needs to be deleted and re-created.
tank: The files and folders from the audio store need to be deleted.
tank: Setup pre-commit and add configuration for Tank (tank#63)
tank: Update Go image to 1.22 (tank#73)
tank: Properly authorize requests to read a playlist (tank#77)
tank: GET /imports is now a valid request, without
showId
(tank#81)dashboard: Line-in inputs are now based on the radio settings instead of being hardcoded.
dashboard: Deselection of images is now part of the dialog instead of the image preview.
dashboard: The visual appearance of the calendar day view has been completely overhauled.
dashboard: Data being fetched from the server is now being aggregated to improve performance and reduce the number of flashes of content.
dashboard: Users can now end a schedule after a specific timeslot, replacing the previous option of manually deleting timeslots in the backend.
dashboard-clock: Refactored Web Component into several, maintainable Svelte Components.
dashboard-clock: Dashboard Clock is now based on Svelte 4.
engine: BREAKING: New API URL to retrieve the calendar information from steering is
/api/v1/program/playout
.engine: Schema and implementation of the Steering API client matching the new response.
engine: Media sources holding some M3U playlist, now expect a
m3u://...
prefix instead ofplaylist://
.engine: Better handling for broken or invalid stream media sources.
engine: Changed the aura user and group ID from 2872 to 872.
engine: Renamed
in_line_x
toaura_engine_line_in_x
andlineout_
toaura_engine_line_out_
.engine: Improved test coverage further.
engine-api: Changed the aura user and group ID from 2872 to 872.
engine-core: BREAKING: Changed the aura user and group ID from 2872 to 872.
engine-core: Changed the environment variables
AURA_ENGINE_OUTPUT_CHANNEL_LEFT
,AURA_ENGINE_OUTPUT_CHANNEL_RIGHT
,AURA_ENGINE_INPUT_CHANNEL_LEFT
,AURA_ENGINE_INPUT_CHANNEL_RIGHT
to hold full names obtainable withpw-link -io
engine-core: Updated the liquidsoap version to
2.2.5
engine-core: BREAKING: Replaced the
.ini
configuration with.yaml
engine-core: Changed the log level from Integer to String
engine-core: Changed the namespaces for some telnet commands, due to the restriction of unique names in the new liquidsoap version
engine-core: Renamed
in_line_
toaura_engine_line_in_
andlineout_
toaura_engine_line_out_
.engine-core: BREAKING: Update the timeslot_id data type to string
engine-recorder: Changed the aura user and group ID from 2872 to 872.
engine-recorder: Make coverage now outputs coverage percent in console.
engine-recorder: Added PipeWire as the Media Server
Deprecated
engine-core: The environment variables
AURA_ENGINE_OUTPUT_DEVICE
,AURA_ENGINE_INPUT_DEVICE
are not used anymore
Removed
aura: Removed configuration file
config/services/sample-config/dashboard-clock.env
.aura: Completely removed Dashboard Clock configuration section in AURA Web
sample.env
, allowing a much more hassle-free setup.aura: Remove unnecessary setting
AURA_ENGINE_API_BIND_URL
andAURA_ENGINE_API_EXTERNAL_URL
from configuration.aura: Remove fixture
host.json
.dashboard-clock: Removed configuration via environment variables.
engine: Removed
max_retries
andretry_delay
from config (#74)engine-core: Removed the wireplumber scripts to connect ports, use
pw-link
instead (engine-core#68)engine-core: Removed some environment variables in favour of yaml settings
engine-core: Removed the mono option for icecast streaming endpoints
engine-core: Removed all environment variables for
AURA_ENGINE_STREAM_OUTPUT
engine-recorder: Removed the Sync feature #40
Fixed
aura: Fix multiple issues with Dashboard Clock environment variables names.
steering:
ours-end
conflict solution offered in nonsensical scenarios (steering#220)steering:
ours-both
assigns invalid show for second part of split episode (steering#221)steering: AURA does not apply summer-winter time shift correctly (steering#225)
steering: when I upload a file as host, the file is not shown in dashboard (steering#226)
steering: Update default group permission set that is delivered on install …the User Guide. (steering#236)
steering: auto-generation of notes during install/setup of AURA seems to fail (steering#238)
steering: as a host, I can neither view nor upload audio files (steering#247)
tank: as a host, I can neither view nor upload audio files (tank#79)
dashboard: Filenames are no longer used as alternative text for images.
dashboard: Image license and license related fields are now properly saved.
dashboard: Image license requirements are now properly validated.
dashboard: Show danger zone is now hidden if it doesn’t contain any actionable items due to permissions.
dashboard: Error handling for media sources has been improved.
dashboard: The HTML editor now behaves more like a normal input field.
dashboard: Assets are now cached for better performance.
dashboard: The image picker no longer retains any unsaved changes after the dialog has been closed.
dashboard: View state like search, filter and ordering parameters are now reflected in the URL so users can share URLS.
dashboard: The currently selected show is cleared after logout.
dashboard: Fixed minor UIand UI-related accessibility issues, as well as typos.
engine-api: Fixed issues with datetime and timezone handling when posting to the “playlog” and “clock” endpoints.
[1.0.0-alpha4] - 2024-04-18
The release of Alpha 4 — Raving Raccoon features:
Permission Management: Easily manage permissions for roles such as Program Managers and Hosts, as well as individual users.
Radio Station Settings: Administrators now have the ability to configure global station settings conveniently within the new admin area.
Playout Refactoring: The Engine component has undergone significant improvements. It now caches data efficiently without the need for a database server. Program data is cached transparently using JSON files. Additionally, the scheduling and program polling logic has been refactored and validated using OpenAPI interfaces.
Improved Test Coverage: We have substantially increased test coverage in both Steering and Engine components. Most components now provide badges displaying the overall test coverage.
Breaking Changes: All nested API endpoints in Steering and Tank that were deprecated in the previous release have now been removed.
Explore further details on all additional changes below.

Added
aura: New fixture
radiosettings.json
for defining radio station settings.aura: User Guide: Documentation on radio station settings.
aura: Admin Guide: Info on running Docker Engine as a daemon in production.
aura: User Guide: Documentation on data visibility, permission and roles in radio administration.
aura: New Gitlab issue templates for Bug Report and Epic.
aura: New “at a glance” overview for release workflow.
steering:
Playlist
model as placeholder for custom permissions.steering: The route for
schedules
can now handle PATCH requests that don’t involve conflict resolution (steering#218)steering:
RadioSettings
model, admin, serializer, viewset and route to expose them (steering#173)steering: Management command and Makefile target to delete OIDC client (steering#219)
dashboard: Implemented basic permissions so that unprivileged users either can’t see or can’t edit data they are not allowed to see or edit.
dashboard: Episodes that the dashboard detects as invalid (e.g. those with a negative duration) are now highlighted with a yellow background and red stripes and should be reported.
dashboard: The menu now has a link to the steering administration page.
engine: Lots of test cases.
Changed
aura: Admin Guide: More details on configuring reverse proxies.
aura: User Guide: Manage groups improved.
aura: User Guide: Extended “User and host profile” documentation.
steering: The image URLs are now exposed as
url
and include the protocol to avoid mixed-media warnings (steering#194)steering: The
title
of aNote
is nullable (steering#203)steering: A
Note
is attached to aTimeslot
upon creation (steering#214)tank: The job-timeout for the importer is now thirty minutes for Docker.
dashboard: Calendar event color scheme has been re-worked to be more readable and distinguishes between owned and other shows.
dashboard: Reworked calendar dialogs and grouped related information and actions.
dashboard: Drastically reduced asset sizes and therefore improved app load times.
dashboard: The Delete all following episodes-functionality has been temporarily disabled.
dashboard: The show quick selector has been removed because we provide similar functionality on the show overview page.
engine: Engine now requires at least Python 3.11.
engine: Major refactoring of the scheduling mechanices. As a consequence the database dependency for caching is removed. Instead caching is performed in form of
json
files located in the configuredcache_dir
folder.
Removed
aura: All database related configuration got removed from Engine. Compare and update your
.env
file.aura: User Guide: Safari support is removed once again.
steering: Nested routes for shows, show/timeslots, show/schedules, show/schedule/timeslot (aura#126)
tank: Nested routes for show/files, show/files and show/playlists (aura#126)
engine: All database related settings and dependencies. When updating from an existing deployment, remember to compare the new config files and remove relevant entries.
Fixed
aura: AURA Web health-checks updated to work with Docker Engine 26+.
dashboard: Fixed some visual spacing issues with dialogs.
dashboard: The title column in the episode list will now always display a title or placeholder.
dashboard: Users can now always abort the conflict resolution mode in the calendar.
dashboard: Fixed some rendering issues for certain conflict resolutions in the calendar.
dashboard: Fixed some missing, misleading and invalid translations in the calendar.
engine: Issue where the configuration values for
retry_delay
andmax_retries
are mixed up.
Security
engine: The codebase is now audited using the security tool Bandit.
[1.0.0-alpha3] - 2024-02-29
The release of Alpha 3 — Playful Platypus marks a significant milestone with a comprehensive overhaul of the user interface and the play-out stack, introducing many eagerly anticipated features.
The dashboard has undergone a complete redesign in appearance, navigation and functionality. Notable additions in the show area include dialogs for managing show settings, episodes, image uploads, extended metadata assignments, assignment of media sources, and more.
The play-out engine now leverages the state-of-the-art audio server PipeWire, providing users with low-latency audio routing options for a smooth playback experience. PipeWire is seamlessly integrated into various recent Linux distributions such as Debian 12 and Ubuntu 22.04.
To facilitate understanding of the new features, the User Guide has been enriched with additional information. Simultaneously, the Administration Guide has undergone enhancements to expedite the AURA setup process.
Additional features include data backup and restoration capabilities, improved logging, and simplified importing of default datasets.
Breaking Changes: Many API implementations are improved to follow best practices. This includes the naming of parameters and properties. The approach how uploaded audio files are stored in the database and on the filesystem got revised. Lastly, most installation steps and their documentation got reworked. Due to the amount of breaking changes we recommend re-installing AURA from scratch.
Deprecated: We want to remind you, that nested API endpoints in Steering and Tank are deprecated. They will be removed with the release of Alpha 4. Try to migrate to the non-nested version of an endpoint and report back if you are facing issues. For more details, check out api.aura.radio and the detailed changelog below.
Security: Upgrade to Docker Engine 25.0.2 or later due to a security vulnerability in runc.

Added
aura: CLI command
make version
to display the current version.aura: Documentation: Configure playout using PipeWire.
aura: Documentation: Many chapters in the user documentation on the new features in the show and episode user interfaces.
aura: New make commands to create sample fixtures and import fixtures (
aura-web.fixtures-create
,aura-web.fixtures-import
).aura: New make commands to backup and restore Docker Volumes (
make aura-volume.backup
,make aura-volume.restore
).aura: Documentation: Chapter to learn how to backup config and data.
aura: Documentation: Aura Web now features a Quick Install Guide.
aura: Ability to load system settings with sample and custom fixtures.
steering:
owners
optional field inHost
model as many-to-many reference toUser
(steering#166)steering:
language
andtopic
optional fields inNote
model (steering#169)steering:
contributors
field inNote
model (steering#159)steering:
PRIVILEGED_GROUP
andENTITLED_GROUPS
settings to implement groups and permissions (steering#177)steering:
FILTER_ACTIVE_SHOWS_USING
settings to filter active shows and OIDC scope claims (steering#175)steering:
ShowManager
to annotate a show with its max (last) timeslot start (steering#175)steering:
is_active
boolean field inLinkType
model (steering#187)steering:
addtimeslots
management command to renew schedules for one year (steering#108)tank: Un-nested routes for playlists, files, imports, etc. (tank#65)
dashboard: Added license selection in image picker.
dashboard: Added show overview page with grid and table view including pagination, search and extensive ordering capabilities.
dashboard: The state of save operations is now communicated to users.
dashboard: The media page has been removed in favor of inline editors in the episode and show management pages.
dashboard: Hierarchical pages now display a breadcrumb navigation.
dashboard: Show pages now display update/create metadata.
dashboard: All pages and subviews now have unique and shareable URLs.
dashboard: A new login page has been added.
dashboard: Shows can now be deleted.
dashboard: The show slug can now be changed.
dashboard: Languages and topics can now be set for individual episodes/notes.
dashboard: Show on-air and next-up info for episodes.
dashboard: Added support for viewing past episodes.
dashboard: Added support for viewing inactive schedules.
dashboard: Platform and social media links can now be added to shows and episodes.
dashboard: Content fields now have a WYSIWYG-HTML editor.
dashboard-clock: Sample API data for testing provided via
/test/api.json
engine: Additional logging while loading playlist entries (#136)
engine-api:
make api
: generate, merge and clean files according to api specs inschemas/openapi-engine.yaml
(#37)engine-core: PipeWire as the media server inside the docker container
engine-core: Docker compose support for easier building of local containers
engine-core: WirePlumber script to automatically connect ports
engine-core: WirePlumber script to list device ports
engine-recorder: Added a option to configure the sub directories where the audio files are saved (engine-recorder#36)
engine-recorder: Added local docker build (engine-recorder#31)
engine-recorder: Added docker compose
Changed
aura: Documentation: Add details on how to release a service in the developer docs.
aura: BREAKING: Update naming and meaning of several make commands and according documentation. Re-read the docs carefully when installing.
aura: Docker images are now tagged and published with
main
instead ofunstable
.aura: The
aura
user is now created as a system user.aura: Documentation: Multiple content and structure improvements in the Administration Guide.
aura: Documentation: CertBot in Aura Web installation is now enabled by default. Disable, when not needed.
aura: Sample configuration override for
engine-api
is now inYAML
format, instead ofINI
.aura: Update
engine-recorder
sample configuration for override.aura: Nginx is running rootless now. This improves security and fixes some other permission bugs.
aura: Replace
AURA_ENGINE_RECORDER_AUDIO_DEVICE
withAURA_ENGINE_RECORDER_AUDIO_SOURCE
andAUDIO_DEVICE
withAUDIO_SOURCE
, (engine-recorder#32)steering: BREAKING: The IDs of the “owned shows” and the “public shows” are now listed as
ownedShowIds
andpublicShowIds
in the OICD scope claims.steering:
note_id
andshow_id
are read-only fields of theTimeslotSerializer
(steering#171)steering:
Note.tags
are exposed as list of strings (steering#158)steering: Django’s model permissions and additional custom permissions are now used (steering#177)
steering:
type
inLink
model is now foreign key reference to theLinkType
model. The serializers expect atypeId
(steering#187)tank: BREAKING: The database and directory structure has changed. Since there is no way to migrate the data for this update, you need to re-create the database and delete the existing files and folders from the audio store.
tank: BREAKING: The endpoints to create files and playlists now require a
showId
in the JSON payload.tank: BREAKING: API endpoints now require
showId
(int) instead of theshowName
(string).tank: The duration is now in seconds and is stored as a float.
tank: The job-timeout for the importer is now three minutes for Docker.
tank: Show uploads are stored in folders named after the ids instead of the slugs. (tank#37)
tank: error and info log files now have timestamps (tank#68)
tank: The endpoint to upload a file with Flow JS no longer requires a
showId
.tank: The endpoint to list the playlists now lists all, the ones by a show or the ones that include a file.
dashboard: The global navigation has been moved to a sidebar.
dashboard: The global navigation now includes contextualized submenus.
dashboard: The show admin selector now uses an inline selection mechanism instead of a dialog.
dashboard: The help link in the footer now directly links to the AURA documentation.
dashboard: The page-size selection for the episode table has been moved to the table footer.
dashboard: The range-end selection in the episode table has been removed.
dashboard: The range-start selection in the episode table is now positioned right next to the table header.
dashboard: The episode/note editor is now a separate page instead of a modal.
dashboard: The show deactivation button has been moved to the Danger zone and now requires confirmation.
dashboard: The show page has been split into two separate pages for episodes/schedules and basic settings.
dashboard: Related individual fields in the basic show settings have been restructured into structured blocks.
dashboard: Updated/harmonized terms used in show pages.
dashboard: The unimplemented settings page has been removed.
engine: Configuration using yaml instead of ini files (#120)
engine: Change default database password to string to avoid parsing errors (#120)
engine: Use datatype float instead of int for
trackDuration
(#132)engine-api: Configuration using yaml instead of ini files (#34)
engine-api: Use datatype float instead of int for
trackDuration
(#51)engine-api: Change default database password to string to avoid parsing errors (#54)
engine-core: Default sound system is now JACK, not ALSA
engine-core: Docs: Update README with new PipeWire based installation
engine-recorder: Renamed the input.file field to input.source (engine-recorder#32)
engine-recorder: Renamed the input.file_format field to input.source_format (engine-recorder#32)
engine-recorder: Replaced
AURA_ENGINE_RECORDER_AUDIO_DEVICE
withAURA_ENGINE_RECORDER_AUDIO_SOURCE
andAUDIO_DEVICE
withAUDIO_SOURCE
, (engine-recorder#32)
Deprecated
aura: Nested API endpoints in Steering and Tank are deprecated and will be removed in the next release. Compare the specification at api.aura.radio and update your API client as soon as possible. Please report if you are facing issues.
steering: Nested routes for shows, show/timeslots, show/schedules, show/schedule/timeslot will be removed with alpha-4.
tank: Nested routes for show/files and show/playlists will be removed with alpha-4.
Removed
steering:
note_id
andshow
fields from theTimeslot
model (steering#171)steering:
type
field fromLinkType
model (steering#187)steering:
owner
andslug
fields fromNote
model.engine-api: Remove endpoint
/playlog/report/{year_month}
(#48)engine-core: Dropped ALSA in Docker support in favour of PipeWire + JACK
Fixed
aura: To avoid permission problems re-run the commands
make aura-web.init
ormake aura-playout.init
respectively.aura: Warning when executing the make target for adding the aura user.
aura: Consolidated the structure for custom configuration and fixtures in AURA Web.
aura: Due to certificate retrieval issues, certbot is now running on port
80
(#276).aura: Missing image in the documentation under a administration / update and maintain.
aura: Allow optional trailing slash for
/trackservice
endpoints and don’t redirect (engine-api#25).aura: Documentation: Replace
AURA_RECORDER_AUDIO_STORE_HOST
withAURA_AUDIO_STORE
, (engine-recorder#39)dashboard: Fixed overflow issues for in image picker.
dashboard: Ensure save errors due to connection issues are properly communicated to the user.
dashboard: Fixed keyboard selection support in image picker.
dashboard: Fixed overflow issues in calendar.
dashboard: Fixed overflow issues in show quick selector for long show titles.
engine: Fix redundant logging while loading playlist entry (#136)
engine: Fix line-in source selection (#141)
engine-core: Smooth play-out latency and buffering for analog audio input (engine-core#50)
engine-recorder: Fixed a bug where the audio files where always saved with the
_%s
suffix (engine-recorder#35)
Security
aura: Upgrade to Docker Engine 25.0.2 or later due to security vulnerability in runc.
[1.0.0-alpha2] - 2023-06-29
The release of Alpha 2 — Precise Pheasant ships with plenty of essential improvements, both under the hood and on the user interface level.
The Data Model has been extended and refined to provide a foundation for the requirements of participating radios. Additional recurrence rules have been added as part of the default configuration.
The User Interface has undergone a facelift and has been updated with features and enhancements, especially in the calendar and show view.
Administrators are now served with log files for all services. In order to avoid permission errors,
also re-run the make aura-user.add
command. This now creates directories for logs
and audio
with correct permissions for the aura
user.
Breaking Changes:
Some configuration settings for the Docker Compose bundles have been changed. Either adapt your current
.env
file accordingly or start with a fresh one.The API has been improved to follow best practices. This includes the naming of parameters and properties.
Deprecated:
Nested API endpoints in Steering and Tank are now deprecated. Try to migrate to the non-nested version of an endpoint and report back if you are facing issues.
For more details, check out api.aura.radio and the detailed changelog below.
Added
aura: Add development target
make dev.merge-changelog
to create a merged changelog, helping to prepare release notes.aura: Add release notes section at docs.aura.radio
aura: Add Tank Cut & Glue API to api.aura.radio.
aura: Add default Audio Store directory
/var/audio/import
used for audio file imports via filesystem (aura#172).aura: Add default setting for
AURA_AUDIO_STORE_RECORDINGS
to the playoutsample.env
file.aura: Add audio targets for the Makefile to start and disable PulseAudio.
aura: Add optional engine-recorder profile to aura-playout.
aura: Add an log file for NGINX, aura-web (#147).
aura: Documentation: Add more details to the Radio Station Administration chapter.
aura: Documentation: Add chapter on deleting and deactivating users in the User Guide.
aura: Documentation: Add more info on switching between releases to the Administration Guide.
aura: Add directories to
logs
andaudio
to avoid permission errors (#209)steering:
Image
concrete model to handle all instances.steering: API endpoint
/api/v1/images/
to add, update and delete images.steering: Add
Host
admindashboard: a new show selector to the navbar (#122, f9762d85).
dashboard: a new image picker that can be used to upload new and select existing images (#89, #139, e0fd0a76, b335d801, 57e1e10f).
dashboard: ability to add internal notes to a show (#146, 319cf540).
dashboard: information on empty slots between shows and a progress indicator for the currently playing show
dashboard: to the calendar day-view (#155, 9ac48a55, 2a68a7ac).
dashboard: a progress indicator for the currently playing show to the calendar week-view (#156, b52672dd).
dashboard: ability to add and remove individual contributors to the show notes based on the show owners (#170, #146, aa707763).
dashboard: ability to add tags to show notes (#146, 560d8dda).
engine: API responses from Steering and Tank are now cached in
cache_dir
engine-api: Test coverage (
make coverage
#40)engine-api: Badge displaying coverage result (#40)
Changed
aura: Update sample configuration files for services in
config/service/sample-config
.aura: Rename environment variable
AURA_ENGINE_SERVER_TIMEOUT
toAURA_ENGINE_SERVER_TIMEOUT
in playoutsample.env
.aura: Increase default value for
AURA_ENGINE_SERVER_TIMEOUT
in playoutsample.env
, to avoid malfunctions when idle (aura#165).aura: Documentation: Update Contribution Guidelines and Coding Conventions in the Developer Guide.
aura: Documentation: Extend section for developers on performing releases.
aura: Change
/trackservice
endpoints to/engine/api/v1/trackservice
and/engine/api/v1/trackservice/current
according to API namespace conventions (aura#190).steering: The
Host
,Note
,Show
models & serializers reference the newImage
.steering: The
logo
field in theShow
model is a reference toImage
.steering: The “conflict resolution” methods of
Schedule
are now service functions.steering: Update all APIs to return attributes / properties in camelCase notation (aura#141)
steering: Use
_id
suffix for all object reference in REST APIs (aura#166)steering: Use blank strings instead of nullable strings in REST APIs (aura#167)
steering: Upgrade Poetry dependencies and Django to the next LTS version (steering#137)
dashboard: The timeslot overview has been fully revised (4ef88279).
dashboard: The timeslot show notes editor has been fully revised (#141, 57e1e10f).
dashboard: Past schedules are now hidden in the show manager (#120, 8cd743de).
dashboard: Schedules are now shown with their respective start and end date (#121, f9dc6fef).
dashboard: The calendar day-view has been fully revised (#155, 9ac48a55, 2a68a7ac).
dashboard: The slots in the calendar week-view have been from 30 to 15 minutes to make it easier to
dashboard: create shorter slots (#151, 3fc47383).
dashboard: Very short timeslots in the calendar week-view now take up less space (#151, 3fc47383, bfe7f813).
dashboard: Show start and end time in calendar tooltip if the event is too short to render it as content (#173, cf5ac12e).
dashboard: The show manager interface for editing the show details has been overhauled, changing the overall appearance
dashboard: and the way some of the fields are edited (db7dc49d).
dashboard-clock: Provide properties in API schemas in CamelCase notation (aura#141)
engine: Provide properties in API schemas in CamelCase notation (aura#141)
engine-api: Make properties in API schemas in CamelCase notation (aura#141)
engine-api: Avoid deprecation warning by replacing JSON encoder (#35)
engine-api: Change HTTP status codes (204 No Content) for successful but empty POST/PUT responses, adapt tests (#5)
engine-core: Make properties in API schemas in CamelCase notation (aura#141)
engine-core: Configuration: Renamed environment variable
AURA_ENGINE_SERVER_TIMEOUT
toAURA_ENGINE_SERVER_TIMEOUT
engine-core: and configuration setting
telnet_server_timeout
toserver_timeout
.engine-core: Configuration: Increase default value for
server_timeout
, to avoid malfunctions when idle (aura#165)
Deprecated
aura: Nested API endpoints in Steering and Tank are now deprecated. Compare the specification at api.aura.radio
Removed
steering: The abstract
ModelWithImageFields
from the program models.steering: The
ThumbnailsMixin
from the program serializers.steering: The abstract
ModelWithCreatedUpdatedFields
from the program models.dashboard: Non-functional nav button to broadcast management on show detail page (#133, e4083e66).
engine: Remove mail service as it will be replaced by Prometheus monitoring (engine#109)
Fixed
aura: Fix an issue where
make aura-user.add
causes an unrelated Python error, raised from another command (#183).aura: Fix the location of the Docker Compose bundles in the README.
aura: Fix an issue where
/trackservice
was not reachable (#159).aura: Fix an issue where some settings in the
.env
and.yml
where not applied correctly (#160).aura: Fix an issue with the
aura-playout
targets in the Makefile (#168).aura: Documentation: Replace old “meta” repository references with “aura”.
steering: use kebab-case in URLs
steering: don’t output invalid PPOI format
steering: note image should allow null values
steering: don’t force REST API consumers to set
repetition_of
for timeslotssteering: The timeslot generation leaves the
last_date
unset if it is null.steering: Note.tags attribute not updated via API (steering#157)
steering: make subtitle field in Category a CharField
dashboard: Navigation would sometimes freeze, after an application error in the playlists view (#132, e4083e66).
dashboard: Calendar would sometimes crash if playlist data is missing (#132, a3e8e3b0).
dashboard: Switching between the weekand day-view in the calendar no longer squishes the week-view (#153, e28eb4f7).
dashboard: The calendar uses entire viewport height now (#154, 4c90f277).
dashboard: Users are now able to create a timeslot in a calendar week slot that has already started (#167, 3d4e9b28).
dashboard: HTML in the show title, short description and description is now correctly rendered (#129, 649b4c0b).
engine: Fix an issue where the Engine version is displayed in the logs wrongly
engine-api: Fix an issue where the configuration file is overwritten in the
make init.dev
targetengine-api: Fix an issue where the Docker Compose healthcheck failed (#39)
engine-api: Fix broken endpoint
/trackservice
(aura#185)engine-core: Telnet server sample config not working (engine-core#45).
engine-core: Extend and improve output for
make help
.engine-recorder: Fixed a bug where the recorder would not start when trying to record a web stream (aura#182)
[1.0.0-alpha1] - 2023-03-02
Initial release.