lilv (0.24.5) unstable;

  * Fix GCC8 warnings
  * Fix creating directories across drives on Windows
  * Don't print errors when saving state if correct links already exist
  * Fix issues with loading state with saved files from the model

 -- David Robillard <d@drobilla.net>  Sun, 16 Sep 2018 11:36:45 +0200

lilv (0.24.4) stable;

  * Fix saving state when broken links are encountered
  * Don't attempt to load remote or non-Turtle files
  * lv2apply: Activate plugin before running
  * lv2apply: Use default values when they are not nan
  * lv2bench: Improve support for plugins with sequence ports
  * lv2bench: Support running a single plugin given on the command line
  * Gracefully handle plugins with missing binary URIs
  * Remove use of deprecated readdir_r
  * Install Python bindings when configured without tests
    (thanks Clement Skau)

 -- David Robillard <d@drobilla.net>  Sun, 22 Jul 2018 20:42:00 +0200

lilv (0.24.2) stable;

  * Fix saving state to paths that contain URI delimiters (#, ?, etc)
  * Fix comparison of restored states with paths

 -- David Robillard <d@drobilla.net>  Wed, 04 Jan 2017 11:48:08 -0500

lilv (0.24.0) stable;

  * Add new hand-crafted Pythonic bindings with full test coverage
  * Add lv2apply utility for applying plugins to audio files
  * Add lilv_world_get_symbol()
  * Add lilv_state_set_metadata() for adding state banks/comments/etc
    (based on patch from Hanspeter Portner)
  * Fix crash when state contains non-POD properties
  * Fix crash when NULL predicate is passed to lilv_world_find_nodes()
  * Fix state file versioning
  * Unload contained resources when bundle is unloaded
  * Do not instantiate plugin when data fails to parse
  * Support re-loading plugins
  * Replace bundles if bundle with newer plugin version is loaded
    (based on patch from Robin Gareus)
  * Fix loading dyn-manifest from bundles with spaces in their path
  * Check lv2:binary predicate for UIs
  * Add LILV_URI_ATOM_PORT and LILV_URI_CV_PORT defines
  * Fix documentation installation
  * Fix outdated comment references to lilv_uri_to_path()

 -- David Robillard <d@drobilla.net>  Mon, 19 Sep 2016 22:24:57 -0400

lilv (0.22.0) stable;

  * Fix loading files with spaces in their path
  * Add lilv_file_uri_parse() for correct URI to path conversion
  * Add lilv_node_get_path() for convenient file URI path access
  * Add lilv_state_emit_port_values() for special port value handling
  * Add lilv_state_get_uri()
  * Add lilv_state_delete() for deleting user saved presets
  * Add lilv_free() for systems picky about such things
  * Fix lilv_world_ask() to work with wildcards
  * Fix creation of duplicate manifest entries when saving state
  * Fix bindings for Python 3
  * Load discovered owl ontologies as specifications
  * Expose lilv_world_load_specifications() and
    lilv_world_load_plugin_classes()
  * Tolerate passing NULL to lilv_state_restore()
  * Preserve absolute paths in state if no link directory is given
  * Fix a few minor/unlikely memory errors
  * Configure based on compiler target OS for cross-compilation
  * Fix lilv_realpath() on pre-POSIX-2008 systems
  * Fix directory walking on some systems (thanks Matt Fischer)
  * Windows fixes (thanks John Emmas)
  * Minor documentation improvements
  * Upgrade to waf 1.8.14

 -- David Robillard <d@drobilla.net>  Thu, 08 Oct 2015 15:39:29 -0400

lilv (0.20.0) stable;

  * Don't load files multiple times if they are listed as rdfs:seeAlso for
    several plugins
  * Call lv2_lib_descriptor separately for different bundle paths
    (fix loading several dynamic plugins like Ingen at once)
  * Tolerate calling lilv_node_as_uri or lilv_node_as_blank on NULL
  * Add convenient lilv_new_file_uri for creating file URIs
  * Fix use of lv2info -m and -p options to write plugin data
    (useful for porting plugins bridges with NASPRO)
  * Fix issues with lilv_plugin_get_author_name and friends
    (thanks Filipe Coelho)
  * Improved/working lv2_apply.py to apply plugin to a .wav
    (thanks Joe Button)
  * Add lilv_world_unload_bundle() and lilv_world_unload_resource()
  * Fix several minor memory leaks
  * Improve test coverage
  * Upgrade to waf 1.7.16

 -- David Robillard <d@drobilla.net>  Fri, 08 Aug 2014 18:21:32 -0400

lilv (0.18.0) stable;

  * Allow lilv_state_restore() to be used without passing an instance,
    for restoring port values via a callback only
  * Fix unlikely memory leak in lilv_plugin_instantiate()
  * Support denoting latency ports with lv2:designation lv2:latency
  * Allow passing NULL port_class to lilv_plugin_get_port_by_designation
  * Call GetProcAddress with correct calling convention on Windows
  * Add support for running plugins from Python by Kaspar Emanuel
  * Clean up after test suite so multiple runs are successful
  * Add lilv_port_get_node() for using world query functions with ports
  * lv2info: Don't display invalid control maxes and defaults
    (patch from Robin Gareus)
  * lilvmm.hpp: Add wrappers for UI API

 -- David Robillard <d@drobilla.net>  Sat, 04 Jan 2014 16:06:42 -0500

lilv (0.16.0) stable;

  * Add lilv_world_ask() for easily checking if a statement exists
  * Add lilv_world_get() and lilv_port_get() for easily getting one value
  * Add lilv_nodes_merge()
  * Make lilv_plugin_get_port_by_designation() return a const pointer
  * Require a URI for lilv_state_to_string() and fail gracefully otherwise
  * Fail gracefully when lilv_state_new_from_string() is called on NULL
  * Make state loading functions fall back to lv2:default for port values,
    so a plugin description can be loaded as default state
  * Ignore state ports with no value instead of printing an error
  * Support atom:supports in lilv_port_supports_event()
  * Add va_list variant of lilv_plugin_get_num_ports_of_class()
  * Fix several plugin functions that failed to load data if called first
  * Correctly depend on serd at build time (fix compilation in odd cases)
  * Disable timestamps in HTML documentation for reproducible build
  * lilvmm.hpp: Support varargs for Plugin::get_num_ports_of_class()
  * lilvmm.hpp: Add several missing methods
  * Update to waf 1.7.8 and autowaf r90 (install docs to versioned directory)

 -- David Robillard <d@drobilla.net>  Mon, 18 Feb 2013 16:43:10 -0500

lilv (0.14.4) stable;

  * Deprecate old flawed Lilv::Instance constructors
  * Fix documentation for ui_type parameter of lilv_ui_is_supported()
  * Fix crash when lv2info is run with an invalid URI argument
  * Gracefully handle failure to save plugin state and print error message
  * Reduce memory usage (per node)
  * Simpler node implementation always backed by a SordNode
  * Make all 'zix' symbols private to avoid symbol clashes in static builds
  * Add lv2bench utility
  * Fix various hyper-strict warnings
  * Do not require a C++ compiler to build
  * Add option to build utilities as static binaries
  * Upgrade to waf 1.7.2
  * lilvmm.hpp: Make Lilv::Instance handle features and failed instantiations
  * lilvmm.hpp: Add Lilv::Instance::get_handle()
  * lilvmm.hpp: Add Lilv::Instance::get_extension_data()

 -- David Robillard <d@drobilla.net>  Thu, 23 Aug 2012 01:38:29 -0400

lilv (0.14.2) stable;

  * Fix dynmanifest support

 -- David Robillard <d@drobilla.net>  Thu, 19 Apr 2012 16:11:31 -0400

lilv (0.14.0) stable;

  * Add lilv_plugin_get_extension_data
  * Use path variables in pkgconfig files
  * Install man page to DATADIR (e.g. PREFIX/share/man, not PREFIX/man)
  * Make Lilv::uri_to_path static inline (fix linking errors)
  * Use correct URI for dcterms:replaces (for hiding old plugins):
    "http://purl.org/dc/terms/replaces"
  * Fix compilation on BSD
  * Only load dynmanifest libraries once per bundle, not once per plugin
  * Fix lilv_world_find_nodes to work with wildcard subjects
  * Add lilv_plugin_get_related to get resources related to plugins that
    are not directly rdfs:seeAlso linked (e.g. presets)
  * Add lilv_world_load_resource for related resources (e.g. presets)
  * Print presets in lv2info
  * Remove locale smashing kludges and use new serd functions for converting
    nodes to/from numbers.
  * Add LilvState API for handling plugin state.  This makes it simple to
    save and restore plugin state both in memory and on disk, as well as
    save presets in a host-sharable way since the disk format is identical
    to the LV2 presets format.
  * Update old references to lv2_list (now lv2ls)
  * Support compilation as C++ under MSVC++.
  * Remove use of wordexp.
  * Add lilv_plugin_get_port_by_designation() and lilv_port_get_index() as an
    improved generic alternative to lilv_plugin_get_latency_port_index().
  * Add lilv_plugin_get_project() and get author information from project if
    it is not given directly on the plugin.

 -- David Robillard <d@drobilla.net>  Wed, 18 Apr 2012 20:06:28 -0400

lilv (0.5.0) stable;

  * Remove glib dependency
  * Add lv2core as a pkg-config dependency (for lv2.h header include)
  * Obey prefix when installing bash completion script
  * Support integer minimum, maximum, and default port values in
    lilv_plugin_get_port_ranges_float
  * Add ability to build static library

 -- David Robillard <d@drobilla.net>  Thu, 29 Sep 2011 00:00:00 -0400

lilv (0.4.4) stable;

  * Fix building python bindings
  * Make free methods tolerate being called on NULL
  * Remove lv2jack (replaced by jalv)
  * Fix parsing extra plugin data files in other bundles
  * Fix lilv_ui_is_supported when Lilv is built independently

 -- David Robillard <d@drobilla.net>  Sat, 11 Jun 2011 11:20:11 -0400

lilv (0.4.2) stable;

  * Fix compilation issues on some systems
  * Fix build system Python 3 compatibility

 -- David Robillard <d@drobilla.net>  Wed, 25 May 2011 19:00:00 -0400

lilv (0.4.0) stable;

  * Initial version (forked from SLV2)

 -- David Robillard <d@drobilla.net>  Tue, 24 May 2011 23:00:00 -0400