Shipping breaking changes
A guide on the impact of breaking changes in software libraries, with advice on when to use them and how to manage them for users.
A guide on the impact of breaking changes in software libraries, with advice on when to use them and how to manage them for users.
Critique of Semantic Versioning's practical limitations and why it can't guarantee API stability, using real-world examples like the cryptography package.
A developer's deep dive into a versioning conflict with the Shellcheck tool in a Node.js monorepo, highlighting the difference between 'latest' and 'stable' builds.
A Django expert explains why you should use the latest version of the framework for new web applications, instead of older LTS versions.
Explains a Java NoSuchMethodError with ByteBuffer.position() when code compiled with JDK 9+ runs on Java 8, and how to prevent it.
A guide to using Fastlane for managing and automating version numbers for iOS/macOS releases, including bumping, prompting, and tagging.
A guide to using MinVer for semantic versioning of NuGet packages based on Git tags, explaining version number components.
A guide to adding versioning and migration support to Swift Codable models while preserving automatic derivation.
Explores the challenge of achieving 100% test coverage for Python code that must handle version-specific logic and compatibility layers.
Explores the complexities of Python package metadata, comparing runtime introspection with packaging tools and discussing modern solutions.
A guide to versioning Python projects with Semantic Versioning (SemVer) and code formatting best practices for maintainability.
Discusses the challenges of computational reproducibility in science, highlighting the Ten Years Reproducibility Challenge and using Go's stability as a model.
A developer shares common mistakes and automated solutions for managing software releases in open-source projects.
A guide on using Go modules to manage and version development tools for Go projects, ensuring consistency across teams and CI/CD pipelines.
A technical guide detailing the process and benefits of upgrading from Java 8 to newer versions, based on real-world experience.
Explains how to use Maven's new ${revision}, ${sha1}, and ${changelist} properties for simplified, centralized versioning in projects.
Explores integrating Docker's mutable image tags with Git Flow's mutable release branches to create a flexible versioning and continuous delivery framework.
Explains Semantic Versioning (SemVer), covering major, minor, and patch version numbers and their meaning for software releases.
The author now recommends strong-naming .NET assemblies, reversing a previous stance, due to changes in modern frameworks and the GAC.
A guide for beginners on starting their first Python project, covering version selection and project structure best practices.