Skip to content

v0.3.7

Choose a tag to compare

@raykuonz raykuonz released this 14 Jun 13:07
· 25 commits to main since this release

Fixed

  • macOS: parallel extraction no longer crashes the worker pool and silently truncates the graph. The PyInstaller-frozen binary had no multiprocessing.freeze_support(), so on macOS/Windows (spawn start method) each pool worker re-executed the binary with Python's bootstrap args (-B --multiprocessing-fork). The CLI parser intercepted them, rejected them (error: unknown command '-B'), and every worker died — leaving only lightweight sequentially-extracted bundles and producing a severely truncated graph (e.g. 572 nodes vs ~9700, with zero CustomObject/CustomField/Flow) while still exiting 0. Linux (fork) was unaffected. freeze_support() now runs first so spawn workers bootstrap correctly. Verified by running the frozen binary under a forced spawn start method: full graph restored (9383 nodes, 658 objects, 3239 fields, 166 flows).
  • A failed worker pool no longer yields a silently-incomplete graph that exits 0. A BrokenProcessPool was previously swallowed; any pool-level failure now aborts parallel, re-runs the full extraction sequentially, and emits a loud WARNING: parallel worker pool failed — falling back to sequential.

Added

  • GRAPHIFY_SF_MP_START env var to override the multiprocessing start method (spawn/fork).