v0.9.67

hacksider/Deep-Live-Camv0.9.67Sep 23, 2026by safishamsi

Upgrading?

AI Summary

This release addresses critical Windows regressions related to module execution and import resolution, while introducing PHP closure extraction and enhancing Terraform secret handling.

Key Highlights

  • Fixed Windows regression where console-script launchers (`.exe`) failed to re-execute `update`, `extract`, `cluster-only`, and `label` commands.
  • New Feature: PHP closures (anonymous functions, arrow functions, and closures passed as arguments) are now extracted as nodes with semantic naming for route definitions.
  • Improved Python absolute import resolution to handle PEP 420 namespace packages and resolve ambiguous module names safely.
  • Enhanced Terraform secret redaction to now cover secrets nested inside list values, not just maps.

New Features

  • PHP closure extraction for anonymous functions, arrow functions, and closures passed as arguments.
  • Semantic naming for route-definition closures (e.g., `GET /path`).

Full Release Notes


- Fix: the PYTHONHASHSEED determinism pin (0.9.66) now re-execs via `python -m graphify` instead of replaying `argv[0]`, fixing a Windows regression where `update`/`extract`/`cluster-only`/`label` failed to re-launch through the console-script `.exe` launcher (#3780, thanks @ayushcodes10).
- Feature: PHP closures are now extracted — an anonymous `function(){…}`, an arrow `fn()=>…`, or a closure passed as an argument now produces a node and its inner calls are captured, in all positions including file scope. Route-definition closures get a semantic `VERB /path` name (composing nested `group()` prefixes); other closures get a stable per-scope ordinal (#3461, #3409, thanks @nikhilsaxena04).
- Fix: absolute Python package imports (`import pkg.sub`, `from pkg.sub import x`) now resolve to the local package/module node within the scan root, reusing the canonical resolver (bounded walk, PEP 420 namespace handling); an ambiguous module name across scanned trees fails closed rather than binding arbitrarily (#3729, thanks @Ha1baraA11).
- Fix: a package/module name collision (`pkg/` package alongside a `pkg.py` module) no longer produces a phantom import cycle — the spurious provisional edge is retracted while genuine package-init and submodule edges are preserved (#3784, #3777, thanks @hopstreax).
- Fix: Terraform secret redaction now also covers secrets nested inside list values (`configs = [{ password = "…" }]`), not just maps (#3762, #3644 follow-up, thanks @abhay-codes07).
- Fix: `export` no longer rewrites unchanged wiki/Obsidian pages on every run — a page whose content is identical is left untouched (stable mtimes, clean git/Obsidian sync), while changed and new pages still write and orphaned pages are still swept (#3760, #3060, thanks @abhay-codes07).

Related Repositories