This is an automated email from the ASF dual-hosted git repository.
tballison pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tika.git
The following commit(s) were added to refs/heads/main by this push:
new 6090082d32 TIKA-4985: tidy 4.2.0 CHANGES (dedupe, regroup, clarify
TIKA-4986 entry) (#3396)
6090082d32 is described below
commit 6090082d3265c6a87e13943a97f2443d35509cbd
Author: Tim Allison <[email protected]>
AuthorDate: Thu Oct 22 09:08:44 2026 -0400
TIKA-4985: tidy 4.2.0 CHANGES (dedupe, regroup, clarify TIKA-4986 entry)
(#3396)
---
CHANGES.txt | 81 +++++++++++++++++++++++++++++--------------------------------
1 file changed, 38 insertions(+), 43 deletions(-)
diff --git a/CHANGES.txt b/CHANGES.txt
index d4fec81d82..0371aec9c4 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -6,12 +6,14 @@ Release 4.2.0 - 10/22/2026
tika-app -z/-Z and pipes UNPACK; unpack-config.outputFormat=REGULAR
(--unpack-format=REGULAR) restores the old layout (TIKA-4681). A document
without
attachments is still a package, so /unpack returns 200, not 204;
- unpack-config.emptyPackage=SKIP restores the 204. The package's
metadata.json is now
- rmeta.json and gets the metadata filters; a package sent to the
container's emitter
- replaces its <emitKey>.json. REGULAR .metadata.json sidecars are the
file's row from
- the metadata list. FrictionlessResource.name() is the resource name (the
filename
- moved to resourceName()); FrictionlessResource.create and
DataPackage.addResource are
- removed (TIKA-4971).
+ unpack-config.emptyPackage=SKIP restores the 204 (TIKA-4971).
+
+ * The package's metadata.json is now rmeta.json and gets the metadata
filters; a
+ package sent to the container's emitter replaces its <emitKey>.json.
REGULAR
+ .metadata.json sidecars are the file's row from the metadata list.
+ FrictionlessResource.name() is the resource name (the filename moved to
+ resourceName()); FrictionlessResource.create and DataPackage.addResource
are removed
+ (TIKA-4971).
* Config is untrusted unless the operator says so. @OperatorOnly properties
(paths,
executables, class names, URLs, credentials, operator-sized limits) are
refused
@@ -52,21 +54,18 @@ Release 4.2.0 - 10/22/2026
_min-width and min-width is an error, and gated entries load as
GatedEnricher,
not SizeGatedEnricher (TIKA-4972).
- * embedded-limits maxDepth defaults to 20, was unlimited, and replaces
- output-limits maxPackageEntryDepth.
-
- * To be removed in 4.3.0: output-limits maxPackageEntryDepth and its
accessors on
- OutputLimits and SecureContentHandler; tika-parser-mail-commons (MailUtil
and
- MailDateParser moved, see TIKA-4917).
+ * embedded-limits maxDepth defaults to 20 (was unlimited) and replaces
output-limits
+ maxPackageEntryDepth (#3319). To be removed in 4.3.0:
maxPackageEntryDepth and its
+ accessors on OutputLimits and SecureContentHandler, and
tika-parser-mail-commons
+ (TIKA-4917).
* Pipes plugins load only from the zips in plugin-roots; a plugin on the
classpath
needs -Dtika.plugins.classpath=true, which PipesForkParser sets when it
finds no
plugins directory holding tika-pipes-file-system (TIKA-4918, TIKA-4985).
* image/vnd.microsoft.icon moves from ImageParser to the new ICOParser,
which also
- parses cursors. Tighter OS/2 bitmap array and TGA detection (TIKA-4937).
Animated
- cursors (RIFF ACON) are application/x-navi-animation, even when named
*.cur
- (TIKA-4985).
+ parses cursors (TIKA-4937). Animated cursors (RIFF ACON) are
+ application/x-navi-animation, even when named *.cur (TIKA-4985).
* ISArchiveParser(String location) is removed; pass a file-backed
TikaInputStream
(TikaInputStream.get(Path)) (TIKA-4986).
@@ -75,8 +74,7 @@ Release 4.2.0 - 10/22/2026
themselves (commons-*, pdfbox, fontbox, bouncycastle, jsoup, asm, xz,
xmpcore,
dd-plist); deploy them alongside it (TIKA-4934). Its imports are now
mandatory, it
registers its encoding detector, language detector and metadata filter
providers,
- and it requires Java 17; OOXML, HTTP and GeoGebra parsing and charset
detection
- work in OSGi again (TIKA-4955).
+ and it requires Java 17 (TIKA-4955).
SECURITY
@@ -130,7 +128,8 @@ Release 4.2.0 - 10/22/2026
* OSGi: tika-serialization is a bundle, so JsonConfig constructors work
(TIKA-4982);
tika-core installs without a Service Loader Mediator (TIKA-4945); the
DefaultParser and DefaultDetector services no longer recurse into a
- StackOverflowError (TIKA-4942).
+ StackOverflowError (TIKA-4942); OOXML, HTTP and GeoGebra parsing and
charset
+ detection work in tika-bundle-standard again (TIKA-4955).
EXTRACTION AND FORMATS
@@ -159,13 +158,20 @@ Release 4.2.0 - 10/22/2026
* Detection: *.rs is text/x-rust (TIKA-4977); a MIME email nesting
multipart/related is message/rfc822, not MHTML (TIKA-4973); XML with an
element
like <htmlPath> is no longer HTML (TIKA-4962); XUL is detected by content
and
- parsed by the HTML parser, as XMLParser fails on its DTD entities
(TIKA-4985).
+ parsed by the HTML parser, as XMLParser fails on its DTD entities
(TIKA-4985);
+ OS/2 bitmap array and TGA detection is tighter (TIKA-4937).
* Image checks (byte-size, min-image-size, blank-image-check; new
- tika-image-processing module) keep blank and tiny images from text
recognizers.
- VLM output gets tk:ocr-warnings (an empty Claude response is a warning,
not an
- exception), vlm:skipped-reason and vlm:image-pixels; VLM parsers take
temperature;
- dropped HTTP connections are retried; SizeGatedEnricher is deprecated
(TIKA-4972).
+ tika-image-processing module) keep blank and tiny images from text
recognizers;
+ SizeGatedEnricher is deprecated (TIKA-4972).
+
+ * VLM parsers: output gets tk:ocr-warnings (an empty Claude response is a
warning, not
+ an exception), vlm:skipped-reason and vlm:image-pixels; they take
temperature and
+ retry dropped HTTP connections (TIKA-4972). The OpenAI-compatible parser
has opt-in
+ useMaxCompletionTokens for models that reject max_tokens (#3350).
+
+ * The embed task writes tk:chunks once per binding, not once per image or
page
+ (TIKA-4970).
* Opt-in "metadata-list": {"typedValues": true} writes numbers, booleans and
tk:chunks as JSON values rather than strings; new Property.ValueType.JSON
@@ -173,23 +179,17 @@ Release 4.2.0 - 10/22/2026
OTHER CHANGES
- * The pipes getting-started and shared-server JSON examples no longer
include the
- test-only mock-digester-factory, which made the forked server fail at
startup
- (TIKA-4984).
-
- * tika-app -J writes the metadata list when the container throws (a
zip-bomb trip, a
- corrupt or encrypted file), with the exception in
tk:exception:container-exception on
- the first record, as /rmeta does; it used to print nothing. The exit
status still
- reports the failure (TIKA-4985).
+ * tika-app -J writes the metadata list when the container throws, with the
exception
+ in tk:exception:container-exception on the first record, as /rmeta does;
it used to
+ print nothing. The exit status still reports the failure (TIKA-4985).
- * A RAR entry junrar fails to extract (truncated archive, bad CRC, missing
password)
- is now recorded as tk:exception:embedded-stream-exception on the
container; the
- entry still yields what was extracted before the failure, and the rest of
the
- archive is still parsed (junrar 8.1.2, TIKA-4985).
+ * A RAR entry junrar fails to extract is recorded as
+ tk:exception:embedded-stream-exception on the container; what was
extracted before
+ the failure is kept and the rest of the archive is parsed (junrar 8.1.2,
TIKA-4985).
- * ISArchiveParser no longer reads every ISA-Tab document's investigation
and assay files
- from the directory of the first document it parsed; concurrent parses no
longer share
- the study file name (TIKA-4986).
+ * ISArchiveParser resolves the ISA-Tab directory on each parse instead of
reading every
+ later document's investigation and assay files from the first document's
directory,
+ and concurrent parses no longer share the study file name (TIKA-4986).
* JSoupParser emits CDATA text again (TIKA-4963).
@@ -200,11 +200,6 @@ Release 4.2.0 - 10/22/2026
* GeoGebraParser no longer needs jackson-databind (TIKA-4956).
- * The embed task writes tk:chunks once per binding, not once per image or
page
- (TIKA-4970).
-
- * OpenAI-compatible VLM parser: opt-in useMaxCompletionTokens for models
that reject
- max_tokens.
Release 4.1.0 - 9/26/2026