This is an automated email from the ASF dual-hosted git repository.

tballison pushed a commit to branch TIKA-4848-server
in repository https://gitbox.apache.org/repos/asf/tika.git

commit c72c7d985cdde322a2ed16a9161c2fa197686e70
Merge: 03baecec54 05267dd00f
Author: tallison <[email protected]>
AuthorDate: Mon Aug 31 09:50:19 2026 -0400

    Merge remote-tracking branch 'origin/main' into TIKA-4848-server

 .mvn/extensions.xml                                |   2 +-
 .skills/devs/tika-eval-compare/SKILL.md            |  28 ++
 .skills/devs/tika-eval-compare/run-batch.sh        | 179 ++++++++
 CHANGES.txt                                        |  67 +++
 .../integration-testing/tika-eval-regression.adoc  |  60 ++-
 .../migration-to-4x/migrating-tika-server-4x.adoc  |   2 +-
 docs/modules/ROOT/pages/pipes/performance.adoc     | 232 ++++-------
 .../ROOT/pages/pipes/plugins/filesystem.adoc       |   4 +
 .../ROOT/pages/using-tika/server/index.adoc        |   2 +-
 .../ParsingEmbeddedDocumentExtractor.java          |  12 +-
 .../java/org/apache/tika/parser/ParseRecord.java   |  31 ++
 .../org/apache/tika/mime/tika-mimetypes.xml        |  19 +
 .../tika/extractor/EmbeddedDepthLimitTest.java     | 130 ++++++
 .../org/apache/tika/utils/ExceptionUtilsTest.java  |   1 +
 .../org/apache/tika/eval/app/ExtractComparer.java  |  16 +-
 .../tika/eval/app/ExtractComparerRunner.java       |  48 ++-
 .../apache/tika/eval/app/ExtractProfileRunner.java |  34 +-
 .../org/apache/tika/eval/app/ExtractProfiler.java  |  10 +-
 .../org/apache/tika/eval/app/ProfilerBase.java     |  15 +
 .../java/org/apache/tika/eval/app/RunInfo.java     | 314 ++++++++++++++
 .../java/org/apache/tika/eval/app/db/Cols.java     |   4 +
 .../org/apache/tika/eval/app/io/PipesReport.java   | 127 ++++++
 .../eval/app/reports/MarkdownSummaryWriter.java    |  57 ++-
 .../org/apache/tika/eval/app/reports/Report.java   |  12 +-
 .../tika/eval/app/reports/ResultsReporter.java     |  14 +-
 .../src/main/resources/comparison-reports.xml      | 115 ++++++
 .../src/main/resources/profile-reports.xml         |  59 ++-
 .../apache/tika/eval/app/ComparerBatchTest.java    | 144 +++++++
 .../tika/eval/app/ComparerOneSidedLedgerTest.java  | 103 +++++
 .../apache/tika/eval/app/ProfilerBatchTest.java    |  37 +-
 .../tika/eval/app/ProfilerDiscoveryTest.java       |  73 ++++
 .../java/org/apache/tika/eval/app/RunInfoTest.java | 105 +++++
 .../apache/tika/eval/app/io/PipesReportTest.java   |  92 +++++
 .../extractsB/.run-info/crashes-run-b1.jsonl       |   3 +
 .../extractsB/.run-info/run-info-run-b1.json       |   4 +
 .../test-dirs/pipes-reports/crashes-run-a1.jsonl   |   6 +
 .../test-dirs/pipes-reports/crashes-run-b1.jsonl   |   3 +
 .../test-dirs/pipes-reports/run-info-run-a1.json   |   6 +
 .../test-dirs/pipes-reports/run-info-run-b1.json   |   4 +
 tika-grpc/docker-build/Dockerfile                  |   2 +
 tika-parent/pom.xml                                |   8 +-
 .../tika-parsers-ml/tika-parser-nlp-module/pom.xml |   2 +-
 .../tika/detect/TestContainerAwareDetector.java    |  16 +
 .../apache/tika/detect/TestDetectorLoading.java    |  14 +-
 .../java/org/apache/tika/mime/TestMimeTypes.java   |  11 +
 .../src/test/resources/test-documents/testTIFF.tif | Bin 0 -> 25584 bytes
 .../tika/parser/iwork/IWorkPackageParser.java      |  72 +++-
 .../parser/iwork/iwana/IWork18PackageParser.java   |  58 ++-
 .../apache/tika/parser/iwork/IWorkParserTest.java  |  42 ++
 .../tika/parser/iwork/iwana/IWork18ParserTest.java | 104 +++++
 .../org/apache/tika/parser/dwg/DWGReadParser.java  |   3 +-
 .../org/apache/tika/parser/dwg/DWGParserTest.java  |   7 +-
 .../apache/tika/detect/image/RawTiffDetector.java  | 458 +++++++++++++++++++++
 .../apache/tika/parser/image/RawTiffParser.java    |  31 +-
 .../tika/detect/image/RawTiffDetectorTest.java     | 447 ++++++++++++++++++++
 .../tika/parser/image/RawTiffParserTest.java       |  53 ++-
 .../tika-parser-miscoffice-module/pom.xml          |   6 +-
 .../org/apache/tika/parser/epub/EpubParser.java    |  40 +-
 .../tika/parser/geogebra/GeoGebraParser.java       |  66 ++-
 .../tika/parser/geogebra/GeoGebraXMLHandler.java   |  15 +
 .../apache/tika/parser/epub/EpubParserTest.java    |  28 ++
 .../tika/parser/geogebra/GeoGebraParserTest.java   |  52 +++
 .../tika-parser-pdf-module/pom.xml                 |  11 +-
 .../java/org/apache/tika/parser/pdf/OcrConfig.java |   7 +-
 .../tika/renderer/pdf/pdfbox/PDFBoxRenderer.java   |  22 +-
 .../org/apache/tika/parser/pdf/PDFParserTest.java  |   9 +-
 .../renderer/pdf/pdfbox/PDFBoxRendererTest.java    |  75 ++++
 .../testLinkAnnotationsButNoContents.pdf           | Bin 0 -> 1236 bytes
 .../tika/pipes/core/extractor/UnpackExtractor.java |   6 +
 .../tika/pipes/core/server/ParseHandler.java       |   6 +-
 .../tika/pipes/emitter/fs/FileSystemEmitter.java   |  96 ++++-
 .../pipes/emitter/fs/FileSystemEmitterConfig.java  |   8 +-
 .../pipes/emitter/fs/FileSystemEmitterTest.java    | 134 +++++-
 .../tika-pipes-google-drive/pom.xml                |   2 +-
 .../config/loader/TikaObjectMapperFactory.java     |   5 +
 .../config/loader/TikaObjectMapperFactoryTest.java |  53 +++
 tika-server/docker-build/full/Dockerfile           |   2 +
 tika-server/docker-build/full/Dockerfile.snapshot  |   2 +
 78 files changed, 3855 insertions(+), 292 deletions(-)

diff --cc CHANGES.txt
index 889019181a,7061f1e087..3880a79543
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,5 -1,52 +1,57 @@@
  Release 4.1.0 - unreleased
  
++   * tika-server error bodies (the 422/500 exception mapper, /meta/{field})
++     now honor the exception-reporting policy; /meta/{field} returns the
++     already-formatted container exception instead of re-wrapping it with
++     server frames. Completes TIKA-4848 (TIKA-4848).
++
+    * The exception-reporting policy now also governs the messages a pipes
+      worker returns (fetch/emit/crash) and the container exception it
+      records; part of TIKA-4848 step 3 (TIKA-4848).
+      
+    * Allow image compression settings in PDFBox-based renderer (TIKA-4862).
+      
+    * The tika-server full and tika-grpc Docker images set OMP_THREAD_LIMIT=1:
+      to avoid oversubscribing the CPU under forked parse workers (TIKA-4863).
+ 
+    * embedded-limits maxDepth counts embedding levels again instead of the
+      parsers a parse passes through; with AutoDetectParser over DefaultParser
+      every value above 1 used to stop one level early (TIKA-4857).
+ 
+    * GeoGebraParser emits the icon of a tool (*.ggt, the macro's iconFile)
+      as its THUMBNAIL embedded document; tool files have no thumbnail of
+      their own (TIKA-4831).
+ 
+    * Enum values in JSON configuration are matched case-insensitively, so
+      "no_ocr" works as well as "NO_OCR"; the server docs used the lower-case
+      form in their examples (TIKA-4859).
+ 
+    * The preview image of iWork '09 packages (QuickLook/Thumbnail.jpg) and of
+      iWork '18 packages (preview.jpg) is emitted as a THUMBNAIL embedded
+      document, as it already was for iWork '13 (TIKA-4854).
+ 
+    * Raw camera formats are detected by content: RawTiffDetector tells
+      Nikon NEF/NRW, Pentax PEF/PTX, Sony ARW/SRF/SR2, Samsung SRW and Adobe
+      DNG from a plain TIFF by their image directory (DNGVersion, the vendor
+      Compression codes, or a CFA/LinearRaw image plus Make), and Fuji RAF,
+      Panasonic RW2, Minolta MRW and the remaining Olympus ORF byte orders
+      get magic entries. Streams without a file name used to be image/tiff.
+      image/x-raw-samsung (*.srw) is new and parsed by RawTiffParser
+      (TIKA-4861).
+ 
+    * DWGReadParser emits the drawing's THUMBNAILIMAGE as a THUMBNAIL embedded
+      document instead of INLINE (TIKA-4853).
+ 
+    * EpubParser emits the cover image named by the OPF (the EPUB 3
+      cover-image manifest property, or the EPUB 2 cover meta) as a THUMBNAIL
+      embedded document (TIKA-4852).
+ 
+    * RawTiffParser marks only the largest embedded JPEG preview as the
+      THUMBNAIL embedded document; the smaller previews of the same image are
+      INLINE images named image-N.jpg. Previously every preview was a
+      THUMBNAIL, so a client had to compare them to find the representative
+      one (TIKA-4851).
+ 
     * New exception-reporting parse-context config controls how much of an
       exception is written to tk:exception:* metadata for the container and
       embedded documents alike: FULL (default), MESSAGE_REDACTED (stack trace

Reply via email to