Skip to content

Changelog

Office Oxide sigue semver. Antes de 1.0, las versiones minor pueden incluir cambios incompatibles — siempre se destacarán aquí.

0.1.0 — primer release

Primer release público. Seis formatos, seis bindings.

Destacado

  • Seis formatos: DOCX, XLSX, PPTX, más los heredados DOC, XLS, PPT — núcleo en Rust puro, sin JVM, sin binarios externos.
  • Seis bindings: Rust, Python, Node.js (nativo vía koffi), Node.js / navegador (WASM), Go (cgo), C# / .NET (P/Invoke), FFI C.
  • API Document unificada entre formatos y bindings — detección por extensión, sniffing por magic bytes, mismos nombres de método en todas partes.
  • EditableDocument con replace_text (DOCX, PPTX) y set_cell (XLSX) — preserva todas las partes OPC sin tocar al guardar.
  • to_markdown / to_html / to_ir para cada formato — diseñados para pipelines de LLM y RAG.
  • save_as para conversión heredado → OOXML transparente (DOC → DOCX, XLS → XLSX, PPT → PPTX).
  • CLI (office-oxide) y servidor MCP (office-oxide-mcp) — el mismo motor, distintos runtimes.

Rendimiento

Benchmarkado sobre 6.062 archivos reales:

  • DOCX: 0,8 ms media, 14× más rápido que python-docx
  • XLSX: 5,0 ms media, 2,8× más rápido que python-calamine, 18× más rápido que openpyxl
  • PPTX: 0,7 ms media, 46× más rápido que python-pptx
  • DOC: 0,3 ms media, 14× más rápido que catdoc
  • XLS: 2,8 ms media, 13× más rápido que xlrd
  • PPT: 0,7 ms media, 4× más rápido que catppt
  • Tasa de éxito total: 98,4% sobre 6.062 archivos; cero fallos en documentos Office legítimos

Distribución

Licencia

Doble licencia MIT OR Apache-2.0 a tu elección. Sin AGPL, sin GPL, sin restricciones copyleft. Úsalo libremente en proyectos comerciales y open source.


Para detalles completos, consulta la página de releases de GitHub.