Skip to content

SuniPDF 0.40.0

Choose a tag to compare

@lmdanavanem lmdanavanem released this 21 Oct 20:01
Immutable release. Only release title and notes can be modified.
5e2d270

New in 0.40.0

  • Calibrated local measurements. In Rich annotations choose Length, Polyline, Perimeter, Area or Angle, enter vertices and a known two-point distance, choose metric or decimal feet/inches and precision, then Preview and Apply. Each annotation keeps its own calibration and geometry. Undo removes both; generic moves/resize/label edits are refused to prevent stale values. measure creates a new PDF copy and measurements exports supported JSON records.

  • Image stamps. Embed an aspect-fitted local image with alpha in a real Stamp annotation. Preview before Apply; source-image changes cannot change the prepared candidate. Move, comment replies and deletion use the existing annotation tools.

  • Atomic text decorations. Preflight all selected pages and margins; refuse invalid pages, margins or overflowing text without partially modifying the document. No silent shrinking or truncation.

  • Local-first AEC roadmap. 26 cards cover takeoffs, registers, libraries, overlays, revisions and advanced plan workflows. This is a bounded measurement foundation, not complete AEC parity. Local features remain free and open source.

  • Retained migrations and PDF checks. Published 0.39.0 ZIP/MSI packages join earlier baselines. No runtime dependency was added.

Validation

Main CI and release workflow passed on 5e2d2705411b2b82d7f03bf78c0217ce49f261b5: 637 tests, zero failures, 10 default ignored; 1163 EN/FR keys, 32 portable scenarios, 26 MSI baselines/130 logs. CodeQL Rust/Python/Actions passed with zero open alerts.

The independent page-decoration gate passed 80 cases, 256 CLI calls and 10 qpdf checks, covering rotations, cropped geometry, transparency, six text zones, numbering, protected documents and refusals. The actual downloaded CLI also passed retained security, local-review, object-order, PDF 2.0, 14 PDF-inspection and 20 visual-signature image cases. Independent readers, software rendering, OCR, corpus, Office and mutation gates remain included. Hosted full-workspace tests cover the new headless dialog behavior; they do not qualify native Windows interaction. The local full-workspace Clippy attempt exhausted Windows memory; local core/CLI checks and exact-source hosted Clippy/tests provide separate evidence.

Scope and limits

  • Measurement vertices and calibration are entered as displayed-page coordinates in Rich annotations. Maximum 128 vertices and 0–4 decimal places; simple polygons only. Feet/inches are decimal units.
  • Each annotation has its own calibration. Recreate it to change geometry or scale; generic move/resize/label edits are refused to prevent stale takeoffs. No page-wide recalibration, vector snapping, viewport scales, volume, symbol recognition or automatic counting is claimed.
  • Measurement JSON records use a documented SuniPDF format; Proprietary measurement compatibility and universal imported-metadata support are not claimed. The AEC backlog acceptance criteria remain open where incomplete.
  • Image stamps are limited to 64 MiB encoded, 4096 pixels per side and four million pixels. Embedded pixels are independent of the source image after Apply. No digital-signature or identity verification is implied.
  • Local tools remain free and open source. Projects edits remain deferred.
  • Windows packages remain unsigned without an independent publication key; ARM64 is cross-built only. Native hardware, printing, Narrator, installed updater interaction, broader hostile/customer corpus and PDF/A/PDF/UA conformance remain separate 1.0 qualification.

Projects edits remain deferred at the owner's request; repository roadmap and evidence are updated, without a fresh Projects synchronization claim.

Français

Annotations locales de longueur, polyligne, périmètre, surface polygonale simple et angle : calibration explicite sur deux points, unités métriques/impériales décimales, précision et données JSON. Chaque mesure conserve son échelle et sa géométrie ; aperçu, Annuler et copies CLI préservent les originaux. Tampons Stamp avec image intégrée, proportions et transparence. Filigranes texte/numérotation : vérification de toutes les pages et refus atomique des marges invalides ou débordements. Paquets 0.39.0 ajoutés aux migrations. Backlog AEC de 26 cartes donnant priorité aux fonctions locales.

Measurements · Image stamps and decorations · Guide français · Full changelog