Hacker News new | ask | show | jobs
by treffer 2627 days ago
For a standardized language like SQL you don't have API incompatibility.

Yet a cost based optimiser may break your application, completely.

Calendar Versioning prompts to update and highlights that you should test the behaviour every time, which sounds about right.

Also even a patch release of a SemVer library is allowed to be runtime incompatible. Throwing an exception on incorrect usage is down to the patch definition. It fixes incorrect (undefined) behaviour. Going from a O(1) to. O(n²) implementation to fix behaviour is also within SemVer patch level.

SemVer does not guarantee that your code will continue to work as intended after an upgrade. It only guarantees you don't have to change your code between minor versions.