Log

Author Commit Date CI Message
Nick Wellnhofer 97f3ec77 2025-04-28T19:05:38 test: Make gentest.py use Doxygen XML This adds Python code to look up the required feature macros for a symbol in tools/xmlmod.py.
Nick Wellnhofer bbe5827c 2025-04-28T17:21:05 doc: Build docs with Doxygen and xsltproc Build the documentation as part of the build process with support for all build systems. This adds a new configuration option --with-docs to build documentation. Required tools are Doxygen, xsltproc and the DocBook 4 XSLT stylesheets. Doxygen will also be required to build the Python bindings.
Nick Wellnhofer e525564f 2025-05-01T19:20:06 doc: Remove empty lines at start of block These lines were left over after automatic conversion.
Nick Wellnhofer fd6ab89b 2025-04-28T15:58:19 doc: Adjust documentation of public structs
Nick Wellnhofer 61890e39 2025-04-27T21:50:15 doc: Prepare for conversion to Doxygen Fix many params in internal functions (not really necessary but Doxygen warns about that in XML mode). Fix formatting in a few corner cases that automatic conversion can't handle. Rearrange some DOC_DISABLE blocks.
Nick Wellnhofer 95c2c523 2025-04-28T16:38:42 doc: Remove apibuild.py and old documentation The last weird maintenance script is gone now.
Nick Wellnhofer 8816f267 2025-04-28T14:55:47 doc: Adjust documentation of enums
Nick Wellnhofer 68d0f0ee 2025-04-29T15:05:18 doc: Fix DocBook warnings Add empty <contrib> elements to silence warnings from the DocBook stylesheets.
Nick Wellnhofer e549622b 2025-04-28T15:11:24 doc: Convert documentation to Doxygen Automated conversion based on a few regexes.
Nick Wellnhofer 69879da8 2025-04-28T14:04:30 doc: Remove email addresses from documentation Also remove authorship information from generated files, hash.c and globals.c which were rewritten.
Nick Wellnhofer 75dde50b 2025-05-01T21:07:34 cmake: Fix installation directories in libxml2-config.cmake Use AX_RECURSIVE_EVAL with Autotools and remove hack using parent directories. Fixes #898.
Nick Wellnhofer 87b30343 2025-04-29T20:00:01 io: Fix linkage of __xml*BufferCreateFilename functions Make these functions usable on Windows.
Nick Wellnhofer 9419f6de 2025-04-29T01:58:32 meson: Install libxml2.py Apparently, nobody has ever tried to use the Python bindings built with Meson.
Nick Wellnhofer af40ed75 2025-04-24T20:01:45 tests: Rework testapi.c Only test NULL and 0 arguments which is the only useful test from my experience. Use ElementTree instead of libxml2's own Python bindings in gentest.py. Stop using the <cond> element in libxml2-api.xml. Look up modules required by symbols using separate code in xmlmod.py, preparing for the eventual removal of apibuild.py.
Nick Wellnhofer 01d1dabd 2025-04-27T12:53:43 cmake: Reenable testapi on Windows Fixes #403.
Nick Wellnhofer fc8899d4 2025-04-27T12:59:41 parser: Make xmlCtxtGetValidCtxt depend on VALID_ENABLED
Nick Wellnhofer 177067ea 2025-04-25T15:34:07 reader: Fix reading compressed data Also make sure that functions that don't return error codes set the global error.
Nick Wellnhofer 0bac84b1 2025-04-24T18:37:16 Add missing NULL checks to public API functions
Nick Wellnhofer 72906f16 2025-04-25T11:41:50 parser: Make undeclared entities in XML content fatal When parsing XML content with functions like xmlParseBalancedChunk or xmlParseInNodeContext, make undeclared entities always a fatal error to match 2.13 behavior. This was deliberately changed in 4f329dc5, probably to make the tests pass. Should fix #895.
Nick Wellnhofer 097fe87f 2025-04-23T17:58:34 gitlab-ci: Add --show-diff to PHP tests Thanks to @nielsdos for the hint.
Nick Wellnhofer 8a791fdd 2025-04-21T17:31:29 save: Fix xmlDocDump with encoding Short-lived regression.
Nick Wellnhofer 71cc2104 2025-04-21T11:10:20 autotools, cmake: Use SOABI for Python shared object This requires Python3 with CMake. Fixes #894.
Nick Wellnhofer 78b123c6 2025-04-20T23:42:44 save: Fix XML escape table Regressed with 2adcde39.
Nick Wellnhofer 5df94fc7 2025-04-20T21:52:03 save: Remove unused struct members
Nick Wellnhofer 8c6c6165 2025-04-20T21:42:51 save: Rework encoding setup Always set up encoding in xmlDocContentDumpOutput. Refactor and simplify some code.
Nick Wellnhofer 936e3d52 2025-04-20T19:25:04 save: Fix xmlSave with NULL encoding Regressed with cc45f618.
Nick Wellnhofer b85d77d1 2025-04-20T14:31:24 http: Remove built-in HTTP client Stubs are retained for ABI compatibility. Fixes #631. Obsoletes #160.
Nick Wellnhofer 85dce180 2025-04-20T14:08:36 gitlab-ci: Readd gcc/autoconf job with Python
Nick Wellnhofer 134bda82 2025-04-19T18:55:29 gitlab-ci: Fetch git history for xmlstarlet
Nick Wellnhofer 70d18dde 2025-04-19T17:34:35 gitlab-ci: Add xmlstarlet to downstream tests Use my private fork for now.
Nick Wellnhofer adc7913d 2025-04-19T16:46:21 gitlab-ci: Avoid redundant builds of libxml2 and libxslt Build and install libxml2 and libxslt in a new "gcc-install" job and publish the build as artifact. Make the downstream tests use the artifact instead of building the libraries redundantly.
Nick Wellnhofer 9e3159d0 2025-04-19T14:26:15 parser: Never use XML catalogs when parsing HTML files When loading HTML files we shouldn't try to resolve URIs using the XML catalogs.
Nick Wellnhofer 2d8b6df2 2025-04-19T00:34:23 xmllint: Make --nocatalogs actually work
Nick Wellnhofer ffc0bba9 2025-04-18T23:55:27 xmllint: Remove --htmlout option Unlike the documentation suggests, this only printed error messages as HTML which doesn't seem useful.
Nick Wellnhofer dc4910c7 2025-04-18T22:58:46 xmllint: Remove --testIO option
Nick Wellnhofer 95ffa8d2 2025-04-18T22:54:40 xmllint: Remove --debugent option
Nick Wellnhofer 7b5543bd 2025-04-18T22:48:12 autotools: Remove unneeded $(ICONV_CFLAGS) The public headers don't include iconv.h anymore.
Nick Wellnhofer 7d33f97f 2025-04-18T20:45:17 xmllint: Separate XML and HTML parser options
Nick Wellnhofer 094980ec 2025-04-18T18:41:25 fuzz: Make --pretty arg more likely to be valid
Nick Wellnhofer 7e1c2b94 2025-04-18T18:39:03 xmllint: Return error code instead of exiting in parseInteger
Nick Wellnhofer 4ba1f923 2025-04-18T17:28:24 html: Avoid HTML_PARSE_HTML5 clashing with XML_PARSE_NOENT There are several users that pass invalid XML parser options to the HTML parser. Choose a value that is less likely to clash.
Nick Wellnhofer 6896f478 2025-04-18T17:22:36 Revert "valid: Remove duplicate error messages when streaming" This reverts commit cd220b93d8ffffd2fb7cac0ec792bebb7e082521. This commit broke the xmstarlet tests.
Nick Wellnhofer aa4ef773 2025-04-17T19:53:14 parser: Deprecate output-related globals
Nick Wellnhofer d8193b7a 2025-04-17T19:46:23 xmllint: Fix parsing of --pretty argument
Nick Wellnhofer 470bec65 2025-04-17T19:44:50 xmllint: Switch to xmlSaveSetIndentString Stop using global xmlTreeIndentString.
Nick Wellnhofer 2e2b4c0f 2025-04-17T19:41:20 xmllint: Use xmlSave API to serialize HTML
Nick Wellnhofer c132829c 2025-04-17T19:42:30 xmllint: Don't serialize to memory with --memory option This is only useful for debugging.
Nick Wellnhofer 8dbf298c 2025-04-17T19:10:48 xmllint: Fix harmless memory leaks Fixes #892.
Nick Wellnhofer 21b510bc 2025-04-14T17:40:21 gitlab-ci: Enable more build options for CMake/Meson jobs
Nick Wellnhofer fa931566 2025-04-14T17:34:39 build: Disable Python bindings by default
Nick Wellnhofer 487ee1d8 2025-04-06T12:41:11 [CVE-2025-32415] schemas: Fix heap buffer overflow in xmlSchemaIDCFillNodeTables Don't use local variable which could contain a stale value. Fixes #890.
Nick Wellnhofer 1039cd53 2025-04-14T00:08:54 autotools: Remove remaining cruft from Makefile.am
Nick Wellnhofer 3899546a 2025-04-13T23:46:17 meson: Consolidate host_os checks
Nick Wellnhofer 000e6afb 2025-04-13T23:04:22 meson: Fix libdl detection fallback Require dlopen, always set HAVE_DLOPEN.
Nick Wellnhofer c7b1dd86 2025-04-13T21:42:24 doc: Separate xmllint debug options
Maks Verver 4d24aa22 2025-04-05T13:15:03 python: Add a test to reproduce bug #889
Maks Verver 8d415b89 2025-04-08T13:13:55 [CVE-2025-32414] python: Read at most len/4 characters. Fixes #889 by reserving space in the buffer for UTF-8 encoding of text.
Dan Yeaw 38cc2b53 2025-04-11T16:57:23 python: Stop generating libxml2class.txt
Dan Yeaw e2647854 2025-04-11T16:53:41 python: Fix file variable not defined during exception
Dan Yeaw ffef921b 2025-03-31T22:18:14 python: Concat generated files in generator.py
Nick Wellnhofer fc4adba9 2025-04-12T16:26:07 error: Fix initGenericErrorDefaultFunc compatibility macro
Nick Wellnhofer 97ffa77d 2025-04-10T17:36:58 encoding: Deprecate non-thread-safe functions
Nick Wellnhofer 2ecc08f6 2025-04-09T21:11:47 html: Deprecate more functions
Nick Wellnhofer b8018afa 2025-04-09T23:30:47 html: Fix documentation of parser options
Benjamin Gilbert ef73541a 2025-04-05T15:35:21 meson: don't link with pthreads on Windows dependency('threads') always produces '-pthread' on GNU-like linkers, even on Windows where we use Win32 thread primitives instead.
Nick Wellnhofer 89667318 2025-04-04T15:07:50 cmake, meson: Fix Darwin versions
Nick Wellnhofer 151c0f79 2025-04-04T12:44:42 cmake, meson: Align Darwin version info with Autotools
Nick Wellnhofer 0aa87d85 2025-04-04T12:27:21 globals: Fix --with-thread-alloc build
Lovell Fuller 88732cae 2025-04-04T11:26:10 meson: ensure relaxng option supports minimum option
Nick Wellnhofer 39c5e09d 2025-04-03T13:23:07 fuzz: Use lint.dict for XInclude fuzzer lint.dict also contains useful XPath fragments. We still need a special dictionary for XInclude.
Nick Wellnhofer def3674c 2025-04-03T11:59:22 xinclude: Fix memory leak with namespace nodes Abort instead of setting nodeset elements to NULL. Fixes leak of namespace nodes and avoids extraneous error messages.
Nick Wellnhofer eb0c98eb 2025-03-31T16:55:23 autotools: Add comment regarding libtool versioning
Nick Wellnhofer 2c2578b6 2025-03-31T13:10:00 io: Use switch statement in xmlIOErr
Collin Funk fa539305 2025-03-20T22:34:55 io: Remove duplicated conditionals.
Nick Wellnhofer 5964fb7c 2025-03-30T13:48:51 xmllint: Fix --html --sax element callbacks We need the non-namespace callbacks for HTML.
ThomasK 339e10fe 2025-03-28T22:42:01 Eliminate removed objects
ThomasK 40b73eeb 2025-03-28T22:40:08 Update configure.js to support relax ng options and look for version in new location
Nick Wellnhofer a5c4a6ef 2025-03-28T16:31:14 parser: Fix XML_PARSE_NOBLANKS dropping non-whitespace text Regressed with 1f5b5371. Fixes #884.
Nick Wellnhofer a6398ab6 2025-03-28T09:07:00 meson: Fix build from tarball Include xml2-config-meson in EXTRA_DIST. Fixes #883.
Nick Wellnhofer 19de8b47 2025-03-27T23:05:15 cmake: Remove version from Python libxml2mod.so This shouldn't be necessary and matches the Autotools build.
Nick Wellnhofer 2dd51407 2025-03-27T22:57:19 cmake, meson: Change library filename to libxml2.so.16.0.0 We have to follow Autotools here. Fixes #882.
Nick Wellnhofer 81c09e33 2025-03-27T17:00:26 gitlab-ci: Don't hardcode release version Thanks to Jan Tojnar who found a work-around: https://gitlab.gnome.org/GNOME/calls/-/merge_requests/770 This uses the artifacts:reports:dotenv feature to pass environment variables to the deploy stage: https://docs.gitlab.com/ci/variables/#pass-an-environment-variable-to-another-job I didn't test the change with the sandbox yet.
Nick Wellnhofer dade6397 2025-03-27T15:50:24 Bump version
Nick Wellnhofer a372cbf5 2025-03-27T15:17:22 Update documentation for 2.14.0
Nick Wellnhofer e091d9fb 2025-03-27T14:38:33 Release v2.14.0
Nick Wellnhofer dd4c0f62 2025-03-18T11:11:20 tree: Fix xmlTextMerge with NULL args Restore pre-2.13 behavior. Fixes #875.
Nick Wellnhofer 54c3d428 2025-03-16T19:12:01 fuzz: Update README
Nick Wellnhofer ee0eda4b 2025-03-16T18:20:18 gitlab-ci: Silence PHP and lxml test output
Nick Wellnhofer 7fa79341 2025-03-14T18:57:38 Update NEWS Everything should be ready for the 2.14.0 release now.
Nick Wellnhofer 884c8996 2025-03-14T18:29:24 build: Don't make --with-legacy enable HTTP and LZMA The --with-legacy option only enables --with-zlib for now.
Nick Wellnhofer ee026e16 2025-03-14T03:54:09 doc: Update CMake and meson instructions
Nick Wellnhofer 4135ceea 2025-03-14T03:19:21 meson: Run Python tests
Nick Wellnhofer e91061eb 2025-03-14T01:49:22 hash: Fix false positive from -fanalyzer
Nick Wellnhofer b3492259 2025-03-14T00:01:11 include: Change some return types from int to enum This also affects some new functions from 2.13.
Nick Wellnhofer fd1b9391 2025-03-13T23:20:16 include: Convert some macros to enums
Nick Wellnhofer 1078dc82 2025-03-13T22:03:11 autotools: xmlcatalog requires output module
Nick Wellnhofer 5b5f114d 2025-03-13T20:30:44 meson: Add xmllint and xmlcatalog shell tests
Nick Wellnhofer 84c6524e 2025-03-13T19:45:35 encoding: Support input-only and output-only converters Make it possible to open an encoding handler only for input or output. This avoids the creation of unnecessary converters. Should also fix #863.
Nick Wellnhofer 69b83bb6 2025-03-10T02:18:51 encoding: Detect truncated multi-byte sequences with ICU Unlike iconv or the internal converters, ICU consumes truncated multi- byte sequences at the end of an input buffer. We currently check for a non-empty raw input buffer to detect truncated sequences, so this fails with ICU. It might be possible to inspect the pivot buffer pointers, but it seems cleaner to implement a `flush` flag for some encoding and I/O functions. After flushing, we can check for U_TRUNCATED_CHAR_FOUND with ICU, or detect remaining input with other converters. Also fix detection of truncated sequences for HTML, XML content and DTDs with iconv.
Jan Alexander Steffens (heftig) 76c6ddfe 2025-03-13T18:32:18 meson: Install a xml2-config script This one does not need build-time configuration but forwards to `pkg-config` instead. It is mostly (and hopefully sufficiently) compatible with the script installed by autotools.