Skip to content

v7.12.0

Latest

Choose a tag to compare

@geode-ci geode-ci released this 22 Oct 07:02

7.12.0 (2026-10-22)

Bug Fixes

  • ABI: rebuild against OpenGeode model IO robustness changes (7bf5627)
  • ABI: rebuild against OpenGeode model ranges changes (8cf9672)
  • ABI: rebuild against OpenGeode RGBColor changes (e2e4f19)
  • AssimpInput: keep reading textures after an untextured mesh (c7974f3)
  • AssimpInput: map texture coordinates to the right merged corners (16856c2)
  • AssimpInput: set texture coordinates while building polygons (bed6746)
  • AssimpInput: skip lines, points and oversized faces (e59c64f)
  • AssimpInput: support absolute texture paths (63d1b38)
  • CSVInput: handle quoted fields (9ea05d0)
  • CSVInput: honor the mesh impl and fail on unreadable files (aa0c7af)
  • CSVInput: keep loading when an attribute value is not numeric (97cb84e)
  • CSVInput: remove duplicated settings defaults and attribute names map (ae1aa0c)
  • CSVInput: report the JSON settings file as missing when absent (0f37a06)
  • CSVInput: robust header and attribute column handling (2425055)
  • CSVInput: skip blank rows and rows missing coordinates (72c6a53)
  • CSVInput: skip rows with invalid coordinates (1a09cb7)
  • CSVInput: use NaN as attribute default and no value (db67837)
  • CSVInput: validate the JSON settings file (768474e)
  • DotOutput: escape backslashes in graph identifier (970a70a)
  • DotOutput: quote graph identifier and keep caller's edges state (3b2a4fd)
  • OBJInput: robust material and texture lookup in additional files (28a4eb9)
  • OBJOutput: do not write an unlisted material file (55f78c9)
  • SMESHInput: accept tabs and repeated spaces as separators (c452905)
  • SMESHInput: is_loadable returns 0 on invalid files instead of throwing (67029aa)
  • SMESHInput: keep data of truncated files and bound header counts (cd7aca7)
  • SMESHInput: skip comments and blank lines (2a82901)
  • SMESHInput: skip duplicated point ids and degenerate elements (7edbfd1)
  • SMESHInput: skip elements referencing unknown points (1ed8ec4)
  • SMESHInput: skip elements with an unexpected number of vertices (2926688)
  • SMESHInput: triangulated is_loadable used the curve reader (872b63a)
  • SMESHInput: validate line lengths and numbers with line number (72319c0)
  • STLOutput: write ASCII STL to keep double precision (afc563f)
  • TriangleOutput: throw when output files cannot be written (d20a25d)
  • TriangleOutput: write .neigh neighbors opposite their corner (46d948c)
  • TriangleOutput: write coordinates with full precision (2a55406)
  • VTIGridOutput: write origin, spacing and direction with round-trip precision (b264c64)
  • VTIInput: read third extent independently for loadability (d901712)
  • VTIInput: validate WholeExtent and apply its start to origin (f9f7126)
  • VTIOutput: 64-bit reserve size for raster image colors (481878e)
  • VTIOutput: avoid extent underflow on empty images (e395a03)
  • VTKInput: bound zlib block sizes to prevent buffer overflow (2a04e5c)
  • VTKInput: check appended data offsets and store 64-bit integers (efc45f9)
  • VTKInput: check number of cell offsets and types in release (0fd734c)
  • VTKInput: fail cleanly when the data element is missing (b5dfa9b)
  • VTKInput: map cell data onto the cells actually created (ff8e9a5)
  • VTKInput: offset cell vertices of each piece (d3fd062)
  • VTKInput: skip cells with a wrong number of vertices (2228723)
  • VTKInput: skip data arrays of unsupported type (a00610b)
  • VTKInput: skip data arrays without component (70fd7a3)
  • VTKInput: validate cell offsets against connectivity (618338d)
  • VTKOutput: ensure unique DataArray names for duplicated attribute names (6fc9d40)
  • VTKOutput: throw on write errors in VTK, GEXF and DOT writers (05be95e)
  • VTKOutput: use 64-bit cell offset accumulators (b0643a8)
  • VTKOutput: write arrays of up to 9 values with their own VTK type (d993ada)
  • VTPSurfaceOutput: return texture image files and sanitize their names (2914681)
  • VTUInput: handle pieces without cell in loadability (478f463)
  • VTUInput: use proper hexahedron facets and reorder voxels (a0a4d13)
  • VTUOutput: write PolyhedralSolid cells as VTK_POLYHEDRON (1a103be)

Features

  • VTUInput: read VTK_POLYHEDRON cells (0e68f13)

Performance Improvements

  • AssimpInput: load each texture image once (357eac2)
  • AssimpInput: skip useless adjacency computation and free scene early (1341fec)
  • SMESHInput: sample elements in is_loadable and reuse tokens (df772d4)
  • VTKInput: store cell vertices as flat arrays (5946116)
  • VTKOutput: stream appended data blocks instead of one growing buffer (26b1d52)
  • VTPSurfaceOutput: split textured vertices with flat per-corner indices (b037192)
  • VTUInput: decode only cell types to compute loadability (815a4cf)