A three-part version number, like 2.4.1, that makes a promise. The last number means a bug fix, the middle one a new feature that breaks nothing, and the first means something may break.
It lets tools take safe updates on their own. But it is a promise made by a person, and nothing enforces it, so a patch can still break you.
Say it to your agent
“Bump zod from 4.1 to 4.6. It is a minor, so it should be safe, and you will check that and not assume it: run the full tests, read the changelog, and tell me anything we use whose behaviour changed.”