Skip to content

sn-module-gen 0.1.2

Latest

Choose a tag to compare

@Ziv-Ink Ziv-Ink released this 04 Sep 22:36
· 4 commits to main since this release

sn-module-gen 0.1.2

This patch release hardens host-filesystem transactions without changing the
generated JavaScript, Android, JNI, or JSI API contracts.

  • Files, directories, and symlinks now use the stable timestamp representation
    actually stored by the filesystem. This prevents false
    concurrent-modification failures when a filesystem accepts a nanosecond value
    but stores a coarser timestamp.
  • Temporary feature-stage and pre-activation backup names no longer grow with
    the feature or package name. They remain within eCryptFS NAME_MAX=143 for
    the longest accepted public names.
  • A completed rollback is verified against the filesystem's stable coarse-mtime
    representation while content, entry type, mode, size, and other protected
    state remain strict.
  • Recovery-copy verification records source device/inode identity and rejects
    atomic source replacement, even if the replacement preserves content, size,
    mode, and timestamps.

Manual qualification used the real installed sn-module-gen executable in
fresh disposable projects. Complete Add, Check, Validate, Update, drift/repair,
Remove, rollback/failure, and long-name workflows passed on macOS APFS and Linux
ext4. Focused affected-path workflows passed on Linux eCryptFS, including
generated-state copy/rollback and long stage/backup names; this is not a claim
that every CLI scenario was repeated on eCryptFS.

A disposable C++ feature was also built, packaged, installed through the normal
Supernote UI, and launched on a Supernote Nomad running
Chauvet.E103.2608241001.2481_beta. The generated native call produced exactly:

SNMG_NATIVE_RESULT:Hello, SNMG_NATIVE_260905_04301

The canary loaded in an already-running PluginHost process. It did not test a
same-plugin reload or a fresh-process lifecycle. Native Windows qualification
was not run for this candidate; Windows-specific filesystem behavior is covered
by automated platform simulations and remains a release-evidence limitation.

See the README
and Wiki for the
supported workflow and current boundaries.