Skip to content

Releases: rad1092/annotrail

Annotrail 0.1.3: clean sample packaging

Pre-release

Choose a tag to compare

@rad1092 rad1092 released this 12 Oct 13:19
38ee345

Annotrail 0.1.3 fixes release support-file staging and ships the authored review exercise.

  • Documentation and examples come directly from the current source tree. Deleted samples or other files left in dist/examples or dist/docs cannot reappear in a rebuilt ZIP.
  • The regression performs two archive builds while retaining stale staging. A separate real macOS package check confirms all 80 documentation/example files exactly match source and stale files are excluded.
  • Runtime-included archives now include examples/review-demo: two authored PDFs and explicit candidate-selection/skip instructions. Neither PDF contains user data.
  • The bundled review-demo commands reference the shipped 0.1.3 JAR and have been executed in a fresh practice directory.
  • Annotation-transfer behavior is unchanged. Reanalyze existing plans after upgrading because plans carry the product version. The macOS bundle build is 4.

Download your platform ZIP and verify SHA256SUMS. Java is included; the standalone JAR requires Java 17+. Follow README.md and examples/review-demo/README.md after extraction.

These exact main-CI archives passed 73 Java tests, packaging regressions, native review/export and extracted-app smoke on Linux, macOS and Windows. macOS has an ad-hoc integrity signature only; there is no Developer ID signing or notarization, and Windows launchers are not Authenticode signed. Supported embedded PDF annotations still require explicit review; OCR, semantic text matching and unsupported annotation/page structures are outside scope.

Corresponding upstream runtime source and Temurin build-script archives are included unchanged with verified hashes and retained notices. No licenses were changed.

Source: 38ee3459314e1d90b991cc48a8457ae4da7fe89e
Verification: https://github.com/rad1092/annotrail/actions/runs/38254241322
Fixes: #2 and #3

Annotrail 0.1.2 preview — macOS package integrity

Choose a tag to compare

@rad1092 rad1092 released this 08 Oct 03:46

This patch fixes the macOS package integrity defect in 0.1.0/0.1.1: ZIP creation had converted 21 signed Java license symlinks into regular files after signing, invalidating the runtime and app resource seals. Version 0.1.2 fixes the file types before signing Mach-O contents, the runtime and the app in order. Both the original app and the actual ZIP extraction must pass strict signature verification. Altered licenses and JARs are rejected. Portable archives also include the linked security, validation and license documents.

Source commit: ea29296f653ee4a15d1a9b583076b8f09e3748ab.
Exact-commit CI passed 72 JUnit tests on each of macOS, Linux and Windows, with zero failures or skipped JUnit tests. Packaging regressions passed 13/13 on macOS and 11/11 on Linux and Windows; the two macOS signature tests are explicitly skipped on those other platforms. All three platforms passed the real native Swing-window review/export/reopen workflow and extracted runtime-included package CLI workflow. The final CI-produced macOS ZIP was independently exercised again on the local Mac.

Download your platform ZIP; Java is included. The standalone JAR requires Java 17+. Verify SHA256SUMS. macOS bundle build 3 corresponds to product version 0.1.2. Reanalyze after upgrading to create a fresh review plan. Replace older extracted app folders with the new package.

The macOS app is ad-hoc signed for package integrity. It is not Developer ID signed or notarized; Windows launchers are not Authenticode signed. The native-window tests drive the application's own controls; external OS mouse/keyboard input and native file-picker interaction remain unverified. These are explicit external release limitations, so this remains a preview. No operating-system protections were disabled.

The exclusive-copy output fallback from 0.1.1 remains: incomplete output can be visible until export succeeds, and forced termination/power loss can leave partial files. Use output folders you control and wait for success. Actual exFAT/FAT32 hardware was not tested; unsupported-link and filesystem-failure cases use fault injection. Portable Java does not make identity-check-and-unlink atomic against a hostile concurrent process.

Supported scope remains selectable-text PDFs with embedded Highlight, Underline, StrikeOut and Text comments. No OCR, handwriting, rotated text, encrypted input or signed revised-PDF workflow. Reports can contain private document text and author metadata.

The Temurin source and build archives are corresponding source for the bundled runtime; they are not required to run Annotrail. Licenses and notices are included in each package. The standalone JAR is the Linux CI artifact.

Executable class bytes match across the three CI JARs. Metadata differs: the Ubuntu runner used Maven JAR Plugin 3.5.1 versus 3.5.0 on macOS/Windows, and Windows generated CRLF in pom.properties. Byte-for-byte cross-platform JAR reproducibility is not claimed.

