|
cdc5cfed
|
2025-03-04T13:26:51
|
|
legacy: Remove legacy symbols
|
|
3250a01d
|
2025-03-04T13:15:42
|
|
error: Convert initGenericErrorDefaultFunc to macro
|
|
c42b3227
|
2025-03-04T13:11:18
|
|
parser: Convert inputPush and inputPop to macros
|
|
361f7bff
|
2025-03-04T13:02:36
|
|
parser: Make nodePush, nodePop, namePush, namePop private
|
|
0b27097a
|
2025-03-04T12:55:25
|
|
encoding: Rename unprefixed public functions
|
|
e50d314a
|
2025-02-25T23:07:19
|
|
build: Add separate configuration option for RELAX NG
Support for RELAX NG used to be enabled together with XML Schema support
(--with-schemas). Now there's a separate option and a new feature macro
LIBXML_RELAXNG_ENABLED.
|
|
7ae8e8ac
|
2025-02-22T21:06:34
|
|
schemas: Make xmlSchemaDump depend on DEBUG_ENABLED
|
|
6fc26076
|
2025-02-22T20:31:45
|
|
regexp: Hide debugging code behind DEBUG_REGEXP
xmlRegexpPrint is now a deprecated no-op.
|
|
9c16a153
|
2025-02-13T18:41:33
|
|
Revert "include: Make most IS_* macros private"
This reverts commit 84a6c82ff83d04963d6e1c5cd18ded68ea02d99f.
|
|
93506d41
|
2025-01-29T00:17:01
|
|
parser: Make catalog PIs opt-in
This is an obscure feature that shouldn't be enabled by default.
|
|
1082d813
|
2025-01-28T23:21:34
|
|
parser: Prepare to make decompression opt-in
Add a new parser option XML_PARSE_UNZIP that enables decompression.
xmlReadFile, xmlCtxtReadFile and xmlCreateURLParserCtxt always set
this option currently, but downstream users should start to set the
option if they really need it.
|
|
a78843be
|
2025-01-28T20:13:58
|
|
xmllint: Support compressed input from stdin
Another regression related to reading from stdin.
Making a "-" filename read from stdin was deeply baked into the core
IO code but is inherently insecure. I really want to reenable this
dangerous feature as sparingly as possible.
This now enables compressed input when using the "Fd" API functions
which wan't supported before. But XML_PARSE_NO_UNZIP will be
inverted later.
Allow compressed stdin in xmlReadFile to support xmlstarlet and older
versions of xsltproc. So far, these are the only known command-line
tools that rely on "-" meaning stdin.
|
|
bfe6af2e
|
2025-01-17T17:09:04
|
|
fuzz: Remove hacks to build lint fuzzer
Don't include source file directly.
|
|
e4194110
|
2025-01-17T16:00:05
|
|
schemas: Make ValidateStream take a const SAXHandler
|
|
c134e8b4
|
2024-12-19T21:05:49
|
|
include: Make INPUT_CHUNK macro private
|
|
84a6c82f
|
2024-12-19T20:59:10
|
|
include: Make most IS_* macros private
Macros like IS_DIGIT or IS_LETTER severely pollute the C namespace.
|
|
2e18e5dc
|
2024-12-16T18:54:36
|
|
memory: Grow dynamic arrays by 50%
Growing by a factor lower than the golden ratio increases the chances of
reusing memory freed from earlier allocations. Set growth rate to 1.5
which also reduces internal fragmentation.
|
|
5320a4aa
|
2024-12-15T23:35:28
|
|
memory: Implement xmlGrowCapacity to safely grow arrays
xmlGrowCapacity makes sure that dynamic arrays don't grow beyond an
explicit maximum size. size_t considerations are also taken into account.
A macro XML_MAX_ITEMS is provided as default maximum with value
1 billion.
When fuzzing, the initial size is set to 1 to cause more reallocations.
This can require adjustments if callers really need larger arrays.
|
|
0dd910e8
|
2024-12-18T23:37:35
|
|
save: Fix handling of catastrophic errors
Don't overwrite catastrophic errors xmlSaveErr.
Overwrite non-catastrophic errors in xmlOutputBufferClose.
|
|
57087e5f
|
2024-11-25T20:59:06
|
|
parser: Don't overwrite catastrophic errors
Stop reporting errors after a catastrophic error.
Also make sure that ctxt->errNo matches ctxt->lastError.code.
|
|
0dc26910
|
2024-11-20T21:04:19
|
|
parser: Deprecate more internal functions
|
|
a227a71a
|
2024-11-20T17:03:11
|
|
regexp: Deprecate internal functions
|
|
0f4f8900
|
2024-11-17T20:13:14
|
|
parser: Rename inputPush to xmlCtxtPushInput
|
|
e2ad249c
|
2024-11-17T19:48:44
|
|
parser: Deprecate more internal symbols
- xmlParseExternalSubset
- xmlPushInput
- xmlPopInput
- xmlCopyCharMultiByte
- xmlCreateEntityParserCtxt
- xmlStringComment
|
|
4d1f35b0
|
2024-11-17T19:45:16
|
|
valid: Deprecate more internal functions
|
|
5a51f085
|
2024-11-17T13:50:15
|
|
valid: Implement xmlCtxtValidateDocument
This allows to use the error handler or resource loader of a parser
context.
|
|
7f8c436c
|
2024-11-15T16:30:52
|
|
parser: Implement xmlCtxtParseDtd and xmlCtxtValidateDtd
This allows to use the context's error handler, options and other
settings.
Fixes #808.
|
|
6040785a
|
2024-09-12T23:12:01
|
|
html: Deprecate AutoClose API
|
|
188cad68
|
2024-09-12T02:51:20
|
|
html: Remove obsolete content model
|
|
462bf0b7
|
2024-09-11T19:06:06
|
|
html: Rework options
Introduce htmlCtxtSetOptions, see similar changes made to XML parser.
Add HTML_PARSE_HUGE alias. Support HTML_PARSE_BIG_LINES.
|
|
0bc4608c
|
2024-09-15T20:28:49
|
|
html: Use hash table to check for duplicate attributes
|
|
c32397d5
|
2024-09-12T22:39:05
|
|
html: Improve character class macros
|
|
c34d0ae9
|
2024-09-12T23:50:20
|
|
html: Deprecate htmlIsBooleanAttr
|
|
e062a4a9
|
2024-09-08T20:40:36
|
|
html: Add HTML5 parser option
This option passes tokenizer output directly to the SAX callbacks,
making it possible to test the tokenizer against the html5lib test
suite.
This will produce unbalanced calls to the startElement and endElement
callbacks, but it's the only way to support a SAX like interface for
HTML5. It can be used for filtering or rewriting HTML5, for example.
A HTML5 tree builder could then be implemented on top of the SAX
callbacks.
|
|
f9ed30e9
|
2024-09-06T17:49:04
|
|
html: HTML5 character data states
|
|
b1c5aa65
|
2024-09-19T12:50:59
|
|
xpath: Deprecate xmlXPathNAN and xmlXPath*INF
Users should simply use the C99 macros.
|
|
c46b89e2
|
2024-09-13T21:06:36
|
|
xpath: Deprecate xmlXPathEvalExpr
Also check the argument instead of crashing if there's no context.
|
|
de10d4cd
|
2024-09-04T16:19:42
|
|
include: Check whether _MSC_VER is defined
Should fix #795.
|
|
a3043b47
|
2024-08-14T23:40:16
|
|
threads: define _WIN32_WINNT as 0x0600 to use InitOnceExecuteOnce()
|
|
a530ff12
|
2024-07-29T14:18:57
|
|
io: Always consume encoding handler when creating output buffers
Also free encoding handler in error case.
Remove xmlAllocOutputBufferInternal which was identical to
xmlAllocOutputBuffer.
|
|
aa6ca0b1
|
2024-07-23T03:29:41
|
|
module: Deprecate module API
This was only used by libxslt which switched to a private
implementation.
|
|
6a3c0b0d
|
2024-07-22T12:53:00
|
|
parser: Increase XML_MAX_DICTIONARY_LIMIT
This limit is somewhat arbitrary and can be reached when fuzzing
documents up to 1 MB.
Increase limit to 100 MB and disable limit if XML_PARSE_HUGE is set.
|
|
4e93425a
|
2024-07-16T20:02:13
|
|
threads: Prefer Win32 over pthreads
|
|
769e5a4a
|
2024-07-16T01:12:21
|
|
threads: Allocate global RMutexes statically
Avoid memory allocations during initialization.
|
|
5d36664f
|
2024-07-16T00:35:53
|
|
memory: Deprecate xmlGcMemSetup
|
|
79e11995
|
2024-07-15T19:43:28
|
|
error: Make xmlLastError const
|
|
eb66d03e
|
2024-07-07T23:15:54
|
|
io: Deprecate a few functions
|
|
a6f54f05
|
2024-07-07T18:52:17
|
|
io: Fine-tune initial IO buffer size
|
|
34c9108f
|
2024-07-07T18:38:31
|
|
encoding: Add sizeOut argument to xmlCharEncInput
When push parsing, we want to convert as much of the input as possible.
When pull parsing memory buffers, we want to convert data chunk by chunk
to save memory.
|
|
8e871a31
|
2024-07-07T12:58:43
|
|
buf: Rework xmlBuffer code
Port most changes made to the xmlBuf code in f3807d76, except that
"size" still includes the terminating NULL byte.
Make xmlSetBufferAllocationScheme, xmlBufferAllocScheme and
xmlDefaultBufferSize no-ops.
Deprecate a few functions.
|
|
a221cd78
|
2024-07-07T03:01:51
|
|
buf: Rework xmlBuf code
Always use what the old implementation called the "IO" allocation
scheme, allowing to move the content pointer past the initial
allocation. This is inexpensive and allows efficient shrinking.
Optimize xmlBufGrow, reusing shrunken memory as much as possible.
Simplify xmlBufAdd.
Make xmlBufBackToBuffer return an error on overflow.
Make "size" exclude the terminating NULL byte.
Always provide an initial size.
Reintroduce static buffers.
Remove xmlBufResize and several other functions.
|
|
1cfc5b80
|
2024-07-12T03:07:57
|
|
entities: Rework serialization of numeric character references
|
|
8d160626
|
2024-07-12T02:01:06
|
|
entities: Rework text escaping
|
|
e488695b
|
2024-07-11T20:23:49
|
|
save: Deprecate xmlSaveSet*Escape
xmlSaveSetAttrEscape never had an effect.
|
|
e0494c0d
|
2024-07-15T15:10:18
|
|
io: Add some deprecation warnings
|
|
72886980
|
2024-07-15T14:35:47
|
|
error: Add helper functions to print errors and abort
|
|
69f12d6d
|
2024-07-13T00:17:18
|
|
encoding: Deprecate xmlByteConsumed
This was only used by Chromium/WebKit to detect whether xmlParseContent
really succeeded. It's a horrible, overcomplicated hack.
See 8c5848bd and #767.
|
|
8af55c8d
|
2024-07-06T22:14:21
|
|
parser: Rename new input API functions
These weren't made public yet.
|
|
d74ca594
|
2024-07-06T22:04:06
|
|
parser: Rename internal xmlNewInput functions
|
|
4f329dc5
|
2024-07-10T03:27:47
|
|
parser: Implement xmlCtxtParseContent
This implements xmlCtxtParseContent, a better alternative to
xmlParseInNodeContext or xmlParseBalancedChunkMemory. It accepts a
parser context and a parser input, making it a lot more versatile.
xmlParseInNodeContext is now implemented in terms of
xmlCtxtParseContent. This makes sure that xmlParseInNodeContext never
modifies the target document, improving thread safety.
xmlParseInNodeContext is also more lenient now with regard to undeclared
entities.
Fixes #727.
|
|
82e0455c
|
2024-07-06T19:48:07
|
|
Undeprecate some symbols for now
- xmlKeepBlanksDefault is needed as a work-around for
xmlParseBalancedChunk, see issue #727.
- ctxt->options already has an accessor and will be deprecated
later.
- input->cur, input->base, input->end: See #762.
|
|
38195cf5
|
2024-07-06T14:58:16
|
|
parser: Don't produce names with invalid UTF-8 in recovery mode
|
|
205e56da
|
2024-07-02T22:32:43
|
|
parser: Undeprecate ctxt->directory
|
|
c127c89f
|
2024-07-02T21:05:22
|
|
catalog: Deprecate xmlCatalogSetDefaultPrefer
|
|
606f4108
|
2024-07-02T20:57:15
|
|
parser: Allow to disable catalogs with parser options
Implement XML_PARSE_NO_SYS_CATALOG and XML_PARSE_NO_CATALOG_PI.
Fixes #735.
|
|
35146ff3
|
2024-07-02T19:43:24
|
|
save: Implement xmlSaveSetIndentString
Allow to set indent string without using global xmlTreeIndentString.
See #736.
|
|
7cc619d5
|
2024-07-02T19:22:32
|
|
save: Implement save options for indenting
Implement XML_SAVE_NO_INDENT to disable and XML_SAVE_INDENT to enable
indenting regardless of the global xmlIndentTreeOutput.
Implement XML_SAVE_EMPTY to enable empty tags regardless of the global
xmlSaveNoEmptyTags.
See #736.
|
|
30ef7755
|
2024-07-02T04:02:16
|
|
parser: Don't use deprecated xmlCopyChar
|
|
1167c334
|
2024-06-28T21:51:21
|
|
encoding: Don't include iconv.h from libxml/encoding.h
|
|
95d36333
|
2024-06-28T21:19:44
|
|
encoding: Rework conversion error codes
This should match the old code more closely. Remove XML_ERR_PARTIAL.
It's unlikely that anyone is using these codes already.
|
|
282ec1d5
|
2024-06-28T19:06:57
|
|
encoding: Rework xmlCharEncodingHandler layout
Reuse some of the old members.
The "input" and "output" function pointers are actually of type
xmlCharEncConvFunc, accepting an additional argument. For default
handlers, this argument is unused, so this should work with most ABIs.
For iconv handlers, these function pointers used to be NULL but now
point to a function which requires the extra argument.
"iconv_in" and "iconv_out" are made void pointers. "uconv_in" and
"uconv_out" are renamed and made void pointers. This is unlikely to
cause issues.
We now expect that the built-in conversion functions correctly report
XML_ENC_ERR_SPACE. For UTF8ToHtml and the ISO-8859-X code, this will be
done in the following commits.
|
|
501e5d19
|
2024-06-28T04:10:03
|
|
encoding: Stop using XML_ENC_ERR_PARTIAL
|
|
221df375
|
2024-06-28T00:34:52
|
|
parser: Support custom charset conversion implementations
Implement xmlCtxtSetCharEncConvImpl. I agree that the name is terrible.
|
|
c59c2449
|
2024-06-27T23:32:58
|
|
encoding: Support custom implementations
|
|
1e3da9f4
|
2024-06-27T21:37:18
|
|
encoding: Start with callbacks
|
|
6d8427dc
|
2024-06-27T20:39:52
|
|
encoding: Rework encoding lookup
Add missing xmlCharEncoding enum values.
Simplify and speed up encoding lookup by using a table mapping names to
xmlCharEncoding enums and binary search. Rearrange the default handler
table to match the enum layout.
For some encodings we now only lookup the provided or most canonical
name instead of trying several names, expecting that iconv or ICU handle
aliases:
- IBM037 (EBCDIC)
- UCS-2
- UCS-4
- Shift_JIS
|
|
16e7ecd4
|
2024-07-01T16:01:24
|
|
xinclude: Check URI length
Don't report long URIs as OOM errors.
|
|
044ddf07
|
2024-06-28T03:14:12
|
|
parser: Undeprecate some parser context members
|
|
193f4653
|
2024-06-26T19:28:28
|
|
parser: Implement xmlCtxtGetStatus
This allows access to ctxt->wellFormed, ctxt->nsWellFormed and
ctxt->valid. It also detects several fatal non-parser errors which
really should be another error level.
|
|
f505dcae
|
2024-06-26T14:11:34
|
|
tree: Remove underscores from xmlRegisterCallbacks
|
|
cc0cc2d3
|
2024-06-26T04:32:49
|
|
parser: Add more parser context accessors
|
|
5cf5b542
|
2024-06-26T04:30:10
|
|
SAX2: Deprecate xmlSAX2StartElement
|
|
eca972e6
|
2024-06-26T02:22:04
|
|
parser: Add getters for XML declaration to parser context
Access to struct members will be deprecated.
|
|
598ee0d2
|
2024-06-26T01:18:55
|
|
error: Remove underscores from xmlRaiseError
|
|
3ff8a2c4
|
2024-06-26T01:08:48
|
|
parser: Deprecate xmlIsLetter
|
|
4b6e6828
|
2024-06-22T02:34:36
|
|
cmake: Stop using win32config.h
Move this file to the win32 subdirectory.
|
|
84a4f84c
|
2024-06-22T02:11:24
|
|
build: Don't check for required headers and functions
Unless we are on Windows, the following POSIX headers are required.
They're part of the earliest POSIX specs and it doesn't make sense to
check for them.
- fcntl.h
- unistd.h
- sys/stat.h
- sys/time.h
On Windows, io.h, fcntl.h and sys/stat.h are always available.
|
|
02326d72
|
2024-06-21T23:54:35
|
|
build: Remove socklen_t checks
socklen_t has been mandated by POSIX for ages. Always use "socklen_t" or
"int" on Win32.
|
|
c2ccbc0f
|
2024-06-21T22:45:15
|
|
meson: Implement option dependencies
This also removes the FreeBSD hack.
|
|
f9c33a55
|
2024-06-21T18:25:11
|
|
parser: Undeprecate some xmlParserInput members
|
|
1228b4e0
|
2024-06-21T18:22:04
|
|
parser: Deprecate xmlParserCtxt->lastError
We alredy have xmlCtxtGetLastError().
|
|
f82ca02b
|
2024-06-21T18:17:11
|
|
parser: Undeprecate some xmlParserCtxt members
These are essential for SAX parsers.
|
|
bbbbbb46
|
2024-06-20T03:19:48
|
|
parser: implement xmlCtxtGetOptions
In 712a31ab, the `options` struct member was deprecated. To allow
callers to check the status of options bits, introduce
xmlCtxtGetOptions.
|
|
1112699c
|
2024-06-17T02:42:18
|
|
legacy: Remove most legacy functions from public headers
Also remove warning messages.
|
|
5fca9498
|
2024-06-16T19:56:08
|
|
doc: Hide internal macro
|
|
33a1f897
|
2024-06-16T19:16:47
|
|
legacy: Merge SAX.c into legacy.c
|
|
1341deac
|
2024-06-16T17:57:12
|
|
xmllint: Move shell to xmllint
Move source code for xmllint shell to shell.c and move it from the
libxml2 library to the xmllint executable.
Also allow shell to run without XPath and debug modules.
Add stubs for old shell API functions in legacy build mode.
|
|
1b640358
|
2024-06-16T00:39:39
|
|
schemas: Stop using xmlValidateNotationUse
Simplify symbol availability logic.
|
|
fa01278d
|
2024-06-16T00:11:41
|
|
regexp: Hide experimental legacy code
This was never made public.
|
|
10d60d15
|
2024-06-16T00:04:46
|
|
regexp: Stop using LIBXML_AUTOMATA_ENABLED
This macro always equals LIBXML_REGEXP_ENABLED.
|