This page relates to the release notes of Nuxeo Server and related addons for LTS 2025 cycle. It will list the improvements and features that are successively shipped with the 2025.x releases.
What's New in LTS 2025.20 / LTS 2025-HF20
Fix 'Validation_report' JSON Response When Pattern Constraint Is Violated on Multi-Valued String Property
The validation report now has a proper message key for multi-value field with a constraint violation.
Improve Blob KeyStrategyDigest Using Threshold for Large Blob
KeyStrategyDigest now skips digest computation and deduplication for blobs larger than the configured threshold.
The KeyStrategyDigest blob key strategy has been improved to handle very large files more efficiently. A new digest.maxSize threshold can be configured per blob provider (for example, nuxeo.s3storage.digest.maxSize=10g in nuxeo.conf). Blobs below the threshold continue to use full MD5 digest computation with deduplication as before. Blobs exceeding the threshold bypass digest computation entirely and are stored with a UUID v7 (time-based) key instead, preventing processing failures caused by unbounded MD5 computation on very large files. Note that blobs stored above the threshold are not deduplicated.
Fix Deployment of a Custom Search Mapping
Custom search mapping are now properly loaded.
Expose BAF skipCount in AbstractBulkMigrator
New skipCount field in the migration status entity is introduced that represents the number of documents skipped during a bulk migration step. Defaults value is 0 for non-bulk migrators or when no skips have occurred.
GET_COMMENTS_FOR_DOCUMENTS_BY_COMMENT_ANCESTOR Page Provider Hits MongoDB Socket Timeout
The GET_COMMENTS_FOR_DOCUMENTS_BY_COMMENT_ANCESTOR Page Provider is now routed to OpenSearch by default.
If you have customized elasticsearch.override.pageproviders (LTS 2023) or nuxeo.search.pageproviders.override (LTS 2025+), you must append GET_COMMENTS_FOR_DOCUMENTS_BY_COMMENT_ANCESTOR to your existing list to preserve this routing.
Content-Disposition Filename Fallback Is Not Quoted After HF46 When Filename Contains Spaces or Special Characters
The legacy filename parameter of the Content-Disposition HTTP header is now an ASCII transliteration of the original filename, as recommended by RFC 6266 Appendix D. Previously, a filename containing non-ASCII characters (for example, café.txt) was placed verbatim in the quoted-string fallback, which produced mojibake on user agents that ignore the modern filename* parameter, since HTTP headers are transported as ISO-8859-1.
What changed
- Combining marks are stripped after NFD normalization, so accented Latin characters degrade nicely:
café.txt->cafe.txt. - Any remaining non-printable-ASCII character (control characters, CJK, and so on) is replaced with
_to keep the fallback structurally similar to the original name while preventing header injection. - Backslash (
\) and double-quote (") are escaped for quoted-string safety. - The RFC 5987
filename*=UTF-8''…parameter is unchanged — modern clients (all current browsers) still receive the exact original filename.
Header examples (attachment disposition)
Filename: cafe.txt Before: attachment; filename=cafe.txt After: unchanged
Filename: café.txt Before: attachment; filename="café.txt"; filename=UTF-8''caf%C3%A9.txt After: attachment; filename=cafe.txt; filename=UTF-8''caf%C3%A9.txt
Filename: 平仮名 - good.txt Before: attachment; filename="平仮名 - good.txt"; filename=UTF-8''%E5%B9%B3%E4%BB%AE%E5%90%8D%20-%20good.txt After: attachment; filename="___ - good.txt"; filename=UTF-8''%E5%B9%B3%E4%BB%AE%E5%90%8D%20-%20good.txt
Filename: tab
Compatibility
- No public API change. Affected method: org.nuxeo.common.utils.RFC2231#encodeContentDisposition(String, boolean).
- All downstream callers (DownloadServiceImpl, DownloadHelper, S3 / Azure blob providers, WebEngine writers) pick up the fix automatically.
- Modern user agents are unaffected — they continue to use
filename*. - Legacy user agents now receive a valid ASCII name instead of mojibake or a corrupted header value.
LTS 2025 Release Notes summary
| Version | Release date |
|---|---|
| LTS 2025.20 / 2025-HF20 | 2026-06-01 |
| LTS 2025.19 / 2025-HF19 | 2026-05-11 |
| LTS 2025.18 / 2025-HF18 | 2026-04-20 |
| LTS 2025.17 / 2025-HF17 | 2026-03-30 |
| LTS 2025.16 / 2025-HF16 | 2026-03-09 |
| LTS 2025.15 / 2025-HF15 | 2026-02-16 |
| LTS 2025.14 / 2025-HF14 | 2026-01-26 |
| LTS 2025.13 / 2025-HF13 | 2026-01-12 |
| LTS 2025.12 / 2025-HF12 | 2025-12-15 |
| LTS 2025.11 / 2025-HF11 | 2025-11-24 |
| LTS 2025.10 / 2025-HF10 | 2025-11-03 |
| LTS 2025.9 / 2025-HF09 | 2025-10-13 |
| LTS 2025.8 / 2025-HF08 | 2025-09-22 |
| LTS 2025.7 / 2025-HF07 | 2025-09-01 |
| LTS 2025.6 / 2025-HF06 | 2025-08-11 |
| LTS 2025.5 / 2025-HF05 | 2025-07-21 |
| LTS 2025.4 / 2025-HF04 | 2025-06-30 |
| LTS 2025.3 / 2025-HF03 | 2025-06-02 |
| LTS 2025.2 / 2025-HF02 | 2025-05-12 |
| LTS 2025.1 / 2025-HF01 | 2025-04-21 |
| LTS 2025.0 / 2025-HF0 | 2025-03-31 |