BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//pretalx//pretalx.com//packagingcon-2021//speaker//RPCMET
BEGIN:VEVENT
UID:pretalx-packagingcon-2021-JHYQRP@pretalx.com
DTSTART:20211110T195500Z
DTEND:20211110T201500Z
DESCRIPTION:Semantic Versioning (`MAJOR.MINOR.PATCH`) is a common approach 
 to versioning\nlibraries that separates changes into fixes (`PATCH`)\, add
 itions (`MINOR`)\, and\nbreakages (`MAJOR`). Though simple\, SemVer has tw
 o primary limitations that can\nmake it difficult for developers to work w
 ith:\n\n 1. User-facing changes\, such as new features or redesigns\, are 
 not separated\n    from API breakages. Therefore\, the compatibility betwe
 en versions is harder\n    for maintainers to understand as the impact of 
 MAJOR updates can vary\n    significantly (ex. Python `1->2` vs `2->3`). I
 n consequence\, some projects\n    now use year-based versioning or 'ZeroV
 er' (where `MAJOR` is always `0`)\,\n    thus avoiding  the question of AP
 I compatibility entirely.\n\n 2. API breakages are always represented by t
 he `MAJOR` version and do not take\n    into account different types of br
 eakages\, such as source vs binary\n    compatibility. Additionally\, tool
 ing can be used to repair many common types\n    of breakages (such as ren
 aming) which do not have significant impact on how\n    the library is use
 d.\n\nThe purpose of this talk is to raise awareness of these limitations\
 , demonstrate\nthe use cases for having multiple levels of API versioning\
 , and propose\nalternative versioning methods that can incorporate differe
 nt types of API\nbreakages.
DTSTAMP:20260317T035429Z
LOCATION:Room I
SUMMARY:Versioning for User-Facing Changes vs API Breakages - Blake Anderso
 n
URL:https://pretalx.com/packagingcon-2021/talk/JHYQRP/
END:VEVENT
END:VCALENDAR
