FactAudio · 22:22 — 23:52
Semver ranges are not part of the actual Semver specification, creating a hidden complexity that most developers take for granted.
Darcy Clarke explains that the Semver specification only codifies what a version is, not ranges—a fact most developers don't realize, and which contributes to the complexity of dependency resolution. ✦ AI generated
Darcy Clarke · Software Engineering Daily · 2026-01-22 · original ↗
plays this moment only · 22:22 — 23:52
Elicited by
“Let's say that I have package A that requires B at 1.1 or higher, and then package C that requires B at 1.1.1 or higher. Why is it so difficult just to figure out what versions of packages A, B, and C I want? Or why is dependency resolution with versioning so difficult in the package space?”
There is no actual specification. There's like a quasi specification or standard for ranges... So every time we say Semver, we're kind of actually, we're stealing a term that actually doesn't have any basis for the ranges. Like ranges have not been codified in the Semver spec. Just so everybody knows, if you want to go check out the Semver spec, you're going to find that it only codifies what a version is. It doesn't codify ranges.
verbatim transcript · starts at 22:22
Around this claim