Gerbera v0.9.0 Release Notes

    • 💻 the UI was completely rewritten from scratch; it uses AJAX for all requests
    • ↔ integrated libupnp (http://pupnp.sf.net/) into our source tree
    • ➕ added largefile support
    • 🐎 code has undergone some performance optimizations
    • 🛠 fixed a bug where server did not shutdown while http download was in progress
    • all sqlite3 queries are now handled by a single, dedicated thread to make MediaTomb work with SQLite3 compiled with "--enable-threadsafe"
    • 🛠 fixed a bug where setting -p 0 did not trigger automatic port selection if it had to override the value in config.xml
    • 🛠 fixed bug 1425424 - crash on a bad config.xml - we did not handle the case where the tag was not present. Thanks to Nektarios K. Papadopoulos [email protected] for the report and patch.
    • ➕ added configure option and adapted the code to completely supress all log output
    • ➕ added configure option and adapted the code to supress debug output
    • ➕ added taglib support, thanks to Benhur Stein [email protected] for the patch.
    • 🐛 bug 1524468 (startup in daemon mode fails) does no longer occur after the integration of libupnp 1.4.x sources
    • 🛠 fixed bug 1292295 (string conversion was failing on 64bit platforms)
    • 🛠 fixed issue with ContainerUpdateIDs (were not sent out along with accepted subscription)
    • 🛠 fixed issue where some directories could not be browsed (filesystem browser). It turned out that we forgot to convert the filenames to UTF-8, as the result invalid characters made their way into the XML that was feeded to the browser.
    • 👌 improved illegal character conversion handling - in case iconv fails we will pad the rest of the name string with "?" and print out the failed name in the console.
    • 0️⃣ we now try to determine the default import charsets by looking at the system locale.
    • 📇 implemented track number metadata extraction (feature request 1430799). track numbers are now extracted via id3lib/taglib and can also be used in the import script. import.js has been adapted to add tracknumbers to song names in the Album container.
    • ➕ added option to supress hidden files when browsing the filesystem
    • added X_MS_MediaReceiverRegistrar Service to allow future Xbox 360 support
    • ➕ added workarounds to enable Telegent TG100 avi playback
    • server can now be restarted by sending it a SIGHUP
    • 🔧 the current configuration file will never be displayed in the UI and will never be added to the database - we do not want the user to accidentally share it on the network since it may contain security sensitive data
    • tomb-install is no longer needed, the server will automatically create a default ~/.mediatomb/config.xml file if there is none
    • the database tables will be created automatically if they don't exist
    • 🔧 adapted configure script to correctly set flags for linkers that use the --as-needed option
    • 💻 the "PC Directory" isn't changeable via the UI anymore to ensure a correct view of the "PC Directory"
    • lookups in the database are now done with hashes, which should make many things faster, especially the adding
    • 🔄 changed the database field "location" from varchar(255) to text to allow urls and locations of unlimited size
    • 💻 created a new theme for the UI
    • ➕ added support for "blind" .srt requests - some renderers like the DSM320 will blindly request the url provided via browse, replacing and found file extension with .srt, we will look for the .srt file in the directory where the original media is located, using the same filename, but with the .srt extension
    • created XML schema for "config.xml" to provide the possiblity of validating the configuration
    • ➕ added fallback if js is not available - there is a builtin feature to create a default virtual layout now; config.xml has got an option to select the virtual-layout type, it can be builting, js or disabled.
    • ➕ added charset option to the import script, it is not possible to specify the script encoding
    • 📇 we now validate filesystem, metadata and scripting charsets upon startup
    • ➕ added a special option that allows limiting title and description lengths in UPnP browse replies to a specified length; this was necessary to work around a bug in the TG100 that has problems browsing items where title length exceeds 101 characters.
    • import.js can now specify the upnp class of the last container in the chain
    • all items within a container which upnp class is set to object.container.album.musicAlbum will automatically be sorted by track number.
    • ➕ added option to configure the presentation URL to make it easier for NAS vendors to integrate the server into their web UI
    • 🔧 made model number configurable