The long-awaited release of KMC Control Panel v3.1.0 has arrived!
The following is a complete list of changes included in KMC Control Panel v3.1.0:
Major new features
- Added support for LiquidSoap as an autoDJ. LiquidSoap provides most if not all of the features of sctrans2 and ices-cc (supporting AAC/MP3/Opus on both SHOUTcast v2 and IceCast), and is free and open-source.
- Added new AJAX-based paginated accounts list in the admin and reseller control panels.
Minor new features
- Warning emails are now throttled when a server/source repeatedly fails to start
- Added pre-rotate-logs and post-rotate-logs event notifications
- Added support for viewing gzipped log files in log manager
- Added warning when setting DNAS/DNAS2 "disconnect idle sources after" setting to 0
- Added the server.authenticate API method
- Add PluginHooks::register_once() to avoid duplicate callback registrations
- Added NO_ROTATE_DNAS2 option to kmc-panel.conf to prevent KMC Control Panel from rotating SHOUTcast DNAS v2 log files
- Metadata charset is now configurable per-mountpoint
- The cron job's --job parameter now optionally supports multiple, comma-separated job names
Improvements
- Substantially optimized communications between web interface and control daemon
- Moved all caching options to caching.conf
- Exclude 1-second-or-less sessions from statistics
- Requests with non-200 result codes are no longer included in visitor sessions
- Configure DNAS2 to open legacy v1 source ports for each mount point
- Display an error if the user activates the autoDJ but disables it for all mount points
- Log manager now hides logs that KMC Control Panel has no permissions to view
- Added flag images for several special-purpose IP locations that may be returned by GeoIP
- Break long/bogus user agent strings to avoid stretching page
- Do not overwrite admin-specified absolute log paths
- Increased default database optimization interval from 5 to 7 days
- Removed legacy (v2) diagnostics script which could generate false problem reports under v3
- Search for custom/ in both theme/templates/ and system/templates/
- Do not populate sample passwords on new account form
- Set UTF-8 charset in content-type header for JSON API responses
Fixes
- Cron job now records start/complete time for logrotate job
- Fix bug in which 'unlimited' values provisioned via API might not be honored
- Fix port conflict detection issues when using API provisioning
- Fix regression in installer
- Fix regression breaking backups, introduced by new libzip version
- Fix server type display issue when creating/editing accounts
- Fixed SelectSlider bug when multiple sliders coexist on page
- Fixed WHMCS module username generation issue with non-Latin client names
- Fixed bug in which last day of month may not be included in CSV reports
- Fixed bug in DJ account private FTP folder deletion
- Fixed bug in resetadminpassword script
- Fixed bug in which DJ usernames could overlap stream usernames
- Fixed bug in which IceCast would continue trying to process a file after determining it was missing
- Fixed bug in which disabled DJ accounts could still log in
- Fixed bug in which port reservations might not always be calculated correctly in the UI
- Fixed bug in which the same DJ username could not exist for different stream accounts
- Fixed bug in which, if a server/source process was unresponsive when stopping the stream, it would not be forcibly killed by KMC Control Panel
- Fixed disk/bw usage column names that were incorrectly documented in WHMCS module SDK
- Fixed display bug with templates set to "Hosted on: Automatically choose best"
- Fixed display issue with admin accounts in sessions list
- Fixed duplicate account bug when restoring backups with --overwrite
- Fixed errors in web-based uploader with certain filenames containing non-Latin characters
- Fixed potential error in statistics imported from v2
- Fixed potential streamid mismatch in sctrans2 configuration files
- Fixed reference to nonexistent server object in use-server-no mode
- Fixed regression in passing arguments to event scripts
- Fixed regression in which accounts could not be reparented to 'admin' upon deletion of a reseller
- Fixed selection detection bug in list editor