Annotrail v0.1.1

Annotrail v0.1.1 Pre-release
Pre-release

Choose a tag to compare

@rad1092 rad1092 released this 08 Oct 03:05

Superseded by 0.1.2. The macOS ZIP in this older release has an invalid ad-hoc resource seal because license symlinks were flattened after signing. Use 0.1.2 or later. This defect is separate from the lack of Developer ID signing/notarization. Assets below are retained for historical reproducibility.

This patch fixes exports to filesystems without hard links, including the path needed by exFAT/FAT32. Existing destinations are never replaced. The fallback reserves a new filename exclusively, copies the verified staged output, and checks ownership before rollback. Collision, cancellation, partial-write, report-failure, symlink and concurrent-replacement regressions were added.

Source commit: 39c205e7be88d4a36a9eb999f4d6dad200a58134.
Exact-commit CI passed 72 tests on each of macOS, Linux and Windows, with zero failures or skips. All three also passed a real native Swing-window review/export/reopen workflow and the extracted runtime-included package CLI workflow. The CI-produced macOS ZIP was independently exercised again on the local Mac.

Download your platform ZIP; Java is included. The standalone JAR requires Java 17+. Verify SHA256SUMS. macOS bundle build 2 corresponds to product version 0.1.1. Reanalyze after upgrading to create a new review plan.

The native-window test drives the application's own controls; OS mouse/keyboard and native file-picker interaction remain unverified because the desktop automation tool failed. Packages are unsigned and not notarized; no signing identity was available. These remain explicit external release limitations, so this is a preview package. No operating-system protections were disabled.

On the copy fallback an incomplete destination can be visible until export finishes; forced termination/power loss can leave partial files. Use output folders you control and wait for success. Actual exFAT/FAT32 hardware was not tested: the OS denied creation of the disposable exFAT test image. Unsupported-hard-link and filesystem-failure cases were tested through fault injection. Portable Java does not make identity-check-and-unlink atomic against a hostile concurrent process.

Supported scope remains selectable-text PDFs with embedded Highlight, Underline, StrikeOut and Text comments. No OCR, handwriting, rotated text, encrypted input or signed revised-PDF workflow. Reports can contain private document text and author metadata.

The Temurin source and build archives are corresponding source for the bundled runtime; they are not required to run Annotrail. Licenses and notices are included in every package. The standalone JAR is the Linux CI artifact; executable classes/resources match the other platforms, with only Windows line endings in generated pom.properties differing.

Annotrail 0.1.0 — reviewed PDF annotation transfer

Choose a tag to compare

@rad1092 rad1092 released this 08 Oct 02:13

Superseded by 0.1.2. The macOS ZIP in this older release has an invalid ad-hoc resource seal because license symlinks were flattened after signing. Use 0.1.2 or later. This defect is separate from the lack of Developer ID signing/notarization. Assets below are retained for historical reproducibility.

Annotrail transfers embedded annotations from an older PDF to revised selectable text. Review unique exact-text suggestions, repeated matches, missing anchors and unsupported annotations, then write a new PDF and reconciliation report. Originals are preserved.

Download the ZIP for your OS; Java is included. The standalone JAR needs Java 17+. Verify SHA256SUMS before use. macOS bundle build 1 corresponds to product version 0.1.0.

Validated source: 966b38667b6c792a18f7e05e55466c9461345a76.
Three-OS CI run passed tests, packaging, extracted native-app workflows and install removal on macOS, Linux and Windows. Local tests also exercised real offscreen Swing controls and PDF rendering. OS file-picker interaction was not manually verified; packages are unsigned and not notarized, so this is a preview release.

Supported: embedded Highlight, Underline, StrikeOut and Text comments. No OCR, handwriting, rotated text, encrypted input or signed revised-PDF workflow. Changed wording and anchors spanning revised pages remain unresolved. Unique text is not a guarantee of unchanged meaning. Review context before approving. Reports may contain private document text and authors.

100-page and 400-page synthetic comparisons completed in 0.773 s and 2.363 s on the measured M5 Pro host. These were simple text PDFs under uncontrolled concurrent load, not general performance guarantees. See docs/validation.md for limits and evidence.

The two Temurin source archives are corresponding source/build recipes for the bundled Java runtime, not required to run the app. Upstream licenses/notices are preserved in each package. The standalone JAR comes from the Linux CI artifact; its classes/resources match the other platforms, apart from generated pom.properties line endings on Windows.