Version 3.9 released

New Features

User defined properties for Media entries, tags and metatags: you are now able to define your own properties/attributes for these entities and define values for them in the properties panel

bookmarks and scripts could have a path to group them in the menus. You can use "/" within the name of a bookmark or script to structure it in submenus in the UI

better groovy integration for filtering and grouping. You could put initialisation groovy code into the application to define your own menu points, filter functions, grouping functions, etc. This customization will be improved over the next versions

several small bugfixes and performance improvments

Please note, that the application asumes a 64 bit java runtime, now as the start script increases the max memory to 3GB

bookmarks have now an attribute "menu path".Setting a path could be used to show the menus structured by that path in the UI (menus, toolbar); "/" could be used as separator to make multiple groupings in the path — lang / detail

bookmarks have now an attribute "menu path".Setting a path could be used to show the menus structured by that path in the UI (menus, toolbar); "/" could be used as separator to make multiple groupings in the path — lang / detail

using jdesktop bsaf instead of appframework: not really more up to date, but at least we get the source code via maven — lang / detail

draft: groovy functions could be called within filter language with "$" prefix.at the moment the return type is simply TEXT, nothing other allowed at the moment.user defined groovy functions could used this way in the filter/grouping langauge — lang / detail

executing init scripts on startup of applicationwith ExpandoMetaClass definitions on GroovyFilterBaseClass in scripts, a user could define user defined functions for filtering and grouping (usage only in groovy mode at the moment) — lang / detail

fix: preselecting the value in the combo cell editor for properties (otherwise it would always select the first hint in the combobox model) — lang / detail

first simple solution to group via groovy in the grouping editor;grouping works by beginning with the marker word "groovy" followed by a call to the method group() which gets a list of closures for each group level.each closure gets called per each joined data row and needs to return a string (the grouping value) — lang / detail

groovy filtering works now by typing a first marker word "groovy" in the editor and then followed by groovy script to filter a joined data row.(a script which gets called for each joined data row, and which needs to return a boolean) — lang / detail