We are happy to announce that Gerbera Media Server 2.0.0 is now available.
This release is a new major release and contains two noteworthy changes.
The JavaScript integration has be overhauled to simplify the process of providing additional layout scripts.
If you created copies and modified that code to you purpose, you may have to update your code to the new interfaces for import functions.
In case you activate the new JavaScript folder loading mechanism by setting the respective config options,
ensure that no older scripts are still in the script folders.
This release also introduces the configuration of virtual layout, you can translate the container titles or hide containers you don't use.
Of course such a change requires a rescan of the library. The options for structured audio layout have been redesigned, so you need to migrate
them to the new <box-layout ../>
. Run gerbera with --create-config
to get the defaults for the new section.
The second major change is the new staged import mode (grb
) which is not activated by default. The default import mode (mt
) handles each file completely,
i.e. the physical file is read and the virtual layout is created in one go. The new grb-mode first reads all files, second creates the phyiscal
structure and finally runs the layout functions on the physical items. The benefit is that the after an update to the file the original object can be updated
instead of deleted and recreated like before.
NEW Features
- Staged importing that allows updating the virtual layout instead of deleting and recreating it each time (
import-mode="grb"
) - Config options as command line arguments (
--set-option OPT=VAL
with--print-options
) - Allow configuration of
follow-symlinks
per autoscan directory - Configuration of containers in virtual layout: title can be changed, some nodes can be disabled
- New mode of loading Javascript plugins with cleanup of global variables
- Generation of example configuration via command line option
--create-example-config
- Case insensitive sorting for databases
- New config options for URL handling and host redirection
- Use
.nomedia
to hide directory, incl. config option - Support for UPnP commands GetFeatureList and GetSortExtensionCapabilities
- Build for Ubuntu 23.04 and 23.10
FIXES
- Autoscan: Keep track of renamed directories
- Docker: add JPEG and update description
- Runtime issues in request handling
- Configurable handling of HOME directory
- Transcoding: parsing issue of requests
- Stability for sqlite database access
- Browsing on Samsung devices
Code Improvements
- Update Javascript libraries
- Update versions of googletest (1.14), pupnp (1.14.18), libexiv2 (v0.28.1), libebml (1.4.5), fmt (10.2.0), pugixml (1.14), spdlog (1.12.0) and taglib (1.13.1)
- Compatibility with gcc14
Changes
- Gerbera 2.0.0 (#2944), thanks @KarlStraussberger
- Fix processing for M_DATE and M_CREATION_DATE on FFmpeg handler. (#2948), thanks @mlaerd
- Import: Handle really short file names correctly (#2946), thanks @KarlStraussberger
- Update version of libfmt (#2945), thanks @KarlStraussberger
- Import: Icon handling and other leftovers (#2942), thanks @KarlStraussberger
- Fix "virtual-directories" heading level in documentation (#2941), thanks @cweiske
- Playlist: Add support for boxlayout (#2940), thanks @KarlStraussberger
- Import: Improve handling of thumbnails in mt-mode (#2939), thanks @KarlStraussberger
- Update Documentation (#2938), thanks @KarlStraussberger
- Clients: Add detection for FSL radios (#2937), thanks @KarlStraussberger
- Update build for libexiv2 (#2935), thanks @KarlStraussberger
- Config: Add required BoxLayout values from default (#2934), thanks @KarlStraussberger
- Upnp: Add client flag to send simple date only (#2932), thanks @KarlStraussberger
- Build for Ubuntu 23.10 (#2929), thanks @KarlStraussberger
- Import: Fix LastModified for grb-mode (#2928), thanks @KarlStraussberger
- Add artist chronology container (#2848), thanks @gobater
- Fix for empty path (#2925), thanks @KarlStraussberger
- Fix import and documentation links (#2922), thanks @KarlStraussberger
- Restore duktape 2.3 support (#2921), thanks @KarlStraussberger
- Scripting: Remove debugging leftover (#2916), thanks @cweiske
- Scripting docs: Fix importFile parameter name (#2915), thanks @cweiske
- Scripting: Log stacktrace on errors (#2914), thanks @cweiske
- Autoscan: Fix inotify without autoscan (#2911), thanks @KarlStraussberger
- Autoscan: Use path for handling of non-existing (#2909), thanks @KarlStraussberger
- Transcoding: option to filter mime types with wildcard (#2908), thanks @KarlStraussberger
- Autoscan: Handle renamed directory (#2907), thanks @KarlStraussberger
- Document dependency installation on Debian 12 (#2904), thanks @cweiske
- Transcode: Wildcards for mime type filter (#2901), thanks @KarlStraussberger
- Doc: Compile libupnp --disable-blocking-tcp-connections (#2902), thanks @cweiske
- Add #include to fix building with gcc 14 (#2899), thanks @kostadinsh
- Bump chromedriver from 117.0.3 to 119.0.1 in /gerbera-web (#2896), thanks @dependabot
- Samsung: Handle browse for content class correctly (#2892), thanks @KarlStraussberger
- Clean up physical entries in subdirectories (#2887), thanks @KarlStraussberger
- Bump @babel/traverse from 7.23.0 to 7.23.2 in /gerbera-web (#2888), thanks @dependabot
- Clients: Support hiding resource types (#2885), thanks @KarlStraussberger
- Clean up unreferenced items (#2884), thanks @KarlStraussberger
- Display message on home screen when database is empty (#2883), thanks @KarlStraussberger
- Update Ubuntu Version (#2882), thanks @KarlStraussberger
- Config: Add follow-symlinks for autoscan (#2881), thanks @KarlStraussberger
- Add permissions on HV transcoding devices in docker container (#2868), thanks @m-larin
- WebUI: Fix display of time values (#2876), thanks @KarlStraussberger
- Config: Add support for time specifications (#2874), thanks @KarlStraussberger
- WebUI: Database View - don't allow deleting dynamic containers (#2873), thanks @KarlStraussberger
- Config WebUI: Catch up with all config changes (#2872), thanks @KarlStraussberger
- Add cleanup of missing entries to grb import mode (#2871), thanks @KarlStraussberger
- Config: Generate Example Configuration (#2869), thanks @KarlStraussberger
- Fix troff warning (#2866), thanks @snd1
- Fix spelling errors reported by lintian (#2865), thanks @snd1
- DB: Don't fail on uncritical operations. (#2863), thanks @KarlStraussberger
- Update Library Versions and Documentation (#2862), thanks @KarlStraussberger
- DB rework playstatus save (#2861), thanks @KarlStraussberger
- Add support for UPnP commands GetFeatureList and GetSortExtensionCapabilities (#2860), thanks @KarlStraussberger
- Bump word-wrap from 1.2.3 to 1.2.4 in /gerbera-web (#2847), thanks @dependabot
- Update versions of exiv2, fmt, spdlog, googletest and taglib (#2846), thanks @KarlStraussberger
- Add Support for Configuration of Virtual Layout (#2845), thanks @KarlStraussberger
- Transcoding: Improve docs and examples (#2838), thanks @KarlStraussberger
- Add audio to year container (#2844), thanks @KarlStraussberger
- buildfix: support fmtlib 10 (#2840), thanks @mtasaka
- Add option for external URL to be used in web page. (#2836), thanks @KarlStraussberger
- Fully implement Thumbnail handling for grb mode (#2827), thanks @KarlStraussberger
- debian: bookworm is now stable (#2832), thanks @KarlStraussberger
- Fix handling transcoding requests (#2831), thanks @KarlStraussberger
- Bump socket.io-parser from 4.2.2 to 4.2.3 in /gerbera-web (#2828), thanks @dependabot
- Add support for nomedia file / add options to block default M_DATE (#2826), thanks @KarlStraussberger
- Rework javascript mechanism (#2824), thanks @KarlStraussberger
- Allow overriding home in config (#2821), thanks @KarlStraussberger
- Import: Add staged import process (#2783), thanks @KarlStraussberger
- Update to latest npm packages (#2820), thanks @KarlStraussberger
- Bump engine.io and socket.io in /gerbera-web (#2819), thanks @dependabot
- Set defaults for autoscan settings (#2815), thanks @KarlStraussberger
- Database items sorting case insensitive (#2808), thanks @gobater
- Update supported-devices.rst (#2812), thanks @KarlStraussberger
- Bump webpack from 5.75.0 to 5.76.0 in /gerbera-web (#2811), thanks @dependabot
- Fix conan (#2810), thanks @KarlStraussberger
- Keep our unique_ptrs for the xml in scope until we are finished with … (#2803), thanks @whyman
- Docker: Add JPEG libs (#2801), thanks @KarlStraussberger
- Quirks: Check for clientInfo (#2796), thanks @KarlStraussberger
- Update README.Docker.md -Add docker volume section (#2795), thanks @kevinflynn387
- WebUI: Update popper to 2.11.6 / Update MD5 to 2.19.0 (#2793), thanks @KarlStraussberger
- WebUI: Update JS libs (#2792), thanks @KarlStraussberger
- Gerbera-Web: Update npm packages (#2791), thanks @KarlStraussberger
- Bump ua-parser-js from 0.7.32 to 0.7.33 in /gerbera-web (#2786), thanks @dependabot
- Docker: git badge update (#2780), thanks @KarlStraussberger
- Use new ffmpeg channel layout API (#2778), thanks @whyman
- README: fix CI badge (#2779), thanks @whyman
- Bump master (#2777), thanks @KarlStraussberger
Please see our Documentation for how to install the latest Gerbera version on your system.