Skip to main content

2 posts tagged with "release"

View All Tags

DocWire SDK 2026.07.07

· 3 min read
Krzysztof Nowicki
Krzysztof Nowicki
Chief Business Officer, Founder - Docwire

Welcome one and all to the Release Update 2026.07.07 of the DocWire SDK.

The latest DocWire release 2026.07.07 brings forth a substantial change to how DocWire integrates with Local AI subsystem, and the SDK codebase has gone through changes to provide extensive naming standardization, which aligns with the project's coding guidelines.

Following are the key changes which highlight this release:

Llama.cpp Integration

DocWire now integrates with llama.cpp natively as an optional layer, which gives the SDK user flexibility to set up inference pipelines with GGUF-based models locally. By default, DocWire ships IBM Granite 4.0 1B Q8_0 GGUF model, a compact yet capable LLM, but this is also optional. SDK user can easily set up their own models using our ai_runner interface.

Modular AI Backends

Keeping up with the introduction of the feature above, the Local AI runtime is now split into separate optional libraries, based on CTranslate2 and Llama.cpp. On top of that, a lot of convenience classes for jobs such as Summarization, Translation, etc. have been introduced, so that SDK user can easily set up the tasks by binding to a runner of choice, either using CTranslate2 or Llama.cpp.

Adherence to Coding Guidelines

DocWire remains committed to its principles of delivering a standard and trustworthy software, which can serve as a building block for high-performance, predictable, and auditable data processing. And in order to do so, we have set certain coding guidelines which aim to maintain sanity, structure and standard in the code being accepted in DocWire ecosystem based on the principles advocated by pioneers of C++, such as Bjarne Stroustrup, Herb Sutter, etc. In this release, we have also started taking directions in this path, as we have improved the naming conventions of C++ entities (class/struct/enum) to follow snake_case. Watch out this space as we are actively working to bring the codebase in proper alignment with the standards set. We shall be writing about them explicitly in our Technical Blog Section.

Mailio Crash Prevention

The EML parser’s BoundaryTracker now handles prematurely closed multipart sections and injects empty parts when necessary, and thus preventing a crash in the underlying mailio library. DocWire's motive is to support the parsing of files as cleanly as possible, without the user getting affected by unexpected crashes coming from corner cases.

Full release notes

DocWire SDK 2026.05.25

· 2 min read
Krzysztof Nowicki
Krzysztof Nowicki
Chief Business Officer, Founder - Docwire

The latest Docwire release 2026.05.25 has two substantive changes.

License: GPLv2 → AGPLv3

DocWire SDK moves from GPLv2 to the GNU Affero General Public License v3.0. The practical differences matter. AGPLv3 closes the "SaaS loophole" — under GPLv2, a company could run DocWire as a networked service without releasing their source code. AGPLv3 requires that network users also receive source. Beyond that, AGPLv3 includes explicit patent grants protecting users from litigation by contributors, is compatible with Apache License 2.0 which broadens ecosystem integration, and uses more internationally enforceable legal language. For internal tooling, research, and open-source projects: nothing changes. For proprietary networked services, AGPLv3 is not compatible with closed-source deployment under its open-source terms. DocWire is dual-licensed — a commercial license is available for organizations that need to deploy without AGPLv3 obligations

Content Type Detection: Heuristic Pipeline

Content type detection is where document processing pipelines fail quietly. The symptom is wrong output or silent failures; the cause is usually a file that doesn't match what libmagic expects — wrong extension, missing metadata, or a non-seekable network stream. This release introduces specialized heuristic detectors for images (BMP, WEBP) and ZIP-based containers (OOXML, ODF formats — DOCX, XLSX, PPTX). The approach: check local file headers in the first 4KB before falling back to deep inspection. This specifically addresses detection failures on non-seekable streams with libmagic 5.47+, where the previous approach regressed. Two additional fixes come with this: MIME type normalization now standardizes legacy types returned by libmagic to modern IANA standards (e.g. text/xml → application/xml), and when multiple MIME types have identical confidence scores, the result is now alphabetically deterministic rather than platform-dependent. Test Infrastructure The monolithic api_tests.cpp has been split into focused files (core_tests.cpp, error_tests.cpp, log_tests.cpp, etc.), and all unit tests now run from a single docwire_tests binary. The practical effect is significantly reduced overhead during full test cycles under Valgrind.

Full release notes