Version 0.3.21 ~~~~~~~~~~~~~~ Released: 2024-10-15 Bugfixes: - Check for corrupt XbSiloNode values in a smarter way (Richard Hughes) Version 0.3.20 ~~~~~~~~~~~~~~ Released: 2024-10-14 Bugfixes: - Do not always strip literal text (Richard Hughes) - Do not assume .txt files are application/xml (Richard Hughes) - Fix a crash when loading a corrupt XMLb store (Richard Hughes) - Fix writing files on Windows (Richard Hughes) Version 0.3.19 ~~~~~~~~~~~~~~ Released: 2024-04-22 New Features: - Add xb_version_string() to get the runtime ABI version (Richard Hughes) Bugfixes: - Add the runtime version as the default XMLb invalidation GUID (Richard Hughes) Version 0.3.18 ~~~~~~~~~~~~~~ Released: 2024-04-09 Bugfixes: - Fix decompressing large zstd files, harder (Richard Hughes) - Include the pkgconfig variables in the subproject declared dependency (Richard Hughes) Version 0.3.17 ~~~~~~~~~~~~~~ Released: 2024-04-05 Bugfixes: - Create SECURITY.md for the OpenSSF scorecard (Richard Hughes) - Fix decompressing large zstd files (Richard Hughes) - Use zst as the file extension for zstd (Richard Hughes) Version 0.3.16 ~~~~~~~~~~~~~~ Released: 2024-04-03 New Features: - Add the lzma and zstd support to the pkgconfig file (Richard Hughes) Bugfixes: - Make the LZMA support optional (Richard Hughes) Version 0.3.15 ~~~~~~~~~~~~~~ Released: 2024-01-02 New Features: - Sprinkle __attribute__((nonnull)) to give a little more compile-time safety (Richard Hughes) Bugfixes: - Accept text/xml as an alternative to application/xml (peigongdsd) - Do not inline shared code (Chun-wei Fan) - Fix compiling with Visual Studio (Chun-wei Fan) - Fix the exported api test on Windows (Chun-wei Fan) - Generate and use .def file for clang-cl builds (Chun-wei Fan) - Release source file handles early (Milan Crha) Version 0.3.14 ~~~~~~~~~~~~~~ Released: 2023-10-24 Bugfixes: - Fix comparing indexed text with integer values (Richard Hughes) Version 0.3.13 ~~~~~~~~~~~~~~ Released: 2023-10-17 Bugfixes: - Correctly tokenize when using a bound text value (Richard Hughes) - Ensure tokens are all NULL when using xb_opcode_init() (Richard Hughes) Version 0.3.12 ~~~~~~~~~~~~~~ Released: 2023-10-10 New Features: - Use indexes when binding value (Richard Hughes) Bugfixes: - Avoid building errors and debug strings when possible to make XbQuery faster (Christian Hergert) - Fix content type detection on macOS (Richard Hughes) - Inline a number of machine internals to make queries faster (Christian Hergert) - Make zstd support optional (sulincix, aliriza) - Setup various release build options (Christian Hergert) Version 0.3.11 ~~~~~~~~~~~~~~ Released: 2023-02-20 New Features: - Add limited support for XPath 1.0 'in' (Richard Hughes) - Add support for zstd (Richard Hughes) Bugfixes: - Do not assert() when decompressing invalid LZMA (Richard Hughes) Version 0.3.10 ~~~~~~~~~~~~~~ Released: 2022-09-11 Bugfixes: - Fix dumping and exporting multiple files from the CLI (Richard Hughes) - Watch files before loading them into the builder (Philip Withnall) - Fix potential double free when filtering by language (Sergio Costas Rodriguez) Version 0.3.9 ~~~~~~~~~~~~~ Released: 2022-05-24 Bugfixes: - Fix the crash for when the root tree has no children (Richard Hughes) - Fix the crash when getting the element for the [empty] root (Richard Hughes) - Install xb-tool into bindir (Richard Hughes) Version 0.3.8 ~~~~~~~~~~~~~ Released: 2022-03-22 Bugfixes: - Fix building on macOS (Bobby Rong) Version 0.3.7 ~~~~~~~~~~~~~ Released: 2022-02-16 Bugfixes: - Ensure reproducible results when importing a node (Richard Hughes) - Ignore all hidden files when using _WATCH_DIRECTORY (Richard Hughes) - Show the value bindings when using XB_SILO_PROFILE_FLAG_XPATH (Richard Hughes) - Use the correct lookup method for the python3 script interpreter (Eli Schwartz) Version 0.3.6 ~~~~~~~~~~~~~ Released: 2021-12-06 Bugfixes: - Ensure _IS_TOKENIZED is set if tokens are added manually (Richard Hughes) - Ensure we never add too many tokens to the silo (Richard Hughes) Version 0.3.5 ~~~~~~~~~~~~~ Released: 2021-12-01 Bugfixes: - Put tail after the node when exporting XbBuilderNode (Matthias Klumpp) - Remove the G_ALIGNOF checks to fix compile with old GLib versions (Richard Hughes) Version 0.3.4 ~~~~~~~~~~~~~ Released: 2021-11-29 New Features: - Add a flag to require the XbBuilderSource to have no siblings (Richard Hughes) - Add iterator for XbNode attributes and children (Matthias Klumpp) - Allow removing XbBuilderNode text (Richard Hughes) - Allow stripping builder node inner text (Richard Hughes) - Include records in the symbol export list (Richard Hughes) - Use -Dcli=false to reduce the install size (Richard Hughes) Version 0.3.3 ~~~~~~~~~~~~~ Released: 2021-10-06 New Features: - Add support for LZMA decompression (Richard Hughes) Bugfixes: - Add locking for file monitors (Philip Withnall) - Clarify GMainContext usage and signal emission (Philip Withnall) - Modernise property declaration (Philip Withnall) Version 0.3.2 ~~~~~~~~~~~~~ Released: 2021-05-24 Bugfixes: - Respect XB_BUILDER_NODE_FLAG_IGNORE when exporting (Richard Hughes) - Use the chosen chunk size when reading from a stream (Richard Hughes) - Use the correct pkgconfig export package name in the GIR file (Richard Hughes) Version 0.3.1 ~~~~~~~~~~~~~ Released: 2021-05-06 New Features: - Use stack-allocated XbStack instances for running a machine (Philip Withnall) Bugfixes: - Always run xb-tool queries with the optimizer (Richard Hughes) - Do not use g_file_replace_contents for win32 (Richard Hughes) - Ensure tokens handling works when XbOpcode is not zero-inited (Philip Withnall) Version 0.3.0 ~~~~~~~~~~~~~ Released: 2021-03-12 New Features: - Add a new object to contain query context data (Philip Withnall) - Allow collapsing empty XML tags if no children or text (Aleksander Morgado) - Allow marking elements as tokenized from xb-tool (Richard Hughes) - Allow optimized searching when comparing tokens (Richard Hughes) - Support mmap()ing the source file to get bytes (Philip Withnall) - Support query caching with xb_silo_lookup_query() (Philip Withnall) - Support UTF-8 for upper-case() and lower-case() (Richard Hughes) - Use g_str_match_string() for non-ASCII search queries (Richard Hughes) - Write search tokens into the built silo (Richard Hughes) Bugfixes: - Cancel the GFileMonitor before unreffing it (Iain Lane) - Do not allocate a 128Mb buffer for each xb_builder_source_ctx_get_bytes() (Richard Hughes) - Do not error when creating a query if the element doesn’t exist (Philip Withnall) - Fix a parse failure for a double comment (Richard Hughes) - Fix various errors or missing annotations in docs (Philip Withnall) - Make handling of single-result queries more robust (Philip Withnall) Version 0.2.1 ~~~~~~~~~~~~~ Released: 2020-09-07 Bugfixes: - Do not assume g_content_type_guess() always returns valid results (Richard Hughes) - Make the build reproducible (Richard Hughes) - Revert "Do not show a critical warning for invalid XML" (Richard Hughes) - Update the header location to reflect the new API (Richard Hughes) Version 0.2.0 ~~~~~~~~~~~~~ Released: 2020-08-18 Important: - This release breaks API and ABI and bumps the version of libxmlb.so and so packages that depend on this library (e.g. fwupd or gnome-software) will need to be rebuilt at the same time. New Features: - Add the missing TEXT:INTE XPath support (Richard Hughes) - Add variant of xb_silo_query_with_root() avoiding XbNode creation (Philip Withnall) - Add XB_BUILDER_SOURCE_FLAG_WATCH_DIRECTORY flag (Philip Withnall) - Allow specifying the node cache behaviour for the query (Richard Hughes) Bugfixes: - Avoid recursion when setting flags if possible (Philip Withnall) - Avoid using weak pointers when building the silo (Philip Withnall) - Change the default value for the node cache (Richard Hughes) - Do not allocate opcodes individually (Philip Withnall) - Do not show a critical warning for invalid XML (Richard Hughes) - Do not unconditionally create GTimer objects (Philip Withnall) - Do not use the node cache when building indexes (Richard Hughes) - Lazy load more arrays to reduce RSS usage (Philip Withnall) - Report silo versions when versions mismatch (Robert Ancell) Version 0.1.15 ~~~~~~~~~~~~~~ Released: 2020-03-04 New Features: - Add xb_builder_source_add_simple_adapter (Daniel Campello) - Allow reversing the query results (Richard Hughes) Version 0.1.14 ~~~~~~~~~~~~~~ Released: 2019-12-03 New Features: - Add MinGW Windows 64 builds to CI (Richard Hughes) Bugfixes: - Allow compiling without gio-unix (Richard Hughes) - Do not use libuuid (Richard Hughes) - Do not unconditionally use -fstack-protector-strong (Richard Hughes) - Ignore adaptors added with xb_builder_source_add_converter() (Richard Hughes) Version 0.1.13 ~~~~~~~~~~~~~~ Released: 2019-10-17 New Features: - Export xb_silo_query_full() (Richard Hughes) Bugfixes: - Show the XPath that was used in the query in the error message (Richard Hughes) Version 0.1.12 ~~~~~~~~~~~~~~ Released: 2019-09-27 New Features: - Add helper functions to get the first and last child XbBuilerNode (Richard Hughes) - Add xb_node_transmogrify to allow changing XML format (Richard Hughes) - Support 'tail' XML data in the stored silo (Richard Hughes) Bugfixes: - Do not escape a single quote with ' (Richard Hughes) - Don't invalidate the silo for a GIO temp file (Richard Hughes) - Fix up two memory leaks if using libxmlb from an introspected binding (Richard Hughes) Version 0.1.11 ~~~~~~~~~~~~~~ Released: 2019-07-15 New Features: - Add xb_node_query_first_full() convenience helper (Richard Hughes) - Rebuild the XbMachine parser to support 'and' and 'or' predicates (Richard Hughes) - Verify we never break the ABI (Mathieu Bridon) Bugfixes: - Conditionalize installation of test data (Mathieu Bridon) - Generate a GUID of zero for no silo data (Richard Hughes) - Run CI jobs in parallel (Mathieu Bridon) Version 0.1.10 ~~~~~~~~~~~~~~ Released: 2019-05-16 Bugfixes: - Do not mistake gzipped files as being application/x-zerosize content type (Richard Hughes) - Fix running the installed tests with no checkout directory (Richard Hughes) Version 0.1.9 ~~~~~~~~~~~~~ Released: 2019-05-07 Bugfixes: - Correctly implement building a silo with _SINGLE_LANG set (Richard Hughes) Version 0.1.8 ~~~~~~~~~~~~~ Released: 2019-03-26 New Features: - Add some installed tests (Richard Hughes) Bugfixes: - Always add all children when importing parent-less XML data (Richard Hughes) Version 0.1.7 ~~~~~~~~~~~~~ Released: 2019-03-08 New Features: - Add XB_BUILDER_COMPILE_FLAG_IGNORE_GUID (Richard Hughes) - Allow nesting XbBuilderSource content type handlers (Richard Hughes) Bugfixes: - Correct return type for xb_builder_compile() (Mario Limonciello) - Increase the amount of time for the inotify event to happen (Richard Hughes) - Only run the speed tests when using '-m perf' (Richard Hughes) Version 0.1.6 ~~~~~~~~~~~~~ Released: 2018-12-30 New Features: - Allow controlling how the XbQuery is parsed (Richard Hughes) Version 0.1.5 ~~~~~~~~~~~~~ Released: 2018-11-21 New Features: - Add xb_builder_node_export() (Richard Hughes) Bugfixes: - Do not start a GIO session bus when using xb-tool (Richard Hughes) - Ignore calls to xb_silo_query_build_index() with no results (Richard Hughes) - Lazy load the stemmer when required (Richard Hughes) Version 0.1.4 ~~~~~~~~~~~~~ Released: 2018-11-08 New Features: - Add support for bound variables (Richard Hughes) - Add support for indexed strings (Richard Hughes) - Optionally optimize predicates (Richard Hughes) - Split out the XPath query logic into XbQuery (Richard Hughes) - Support XPath method to do a Porter stem operation on text (Richard Hughes) Bugfixes: - Don't hardcode the path of python3 (Ting-Wei Lan) - Only attempt to pass TEXT opcodes for upper-case() (Richard Hughes) - Revert the optional text space saving feature (Richard Hughes) - Use INTE:INTE for comparison where available (Richard Hughes) Version 0.1.3 ~~~~~~~~~~~~~ Released: 2018-10-22 New Features: - Add XbBuilderFixup (Richard Hughes) - Add xb_builder_node_get_attr_as_uint() (Richard Hughes) - Add xb_builder_node_get_text_as_uint() (Richard Hughes) - Add xb_builder_node_sort_children() (Richard Hughes) Bugfixes: - Allow being used as a meson subproject (Jan Tojnar) - Fix compiling on Ubuntu Xenial (Richard Hughes) - Switch from GPtrArray to XbStack for performance reasons (Richard Hughes) - Update meson relro checks (Jan Tojnar) Version 0.1.2 ~~~~~~~~~~~~~ Released: 2018-10-16 New Features: - Add support for XPath string-length() (Richard Hughes) - Add xb_builder_source_load_bytes() (Richard Hughes) - Add xb_silo_export_file() (Richard Hughes) - Add xb_string_append_union() (Richard Hughes) - Add xb_string_escape() (Richard Hughes) Bugfixes: - Allow the use as meson subproject (Jan Tojnar) - Do not query with the first child (Richard Hughes) - Fix a crash when using xb_builder_node_set_text() in a fixup (Richard Hughes) - Only run the XbBuilderSourceConverterFunc if the silo needs rebuilding (Richard Hughes) - Return an error when the XPath predicate has invalid syntax (Richard Hughes) Version 0.1.1 ~~~~~~~~~~~~~ Released: 2018-10-11 New Features: - Add support for XPath starts-with() and ends-with() (Richard Hughes) - Add support for number() and text() type conversion (Richard Hughes) - Add support for predicate not() (Richard Hughes) - Add xb_silo_invalidate() (Richard Hughes) - Export XbMachine and XbOpcode (Richard Hughes) Bugfixes: - Add the XbBuilderSource info keys to the generated GUID (Richard Hughes) - Add the XbBuilderSourceNodeFunc ID to the generated GUID (Richard Hughes) - Add the source prefix to the generated GUID (Richard Hughes) - Do not use GNode when compiling the blob (Richard Hughes) - Ignore invalid arguments if OR queries have other sections to parse (Richard Hughes) - Load back the saved new silo to get a mmapped version (Richard Hughes) - Support XPath wildcard nodes with predicates (Richard Hughes) - Support some relative parent queries (Richard Hughes) - Use the time::changed-usec if set in the GUID (Richard Hughes) Version 0.1.0 ~~~~~~~~~~~~~ Released: 2018-10-05 Notes: - A library for querying compressed XML metadata.