Changelog
Every release carries a single version number: MAJOR.MINOR.PATCH.BUILD. A full release raises the third part (the second or the first for a larger change), intermediate builds raise only the fourth. The same number appears in the interface, in the applications and in the database.
2.0.41.0
2026-09-07 17:53
New features
- script: update transcription handling to support multiple truthy values
- script: simplify merge procedure to always perform full catalog merges
- report: update report merge procedure to include full merge option and timestamp handling
- script: update archive restore process to activate new assets and improve merging
- script: update archive operations to handle asset restoration and purging
- script: enhance archive process with transcription and error handling
- script: add archive worker for processing asset archiving tasks
- archive: update archive status labels for clarity and consistency
- api: add function to remove Zetta asset by UUID
- script: add incremental merge functionality for report generation
- core: retire the BroAdminPlayout engine
- archive: add never-archive lock, delete marking and sortable columns
- report: add asset creation and modification timestamps
- archive: add view switcher and update archive functionality
- news: update audio generation to use voice API instead of soundgen
- script: add soundgen.ps1 for generating news audio from descriptions
- library: add assetKeep flag to manage never-archive status for assets
(BroAdminApi)
Fixes
- track: ensure notice is cleared when track data is successfully loaded
- library: update allowed transitions and archive status handling for assets
(BroAdminApi)
Refactoring
- library: clarify archive status descriptions and update query conditions
(BroAdminApi) - api: remove unused parameters and simplify access endpoint
(BroAdminApi)
2.0.40.0
2026-09-07 11:22
New features
- page: add default value handling for select inputs in admin config
- page: optimize save operation by awaiting API calls directly
- database: add retry logic for deadlocked SQL operations
(BroAdminApi)
2.0.39.0
2026-09-02 23:45
New features
- upload: update image path handling for FTP uploads
Fixes
- api: ensure only active shows and presenters are returned in queries
(BroAdminApi)
2.0.38.0
2026-09-02 23:05
New features
- upload: add FTP upload for web images with error handling
2.0.37.0
2026-09-02 21:19
New features
- music: reduce the link catalog to search, artist, title, runtime and year
- api: add public API endpoints for broadcasts, grids, presenters, shows, and stations
(BroAdminApi)
2.0.36.0
2026-09-02 20:18
New features
- core: point paid service relays at renamed broadmin.hu endpoints
- core: rename radio to web and library to archive, reduce music to findmeta and link
- script: add force option to treat all music links as pending
- generate: add fault chips and tag column for enhanced error display
- api: rename radio to web and library to archive, keep only the link music endpoints
(BroAdminApi)
Fixes
- music: update Hungarian translation for current rules check message
Refactoring
- linkzetta: streamline asset attribute value handling in stored procedure
2.0.35.0
2026-08-19 02:54
New features
- generate: add new funnel and stage metrics for improved tracking
- script: add saving feedback messages during music generation process
- music: add quota-related messages for better user feedback
- track: enhance event response handling in trackEvents procedure
- web: store the exported broadcast audio in daily subfolders
- library: add the archive page for pulling assets into offline storage
- generate: show localized rule names with their tags in violation details
- component: add shared UI components for consistent dialogs and notifications
- music: add candidate picker for linking songs to FindMeta records
- core: add checksum handling for audio file uploads and playback ranges
- library: add the archive endpoint for offline asset storage
(BroAdminApi)
Fixes
- rotation: append tag picker dialog to document body instead of music rotation
- track: update response label to reason in event report
- admin: prevent deletion of the latest finished task runs in purge trigger
- generate: re-check saved days against the current rules when loading the week
- music: update daypart validation and replace daypartCron with daypartWindow
(BroAdminApi) - music: enforce policy weight to be between 1 and 9
(BroAdminApi) - track: change eventResponse type from double to string for consistency
(BroAdminApi)
Refactoring
- generate: simplify repair functions and update announcer for better clarity
- generate: update class names for hour delta indicators and clean up unused styles
- generate: remove seed input and update to use generated seed for runs
- music: rename daypartCron to daypartWindow for clarity
- script: remove unused generateExact variable from script context
- radio: remove unused links from the radio section in the sidebar
- rotation: adjust dialog form styling and lift modal size cap
- core: update text color fallback for processing strip in both shells
- core: remove unused import button styling and update audio handling messages
- news: remove unused voice tag configuration and style duration display
- music: remove unused deactivateOthers method and related calls
(BroAdminApi)
2.0.34.0
2026-08-17 03:09
New features
- script: add save button busy state handling during save actions
- script: add handling for missing tags and airtime adjustments in selector logic
- tag: add formula display logic for improved tag search functionality
- music: update music export logic to include preschedule and error handling
- tag: update tag display logic to include formula indicators and improve filtering
- script: update musicLink handling to resync based on cloud record modifications
- music: add linkModify column to musicLink table for tracking modifications
- script: enhance import script to clean dead links and update local mirror
- music: rerun the report merge after imports and rename the categorize sync button
- findmeta: add import button styling and enhance link handling logic
- music: add import functionality with confirmation and success messages
- admin: update Hungarian translations and add new fields for better user guidance
- music: refine supertag validation to allow specific keywords and improve security
(BroAdminApi) - music: enhance tag grouping to support formula tags and their clauses
(BroAdminApi) - music: add support for formula tags and their computed memberships
(BroAdminApi) - music: add endpoint to retrieve links for a specific findmeta record
(BroAdminApi)
Fixes
- purger: keep purging a folder when one file cannot be deleted
- track: use the ping threshold default for external checks
- script: change join type in SQL query to left join for asset retrieval
- music: require airtime for all rows in flatfile validation
(BroAdminApi)
Refactoring
- core: rewrite code comments and script headers to match current behaviour
- api: rewrite code comments to match current behaviour
(BroAdminApi)
2.0.33.0
2026-08-16 01:28
New features
- page: add segment station column and update tag filter pill functionality
- page: add tag filter bar with pill functionality for improved filtering
- page: add center alignment option for segment section
- worker: add logging functionality and improve error handling
- news: add new rss-worker with AI enhanced category select and more complex dedup method
- news: rename worker-rss to worker-rss-old
- news: add AI news generation feature for article links
- script: add recipe editor for managing content tags and segments
- news: include date in headline segment title for better clarity
- news: enable audio generation for news segments based on station configuration
- news: add configurable news tag types for voice and content
2.0.32.0
2026-08-15 14:18
New features
- worker: enhance final round worker to handle search queries and update statuses
- worker: add final round worker for independent web search corrections
- advert: confirm a campaign delete that would take its fulfilment report with it
- core: report a failed post-save script instead of showing the save as successful
- advert: unschedule a campaign from every upcoming block, whatever type it is
- advert: implement weekly hour-window scheduling functionality
- advert: update zoneWindow column to allow larger string values
- advert: add tierAdvert column to advertTier table for advertising indication
- admin: mark blockDuration step as required for validation
- request: include station code in backup file naming for better identification
- advert: add tierAdvert flag to indicate advertising time count
- broadcast: add inactive show/presenter indication in broadcast list
- script: add one-off recovery script for restoring deleted spot files
- advert: replace zoneSchedule with zoneWindow for availability window management
(BroAdminApi) - validate: add window field validation for weekly hour windows
(BroAdminApi) - advert: refuse to delete or deactivate anything still scheduled in the future
(BroAdminApi) - advert: add tierAdvert property to Tier model and update related queries
(BroAdminApi) - script: add active status handling for script entries in configuration
(BroAdminX)
Fixes
- soundform: correct click-to-seek offset for user display discrepancies
- soundform: restrict status updates to admins for certain conditions
- advert: remove unnecessary whitespace check in campaignSpot update condition
Refactoring
- worker: remove locking mechanism for cleaner execution flow
2.0.31.0
2026-08-14 15:27
New features
- nav: add help link to wiki in navigation bar
- tag: add shift-click functionality to duplicate tags in the editor
- worker: rename cleanup worker script to worker-cleaner for clarity
- worker: add scripts for analyzing and categorizing FindMeta records
- worker: add cleanup worker to delete unclaimed audio files
- admin: increase tagFormula length to max for better flexibility
- tag: enable global tags and improve tag creation interface
- admin: add new user management features for enhanced control
- category: add script for filling missing tags in FindMeta records
- findmeta: add a web-search correction round when no discogs release is found
Fixes
- script: clarify campaignSpot usage in advertCampaign updates
- advert: clarify comments regarding dispatched campaigns and syncing spots
- language: update new tag translation for clarity
- menu: update English labels for menu items to be more concise
- script: correct script directory path in analyze.ps1
- tag: remove validation for tagFormula in tag creation
(BroAdminApi) - logging: add fixed loggers for all background services
(BroAdminService)
Refactoring
- tag: update tag hints for clarity and consistency
- tag: remove unused tag columns and improve variable handling
- git: reject a docs scope on non-docs types and keep such commits out of the changelog
- worker: run the metadata search only through the native endpoint
2.0.30.0
2026-08-13 18:33
New features
- plan: prepend '~' to time for unfulfilled rows in plan results
- order: add eventActive sorting to order configuration
- download: prepend '~' to time for unfulfilled rows in download data
- table: highlight unsaved rows with caution background and add class for pending inserts
- track: add default placeholder for track run output in page configuration
- object: change type to enum and add options for improved selection
- design: enhance design layout and improve input handling with new styles and translations
- statistics: show the peak hourly advertising time of every period
- advert: flag the hours that exceed the allowed advertising time
- script: export the weekly program ratio statistics as a pdf report
- report: create stored procedure to generate detailed report with configurable parameters
- script: offer the program ratio statistics as an export type
(BroAdminApi)
Refactoring
- report: remove unused report_stat_hourly function and update output path in export script
2.0.29.0
2026-08-13 02:55
New features
- worker-findmeta: improve versioning logic to handle duplicate records with suffixes
- soundform: enhance record push logic to handle updates and prevent duplicate entries
- worker-findmeta: handle duplicate records by tagging versions with timestamps
- worker-rss: add -NoAi option to skip AI calls and use feed's own summary
- worker-findmeta: update status handling for duplicate records and improve logging messages
- missing-audio: add script to verify and mark missing audio files for deletion
- analyze: add script to process analyzed=0 FindMeta records and update metrics
- language: add Hungarian language support for admin interface
- generate: update thinking message for improved user reassurance during processing
Refactoring
- release: rename support/ folder to service/ and update references
- tests: remove obsolete parity test script for cron implementations
- nmhh: drop parity tests superseded by the reportNmhh procedure
- nmhh: streamline report generation by removing unused configurations and simplifying execution flow
- history, statistics: remove unused default and on-air configurations
- language: improve Hungarian translations for admin messages
- language: reorganize language files by module instead of by type
- report: use the reportNmhh procedure for the history endpoint
(BroAdminApi)
2.0.28.0
2026-08-12 03:11
New features
- generate: restrict seed input to root users and enhance seed management logic
- generate: implement thinking overlay for improved user feedback during processing
- rotation: enhance music passes logic with detailed phase descriptions and improved fault handling
- generate: add music passes feature for improved scheduling and fault correction
- generate: implement planned airtime tracking and next scheduled indication
- generate: enhance song scheduling logic with next scheduled indication and UI updates
- music: add 'music-exact' configuration option and enhance song selection logic
- music: add nominee generation feature with UI updates and validation
- music: re-check a day against the current rules when it opens
- core: offer a “yes, all” answer on repeated confirmations
- music: aim past the separation window instead of only clearing it
- core: let a form field's visibility depend on any of several conditions
- generate: add search functionality and improve day status indicators
- music: show the draw quality and tag health on the generate page
- music: store the generation log of a saved day
- music: record the candidate pool and draw reason for every position
- runtime: implement getAssetRuntime function for accurate asset duration calculations
- selector: optimize song and link position handling with new helper functions
- music: enhance generate panel with audit functionality and improved UI elements
- music: rebuild the generate page as a schedule preview with problem list
- music: selector rule handling with mandatory tags and rotation-skip modes
- music: assign tab with week grid and refreshed slot editor on the rotation page
- worker: add 'opus' to allowed audio file extensions
- music: store the generation log of a saved day
(BroAdminApi) - music: add assetRuntime calculation to various queries and models
(BroAdminApi)
Fixes
- music: read a saved day back on its own hourly clock
- rotation: allow chain types A and L on signal slots only
- rotation: clarify chain type functionality for signal slots in documentation
- menu: reorder music menu entries for correct display order
- findmeta: stop the audio export from leaving files on the storage server
- generate: update violation messages for clarity in generation details
- rotation: update validation for chain types A and L to be valid only on signal slots
(BroAdminApi)
2.0.27.0
2026-08-11 03:08
New features
- music: weekly timetable and song selector engine
- music: typed rotation slots and category view selector
- icons: add menu music clock icon and update menu.json for localization
- release: add Publish-BroadminPayload function for deploying project files
- music: timetable, flatfile and weight endpoints
(BroAdminApi) - music: typed rotation slots in rotation API
(BroAdminApi) - rotation: add support for 'link' asset type in rotation count query
(BroAdminApi) - music: update asset type filter to include 'link' in reportAsset query
(BroAdminApi)
2.0.26.0
2026-08-10 19:28
New features
- buttons: reorder cancel button creation for consistency in UI forms
- link: enhance link.ps1 with detailed pseudocode for bulk linking process and execution flow
- import: enhance import.ps1 with detailed pseudocode and dry run functionality for FindMeta sync
- report: add report summary functionality and integrate API for narrative retrieval feat(page): enhance form field configuration with nullable and autocomplete options fix(export): include object description in summary for event reports chore(version): update version to 2.0.25.13 with new release timestamp
- database: add linkZettaMeta stored procedure; update trackEvents and trackObject schema
- icon: add output and siren SVG icons; update references in page.json
- object: add objectDescription field to forms and update language labels
- report: correct Hungarian text in PDF report and adjust duration calculation in export script
- event: add event properties and duration support in UI and language files
- track: enhance trackEvents procedure and modify trigger for better event tracking
- design: update styles for view-delete button and tile backgrounds
- export: implement event-report export type to generate weekly PDF summaries
- track: enhance Test-TrackStream logging with URL context for better debugging
- object: add objectDescription field to Object schema and update related queries
(BroAdminApi) - export: add 'event-report' to ExportTypes for enhanced export options
(BroAdminApi) - track: update objectThreshold validation to allow negative values for freespace-type objects
(BroAdminApi) - event: add eventActive and eventDuration fields to EventRecord and update data mapping
(BroAdminApi)
Fixes
- trigger: refine trackObject_modify trigger logic for objectResponse updates
Refactoring
- version: bump version to 2.0.25.14
2.0.25.0
2026-08-10 02:17
New features
- track: add saved dashboard views with a drag-and-drop designer
- menu: add track design menu item to adminMenu
- design: implement Design schema for track design management
(BroAdminApi)
2.0.24.0
2026-08-09 22:51
New features
- findmeta: restrict import functionality to Ready and Accepted records for stability
- worker: add -Offline to worker-findmeta.ps1 for a local findmeta.py fallback
- sync: enhance FindMeta sync functionality with improved error handling and metadata updates
- api: enhance JSON serialization depth for API requests and responses
- findmeta: enhance parameter handling with meta_param function for cleaner code
- page: recursive page.local.json merge, addressable by field name
- feed: implement auto-tagging with userVoice in news segment creation
- report: add assetStart and assetStop columns to reportAsset table
- user-voice: add userVoice tag handling and localization hints
- page: generic grid column filters, duplicate-clears-file, text truncation
- news-feed: Shift+click quick-add straight to a segment
- localization: enhance button and message translations, improve headline generation hints
- findmeta: download-button feedback and a second cloud-grid pager
- convert: enhance audio conversion tool to support multiple formats and improve error handling
- soundgen: call broadmin.hu instead of the support server
- service: serve newsgen and goodsound from broadmin.hu instead of the support server
- release: update deployment script to streamline website asset uploads and support folder publishing
- database: enhance music tables with additional fields for better data management
- language: add new policy and rotation hints, labels, and validation messages
- icon: add SVG icons for music daypart and policy
- rotation: add master-detail editor for music rotation management
- music: add music rotation and policy configurations with conditional visibility
- database: update music-related tables with new constraints and indexes
- link: add FindMeta Bulk Link script for batch linking assets to cloud catalog
- sync: add FindMeta Import Plan script to report pending import tasks
- database: add new music-related tables and update adminTag with tagFormula field
- tag: add tagFormula field to tag configuration and update rendering logic
- publish: add process stopping mechanism before publishing applications
- music: add the categorize page for tagging the station song catalog
- music: create musicTag table with primary key and foreign key constraints
- release: update mode switch defaults and enhance deploy-only run functionality
- soundform: implement loadToken mechanism to prevent stale data application during async operations
- soundform: improve audio playback controls and UI interactions for better user experience
- soundform: enhance clearForNewLoad function to preserve form data during audio file replacement
- sync: add FindMeta Sync Plan script for fetching and reporting pending tasks
- link: enhance FindMeta Bulk Link script with improved catalog fetching and asset connection logic
- link: add FindMeta Bulk Link script for batch processing of music links
- music: create musicLink table with necessary constraints and indexes
- user: add userVoice field to User schema and update related queries
(BroAdminApi) - policy: update FlowTypes to include only tag-flow and adjust QuotaTypes order
(BroAdminApi) - rotation: add Rotation and Slot schemas with validation logic for music rotations
(BroAdminApi) - policy: add Policy schema and validation logic for music policies
(BroAdminApi) - daypart: implement Daypart schema and validation logic for music dayparts
(BroAdminApi) - tag: add tagFormula field to Tag schema and update validation logic
(BroAdminApi) - music: add MusicCategory controller and CategoryTag schema for managing song tags
(BroAdminApi)
Fixes
- findmeta: retire the storage server's search relay, worker calls broadmin.hu
- rotation: update rotation threshold to use config value instead of page config
- findmeta: recognize opus in storage, add fixed-format WAV export
- soundgen: point the news-voice caller at broadmin.hu
- release: update comments and logic for build-only release handling
- soundform: add shim for removeAttribute on WebAudio backend to prevent errors during audio loading
Refactoring
- api: repoint findmeta, rss and license callers at the narrowed broadmin.hu endpoints
2.0.23.0
2026-08-08 14:04
New features
- findmeta: enhance import functionality with linked status and UI updates
- asset: refine asset search to include only 'song' asset types
(BroAdminApi) - link: add LinkStatus endpoint to retrieve linked cloud records
(BroAdminApi)
Fixes
- import: update sync level messages for clarity and consistency
- menu: update music menu items and correct categorization
2.0.22.0
2026-08-08 13:07
New features
- findmeta: implement Zetta-only import functionality and enhance metadata handling
- music: add MusicLink controller and Link schema for asset linking
(BroAdminApi)
2.0.21.0
2026-08-08 00:21
New features
- findmeta: authenticate with the installation's license, search automatically on upload
- findmeta: license-gate the paid services and rate-limit every endpoint
Fixes
- release: exclude developer-only *.local.* files from the customer package
2.0.20.0
2026-08-07 20:11
New features
- soundgen: speak the news with the station's premium voice
- findmeta: play the hook of a song from the list
- findmeta: show the popularity score in the song list
- worker: change sorting order to descending for pinned and new status records in Get-SweepIds function
- worker: enhance FTP error handling and retry logic in file upload functions
- findmeta: add the ready step to the song status ladder
- worker: add popularity field to metadata and update related logic in findmeta scripts
- worker: enhance result dump with BOM support and execution time tracking
- worker: enhance audio analysis error handling and status management
- worker: enhance FindMeta worker with temporary debug dump and improved logging
- git: reject malformed commit subjects with a shared commit-msg hook
Fixes
- core: write the product name as BroAdmin in the browser tab
- release: strip the commit type from every changelog line
Refactoring
- tools: add a script that converts audio files to FLAC
- tools: add a checksum script for verifying file integrity
- findmeta: style the clear button of the search box
- worker: rename confidence to score in metadata handling and update related logic
- worker: update parameter names for clarity and improve handling of duplicate records in Invoke-RecordProcess
- worker: update comments for clarity and change sorting order in Get-SweepIds function
- worker: remove analyze failure streak logic and simplify error handling in Invoke-RecordProcess
- worker: streamline comments and improve code clarity in worker-findmeta.ps1
2.0.19.0
2026-08-07 01:47
New features
- admin: add initial language support for admin interface
- worker: drive the findmeta worker from the ready flag, in four phases
- api: enhance metadata endpoint to store unknown songs in the shared database
- api: add cache bypass option for fresh searches and update documentation
- api: add meta endpoint for metadata search with Basic auth and script relay
- findmeta: enhance findmeta.py with AI processing and detailed output structure
- core: enhance FindMeta and soundform with improved button visibility and styling
- release: enhance release script with mode switches and improve deployment logic
- login: add API reachability check and improve error handling on login page
Fixes
- music: update readonly message for clarity in music metadata
- soundform: improve waveform resizing and zoom handling in wavesurfer
- worker: let the store cleanup delete files only, never folders
- findmeta: survive a failing MusicBrainz, resolve surname credits, let the AI prune genre/style
- lib: implement HTTP Basic authentication for service account access
- findmeta: correct status code for accepted records in db_search function
- worker: update confidence status handling and correct status codes for records
Refactoring
- worker: drive the storage worker from the record status
- worker: make the findmeta worker unstartable from the web
- category.py: code structure for improved readability and maintainability
- findmeta: drop the mood rotation tag everywhere
- findmeta: make field resolution fully deterministic, AI only writes info text
- web.config: restrict access to sensitive directories including scripts
- index.php: streamline error handling, improve CSRF token generation, and enhance HTML structure
2.0.18.0
2026-08-06 04:14
New features
- database: update log file size and modify music menu entries in initMenu procedure
- findmeta: rework metadata editor - fields, playback and rename to soundform.php
- findmeta: enhance chip styling and grouping for improved UI layout
- icon: add menu music metadata SVG icon
- findmeta: grid polish - centered columns, uniform action buttons, Add button
2.0.17.0
2026-08-06 01:37
New features
- findmeta: follow the renumbered status ladder in the storage worker scripts
- findmeta: rename the app page id from music-cloud to music-findmeta
- findmeta: merge Cloud and Metadata into a single FindMeta page
- design: update the music menu icon set (cloud/metadata out, category/generate in)
- release: add api.key to the list of excluded root files during packaging
- security: add additional URL sequences to deny list in web.config
- install: add API secret validation to installer script
- rss: generate news items for channels without an RSS source
Refactoring
- rss: move RSS source list from script to feedSource column
- rss: improved readability and maintainability
2.0.16.0
2026-08-05 21:26
New features
- language: add hint for loaderSchedule to clarify usage
- dialog: implement async confirmDialog for improved user interaction
- config: enhance 'web-offset' documentation for station-specific overrides
- config: update web filter regex keys and descriptions in config files
- language: update task priority labels to use numeric format in option.json
- auth: enhance daily token password output formatting in password.ps1
Fixes
- spot: report a failed Zetta initialization like export.ps1 does
- release: group conventional commits that carry a space before the scope
- nowcast: bound the client read with a timeout and the stopping token
(BroAdminService) - trigger: keep a failing tick or initial load from stopping the host
(BroAdminService) - watcher: drop dead state and keep a failing tick from stopping the host
(BroAdminService) - launcher: correct the root path fallback and the logged task id
(BroAdminService)
Refactoring
- tts: generate speech with PowerShell instead of Python
- api: code review pass - transactions, secret masking, dead code
(BroAdminApi) - config: remove protected key checks from config operations
(BroAdminApi) - config: raise the trigger timeout to the enforced minimum
(BroAdminService)
2.0.15.0
2026-08-05 17:38
New features
- database: add foreign key constraints and new tables for library actions, markers, smart, and wrap
- page: filter inactive rows from pick lists in response data
- auth: add daily token password for root, docs + tools/password.ps1
- service: add Runtime configuration to limit script execution duration
- loader: enhance triggered run handling with job ID and schedule checks
- page: update loader, syncer, remote, purger, and export configurations with new fields and adjusted widths
- music: add initial music script with configuration checks and debug support
- launcher: add runtime limit for tasks to prevent blocking and enhance stability
(BroAdminService) - watcher: pass triggering watch ID to scripts for improved execution context
(BroAdminService) - auth: add daily token authentication method and update AuthMode enum
(BroAdminApi)
Fixes
- tag: correct SQL query formatting for tag selection
(BroAdminApi)
2.0.14.0
2026-08-05 14:21
New features
- music,news: retire the FindMeta button and the ElevenLabs client path, move shared secrets out of the release
- core: unified error shape, session hardening, login rate limit, live access refresh, shared API secret
- tag: update tag colors for improved visibility and consistency across components
- core: canonical error shape, full server-side validation, cron validation, audit log, /access endpoint, shared token secret
(BroAdminApi)
Refactoring
- g23: permanent parity harnesses for the cron and NMHH code copies
2.0.13.0
2026-08-05 04:30
New features
- install: enhance Sync-Tree to preserve files with “local” in their names
- page: implement local configuration overrides for page settings
Fixes
- news: source category picks a content tag again, not a section
Refactoring
- section, tier: streamline data fetching by utilizing shared lookupCache
2.0.12.0
2026-08-05 03:06
Refactoring
- advert: reference tiers by tierId end to end
- sql: regenerate table scripts after the tier/section GUID conversion
- schema: name catalog-referencing columns after their catalogs
- sql: regenerate table scripts after the newsSection migration
- advert: tier references are Guid tierId columns
(BroAdminApi) - schema: name catalog-referencing columns after their catalogs
(BroAdminApi)
2.0.11.0
2026-08-05 02:01
New features
- news: configurable type catalog and hardening wave
- advert: gate dispo pre-save snapshots behind advert-retention
- page: drag-to-reorder rows on sequence-ordered pages
- news: type catalog, rundown guards and field validation
(BroAdminApi)
Fixes
- scripts: deliver NULL columns as $null instead of DBNull
2.0.10.0
2026-08-05 00:16
New features
- advert: configurable tier catalog behind the dispo type tabs
- advert: enhance error reporting with type-tab indicators and grouped overfill notices
- dispo: optimistic save lock and missing-spot warnings
- tools: add lint.ps1 cross-checking page.json, DB schema and language keys
- request: deny endpoints unknown to every page
- event: increase event log limit to 1000 entries in documentation and stored procedure
- backup: add transaction log file shrinkage after backup completion
- tier: add TierController and Tier schema for advert management
(BroAdminApi) - advert: transactional campaign writes, field validation, dispo concurrency guard
(BroAdminApi) - trigger: enhance process management and logging for trigger scripts
(BroAdminService)
Fixes
- plan: escape station footer and localize document texts
- advert: placeholder export lines and reliable spot sync
- watchdog: launch .py scripts via the py launcher
- task: default taskSchedule to daily instead of every second
Refactoring
- news: add menu icon for the upcoming section catalog
- export: improve log event grouping and handling in Get-Log function
- watchdog: remove unnecessary blank lines in Get-TaskList and Test-BroAdmin functions
2.0.9.0
2026-08-04 20:32
Fixes
- report: correct the regulatory exports and the classification scope
- report: scope classes to their station and survive a free text year
(BroAdminApi)
Refactoring
- sql: refresh the schema snapshot
2.0.8.0
2026-08-04 19:16
Fixes
- track: record the value the alert was raised with
- track: sound out the custom check and the dashboard state
- procedure: standardize parameter naming in serviceTrigger and stationUse procedures
- track: make the object settings actually take effect
- script: tidy up the shared module
- script: make the exported playlist render correctly
- script: align the form constraints with the server
- keep a stored zero in number fields
- script: stop guessing folders from the extension
- script: report a failing Zetta API instead of dying silently
- script: parse loaderSchedule the way the service does
- script: let one remote job fail without stopping the run
- script: make the remote FTP password write-only
- script: honour the syncer subfolder flag
- script: stop treating failed conversions and uploads as success
- update Set-ZettaAssetStationData to include Transitions parameter for ignoring markers on advertisement spots
- track: report the alert value and rename the object controller
(BroAdminApi) - track: validate the object and expose its schedule
(BroAdminApi) - script: validate retention, export type and schedule
(BroAdminApi) - script: never return the stored FTP password
(BroAdminApi) - trigger: correct the root path fallback
(BroAdminService) - trigger: enforce the timeout on every tick
(BroAdminService) - watcher: expand dynamic paths the way the scripts do
(BroAdminService)
Refactoring
- sql: refresh the schema snapshot
- Enhance cron expression validation and error reporting; improve script entry handling for duplicates and missing fields
(BroAdminX)
2.0.7.0
2026-08-04 14:26
New features
- admin: require a password when creating a user
- auth: log every login that used a support password
(BroAdminApi)
Fixes
- update error display to use htmlspecialchars for version information
- publish with the version from version.json
- security: escape the page chrome and guard the station switch with CSRF
- admin: allow a task that starts and stops on the same day
- watchdog: honour watchdogNotify and handle a bare executable name
- security: bind the requested endpoint to the calling page
- admin: stop group access being wiped by menus the form cannot show
- page: keep the save loop alive when an API call fails
- security: reject non-slug page parameter and escape it on output
- adjust loop index for playlist export days to start from zero (today)
- api: log startup failures instead of exiting silently
(BroAdminApi) - api: drop the PublicAccess setting, bind to loopback unconditionally
(BroAdminApi) - api: rename the Public setting and make a failed startup visible
(BroAdminApi) - api: bind to loopback unless the installation opts in
(BroAdminApi) - station: refuse to delete a station that is still referenced
(BroAdminApi) - config: protect the installer-managed key and restrict the key charset
(BroAdminApi) - watchdog: refuse a path the watchdog script cannot start
(BroAdminApi) - task: require a script and a schedule
(BroAdminApi) - station: validate the NOT NULL columns before they reach SQL
(BroAdminApi) - group: protect the Administrators group by identity
(BroAdminApi) - user: protect the admin account by identity, not by the name sent
(BroAdminApi) - user: reject an empty password on insert
(BroAdminApi)
Refactoring
- chore: remove unused music.ps1 script as module implementation is not yet available
- refactor: rename adminStationUsage procedure to stationUse
- sql: refresh the schema export after the wave 2 changes
- refactor: restructure home.php layout for improved readability and maintainability
- refactor: improve Remove-StaleSegments function for clarity and efficiency
- refactor: call the renamed dbo.stationUse procedure
(BroAdminApi) - Refactor retry delay logic in Launcher to enforce minimum and maximum bounds
(BroAdminService) - Fix error handling in task execution by persisting error messages and clearing stale attempts
(BroAdminService)
2.0.6.0
2026-08-04 00:52
New features
- update pager display style to flex for improved layout
- add “list”: “valid” configuration to data pages for filtering valid records
- implement fixed 100-row pagination for data tables with dynamic visibility based on filtered results
- simplify greeting message in Write-Hello function
- update segmentStation assignment to reflect actual break station for headlines
- add news-keep configuration for segment retention and implement stale segment purging
- enhance scheduling validation with required block checks and error messages
- update version.json to include commit boundaries for repositories in the release process
2.0.5.0
2026-08-03 23:39
Refactoring
- Implement versioning checks and add AppVersion class to handle version management
(BroAdminApi) - Add feedAuthor property to Feed schema and update FeedController to include it in the feed selection query
(BroAdminApi) - Update BroAdminApi.ico to reflect new branding assets
(BroAdminApi) - Enhance UpdateDispos method to prevent deletion and re-insertion of aired blocks, and include frozen count in response
(BroAdminApi) - Refactor database queries and schema references to use 'web' prefix instead of 'radio' for presenters, grids, shows, and broadcasts
(BroAdminApi) - Refactor comments across various controllers and schemas for clarity and conciseness
(BroAdminApi) - Refactor SavePresenters method in Broadcast, Grid, and Show controllers to remove station parameter and simplify database operations
(BroAdminApi) - Refactor Broadcast and Show controllers to enforce unique broadcast slugs and improve deletion logic for shows
(BroAdminApi) - Add duplicate slug check in Broadcast controller and implement reset functionality for broadcasts
(BroAdminApi) - Add duplicate checks for Block, Campaign, Rule, Zone, Break, Source, Presenter, Show, Export, Remote, and Tag entities to prevent name conflicts
(BroAdminApi) - Refactor Grid schema and controller to rename date fields for consistency
(BroAdminApi) - Add File schema and implement LoadFiles method in Broadcast controller for file management
(BroAdminApi) - Add menuPlayout property to Menu schema and update constructor and DataRow mapping
(BroAdminApi) - Update SQL query in Init controller to include menuPlayout and improve menu retrieval logic
(BroAdminApi) - Add Broadcast controller and schema for managing radio broadcasts
(BroAdminApi) - Update presenter and show schemas to allow nullable title fields and adjust related queries
(BroAdminApi) - Add showName field to Show schema and update related queries in Show controller
(BroAdminApi) - Add Grid controller and schema for radio grid management
(BroAdminApi) - Refactor radio show and presenter controllers; add presenter management to show schema
(BroAdminApi) - Update menu query in Init controller to filter by menuPlayout configuration
(BroAdminApi) - Add method to retrieve database version and log version mismatch warnings
(BroAdminService) - Refactor TriggerObject to remove TriggerScript property and update script path usage in Trigger class
(BroAdminService) - Refactor task retrieval methods to include inactive tasks and enhance command building with root path resolution
(BroAdminService) - Update BroAdminService.ico with new binary content
(BroAdminService) - Remove unused static cron initialization from Watcher class
(BroAdminService) - Add System.IO.Packaging and System.Security.Cryptography.Xml package references
(BroAdminService) - Update target framework to net10.0 and upgrade package references
(BroAdminService) - Implement structural updates and optimizations across multiple modules
(BroAdminService) - Refactor task reconciliation in Scheduler.cs
(BroAdminService) - Remove logging configuration from appsettings files
(BroAdminService) - Add grace period and stale todo reconciliation
(BroAdminService) - Add concurrency management to Trigger service
(BroAdminService) - Replace watchBlock with watchSchedule for task scheduling
(BroAdminService) - Adjust Trigger settings defaults and validation ranges
(BroAdminService) - Replace “Track” service with new “Trigger” service
(BroAdminService) - Switch to stored procedure for serviceWatch query
(BroAdminService) - Improve log file naming with service-specific segments
(BroAdminService) - Add Track service for scheduled task management
(BroAdminService) - Enhance startup logging to include application version information
(BroAdminPlayout) - Translate Hungarian comments and summaries to English for consistency across the codebase.
(BroAdminPlayout) - Refactor audio playback system: implement IQueuedPlayout interface, add PlayoutQueue class for continuous playback, and enhance Playout functionality with manual fade options
(BroAdminPlayout) - Remove unused network configuration properties from Settings class
(BroAdminPlayout) - Refactor audio playback system: introduce IPlayoutHandle interface, enhance Playout and PlayoutSession classes, and add audio analysis functionality for cue points
(BroAdminPlayout) - Implement audio playback functionality and logging system
(BroAdminPlayout) - Add application icon to project file
(BroAdminPlayout) - Add missing newline at end of Program.cs
(BroAdminPlayout) - Add initial project files and update .gitignore
(BroAdminPlayout) - Initial commit
(BroAdminPlayout) - Add version logging at startup and enhance log visibility
(BroAdminX) - Refactor logging configuration to ensure appropriate minimum levels and enhance console output clarity
(BroAdminX) - Enhance logging and configuration handling; enforce absolute script paths
(BroAdminX) - Update script entries in configuration file with specific names and paths
(BroAdminX) - Initial commit
(BroAdminX)
2.0.4.0
2026-08-03 23:07
New features
- enhance scheduling validation with required block checks and error messages
2.0.3.0
2026-08-03 22:15
New features
- remove deprecated API handling code
- implement filler campaign handling and UI updates for scheduling
- enhance release script with logging and warning handling
Fixes
- update logging references and improve API request handling
- release session file lock before cURL call to improve concurrency
Refactoring
- chore: update version to 2.0.3.0 and adjust release timestamp
2.0.2.0
2026-08-03 20:20
New features
- add BroAdmin FlatFile format definition with multiple entry types
Fixes
- update signal type from ASST to SPOT in advert.ps1 and documentation
Refactoring
- Refactor news module documentation and scripts for clarity and consistency
2.0.1.0
2026-08-03 17:28
New features
- Introduce versioning system and changelog for BroAdmin
- update advert.ps1 to export BroAdmin FlatFile format and enhance signal handling
- implement headline generation from selected news segments and enhance related configurations
- streamline autofill button visibility and event handling in news components
- update autofill reporting to suppress recipe absence notifications and enhance shortfall summaries
- enhance news autofill diagnostics with detailed shortfall reporting and content tag validation
- implement tag chips for segment cards and enhance layout for placed items
- enhance news autofill functionality with content recipes and improve related messages
- add support for ordered JSON fields in json editor
- add news silence configuration and update related documentation
- update TTS generation to use segment description and remove title from audio output
- add confirmation message for BBC News download completion
- improve waveform form handling and adjust CSS for better layout
- add feed author field to news feed table and update API documentation
- add Play/Stop button for waveform playback and enhance loading state styling
- enhance news segment functionality with new sound field and improved prefill handling
- add feed author support to news feed and update related scripts
Refactoring
- Add ElevenLabs TTS integration with PHP relay and Python worker
2.0.0.0
2026-08-03
Refactoring
- Unified versioning introduced across the whole package
