Rework Risk

Dependency releases · Snapshot 2026-10-26

What happened to dependency releases.

Which stable releases did maintainers pull, and which were followed by a patch within days? Explore 200 of the most-updated packages from a curated candidate pool across npm, PyPI and crates.io over the snapshot’s last 12 months.

These are outcomes, not predictions. They are the history Rework Risk learns from for dependency-bump pull requests.

Stable releases
9,343
Pulled or quickly fixed
894
Packages
200

200 of 200 packages · Scroll the table to see all columns.

Stable release outcomes over the 12 months in this snapshot. Select a column heading to sort.
npmai649588.9%7.0.153
npmvercel3146721.3%65.2.0
npm@cloudflare/workers-types27710.4%5.20261026.1
PyPIboto324031.3%1.43.118
PyPIbotocore24031.3%1.43.118
npm@aws-sdk/client-s322100.0%3.1156.0
npm@aws-sdk/client-dynamodb22000.0%3.1156.0
npmelectron19931.5%45.0.0
PyPIawscli18921.1%1.46.2
npm@types/node1422014.1%26.6.5
npmwrangler142128.5%4.153.0
PyPIhypothesis1422517.6%6.170.11
npmexpo1331410.5%58.0.19
PyPIfastapi1243024.2%0.162.0
npmknip11597.8%6.43.0
npmastro1131614.2%7.4.2
npm@angular/cli11043.6%21.2.28
PyPIuv10398.7%0.13.5
npm@angular/core10165.9%22.2.3
PyPIopenai10176.9%3.37.0
npmsvelte971515.5%5.57.2
npm@anthropic-ai/sdk9488.5%1.3.0
PyPIanthropic9366.5%2.3.0
npm@supabase/supabase-js921010.9%2.118.0
npmlucide-react9211.1%1.61.0
npmnext882326.1%16.4.3
npmeslint-config-next881011.4%16.4.3
npmopenai8700.0%7.44.0
npmstorybook8667.0%10.6.4
npm@storybook/react8667.0%10.6.4
PyPIlangchain-core8567.1%1.7.0
npmlangchain841416.7%1.5.19
npmframer-motion831619.3%14.6.0
PyPItox81911.1%4.67.1
npmmongoose8011.3%9.11.4
npm@langchain/core781417.9%1.3.0
npmturbo761013.2%2.11.10
npm@tanstack/react-query761215.8%5.105.0
npm@sentry/node7645.3%11.9.0
npm@sentry/react7645.3%11.9.0
npm@sentry/nextjs7645.3%11.9.0
PyPIhuggingface-hub741520.3%2.3.0
npmnx70710.0%24.0.1
npmaws-cdk67710.4%2.1146.1
npmhono661015.2%4.13.14
PyPIvirtualenv661116.7%21.14.13
npmaws-cdk-lib6557.7%2.274.0
npmoxlint6511.5%1.89.0
npmundici6434.7%8.12.3
npm@sveltejs/kit60610.0%3.1.0
PyPIfilelock60711.7%4.2.4
PyPIlangchain591220.3%1.4.7
npmvite52815.4%8.3.5
npmrollup52611.5%4.65.1
npm@biomejs/biome5259.6%2.6.3
PyPIruff4936.1%0.17.2
npmpuppeteer48510.4%25.16.0
npm@typescript-eslint/parser4600.0%8.72.0
npm@typescript-eslint/eslint-plugin4600.0%8.72.0
npmtypescript-eslint4600.0%8.72.0
npm@react-navigation/native461123.9%7.5.1
npm@nestjs/core43818.6%11.2.8
npm@nestjs/common43818.6%11.2.8
PyPItransformers431125.6%5.20.2
npmelectron-builder3937.7%26.18.1
PyPIplatformdirs39615.4%4.13.5
PyPIgradio3837.9%6.30.0
npmvitest3738.1%4.1.12
npmmysql237513.5%3.24.6
PyPIsentry-sdk3725.4%2.73.0
npm@apollo/client36513.9%4.3.5
npmmsw35617.1%3.0.3
npm@swc/core34514.7%1.16.20
npmreact-router3438.8%8.5.0
npmstripe3438.8%23.0.1
npm@types/react3239.4%19.3.0
PyPIgoogle-auth3226.3%2.62.0
npmwebpack31619.4%5.112.2
npmsass31619.4%1.106.1
npmreact-hook-form3113.2%7.91.0
PyPIdjango3100.0%5.2.18
npmnuxt3000.0%4.6.2
npmreact29310.3%19.1.10
npmreact-dom29310.3%19.1.10
npmcypress2913.4%16.2.0
npminquirer28621.4%14.2.4
npmeslint2700.0%10.13.0
npmzod27725.9%4.6.7
PyPIpolars271037.0%2.1.0
npmreact-router-dom2627.7%7.18.4
npmfastify26726.9%5.12.7
PyPItyper26311.5%0.27.3
npmpostcss25728.0%8.5.31
npmreact-native2528.0%0.88.0
npmaxios24312.5%0.34.0
npmtsx24416.7%4.23.15
npmlint-staged24520.8%17.6.0
npmstyled-components24625.0%6.6.0
PyPIstarlette24520.8%1.10.0
crates.iotokio2414.2%1.54.1
PyPIcoverage23417.4%7.17.0
PyPIstreamlit23313.0%1.66.1
npmprettier22522.7%3.9.10
npmvue22313.6%3.5.44
npm@vue/compiler-sfc22313.6%3.5.44
npmnanoid22418.2%6.0.2
npmmapbox-gl2214.5%3.33.0
PyPIuvicorn22313.6%0.54.0
npm@astrojs/react2114.8%7.1.1
npm@hookform/resolvers21733.3%6.0.0
crates.iosyn2129.5%3.0.9
npmjoi20735.0%18.3.0
npm@commitlint/cli2000.0%21.2.4
npmprisma2000.0%7.10.1
npm@prisma/client2000.0%7.10.1
PyPIgoogle-api-core20210.0%2.43.0
npmfirebase1900.0%13.1.0
crates.ioclap19210.5%4.6.7
PyPIsqlalchemy18316.7%2.1.6
PyPIgoogle-cloud-storage1800.0%3.17.1
crates.iouuid1800.0%1.29.0
npmjotai1700.0%3.0.1
npm@opentelemetry/sdk-node1700.0%0.300.0
npmws17317.6%8.22.0
npm@mui/material17211.8%9.5.0
PyPIjupyterlab1700.0%4.5.11
PyPIipython1700.0%9.17.1
npmdotenv16318.8%18.0.9
PyPIpydantic-core16425.0%2.50.1
PyPIprotobuf1616.3%7.36.2
PyPIdatasets16318.8%5.1.0
npmautoprefixer15533.3%10.6.1
npmmobx15426.7%7.1.1
npm@playwright/test1417.1%1.64.1
npmplaywright1417.1%1.64.1
npm@vitejs/plugin-react1417.1%6.1.2
crates.iolibc14214.3%0.2.191
npmrecharts1317.7%3.10.1
PyPInumpy1317.7%2.5.4
PyPIalembic1317.7%1.20.1
PyPIredis1300.0%8.1.0
PyPIgrpcio13215.4%1.85.0
PyPInotebook1300.0%7.5.8
npm@babel/preset-env12216.7%8.0.7
npmtailwindcss1218.3%4.3.3
npmesbuild1218.3%0.28.2
npmnock12216.7%15.0.5
npmfirebase-admin1200.0%14.5.0
npmgraphql1218.3%15.10.3
npmthree1218.3%0.186.1
PyPIsetuptools1218.3%84.2.1
PyPIpydantic12325.0%2.14.1
PyPItypes-requests1200.0%2.33.0.20261006
PyPIduckdb1200.0%2.0.0
crates.iorustls1200.0%0.23.46
npm@radix-ui/react-dialog11218.2%1.3.1
PyPImypy1100.0%2.4.0
PyPIpylint1100.0%4.1.3
PyPIgoogleapis-common-protos1100.0%1.76.0
PyPIcryptography1100.0%50.0.2
PyPItqdm1119.1%4.70.1
PyPIopentelemetry-api1119.1%1.45.1
PyPIopentelemetry-sdk1119.1%1.45.1
PyPIpoetry11218.2%2.5.1
npm@babel/core10220.0%8.0.9
npmlerna10110.0%10.1.1
npmpg10110.0%8.23.1
npmredis10110.0%6.3.0
npmioredis10110.0%6.0.0
npmglob10110.0%13.0.6
PyPIs3transfer1000.0%0.19.3
PyPIcertifi10110.0%2026.10.23
PyPIaiohttp10110.0%3.14.5
PyPImkdocs-material1000.0%9.8.0
crates.ioreqwest10220.0%0.13.5
crates.iorand10110.0%0.10.3
npmbody-parser900.0%2.4.0
npm@react-three/fiber9222.2%9.8.2
npmwebpack-cli9222.2%7.2.3
PyPIidna900.0%3.20
PyPIblack9111.1%26.10.1
PyPIhatchling9222.2%1.32.4
PyPIbuild9222.2%1.6.1
crates.ioserde_json9333.3%1.0.154
npmzustand800.0%5.0.16
npmsemantic-release8225.0%25.0.9
npm@changesets/cli800.0%3.0.3
npmtypeorm800.0%1.1.2
npmuuid800.0%14.0.3
PyPIcharset-normalizer8225.0%3.5.2
PyPIpip800.0%26.2.2
PyPIpandas8112.5%3.1.0
PyPIpsycopg8112.5%3.3.6
PyPIanyio8112.5%4.15.1
PyPIwebsockets8112.5%17.3
PyPIazure-core800.0%1.41.0
PyPIazure-storage-blob800.0%12.31.0
PyPItorch800.0%2.14.1
PyPIsphinx8225.0%9.2.0
crates.iohyper8225.0%1.12.0

Shares are omitted for packages with fewer than six releases. Pulled and fixed counts can overlap.

A practical setting

Give a new release three days.

In this snapshot, a 3-day cooldown would have waited past the replacement patch for 851 releases fixed within 72 hours. This describes release timing; it does not establish why a patch was published or guarantee that an update will hold up.

Merge these settings into your existing configuration and adjust the manifest directory. Dependabot applies this to version updates; security updates are handled separately. The Dependabot example covers the ecosystem; the Renovate example applies to all packages.

Dependabot

version: 2
updates:
  - package-ecosystem: "npm"
    directory: "/"
    schedule:
      interval: "daily"
    cooldown:
      default-days: 3

Renovate

{
  "packageRules": [
    {
      "minimumReleaseAge": "3 days"
    }
  ]
}

Dependabot cooldown reference · Renovate release age reference

This table records what maintainers did after a release. It does not detect compromised or malicious releases. For security, use a dedicated supply-chain scanner. npm removals are unpublished; the registry does not say why.

See this for your own code.

Rework Risk finds the merged pull requests in your repo that later needed corrective work, dependency bumps included.

Get a rework backtest on your repo