This content is for v4.x (Alpha). Switch to the Stable version.
Compatibility
openxml-office v4.x is built on a single Rust core that is exposed to other languages through a Rust FFI layer. The Rust crate talks to the core directly, while every other language ships a thin wrapper around the FFI layer. The generated documents target Microsoft Office 2007 and newer.
Supported Platforms & Languages
Minimum runtime version required to consume each package. Stage 2 languages are planned and not yet published.
| Language | Stage | Min. Supported Version | Package | Integration |
|---|---|---|---|---|
| Rust | Stage 1 | 1.32 | draviavemal-openxml_office | Crate connecting directly to the core lib |
| C# | Stage 1 | .NET 10.0 | draviavemal.openxml-office | Wrapper around the Rust FFI layer |
| Python | Stage 1 | 3.8 | PyPI (cffi) | Wrapper around the Rust FFI layer using cffi |
| Java | Stage 2 | 1.8 | Maven Central | Wrapper around the Rust FFI layer |
| Go | Stage 2 | 1.22 | Go module | Wrapper around the Rust FFI layer |
| TypeScript | Stage 2 | β | npm | Node addon exposed via NAPI-RS |
Release Versions
Current stable and alpha release for each language. Wrapper languages depend on
the shared Rust FFI / core (rs) build; that dependency version is listed for
reference.
The Rust crate connects to the core library directly, so it has no separate FFI dependency.
| Package | Current Stable Release | Current Alpha Release | Dependent FFI / RS Version |
|---|---|---|---|
draviavemal-openxml_office | Core (no FFI wrapper) |
The C# package wraps the Rust FFI layer and tracks the matching rs core version.
| Package | Current Stable Release | Current Alpha Release | Dependent FFI / RS Version |
|---|---|---|---|
draviavemal.openxml-office | draviavemal-openxml_office (matched) |
Wrapper around the Rust FFI layer using cffi. Release pending.
| Package | Current Stable Release | Current Alpha Release | Dependent FFI / RS Version |
|---|---|---|---|
| Python | β | TODO | draviavemal-openxml_office (matched) |
Phase 2
| Package | Current Stable Release | Current Alpha Release | Dependent FFI / RS Version |
|---|---|---|---|
| Go | β | Phase 2 | draviavemal-openxml_office (matched) |
Phase 2
| Package | Current Stable Release | Current Alpha Release | Dependent FFI / RS Version |
|---|---|---|---|
| Java | β | Phase 2 | draviavemal-openxml_office (matched) |
Phase 2
| Package | Current Stable Release | Current Alpha Release | Dependent FFI / RS Version |
|---|---|---|---|
| TypeScript | β | Phase 2 | Node addon via NAPI-RS |
Project Progress
V4 Development Status
| Language | Package | Progress |
|---|---|---|
| Flatbuffers | common | π©β¬β¬β¬β¬ |
| Rust | fbs | π©β¬β¬β¬β¬ |
| Rust | xml | π©π©π©π©β¬ |
| Rust | global | π©π©β¬β¬β¬ |
| Rust | spreadsheet | π©π©π©π©β¬ |
| Rust | presentation | π©β¬β¬β¬β¬ |
| Rust | document | π©β¬β¬β¬β¬ |
| Rust | FFI | π©β¬β¬β¬β¬ |
| C# | fbs | π©β¬β¬β¬β¬ |
| C# | spreadsheet | π©β¬β¬β¬β¬ |
| C# | presentation | π©β¬β¬β¬β¬ |
| C# | document | π©β¬β¬β¬β¬ |
| Python | fbs | π©β¬β¬β¬β¬ |
| Python | spreadsheet | β¬β¬β¬β¬β¬ |
| Python | presentation | β¬β¬β¬β¬β¬ |
| Python | document | β¬β¬β¬β¬β¬ |
| ----------- | ----------- | -------- |
| PHASE 2 | PHASE 2 | PHASE 2 |
| ----------- | ----------- | -------- |
| Java | fbs | β¬β¬β¬β¬β¬ |
| Java | spreadsheet | β¬β¬β¬β¬β¬ |
| Java | presentation | β¬β¬β¬β¬β¬ |
| Java | document | β¬β¬β¬β¬β¬ |
| Go | fbs | β¬β¬β¬β¬β¬ |
| Go | spreadsheet | β¬β¬β¬β¬β¬ |
| Go | presentation | β¬β¬β¬β¬β¬ |
| Go | document | β¬β¬β¬β¬β¬ |
| TypeScript | fbs | β¬β¬β¬β¬β¬ |
| TypeScript | spreadsheet | β¬β¬β¬β¬β¬ |
| TypeScript | presentation | β¬β¬β¬β¬β¬ |
| TypeScript | document | β¬β¬β¬β¬β¬ |