- Made zstd-jni dependency optional. It was included as a required dependency in 0.33.0 by mistake.
- CdxWriter: additional record types (e.g. conversion) can now be included by setting an appropriate filter #105
- CdxTool:
--record-typeoption #105
- Added command-line help to all tools #103
- Added
viewcommand: interactive TUI for exploring WARC files- view captures, WARC and HTTP headers
- filter captures by type, status, method or url
- save payload to a file, open in browser or external editor
- HttpParser: lenient mode now accepts "0" as a status code for compatibility with Browsertrix WARCs
- CdxRecord: surt(), format(), values() and toString()
- CdxWriter
- CDXJ output support
- sort option
- HttpMessage:
Content-Encoding: zstdsupport - HttpRequest:
Content-Encoding: chunkedsupport - WarcReader: Zstandard compressed WARC Files support
- WarcServer: resource record support
- URIs.toNormalizedSurt(): Improved compatibility with Python surt.
- HeaderValidator with WARC/1.1 standard ruleset
- ExtractTool: can now extract sequential concurrent records (
--concurrentoption) - DedupeTool
- In-memory cache for cross-URL digest-based deduplication (
--cache-sizeoption) - Now prints deduplication statistics (
--dry-runand--quietoptions) - Multi-threaded deduplication (
--threadsoption)
- In-memory cache for cross-URL digest-based deduplication (
- ValidateTool
- Multi-threaded validation (
--threadsoption)
- Multi-threaded validation (
- ParsingException message is now annotated with the source filename and record offset when available
- RFC5952 canonical form is now used for IPv6 addresses in WARC-IP-Address
- HttpParser in lenient mode now:
- accepts responses missing version number
- ignores header lines missing :
- ignores folded status lines
- WarcParser: treats
alexa/datARC records as not HTTP type