Semantic Versioning Starting with Chilkat 10.0.0

Starting with the v10.0.0 release (end of September 2024), Chilkat moves to standard semantic versioning.   Prior to this release, for various technical reasons, Chilkat was stuck with versions 9.5.0.xx, where only xx changed.

For this first leap to semantic versioning, where the major version changes to 10 (from 9), there are no backward incompatible changes.  Going forward, when we move to versions 11.*.*, 12.*.*, and so on, we’ll document in detail the backward incompatible changes, and we’ll keep a reference web page with the full history.  Chilkat’s intent is to limit the number of backward incompatible changes with each major version release to avoid placing too large of a burden on customers.  The general reason for any backward incompatible change is to remove obstacles the slow the further development of Chilkat.  Moving forward at an accelerated pace is the longer-term goal.

Here is a description of what semantic versioning means:

Semantic Versioning  is a versioning scheme used in software development to communicate changes and updates in a clear and standardized way. It follows the format:

MAJOR.MINOR.PATCH

Each of the three parts—MAJOR, MINOR, and PATCH—has a specific meaning, helping users and developers understand the nature of changes in each version. The format helps convey whether a release introduces breaking changes, new features, or bug fixes.

Format Breakdown:

  1. MAJOR version (X.0.0) –
    • Incremented when backward-incompatible changes are introduced, meaning the new version will not work with previous versions of the software without adjustments.
    • Typically indicates a significant overhaul or redesign.
    • Example: If you upgrade from “1.0.0” to “2.0.0”, expect breaking changes and the need for code modification.
    • Note: Chilkat will provide detailed documentation for the backward-incompatible changes.  It is expected that only certain usage cases of Chilkat will be affected.
  2. MINOR version (0.X.0) –
    • Incremented when new features are added in a backward-compatible way, meaning existing functionality still works without breaking changes.
    • This allows users to access new features without modifying their existing setup.
    • Example: Upgrading from “1.1.0” to “1.2.0” adds features, but everything that worked in “1.1.0” should still work.
  3. PATCH version (0.0.X) –
    • Incremented when bug fixes or small updates are made in a backward-compatible way.
    • Typically, these updates do not introduce new features but fix issues such as performance bugs, security vulnerabilities, or other problems.
    • Example: Upgrading from “1.1.1” to “1.1.2” should fix bugs without altering existing functionality.