Accelerating package expansion in Rust through development of a semantic versioning tool

Abstract

In many programming languages there exist countless nuances, making developers accidentally release new versions of their packages that are not backwards-compatible. Such releases can directly impact projects which are using their packages, causing bugs or even compilation errors when using the latest version. One of the affected languages is Rust, which also lacks (itself) a built-in mechanism for enforcing semantic versioning. The aim of this thesis is to describe the development of a tool for Rust programmers to reduce the chances of publishing a new version of the code that violates semantic versioning. There are already on-going plans to bundle this tool into the language's standard development toolchain. It would make it commonly used and therefore help users to safely get bug fixes, security patches and new functionality, without worrying about their app being broken by a dependency change.

0

Turn this paper into a lesson

ArcXiv compiles a structured reading guide from this paper's metadata: plain-English importance, contributions, prerequisite concepts, which sections to read first, flashcards, and a quiz. Grounded in the abstract, never invented.

Discussion (0)

Sign in to join the discussion.

Loading comments…