github xberg-io/xberg v1.1.1

2 hours ago

This release contains a breaking public API change. OutputFormat::Structured is renamed to
OutputFormat::DocTags. Update any config, CLI invocation, or binding call using
output_format = "structured" to "doctags".

Changed

  • Breaking: renamed OutputFormat::Structured to OutputFormat::DocTags across every binding
    and the output_format config field. The rename shipped in 1.1.0 but was only alluded to there,
    with no entry describing it; the variant was renamed, not removed, and is available as
    "doctags". An output_format of "structured" is not rejected — it resolves to a custom
    renderer of that name, which is not registered.
  • Breaking: the TypeScript and WebAssembly OutputFormat type is a string union again
    ("plain" | "markdown" | "djot" | "html" | "json" | "doctags" | ...), matching the serde wire
    format shared with the CLI, REST, MCP, config-file, and Go surfaces. 1.1.0 briefly published an
    object union ({ type: "markdown" }) for these two bindings only.

Fixed

  • Fixed PHP extension packaging, which produced no PIE archives for 1.1.0.
  • Fixed HEIC and AVIF decoding on the Linux (glibc) Node binding, which shipped a libheif built
    with no HEVC or AV1 decoder at all — every .heic and .avif input failed to decode while the
    heic feature still reported as present. The Elixir linux-gnu NIF carries the same working
    codec closure.
  • Fixed Elixir NIF publishing for linux-gnu and Windows, which produced no artifacts for 1.1.0
    and left the Hex package at 1.0.14. The linux-gnu NIF is now built against the glibc 2.28 floor
    it claims to support; the artifacts published for 1.0.14 bundled HEIF codec libraries that
    required a newer glibc.
  • Fixed the Windows Hex package, which declared the x86_64-pc-windows-gnu target while CI built
    and published x86_64-pc-windows-msvc. RustlerPrecompiled resolves the msvc triple on Windows
    and rejects any triple the package does not declare, so mix deps.get failed with "precompiled
    NIF is not available for this target" even though the artifact existed. Windows users had to
    compile the NIF from source.

Security

  • The Linux binding images now verify a pinned SHA-256 for every vendored native dependency
    (libde265, libheif, ONNX Runtime) before building it, instead of trusting the download. These
    libraries are linked into the published Node and Elixir artifacts.

Don't miss a new xberg release

NewReleases is sending notifications on new releases.