On this page
Changes in depcurfew 1.1.0
Everything below is new since 1.0.0. Upgrading needs no change to depcurfew.json.
Guarding installs
depcurfew check <package...>looks packages up in the npm registry or PyPI before you install them: names that do not exist or look like a popular package, versions younger than the delay, install scripts or builds from source the policy does not allow, yanked, deprecated or quarantined versions, and sources the policy denies.--json,--dir,--registryand--indexare supported.depcurfew check --hook claude-codeis a PreToolUse hook for Claude Code (the Bash, PowerShell and Monitor tools) that blocks install commands breaking the policy and asks when it cannot tell what a command installs. It is a safety net, not a sandbox.
Python
apply,doctor,explainandchecksupport uv, pip, Poetry, PDM and Pipenv. Python packages are named with thepypi:prefix in the policy, and for PythoninstallScriptscovers packages built from source.- After
applychanges settings that a lockfile records (uv, PDM), lock again;applyanddoctorsay when.
Messages and machine output
depcurfew apply --jsonprints the changes with their diff, the warnings and the errors as one JSON document. Every warning and error has a code and says what to do.doctorreports an invaliddepcurfew.jsonas a finding (invalid-policy);check --jsonandexplain --jsonprint JSON for it too.
Behaviour changes and fixes
initkeeps the longest release-age delay the repository already sets, andapplywarns before it would shorten one (cooldown-shortened).- Without a directory,
apply,doctorandexplainuse the nearestdepcurfew.jsonup to the root of the repository, and only from a directory owned by the user that others cannot write to. applywrites every file or none, never makes a file it replaces readable by others, not even for a moment, keeps the line endings of the lines it does not change, and refuses files that are not UTF-8.dependabot.yml,pnpm-workspace.yamland.yarnrc.ymlwith comments after the last entry are edited correctly; the result of every YAML, JSON and TOML edit is checked before anything is written.- New
doctorrulepython-config-ignored, and more configuration that does nothing is found, among othersbefore=and quoted keys in.npmrc, YarnnpmScopesage gates, pnpmpermissions.*.build, broad Renovate rules and presets, and an out-of-datepdm.lock. - Large lockfiles,
dependabot.yml,renovate.jsonand SARIF output are processed much faster; YAML lockfiles over 16 MiB are reported instead of read. - Windows: writes are tried again while another program holds a file, and the tests run on Windows in CI.