Skip to content

v0.8.2

Choose a tag to compare

@acgetchell acgetchell released this 15 Sep 15:41
· 31 commits to main since this release
Immutable release. Only release title and notes can be modified.
1892b82

⚠️ Breaking Changes

  • Delegate exact rational algebra to la-stack #601
  • Delegate stable norms to la-stack #608
  • Correct proof fixtures and release publication #605
  • Use scale-aware simplex measure checks #607
  • Harden geometry, rollback, and public API contracts #611

Merged Pull Requests

  • Harden geometry, rollback, and public API contracts #611
  • Extend the periodic T3 coverage timeout #611
  • Improve API navigation and organize scientific documentation #609
  • Delegate stable norms to la-stack #608
  • Use scale-aware simplex measure checks #607
  • Fill math-kernel coverage gaps #606
  • Correct proof fixtures and release publication #605
  • Preflight uv updates and align zizmor audits #604
  • Enforce Python typing and expand triangulation coverage #603
  • Expose Level 4 adapter workflows on Triangulation #602
  • Delegate exact rational algebra to la-stack #601
  • Bump the github-actions group with 4 updates #599
  • Bump the github-actions group with 3 updates #594

Added

  • Expose Level 4 adapter workflows on Triangulation #602
    dfe3465

    • Share visualization export between Triangulation and Delaunay owners.
    • Add exact UUID snapshots that preserve topology context and payloads without requiring Clone for serialization.
    • Expose transactional Euclidean insertion and deletion with typed failures and complete rollback.
    • Document toroidal Pachner composition and persistence limits while keeping Level 5 refinement explicit.
    • Add CodeRabbit review recipes for branch and uncommitted changes, and require review of substantive changes before final validation.

Changed

  • [breaking] Delegate exact rational algebra to la-stack #601
    b288faf

    • Adopt la-stack 0.4.6 rational determinants and solves for in-sphere predicates, circumcenters, and exact LP certification.
    • Remove duplicate rational elimination and binary64 round-trip adapters.
    • Round only final circumcenter coordinates and preserve indexed conversion errors.
    • Refresh Rust and Python dependencies, development tools, and CI action references; simplify temporary-file cleanup in support scripts.
    • Clarify fast iteration and final PR validation requirements.
  • Fill math-kernel coverage gaps #606
    2618816

    • Add 82 targeted 2D–5D benchmarks for orientation, geometry, and topology kernels with analytical fixtures and certified filter paths.
    • Document kernel coverage, diagnostic workflows, and release-suite membership in the benchmark coverage audit.
    • Preserve complete cross-dimension Criterion group summaries.
    • Update ty from 0.0.79 to 0.0.80.
  • [breaking] Delegate stable norms to la-stack #608
    7b2e610

    • Use checked vectors for distance, circumsphere, measure, quality, sampling, hull, and repair calculations while preserving typed backend
      errors and exact predicate lifting.
    • Preserve finite distances when squares overflow and correct subnormal deduplication, extreme-radius ball sampling, overflowing edge means,
      and normalized-volume calculations.
    • Share validated ToroidalDomain values across geometry and topology, avoiding repeated period validation during realization checks.
    • Reject spherical normalization that cannot preserve direction at the requested radius, leaving in-place inputs unchanged on failure.
    • Remove redundant coordinate conversions and quality-metric kernel bounds, and use fixed-size workspaces for facets and separator rays.
    • Require explicit authorization for CodeRabbit reviews, fix README links in rustdoc, and refresh dependency locks and tool pins.

Documentation

  • Improve API navigation and organize scientific documentation #609
    f817d25

    • Add a capability-to-API map and stable README anchors for docs.rs.
    • Introduce a scientific-basis overview and clarify documentation ownership while preserving bibliography keys and existing anchors.
    • Adopt uppercase task-guide and lowercase technical-document names; update links and performance tooling while preserving historical
      evidence URLs.
    • Align AI guidance with la-stack and clarify that CodeRabbit review requires explicit authorization.
    • Expand overflow, periodic-chart, and simplex-intersection regression coverage, including certified separation and exact fallbacks through 6D.
    • Add single-shared-vertex realization benchmarks across 2D–5D.
    • Update cargo-nextest to 0.9.144 and pure-eval to 0.2.4.

Fixed

  • Preflight uv updates and align zizmor audits #604
    b616da3

    • Reject unsupported uv versions before dependency or Cargo tool updates, while allowing newer stable versions to become the reconciled pin.
    • Share the pinned zizmor version and regular persona between local audits and the GitHub SARIF workflow.
    • Resolve local audit credentials from environment variables or GitHub CLI authentication, with an explicit offline fallback.
    • Add Semgrep guards for explicit zizmor versions and disabled setup-uv caching in release workflows.
    • Update zizmor to 1.30.1, zizmor-action to 0.6.4, and Polars to 1.44.2.
    • Clarify Python fixture lint requirements in the development guidance.
  • [breaking] Correct proof fixtures and release publication #605
    75f783c

    • Separate pseudomanifold import and promotion from PL-manifold certification that retains construction provenance.
    • Calibrate fixtures, preflight every curated target before sampling, and always print fatal benchmark errors.
    • Align manifests and reports with canonical Criterion IDs, fixture sizes, and all curated benchmark groups.
    • Benchmark the exact stable tag on a mutable draft, verify the uploaded archive's SHA-256, and publish only after success. Reject existing baseline assets
      and published-release reruns.
  • [breaking] Use scale-aware simplex measure checks #607
    f7b2182

    • Delegate simplex and facet Gram construction to la-stack while preserving geometric edge validation and typed failures.
    • Scale LDLT pivot tolerances with the Gram matrix and prevent degeneracy-threshold overflow on large finite inputs.
    • Return typed errors for zero-dimensional inradius/facet requests, measure underflow to zero, and overflowing facet sums.
    • Remove per-facet heap allocations from inradius and surface_measure.
    • Extend geometry benchmarks through 6D with direct facet and surface measure coverage.
  • [breaking] Harden geometry, rollback, and public API contracts #611
    afabb8e

    • Stabilize spherical distances near coincident and antipodal points.
    • Make toroidal canonicalization failure-atomic and preserve half-open coordinate bounds.
    • Deserialize exact-length numeric Point tuples without deserialize_any.
    • Preserve live storage on rejected tombstone finalization and retain structured duplicate-simplex, coordinate, and orientation diagnostics.
    • Preserve owner lifetimes in borrowed views, relax payload bounds, and reduce excessive edge-set reservations.
    • Require explicit allocation instrumentation and narrow prelude exports.
    • Reject dangling artifact symlinks, validate release asset sizes and digests, and safely quote stress-runner arguments.
    • Align CI with native Rust hosts, trim unused dependency features, and strengthen independent scientific fixtures and transition coverage.
  • Treat v0.8.2 as the first corrected benchmark baseline 943933b

    • Generate absolute measurements for v0.8.2 with performance-release and reject comparisons across the benchmark contract boundary.
    • Refresh the performance report and exclude historical comparisons from the initial baseline.
    • Compact generated table input counts to respect the 160-character line limit while preserving benchmark IDs and timings.
    • Synchronize v0.8.2 package versions, citation metadata, documentation, and generated release notes.
    • Refresh Rust and Python dependencies, including clap and ty.

Maintenance