Releases: gerbera/gerbera
Gerbera v2.5.0
We are happy to announce that Gerbera Media Server 2.5.0 is now available.
The following changes are noteworthy:
- Changed default for layout to
js
if built with JavaScript support. - The new autoscan mode
manual
in conjunction with the actionScan Now
replaces the action to add individual folders.
NEW Features
- All configuration options for autoscan directories are available in the web UI now, including scripts and storage in the database.
- New configuration option for autoscan directories to rescan files that ended up as plain object in the first run.
- Several script options to control audio layout
- Harmonisation of metadata handling for wavpack and matroska media handlers
- Fabricated comment on import in media handlers (incl. configuration)
- Resource attribute
pixelFormat
for videos. - Additional Resources (thumbnail, subtitle) for External Urls
- New UI command
Scan Now
and minor improvement - Manual autoscan to replace
Add Items
in filesystem view
FIXES
- Album art and structure in builtin layout
- Autoscan objects in scripts
- Metadata in builtin layout, album artist in default js layout
- Commands in UI show descriptive tooltips
- Child items of autoscan folder in UI
Code Improvements
- Removed static from ConfigDefinition
- Update versions of pugixml (1.15), libexif (v0.6.25), wavpack (5.8.1), fmt (11.1.4), spdlog (1.15.1), wavpack (1.8.1), googletest (1.16.0), libexiv2 (0.28.5)
Detailled Changes
- Gerbera 2.5.0 (#3415), thanks @KarlStraussberger
- Fix shutdown issue (#3414), thanks @KarlStraussberger
- Build with fmt 11.1.4 (#3413), thanks @KarlStraussberger
- Autoscan fixes (#3410), thanks @KarlStraussberger
- Update libexiv2 to 0.28.5 (#3409), thanks @KarlStraussberger
- Add manual autoscan option (#3408), thanks @KarlStraussberger
- Web UI: properly encode arguments (#3407), thanks @KarlStraussberger
- Add Run Scan action in Web UI (#3406), thanks @KarlStraussberger
- Fix config load (#3405), thanks @KarlStraussberger
- Refactor WebRequests (#3403), thanks @KarlStraussberger
- Debian Build for arm64 (#3400), thanks @KarlStraussberger
- Update libexiv2 to 0.28.4 (#3399), thanks @KarlStraussberger
- Support Resources for External Items (#3398), thanks @KarlStraussberger
- Populate playlist item titles (#3397), thanks @jmwanderer
- Fix update of playlists (#3395), thanks @jmwanderer
- Update to googletest 1.16.0 (#3393), thanks @KarlStraussberger
- Extract Pixelformat for videos (#3392), thanks @KarlStraussberger
- UI: Make details collapsable in items editor detail view (#3390), thanks @KarlStraussberger
- Rework autoscan list handling (#3389), thanks @KarlStraussberger
- Sqlite: Exit after multiple exceptions (#3384), thanks @KarlStraussberger
- Fix management auf autoscans in list (#3385), thanks @KarlStraussberger
- Generate Comment from Metadata During Scan (#3368), thanks @KarlStraussberger
- Update wavpack (#3380), thanks @KarlStraussberger
- Build with fmt 11.1.3 (#3323), thanks @KarlStraussberger
- Downgrade docker builder as well (#3379), thanks @KarlStraussberger
- work around build issue (#3378), thanks @KarlStraussberger
- Cleanup tree and autoscan commands (#3374), thanks @KarlStraussberger
- Build correct Autoscan Type (#3371), thanks @KarlStraussberger
- Add Options to Scripts (#3365), thanks @KarlStraussberger
- Fix UpnpMap logic (#3364), thanks @KarlStraussberger
- Set more metadata in builtin layout (#3359), thanks @KarlStraussberger
- Improve logging of string conversion (#3355), thanks @KarlStraussberger
- Update Library Versions (#3354), thanks @KarlStraussberger
- Focal: Freeze more aws-sdk versions (#3353), thanks @KarlStraussberger
- Focal: freeze ruby aws-sdk versions used for package upload (#3352), thanks @KarlStraussberger
- Fix cors host without ipv6 address (#3349), thanks @KarlStraussberger
- Remap metadata fields when parsing virtual-directories keys (#3351), thanks @mill1000
- Autoscan: Add missing properties to web UI and database (#3346), thanks @KarlStraussberger
- Force Reread of unknown files (#3345), thanks @KarlStraussberger
- JS: Fix config autoscan object in scripts (#3344), thanks @KarlStraussberger
- Fix album art in builtin layout (#3341), thanks @KarlStraussberger
- Refactor static code from ConfigDefinition (#3338), thanks @KarlStraussberger
- Bump master (#3337), thanks @KarlStraussberger
Please see our Documentation for how to install the latest Gerbera version on your system.
Full Changelog
Gerbera v2.4.1
We are happy to announce that Gerbera Media Server 2.4.1 is now available.
Changes
- Fix Dockerfile (#3335), thanks @KarlStraussberger
Please see our Documentation for how to install the latest Gerbera version on your system.
Full Changelog
Gerbera v2.4.0
We are happy to announce that Gerbera Media Server 2.4.0 is now available.
Rerun gerbera --create-config="Boxlayout|DynamicContainer"
and merge changes to the boxlayout
and containers
the get support for upnp shortcut list feature.
There are some noteworthy new features in this release:
- the search page: Query your database with UPnP search statements in Web UI,
- the dark mode for the Web UI,
- access permissions for files: Restrict access to directories via client groups,
- support for UPnP filters in requests,
- support for UPnP CONTAINER_SHORTCUTS feature.
NEW Features
- Configuration of ui handler to allow hosting of docs and doxygen output
- Support for UPnP filters
- Support for UPnP shortcuts
- Search page in web UI
- Command line options
--create-config
and--create-example-config
support arguments - Provide packages for Ubuntu-24.10
- Allow deleting of client entries immediately
FIXES
- Logic exceptions are reported
- Handling of logging command line options
- Handling of checkbox values on web ui
- Access to cache option if thumbnailer is disabled
- Container creation in web ui
- Handling of multi-valued tags in virtual paths
- Increase of pupnp threadpool size
- Drop Build Support for Ubuntu 23.04 and 23.10
Code Improvements
- Build without ffmpeg leaves option unset
- Compatibility with ffmpeg > 6.0
- Logging of build info with
--compile-info
- Update versions of libpupnp (1.14.20), spdlog (1.15.0)
- Update Build Environment
- Update versions of js vendor files jquery-ui (v1.13.2 -> v1.14.1), js-cookie (v3.0.1 -> v3.0.5), @popperjs/core (v2.11.6 -> v2.11.8)
Changes
- Gerbera 2.4.0 (#3330), thanks @KarlStraussberger
- Fix Artist Image in Virtual Layout (#3333), thanks @KarlStraussberger
- Set correct image size for xx-large pictures (#3332), thanks @KarlStraussberger
- Enhance xsd (#3329), thanks @KarlStraussberger
- Validate XSD CI workflow (#3328), thanks @KarlStraussberger
- Gerbera welcomes 2025 (#3327), thanks @KarlStraussberger
- Fix container filters (#3325), thanks @KarlStraussberger
- Handle int parse error in config (#3324), thanks @KarlStraussberger
- Debian: pack postinst file (#3320), thanks @KarlStraussberger
- Fix SIMPLE_DATE (#3318), thanks @KarlStraussberger
- Mention systemd as optional package (#3317), thanks @cweiske
- Web UI: Add dark mode (#3309), thanks @KarlStraussberger
- Fix config2.xsd: The QName value upnp-properties does not resolve to … (#3314), thanks @cweiske
- Dynamic banner colour in Readme (#3308), thanks @KarlStraussberger
- Update build for openSuSE (#3307), thanks @KarlStraussberger
- Fix parsing enum config values (#3304), thanks @KarlStraussberger
- Update docker settings (#3301), thanks @KarlStraussberger
- Clients: Support deleting entries (#3299), thanks @KarlStraussberger
- Debian: create changelog file (#3297), thanks @KarlStraussberger
- Fix systemd detection (#3295), thanks @KarlStraussberger
- ConfigGenerator: Export defaults for more entries (#3293), thanks @KarlStraussberger
- UPnP filters: provided defaults for filter properties (#3292), thanks @KarlStraussberger
- Scripting: Clean up property handling (#3290), thanks @KarlStraussberger
- Update and refactor MySQL code (#3289), thanks @KarlStraussberger
- Improve compile info contents (#3286), thanks @KarlStraussberger
- actions: clang-format 18 (#3257), thanks @whyman
- deps: Fix build with ffmpeg 6.1 (#3256), thanks @whyman
- Fix CodeQL messages (#3285), thanks @KarlStraussberger
- Config: Unify path handling (#3282), thanks @KarlStraussberger
- Add workflow for Release Drafter (#3277), thanks @KarlStraussberger
- Test: Fix CMake commands (#3284), thanks @KarlStraussberger
- Drop Build Support for Ubuntu 23.04 (#3283), thanks @KarlStraussberger
- Web UI: Cleanup display of item number (#3280), thanks @KarlStraussberger
- Handle broken ContainerImage (#3278), thanks @KarlStraussberger
- Update Release Template (#3276), thanks @KarlStraussberger
- Drop Build Support for Ubuntu 23.10 (#3275), thanks @KarlStraussberger
- Update js vendor files (#3274), thanks @KarlStraussberger
- Add variables to docker images (#3267), thanks @KarlStraussberger
- Fix Handling command line options (#3273), thanks @KarlStraussberger
- UPnP Shortcuts feature (#3261), thanks @KarlStraussberger
- Access permissions for files by client (#3255), thanks @KarlStraussberger
- Fix autoscan issue with empty filename (#3254), thanks @KarlStraussberger
- Update Build Environment (#3252), thanks @KarlStraussberger
- Resource directory configuration and cleanup collection (#3251), thanks @KarlStraussberger
- Bump cookie, express and socket.io in /gerbera-web (#3249), thanks @dependabot
- Web UI: Fix detail display (#3247), thanks @KarlStraussberger
- Increase size of pupnp threadpool (#3244), thanks @KarlStraussberger
- Web UI: Add Search page (#3242), thanks @KarlStraussberger
- Improve handling multivalue tags in virtual paths (#3241), thanks @KarlStraussberger
- Fix creating containers in web ui (#3240), thanks @KarlStraussberger
- UPnP: Add support for filters (#3233), thanks @KarlStraussberger
- Fix access to cache option if thumbnailer disabled (#3232), thanks @KarlStraussberger
- Fix build without ffmpeg (#3231), thanks @KarlStraussberger
- Fix handling of checkbox values on web ui (#3229), thanks @KarlStraussberger
- Config: UI handler mimetypes and CSP (#3227), thanks @KarlStraussberger
- Bump master (#3226), thanks @KarlStraussberger
Please see our Documentation for how to install the latest Gerbera version on your system.
Full Changelog
Gerbera v2.3.0
We are happy to announce that Gerbera Media Server 2.3.0 is now available.
This release especially brings improvements for UPnP and DLNA support as well as minor updates to the web UI.
Because of the extension of configuration of transcoding profiles, those producing PCM output have to be updated:
<mimetype>audio/L16</mimetype>
must become
<mimetype value="audio/L16">
<mime-property key="rate" resource="sampleFrequency"/>
<mime-property key="channels" resource="nrAudioChannels"/>
</mimetype>
After many years Apple discontinued their trailers app and we had drop Apple Trailer support as the last of Mediatombs online services. Thus online service support is disabled in our builds, also, leading to parts of the config being unused or triggering warnings.
NEW Features
- Higher cross site scripting security in web ui
- Styles for xml documents when shown in browser
- Configuration of additional target mimetype properties for transcoding (e.g. needed for PCM output)
- Configuration of DLNA profile mappings for a client
- Display media details in web ui
- Image and thumbnail profiles support PNG images
- Page layout of items page with splitter and resize button
- Orientation for images and videos in resource attributes
- Additional client filtering options with friendlyName, modelName, manufacturer
- Configuration option to block clients
- Upnp classes are assigned to containers in physical tree (PC Directory) depending on the majority of children (only in grb-mode)
- Nested iterations are now supported in Config UI
- UPnP Search support for integer and date comparison
- Failed UPnP requests return error messages
FIXES
- Warning in case import function does not return new ids.
- Config values
<online-content fetch-buffer-size="262144" fetch-buffer-fill-size="0">
are implemented now. - Renaming of files or folders in grb-mode
- Nested arrays can be shown in config ui.
- Made UDN mandatory for UPnP announcements to work
Code Improvements
- Build target for source documentation
- Update versions of libexiv2 (0.28.3), fmt (11.0.2), googletest (1.15.2), npupnp (6.2.0), taglib (2.0.2), ffmpegthumbnailer (2.2.3)
- Upgrade contrib code cxxopts (3.2.1), md5 (2002)
- Extract code for npupnp and pupnp specific handling
- Refactoring of UPnP services
- Cleanup of several todos, FIXMES, code smells etc.
Changes
- Gerbera 2.3.0 (#3225), thanks @KarlStraussberger
- Restrict dynamic folders to browse flags (#3224), thanks @KarlStraussberger
- Server logging for failed UpnpInit (#3223), thanks @KarlStraussberger
- UPnP: Return error messages (#3221), thanks @KarlStraussberger
- Inotify: Don't handle 0 events (#3220), thanks @KarlStraussberger
- UPnP Search: Support integer and date comparison (#3219), thanks @KarlStraussberger
- Bump send and express in /gerbera-web (#3218), thanks @dependabot
- Web UI: Display tootip on containers in tree (#3210), thanks @KarlStraussberger
- Fix NPUPnP version (#3215), thanks @KarlStraussberger
- Link to UPnP specification for search syntax (#3212), thanks @cweiske
- Fix ipv6 handling (#3209), thanks @KarlStraussberger
- Config: Client specific DLNA profiles (#3208), thanks @KarlStraussberger
- Fix config2.xsd (#3206), thanks @cweiske
- Stability fixes (#3203), thanks @KarlStraussberger
- Config: Make UDN mandatory (#3201), thanks @KarlStraussberger
- ConfigSetup: Allow multiple iterations for UI (#3193), thanks @KarlStraussberger
- Bump webpack from 5.93.0 to 5.94.0 in /gerbera-web (#3198), thanks @dependabot
- Inotify: Fix deleting files (#3192), thanks @KarlStraussberger
- Import: Fix renaming of file or folder (#3189), thanks @KarlStraussberger
- Bump axios from 1.7.2 to 1.7.4 in /gerbera-web (#3191), thanks @dependabot
- Config: Option to disable physical container types (#3187), thanks @KarlStraussberger
- Upnp Classes for containers in physical tree (#3186), thanks @KarlStraussberger
- Mention .m4a in compilation options (#3183), thanks @cweiske
- Clean up test code (#3181), thanks @KarlStraussberger
- Drop Apple Trailer support (#3179), thanks @KarlStraussberger
- Clean up URL handling (#3177), thanks @KarlStraussberger
- Add configuration option to block clients (#3174), thanks @KarlStraussberger
- Refactor StringConverter (#3173), thanks @KarlStraussberger
- Use full client info as requestCookie (#3171), thanks @KarlStraussberger
- Extract image and video orientation to resource attributes (#3170), thanks @KarlStraussberger
- Add Splitter and Resize to items grid (#3169), thanks @KarlStraussberger
- Add build target for source documentation (#3168), thanks @KarlStraussberger
- Improve handling of thumbnail profiles (#3166), thanks @KarlStraussberger
- Configuration of additional target mimetype properties for transcoding (#3164), thanks @KarlStraussberger
- Warn about empty script result (#3163), thanks @KarlStraussberger
- Refactor Upnp Services (#3161), thanks @KarlStraussberger
- FIXME done: Remove fake resource (#3159), thanks @KarlStraussberger
- Upgrade md5 to 2002 version (#3158), thanks @KarlStraussberger
- Upgrade cxxopts.hpp to 3.2.1 (#3157), thanks @KarlStraussberger
- Clean up commented out code (#3156), thanks @KarlStraussberger
- Improve docker instructions (#3155), thanks @KarlStraussberger
- Web security and upnp compatibility (#3154), thanks @KarlStraussberger
- Bump phin and load-bmfont in /gerbera-web (#3151), thanks @dependabot
- Bump master (#3150), thanks @KarlStraussberger
Please see our Documentation for how to install the latest Gerbera version on your system.
Gerbera v2.2.0
We are happy to announce that Gerbera Media Server 2.2.0 is now available.
This includes a special thanks to all our contributors since we now have more that 2000 pull requests!
This update brings a new design for the start page, better logging and a new repository for ubuntu and debian getting rid of jfrog.
Also virtual items are detected during import and cleaned up as required instead of deleting and recreating them all.
This requires a change in js scripts: All import functions have to return a list of created object ids.
NEW Features
- Configuration for case sensitive media tags (allow making them insensitive)
- Configuration options for playlist layout
- Configuration option to activate
IN_ATTRIB
event for, e.g. permission changes on disk incl. retry if that fails - WebUI: New design for home page and login screen
- Allow metadata handler to be disabled, add charset support
- UPnP specification files (description.xml, cds.xml) now reflect client quirks
- Search for
upnp:lastPlaybackTime
,upnp:playbackCount
andplay_group
- Additional command line options for logging (
--syslog
and--rotatelog
) - TagLib messages are logged with gerbera now. They also show up with
debug-mode="taglib"
. - LibExiv2 messages are logged with gerbera now. They also show up with
debug-mode="exiv2"
. - LibExif messages are logged with gerbera now. They also show up with
debug-mode="exif"
. - ffmpeg messages are logged with gerbera now. They also show up with
debug-mode="ffmpeg"
.
FIXES
- Album artist handling in default js layout
- Build with ffmpegthumbnailer but without ffmpeg
- Changed repository for ubuntu and debian to https://pkg.gerbera.io/
- Autologout from UI
- Finally SIGHUP can be used to reload gerbera without restarting
Code Improvements
- Rework of server mechanism for file and data requests
- Update versions of pupnp (1.14.19), npupnp (6.1.2), spdlog (1.14.1), taglib (2.0.1), ffmpegthumbnailer(2.2.2-60-g1b5a779), fmt (11.0.0)
- Allow building of libexif (up to v0.6.24-90-g2ed252d)
- Refactoring of property handling in scripts
- Refactoring of Inotify code and command line handling
- Refactoring of Config and Content code
- Reduce header nesting
Changes
- Gerbera 2.2.0 (#3137), thanks @KarlStraussberger
- Xml2Json: improve encoding for special chars (#3146), thanks @KarlStraussberger
- FFMpeg: Reduce logger noise (#3145), thanks @KarlStraussberger
- FFMpeg: Reduce logger noise (#3144), thanks @KarlStraussberger
- Build against fmt 11.0.0 (#3142), thanks @KarlStraussberger
- Fix database calls for browsing dynamic containers (#3141), thanks @KarlStraussberger
- Fix logger.cc without DEBUG (#3140), thanks @KarlStraussberger
- Implement updating virtual entries (#3135), thanks @KarlStraussberger
- Fix crashes on freebsd 14.1 (#3134), thanks @vovkasm
- Bump ws, engine.io and socket.io-adapter in /gerbera-web (#3133), thanks @dependabot
- Improve documentation (#3132), thanks @KarlStraussberger
- Search: Add playstatus details to search properties (#3131), thanks @KarlStraussberger
- Config: Separate config values (#3129), thanks @KarlStraussberger
- Bump ws from 8.14.2 to 8.17.1 in /gerbera-web (#3130), thanks @dependabot
- Extract Content interface (#3127), thanks @KarlStraussberger
- Bump braces from 3.0.2 to 3.0.3 in /gerbera-web (#3128), thanks @dependabot
- UPnP description: Allow dynamic capability values (#3124), thanks @KarlStraussberger
- Startup: Always check dirs (#3126), thanks @KarlStraussberger
- Add log sinks for rotating log files and syslog (#3121), thanks @KarlStraussberger
- Extract command line argument handling to Runtime class (#3118), thanks @KarlStraussberger
- Fix creation of mr_reg.xml (#3117), thanks @KarlStraussberger
- Build: Upload for focal (#3116), thanks @KarlStraussberger
- Build: add older debian (#3114), thanks @KarlStraussberger
- Build: Upload for focal (#3113), thanks @KarlStraussberger
- Build: Upload for focal (#3111), thanks @KarlStraussberger
- Build: Upload for focal (#3110), thanks @KarlStraussberger
- Build: split debian modules (#3109), thanks @KarlStraussberger
- Build: Upload for focal (#3108), thanks @KarlStraussberger
- Build: Upload for bionic (#3106), thanks @KarlStraussberger
- Build: Upload for bionic (#3105), thanks @KarlStraussberger
- Build: Use ruby2.7 for bionic (#3104), thanks @KarlStraussberger
- Build: Use Ruby2.6 for bionic (#3103), thanks @KarlStraussberger
- Build: Scripts fail again with build (#3102), thanks @KarlStraussberger
- Add missing define on ubuntu 18 (#3101), thanks @KarlStraussberger
- Add sample-frequency to config2.xsd (#3100), thanks @cweiske
- Inotify: Handle Inotify access failed (#3092), thanks @KarlStraussberger
- config2.xsd fixes (#3099), thanks @cweiske
- Handle broken Systemd on some debian (#3097), thanks @KarlStraussberger
- Insecure download due to ubuntu-20.04/armhf failing (#3096), thanks @KarlStraussberger
- Build: Add install scripts for alpine/docker (#3095), thanks @KarlStraussberger
- Build: Add install scripts for OpenSuSE (#3094), thanks @KarlStraussberger
- Build: rework dependency handling (#3089), thanks @KarlStraussberger
- Logging: Separate description requests (#3088), thanks @KarlStraussberger
- Libexif: add custom logger (#3086), thanks @KarlStraussberger
- FFMpeg: add custom logger (#3085), thanks @KarlStraussberger
- Config: Add flag to disable dynamic descriptions (#3084), thanks @KarlStraussberger
- UPnP specification files reflect client quirks (#3083), thanks @KarlStraussberger
- UI: Fix auto logout (#3069), thanks @whyman
- Metadata: Unify handling and allow to disable (#3081), thanks @KarlStraussberger
- Build support for libnpupnp 6.1.2 (#3080), thanks @KarlStraussberger
- Fix discovery (#3078), thanks @KarlStraussberger
- Server: Handle all HTTP via virtualdir (#3076), thanks @whyman
- Documentation: Update with new WebUI (#3071), thanks @KarlStraussberger
- Import: Add option case sensitive tags (#3070), thanks @KarlStraussberger
- UI: Tidy up login and homepage (#3067), thanks @whyman
- Build: Allow build of ffmpegthumbnailer without ffmpeg (#3065), thanks @KarlStraussberger
- clang-tidy: don't cast through void (#3062), thanks @neheb
- Adding consistent album artist support (#3060), thanks @TheMarstonConnell
- Import: fix single file update (#3058), thanks @KarlStraussberger
- Playlist: Allow configuration of directory depth (#3053), thanks @KarlStraussberger
- docs: Update Arch Linux installs (#3052), thanks @whyman
- Docs: Update Ubuntu/Debian repo instructions (#3050), thanks @whyman
- CI: Pass publish-deb secrets via env instead (#3049), thanks @whyman
- CI: Upload debs to pkg.gerbera.io (#3048), thanks @whyman
- CI: Drop excluded ubuntu versions as CMake PPA now supports those com… (#3047), thanks @whyman
- TagLib: Use DebugListener to suppress messages (#3046), thanks @KarlStraussberger
- Bump master (#3045), thanks @KarlStraussberger
Please see our Documentation for how to install the latest Gerbera version on your system.
Gerbera v2.1.0
We are happy to announce that Gerbera Media Server 2.1 is now available.
This release started out as a mere bugfix release but gathered some nice features along the way.
This includes the full build support for NPUPNP, the update of the conan build system to V2 and the return of
custom headers for particular clients.
NEW Features
- new JavaScript function
print2
to allow setting log type (info, debug, trace) - configuration of client specific headers (brings back old custom-headers in new place)
- wider use of
box-layout
settings in javascript and builtin layout
FIXES
- Fix loading of playlists
- Fix multiple crashes
Code Improvements
- Restructuring files and refactoring classes
- Update versions of fmt (10.2.1), spdlog (1.13.0), libexiv2 (0.28.2), npupnp (6.1.1), pugixml (1.14), wavpack (5.7.0)
- WebUI: Update versions of jquery (3.7.1) and tether (2.0.0)
- Docker: Update Alpine version (3.19)
- Build System: Use cmake presets
- Build System: Update Conan to V2
- Build System: Support build with NPUPNP
Changes
- Gerbera 2.1 (#3044), thanks @KarlStraussberger
- Add issue templates (#3043), thanks @KarlStraussberger
- Import: Fix message "No Container parent" (#3042), thanks @KarlStraussberger
- Docker: update alpine version (#3041), thanks @KarlStraussberger
- Docker: update alpine version (#3040), thanks @KarlStraussberger
- Docker: update alpine version (#3039), thanks @KarlStraussberger
- Update screenshots to latest version (#3037), thanks @KarlStraussberger
- Cleanup FileRequestHandler (#3036), thanks @KarlStraussberger
- Builtin layout: fix crash (#3035), thanks @KarlStraussberger
- Metafile: handle instance (#3034), thanks @KarlStraussberger
- Webui: update vendor libraries (#3033), thanks @KarlStraussberger
- Update various library versions (#3032), thanks @KarlStraussberger
- Sqlite: Harden delete (#3031), thanks @KarlStraussberger
- Autoscan: avoid errors from parent directories (#3030), thanks @KarlStraussberger
- matroska_handler: update API calls to work with libebml/libmatroska 2.0 (#3007), thanks @robUx4
- WebUI: Add Item View (#3028), thanks @KarlStraussberger
- Bump express from 4.18.2 to 4.19.2 in /gerbera-web (#3027), thanks @dependabot
- Bring back custom headers as client specific headers (#3025), thanks @KarlStraussberger
- Provide BoxKeys also for scripts (#3023), thanks @KarlStraussberger
- Take configuration into account when creating virtual-layout (built-in + JS) (#3013), thanks @gobater
- Update Conan to v2 (#3017), thanks @KarlStraussberger
- Bump follow-redirects from 1.15.4 to 1.15.6 in /gerbera-web (#3020), thanks @dependabot
- MetadataHandler: Refactor static methods (#3015), thanks @KarlStraussberger
- Minor fixes to RST documentation (#3004), thanks @gobater
- Enhances default javascript files to check config file options (#3003), thanks @gobater
- debian12: fix script error (#3010), thanks @KarlStraussberger
- Bump xml2js and parse-bmfont-xml in /gerbera-web (#3006), thanks @dependabot
- Gerbera-web: update chromedriver for tests (#3005), thanks @KarlStraussberger
- BUGFIX: common.js boxSetup check Video/AllDates for Dates (#2999), thanks @ljr55555
- Docker image usability (#2996), thanks @mzuther
- Expand firewall advice in docs (#2993) (#2995), thanks @storrence97
- Fix findAutoscanDirectory (#2992), thanks @KarlStraussberger
- Refactor parser files (#2989), thanks @KarlStraussberger
- github workflows: make cmake stuff consistent (#2621), thanks @neheb
- clang-tidy and cppcheck fixes (#2982), thanks @neheb
- Import: Safely handle second scan - 2 (#2981), thanks @KarlStraussberger
- clang-tidy fixes (#2978), thanks @neheb
- Update workflow actions (#2980), thanks @KarlStraussberger
- Config: Refactor handling of integer types (#2979), thanks @KarlStraussberger
- Import: Safely handle second scan (#2977), thanks @KarlStraussberger
- some fixes (#2975), thanks @neheb
- Safely handle suppressed file types (#2974), thanks @KarlStraussberger
- Scripting: print2 function with log level support (#2966), thanks @KarlStraussberger
- Avoid crash when parent was not created yet. (#2964), thanks @KarlStraussberger
- Add ctypes include (#2962), thanks @KarlStraussberger
- Refactor config and enums to reduce nesting (#2961), thanks @KarlStraussberger
- Fix build-deb.sh for releases (#2960), thanks @KarlStraussberger
- CMake: Use presets (#2959), thanks @KarlStraussberger
- Bump follow-redirects from 1.15.3 to 1.15.4 in /gerbera-web (#2958), thanks @dependabot
- Build Support for NPUPNP (#2957), thanks @KarlStraussberger
- Correct two typos. (#2956), thanks @limburgher
- Gerbera welcomes 2024 (#2955), thanks @KarlStraussberger
- Bump master (#2954), thanks @KarlStraussberger
Please see our Documentation for how to install the latest Gerbera version on your system.
Gerbera v2.0.0
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.
Gerbera v1.12.1
We are happy to announce that Gerbera Media Server 1.12.1 is now available. It's a real maintenance release with some nice issues fixed
NEW Features
- Debug options for specialized messages
- Configure offset of lastPlayedPosition (aka Samsung bookmark)
FIXES
- Calling null IOHandler
- Encoding of ticks ' as
'
for Bose - ffmpeg and transcoding in docker container
- Tests failing on openSuSE > 15.3 and others
- Update docker images to alpine 3.17
Code Improvements
- Reduced header nesting
- Build with latest versions of pugixml (1.13), spdlog (1.11.0), taglib (1.13), wavpack (5.6.0)
Changes
- Gerbera 2023 (#2775), thanks @KarlStraussberger
- Minimal: fix test fixture (#2772), thanks @KarlStraussberger
- Samsung: allow configuring bookmark offset (#2769), thanks @KarlStraussberger
- XML: Allow escaping ticks for some clients (#2766), thanks @KarlStraussberger
- Server: Don't call handler if null (#2765), thanks @KarlStraussberger
- MetadataHandler: Use resource instead of id (#2764), thanks @KarlStraussberger
- Actions: Update deprecated replace-string-action (#2762), thanks @KarlStraussberger
- openSuSE: Fix test and inits (#2759), thanks @KarlStraussberger
- Fix Windows Explorer browsing (#2758), thanks @KarlStraussberger
- Docker: fix ffmpeg-lib (#2757), thanks @KarlStraussberger
- Docker: Update to alpine 3.17 (#2754), thanks @KarlStraussberger
- Reduce Header Nesting (#2753), thanks @KarlStraussberger
- Fix file encoding (#2752), thanks @KarlStraussberger
- Reduce Header Nesting (#2751), thanks @KarlStraussberger
- Clarify integer types handling (#2750), thanks @KarlStraussberger
- Bump engine.io from 6.2.0 to 6.2.1 in /gerbera-web (#2749), thanks @dependabot
- Update npm packages (#2748), thanks @KarlStraussberger
- Debug Options: Allow separated facility debugging messages. (#2741), thanks @KarlStraussberger
- Docker: Bring back ffmpeg in transcoding image (#2745), thanks @KarlStraussberger
- Bump loader-utils from 2.0.2 to 2.0.3 in /gerbera-web (#2743), thanks @dependabot
- libraries: add latest (#2739), thanks @KarlStraussberger
Please see our Documentation for how to install the latest Gerbera version on your system.
Gerbera v1.12.0
We are happy to announce that Gerbera Media Server 1.12.0 is now available.
NEW Features
- Support for NFO files as additional resources: Set up in
resources
and place nfo-files (https://kodi.wiki/view/NFO_files/Templates) next to your media files. - Tweaking mimetypes for clients
- Editing Flags in web UI
- More statistics on web UI
- Add support for ip subnets in client config
- Defaults for virtual container upnp class
- Configuration for SQLite database modes
- Offline mode for initial scan large libraries
FIXES
- Database update on autoscan table
- Transcoding for external items
- Sqlite errors because of deleted objects
- Sorting by certain keys
- Broken path comparison (skipped renaming, adding files)
- Update docker images to alpine 3.16
Code Improvements
- Xml2Json rework
- build with latest versions of pupnp (1.14.14), wavpack (5.5.0), ebml (1.4.4), matroska (1.7.1), exiv2 (0.27.5), fmt (9.1.0) and spdlog (1.10.0)
- Further Cleanups
General
If you activated nfo-metafile resources you have to reimport your media files.
Changes
- Workflows: Update actions (#2734), thanks @KarlStraussberger
- Workflows: Update actions (#2731), thanks @KarlStraussberger
- Workflows: Update actions (#2730), thanks @KarlStraussberger
- Quirks: Avoid passing references (#2729), thanks @KarlStraussberger
- Docker: Improve debugging build (#2727), thanks @KarlStraussberger
- Fix build on systems that have const in second argument to iconv (#2726), thanks @niclasr
- Debian: fix unstable build (#2724), thanks @KarlStraussberger
- Docker: Update to alpine 3.16 (#2723), thanks @KarlStraussberger
- Add edge tag to docker workflow (#2721), thanks @mill1000
- Add cache for hostname (#2719), thanks @KarlStraussberger
- Fix setting autoscan from Web UI (#2718), thanks @KarlStraussberger
- Path handling cleanup (#2717), thanks @KarlStraussberger
- Import: fix layout and performance issues (#2716), thanks @KarlStraussberger
- CodeQL: Update version (#2714), thanks @KarlStraussberger
- Sqlite: Configuration for database modes (#2713), thanks @KarlStraussberger
- Systemd: Add wants entry (#2712), thanks @KarlStraussberger
- Autoscan: Support configuration of upnp class of virtual containers (#2710), thanks @KarlStraussberger
- Saveguard Samsung Quirks (#2706), thanks @KarlStraussberger
- Fix static init (#2705), thanks @KarlStraussberger
- Add support for ip subnets in client config (#2702), thanks @KarlStraussberger
- Handle deleted objects in sqlite queue (#2701), thanks @KarlStraussberger
- database: clearFlags use bit operation (#2698), thanks @KarlStraussberger
- web: update jquery-ui to 1.13.2 (#2697), thanks @KarlStraussberger
- use fmt 9.0.0 (#2695), thanks @KarlStraussberger
- Fix build with fmt 9.0 (#2694), thanks @felixonmars
- Fix removing flags in ui (#2693), thanks @KarlStraussberger
- Fix: Remove duplicate open breaking url transcoding (#2692), thanks @KarlStraussberger
- Remove dropped ubuntu versions (#2689), thanks @KarlStraussberger
- Fix npm vulnerabilities (#2688), thanks @KarlStraussberger
- Bump terser from 5.13.1 to 5.14.2 in /gerbera-web (#2684), thanks @dependabot
- Bump jquery-ui from 1.13.1 to 1.13.2 in /gerbera-web (#2683), thanks @dependabot
- fix compilation with latest exiv2 master (#2673), thanks @neheb
- Transcoding for external items (#2667), thanks @KarlStraussberger
- Cleanup tasks on removeObject (#2666), thanks @KarlStraussberger
- Improve creating external links (#2662), thanks @KarlStraussberger
- more sonarlint (#2665), thanks @neheb
- Fix 2663 (#2664), thanks @KarlStraussberger
- Improve error handling for Resolution (#2659), thanks @KarlStraussberger
- const member functions (#2661), thanks @neheb
- Simplify Xml2Json (#2657), thanks @KarlStraussberger
- actions: use alpine 3.16 container (#2658), thanks @neheb
- sonarlint fixes (#2656), thanks @neheb
- Add files sizes to server stats (#2653), thanks @KarlStraussberger
- replace some memcpy by std::copy_n (#2654), thanks @neheb
- Coverity fixes (#2650), thanks @neheb
- Handle Promise rejection (#2645), thanks @KarlStraussberger
- remove const from member variables (#2643), thanks @neheb
- Update node packages (#2642), thanks @KarlStraussberger
- clang-tidy: const ref to value (#2640), thanks @neheb
- Support tweaking mimetypes for client (#2637), thanks @KarlStraussberger
- clang-tidy: use data() instead of pointer magic (#2638), thanks @neheb
- clang-tidy: const string ref conversion (#2639), thanks @neheb
- clang-tidy: don't use else after return (#2641), thanks @neheb
- This and that (#2635), thanks @KarlStraussberger
- Limit number of dynamic container entries (#2634), thanks @KarlStraussberger
- Read Metadata from external files (asx playlist and NFO) (#2627), thanks @KarlStraussberger
- Update versions (#2625), thanks @KarlStraussberger
- add deleted copy functions for WavPackHandler (#2620), thanks @neheb
- Drop scan_level on update to DB 19 (#2624), thanks @KarlStraussberger
- Minor fixes (#2623), thanks @whyman
Please see our Documentation for how to install the latest Gerbera version on your system.
Gerbera v1.11.0
We are happy to announce that Gerbera Media Server 1.11.0 is now available.
NEW Features
- Database: Clients and statistics are stored database so restart does not empty client list. Client grouping for play statistics.
- Search: Support searching playlists containers
- Search: Respect ContainerID when performing search
- Import: item class filtering and mapping by file properties allows more sophisticated virtual structure
- Transcoding: Support filtering transcoding profiles by resource properties (like codecs) avoids transcoding if client can play files
- DLNA: Detect DNLA profiles by resource attributes to specify more detailled profile for handling in client
- File type support for WavPack improved: More metadata read with special library if compiled in.
- Support Ubuntu 22.04
FIXES
- Playlist: Fix parser error
- Playlist: Handle end of file properly
- Browsing: Sort containers first
- Search: search result is sort by title now
- Import: Timestamps in future are not stored for containers
Code Improvements
- ContentHandler to enum
- ResourceContentType to enum
- ResourceAttribute new style enum
- Config: Autoscan list to plain vector
- ContentManager: Single autoscan list
- Update Duktape version to 2.7.0
- Server: Clean up virtualURL handling
- Add WavPack as library
- Further Cleanups
General
To benefit from changes a rescan of all media files is recommended
Changes
- Gerbera 1.11.0 (#2610), thanks @KarlStraussberger
- clang-tidy fixes (#2618), thanks @neheb
- webkit style for transcoding (#2617), thanks @neheb
- clang-tidy: add missing variable name in declaration (#2613), thanks @neheb
- rename to_seconds to toSeconds (#2615), thanks @neheb
- clang-tidy: fix case style of class/structs (#2614), thanks @neheb
- use empty() (#2612), thanks @neheb
- Build Ubuntu 22.04 (#2611), thanks @KarlStraussberger
- Respect ContainerID when performing search (#2604), thanks @mill1000
- Server: Clean up virtualURL handling (#2607), thanks @whyman
- Don't store timestamps in future (#2608), thanks @KarlStraussberger
- Fix compilation of jpeg_resolution.cc (#2609), thanks @kyak
- clang-tidy: fix wrong erase (#2585), thanks @neheb
- Add item class filter and mapping to autoscan directory (#2565), thanks @KarlStraussberger
- fix compilation (#2601), thanks @neheb
- remove unused upnp header (#2600), thanks @neheb
- clang-tidy: remove defaulted constructors (#2588), thanks @neheb
- CI: Docker local cache, only buld AMD64 for PRs (#2597), thanks @whyman
- Fix built in JPEG resolution parsing. (#2596), thanks @whyman
- FFMpegThumbnailer: Enable by default, improvements (#2594), thanks @whyman
- ContentManager: Single autoscan list (#2580), thanks @whyman
- fix compilation with npupnp (#2592), thanks @neheb
- Fix search-item-result regression. (#2591), thanks @mill1000
- clang-tidy: use at() instead of [] (#2587), thanks @neheb
- fix wrong variable name (#2586), thanks @neheb
- remove const from map (#2584), thanks @neheb
- clang-tidy: redundant init (#2581), thanks @neheb
- change read/write functions to use std::byte (#2583), thanks @neheb
- manual unique_ptr removals (#2582), thanks @neheb
- clang-tidy: use braced init list (#2574), thanks @neheb
- Handle config sourced autoscans in DB more gracefully (#2579), thanks @whyman
- remove IOHandler unique_ptrs (#2578), thanks @neheb
- remove pointless move (#2577), thanks @neheb
- clang-tidy: pass by value (#2570), thanks @neheb
- remove unused includes (#2572), thanks @neheb
- pass std::string by value (#2573), thanks @neheb
- clang-tidy: add special member functions (#2575), thanks @neheb
- value to ref conversions (#2576), thanks @neheb
- manual move conversions (#2571), thanks @neheb
- fix declaration (#2569), thanks @neheb
- simplify bool expression (#2568), thanks @neheb
- CI: Debian: whitelist /build (#2566), thanks @whyman
- Config: Autoscan list to plain vector (#2551), thanks @whyman
- add missing moves (#2561), thanks @neheb
- Autoscan: fix out of range issue (#2556), thanks @KarlStraussberger
- get rid of make_pair (#2559), thanks @neheb
- Minimal: fix test (#2555), thanks @KarlStraussberger
- Change ResourceContentType to Resource::purpose (#2553), thanks @KarlStraussberger
- Revert "fix bad URL" (#2550), thanks @KarlStraussberger
- fix bad URL (#2549), thanks @neheb
- Remove DB field from autoscan list (#2546), thanks @whyman
- ContentHandler to enum (#2545), thanks @KarlStraussberger
- Autoscan: Tidy validation logic, nest enum (#2543), thanks @whyman
- Fix Bitrate formatting, populate bitsPerSample (#2544), thanks @whyman
- move make_shared into function (#2541), thanks @neheb
- Add MetaData 'dc:data' to all Item and container (Issue #2531) (#2538), thanks @TaniGit
- Add Quirk to block filename in item uri (#2540), thanks @KarlStraussberger
- Improve readability of attributes (#2532), thanks @KarlStraussberger
- clang-tidy: member function const (#2534), thanks @neheb
- pass shared_ptr by value (#2533), thanks @neheb
- add throw_fmt_system_error define (#2332), thanks @neheb
- clang-tidy (#2529), thanks @neheb
- README: Bump required npupnp version (#2526), thanks @whyman
- Try to fix paths-ignore (#2530), thanks @KarlStraussberger
- Find DNLA profiles by resource attributes (#2528), thanks @KarlStraussberger
- Restore friendly name in UI (#2525), thanks @whyman
- WavPack: Get metadata with original library (#2521), thanks @KarlStraussberger
- ResourceAttribute new style enum (#2512), thanks @whyman
- Bump minimist from 1.2.5 to 1.2.6 in /gerbera-web (#2520), thanks @dependabot
- Allow agent to not exist if profile is disabled. (#2518), thanks @KarlStraussberger
- Support filtering transcoding profiles (#2513), thanks @KarlStraussberger
- Refactor handling of network addresses (#2510), thanks @KarlStraussberger
- Split out URL handling methods to UrlUtils namespace (#2509), thanks @whyman
- Fix: Repair broken Mysql statements (#2508), thanks @KarlStraussberger
- Sort containers first (#2505), thanks @KarlStraussberger
- use to_integer (#2502), thanks @neheb
- string to string_view conversion (#2503), thanks @neheb
- Rework file access (#2500), thanks @KarlStraussberger
- replace bzero with {} (#2504), thanks @neheb
- Support searching playlists containers (#2495), thanks @KarlStraussberger
- clang-tidy: use move (#2498), thanks @neheb
- remove reference parameter (#2497), thanks @neheb
- clang-tidy: replace push with emplace_back (#2499), thanks @neheb
- convert function to static (#2496), thanks @neheb
- UI Prettier Modals, badges (#2494), thanks @whyman
- WebTests: Update node packages (#2491), thanks @KarlStraussberger
- Playlist: Handle end of file properly (#2490), thanks @KarlStraussberger
- Support parsing function for config values (#2488), thanks @KarlStraussberger
- Ensure search sort by title (#2486), thanks @KarlStraussberger
- ThreadRunner: Drop system-threads config (#2484), thanks @whyman
- Store Playback Status in new table (#2476), thanks @KarlStraussberger
- Fix sorting by composed keys (#2481), thanks @KarlStraussberger
- Update Duktape version for bookworm (#2478), thanks @KarlStraussberger
- Fix tag matches with ffmpeg_handler (#2477), thanks @whyman
- CI: build-deb: Pass API key to docker env, again (#2473), thanks @whyman
- CI: build-deb: Pass API key to docker env (#2472), thanks @whyman
- Add Clients to database (#2471), thanks @KarlStraussberger
- doc/install.rst: drop Entware (#2470), thanks @ffontaine
- doc/install.rst: add Buildroot (#2469), thanks @ffontaine
- bool simplifications (#2465), thanks @neheb
- unused parameter for throw (#2466), thanks @neheb
- remove pointless parentheses (#2467), thanks @neheb
- Fix playlist parser error (#2464), thanks @KarlStraussberger
- simplify some bools (#2462), thanks @neheb
- Increase DukTape version (#2460), thanks @KarlStraussberger
- Bump master (#2456), thanks @KarlStraussberger
Please see our Documentation for how to install the latest Gerbera version on your system.