Skip to content

chore: update dependencies and bump version to 0.10.1 - #220

Merged
bc-m merged 1 commit into
mainfrom
chore/update-deps-0.10.1
Nov 2, 2026
Merged

bc-m merged 1 commit into
mainfrom
chore/update-deps-0.10.1

Conversation

@bc-m

@bc-m bc-m commented Nov 2, 2026 •

Copy link
Copy Markdown
Owner

Draft for the release notes

Highlights

New: reassemble the XML export from the exploded output

Output exploded with --lossless can now be put back together into the XML files it came from (#218, #219), for example to get an XML export of any version in git:

fm-xml-export-exploder --lossless ./xml ./out    # explode
fm-xml-export-exploder reassemble ./out ./xml2   # reassemble
  • SOURCE is the output of the explode run, organized by database or by domain (detected automatically). TARGET is the folder for the XML files and must not be inside SOURCE.
  • Each database becomes <database>.xml. An export split into catalogs (FileMaker 2026) becomes one <database>_<catalog>.xml per catalog file; the summary file is not recreated.
  • The reassembled files are identical to the exported ones. They are written as UTF-8 without BOM, so for UTF-16 exports (FileMaker 22 and earlier) the content is identical, not the bytes.
  • Reassembling never writes incomplete XML silently. It fails with an error that names the cause, for example when an item file or metadata/ddr_info file is missing, when several files match one id, or when a catalog isn't supported yet. Item files that no skeleton refers to are listed as Not part of any skeleton.
  • If you keep the output in git, turn off line ending conversion (e.g. * -text in .gitattributes). Otherwise the reassembled files differ from the export.
  • Output exploded without --lossless, or with an older version, can't be reassembled. Explode again with 0.10.1 first.

Complete lossless output

--lossless now keeps everything needed to rebuild the export (#217): PersistentStoreCatalog (FileMaker 2026), carriage returns and the indentation of calculation text, the XML declaration, and ReplaceAction/DeleteAction catalogs.

Fixed: modified fields of FileMaker 20–22 exports

Each modified field now gets its own file. Before, they all overwrote one file per table, so most of them were missing (#217).

Changes to output ⚠️

These apply with and without --lossless:

These apply with --lossless only:

The first run after upgrading changes many files once. With --git, it's best to commit that run on its own.

🤖 Generated with Claude Code

- cargo update for transitive dependencies: encoding_rs 0.8.44, libc 0.2.191,
  rustix 1.1.6, similar 3.2.1
- All direct dependencies are already at their latest versions

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@bc-m
bc-m merged commit 42fd75d into main Nov 2, 2026
1 check passed
@bc-m
bc-m deleted the chore/update-deps-0.10.1 branch November 2, 2026 23:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant