TYPO3 Extension Semantic Versioning 1.0.0

Summary

TYPO3 Extension Semantic Versioning is an extension to Semantic Versioning 2.0.0, which includes the highest compatible TYPO3 version before the rest of the Semantic Version.

Given a version number TYPO3-MAJOR.MAJOR.MINOR.PATCH, increment the:

  1. TYPO3-MAJOR version when support a newer TYPO3 Major version
  2. MAJOR version when you make incompatible API changes
  3. MINOR version when you add functionality in a backward compatible manner
  4. PATCH version when you make backward compatible bug fixes
  5. Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.

Introduction

In the ever-advancing world of software development, especially in the context of content management systems (CMS), it is essential to maintain standards that enable smooth interoperability and clear communication between developers. Semantic Versioning 2.0.0 (SemVer) has established itself as a proven scheme that enables developers to clearly understand and communicate the changes in software projects.

In this context, we introduce a valuable extension to Semantic Versioning specifically designed to enhance clarity regarding TYPO3 CMS compatibility. TYPO3, being a prominent platform for content management and web development, imposes distinct requirements and establishes compatibility standards for extensions and plugins. To address these needs and promote a standardized methodology in TYPO3 development, we advocate for the augmentation of SemVer with an additional position. This modification aims to distinctly indicate the highest compatible TYPO3 Major Version within the version number, facilitating a smoother upgrade experience by clearly communicating which extension supports which TYPO3 version.

This extension enables TYPO3 administrators, who install extensions, to easily identify the highest compatible TYPO3 major version clearly marked within the version number. This information informs both developers and TYPO3 admins about the specific CMS versions that are compatible with a particular software component. Concurrently, the rest of the version number adheres to the established SemVer standard, preserving the well-established principles of SemVer. This refinement aims to foster transparency and clarity not only in the development of TYPO3 extensions but also for TYPO3 admins, ensuring a seamless integration into diverse TYPO3 environments.

About

This extension to SemVer was authored by Oliver Eglseder

License

Creative Commons ― CC BY 3.0