Skip to content

Changelog

Office Oxide segue semver. Antes da 1.0, versões minor podem trazer breaking changes — eles serão sempre destacados aqui.

0.1.0 — primeira release

Primeira release pública. Seis formatos, seis bindings.

Destaques

  • Seis formatos: DOCX, XLSX, PPTX, mais os legados DOC, XLS, PPT — núcleo em Rust puro, sem JVM, sem binários externos.
  • Seis bindings: Rust, Python, Node.js (nativo via koffi), Node.js / browser (WASM), Go (cgo), C# / .NET (P/Invoke), C FFI.
  • API Document unificada entre formatos e bindings — detecção por extensão, sniffing por magic bytes, mesmos nomes de métodos em todo lugar.
  • EditableDocument com replace_text (DOCX, PPTX) e set_cell (XLSX) — preserva todas as partes OPC inalteradas ao salvar.
  • to_markdown / to_html / to_ir em todos os formatos — projetados para pipelines de LLM e RAG.
  • save_as para conversão legado → OOXML transparente (DOC → DOCX, XLS → XLSX, PPT → PPTX).
  • CLI (office-oxide) e servidor MCP (office-oxide-mcp) — mesmo motor, runtimes diferentes.

Performance

Benchmarkado em 6.062 arquivos reais:

  • DOCX: 0,8 ms média, 14× mais rápido que python-docx
  • XLSX: 5,0 ms média, 2,8× mais rápido que python-calamine, 18× mais rápido que openpyxl
  • PPTX: 0,7 ms média, 46× mais rápido que python-pptx
  • DOC: 0,3 ms média, 14× mais rápido que catdoc
  • XLS: 2,8 ms média, 13× mais rápido que xlrd
  • PPT: 0,7 ms média, 4× mais rápido que catppt
  • Taxa de sucesso total: 98,4% em 6.062 arquivos; zero falhas em documentos Office legítimos

Distribuição

Licenciamento

Dual-licenciado MIT OR Apache-2.0, à sua escolha. Sem AGPL, sem GPL, sem restrições copyleft. Use livremente em projetos comerciais e open source.


Para detalhes completos, veja a página de releases do GitHub.