Dependency removed from registry: symptoms, cause, and the test that catches it
A package or version is pulled from a registry and builds or deploys fail.
Dependency removed from registry is documented by 3 accepted public reports from 3 organisations, 1 of them published in the last 5 years.
- Likelihood: not published (1 public report in 5 years)
- Impact: medium (3 of 3 reports: availability)
Symptoms
User-visible
- Projects that depended on an unpublished string padding package, directly or through dependency chains, failed to install.[3]
- Install errors continued after a replacement 1.0.0 of the string padding package was published, because a dependency chain explicitly requested version 0.0.3.[3]
- Installing any version of the Ruby web framework failed.[2]
- The dependency manager reported that the bundle was locked to version 0.3.5 of a MIME type detection gem, which no source held because the author had removed it.[2]
- CI pipelines failed across the cluster project, at least on release-1.3.[1]
Monitoring-visible
- The JavaScript package registry observed hundreds of install failures per minute shortly after 2:30 PM Pacific Time on March 22.[3]
- A cluster event reported a failed pull of the command-line cluster client image tag 1.30.2 with rpc error NotFound.[1]
- A framework contributor reported the install failure in the framework's issue tracker on the same day the gem builds were yanked.[2]
Root causes
- stage: third-party An author unpublished 273 packages from the JavaScript package registry without warning to dependent projects, and one of them was the string padding package.[3]
- stage: third-party The MIME type detection gem's maintainer yanked all builds prior to 0.4.0 to resolve a licensing issue, while the framework's storage component depended on version ~> 0.3.2.[2]
- stage: third-party The command-line cluster client image was removed from the public container registry it was pulled from.[1]
- stage: config The policy reports cleanup job's image reference had been missed when the project switched its images to a legacy repository.[1]
Public examples
- [1]Sylva project, 2025-09-18. After the docker.io/bitnami/kubectl image was removed from Docker Hub, Sylva CI pipelines failed because a Kyverno cleanup job could not pull bitnami/kubectl:1.30.2, an image reference missed when the project switched its images to docker.io/bitnamilegacy. primary failures due to removal of some docker.io/bitnami/... images (in parrticular kyverno w. bitnami/kubectl image)
- [2]Rails, 2021-03-24. The mimemagic gem yanked all builds prior to 0.4.0 to resolve a licensing issue, and because Rails activestorage depended on mimemagic ~> 0.3.2, bundles locked to mimemagic 0.3.5 could not install Rails until the maintainer released a compatible 0.3.6. primary Dependency on mimemagic 0.3.x no longer valid
- [3]npm, Inc., 2016-03-23. An author unpublished 273 packages from the npm registry, including left-pad, and projects that depended on it directly or through dependency chains such as babel and atom failed to install for about 2.5 hours until npm re-published the original version from a backup. primary kik, left-pad, and npm
Test classes that catch it
| Test class | Stage | Limitation | Basis |
|---|---|---|---|
| Integration tests | pre-deploy | An integration test that passed before the removal stays green until it reinstalls, because the string padding package, the older gem builds and the cluster client image were each removed after the dependent projects had shipped. | by design analysis |
| Configuration and environment tests | pre-deploy | A configuration check that lists image references in deployment values does not see versions pinned inside a dependency chain, such as the string padding package 0.0.3. | by design analysis |
Risk
- Likelihood: not published (1 public report in 5 years)
- Impact: medium (3 of 3 reports: availability)
| Accepted public reports | 3 |
|---|---|
| Published in the last 5 years | 1 |
| Impact stated: availability | 3 |
Pre-release checklist
- PR-01
- PR-02
- PR-03
- PR-04
- PR-05
- PR-06
First 30 minutes
- FM-01
- FM-02
- FM-03
- FM-04
- FM-05
- FM-06
- FM-07
Download the checklist
What catches this: catalogue entries
Listed because their own documentation or site names integration tests, configuration and environment tests on the verification date. Alphabetical. Not a recommendation.
Tools whose documentation names these test classes
- Flipt config source verified 2026-10-21
- GrowthBook config source verified 2026-10-21
- Hoverfly integration source verified 2026-10-21
- LaunchDarkly config source verified 2026-10-21
- PostHog config source verified 2026-10-21
- Postman integration source verified 2026-10-21
- Serenity BDD integration source verified 2026-10-21
- Testcontainers integration source verified 2026-10-21
- TestNG integration source verified 2026-10-21
- Unleash config source verified 2026-10-21
Providers whose site names these test classes
- andagon people GmbH integration source verified 2026-10-21
- Appmatics integration source verified 2026-10-21
- AQA Masters integration source verified 2026-10-21
- Cleverix integration source verified 2026-10-21
- Crestech Software Systems integration source verified 2026-10-21
- DeviQA integration source verified 2026-10-21
- Invensis Technologies integration source verified 2026-10-21
- Outpost QA integration source verified 2026-10-21
- Q-Centric GmbH integration source verified 2026-10-21
- QA Madness integration source verified 2026-10-21
- QA Mentor integration source verified 2026-10-21
- QAwerk integration source verified 2026-10-21
- Quality Island integration source verified 2026-10-21
- Soflab Technology integration source verified 2026-10-21
- SQA - Software Quality Assurance S.A. integration source verified 2026-10-21
- SunTec India integration source verified 2026-10-21
- TestFort integration source verified 2026-10-21
- Testhouse integration source verified 2026-10-21
- Testing IT integration source verified 2026-10-21
- TestMatick integration source verified 2026-10-21
- Testscenario integration source verified 2026-10-21
- Zoonou integration source verified 2026-10-21
Only on this page
Dependency removed from registry starts in the third-party stage in report [1], report [2] and report [3], not in application code. In report [3], an author unpublished 273 packages from the JavaScript package registry without warning to dependent projects [3]. In report [2], a gem maintainer yanked all builds prior to 0.4.0 to resolve a licensing issue [2]. In report [1], a container image was removed from the public container registry [1]. In each report, the failure surfaced at install or pull time in projects that depended on the removed artifact.
Report [1] adds a config-stage factor: one image reference had been missed during an earlier switch to a legacy repository [1]. The fix there listed every image referenced in deployment values and added a CI check [1]. In report [3], a replacement 1.0.0 did not end the errors, because a dependency chain requested version 0.0.3 [3]. The registry then re-published the original 0.0.3 from a backup [3].
Related incidents
- API key rotation breaks integrations A key rotation invalidates partner integrations that were not notified.
- Provider API change breaks contract A third-party API changes a field or behaviour and the integration fails.
- Config change without restart semantics A config edit is applied to some instances and not others, producing inconsistent behaviour.
- Container image base change A base image update changes libraries or users and the service fails to start.
- IAM policy change blocks service A permission change removes a service's access to a queue, bucket or secret.
Questions
What causes dependency removed from registry?
In report [3], an author unpublished 273 packages from the JavaScript package registry. In report [2], a gem maintainer yanked all builds prior to 0.4.0 to resolve a licensing issue. In report [1], a container image was removed from the public container registry.
What are the symptoms of dependency removed from registry?
Installing any version of the Ruby web framework failed [2]. CI pipelines failed with a NotFound error when pulling the cluster client image [1]. The JavaScript package registry saw hundreds of install failures per minute [3].
Why did tests not catch dependency removed from registry?
Each removal happened after the dependent projects had shipped, so earlier test runs had passed. A configuration check on deployment values does not see versions pinned inside a dependency chain, such as the string padding package 0.0.3 [3].
Which test class catches dependency removed from registry, and what does it miss?
Integration tests and configuration and environment tests are listed, both with the by-design label. PR-01 runs a clean install from the public registries on a daily schedule, so the removal surfaces before a release depends on it.
Which public reports document dependency removed from registry?
Three primary reports from three organisations document it. They were published on 2016-03-23 [3], 2021-03-24 [2] and 2025-09-18 [1].
Should a team roll back or fix forward when dependency removed from registry happens?
Rolling back the application does not restore a removed version, so FM-04 holds releases that need a fresh install. In report [2], the gem maintainer released a compatible 0.3.6 that removed the breakage.
Release Incident Playbook (2026). Dependency removed from registry: symptoms, cause, and the test that catches it, content version 1.0.0. https://releasefailures.com/incidents/dependency-removed-from-registry/. Accessed 2026-10-21.