Skip to content
Marc Laporte edited this page Sep 23, 2025 · 36 revisions

As of 2025-09-23, Cypht has 2 active branches:

  • Dev: Master from https://github.com/cypht-org/cypht/commits/master (requires PHP 8.1+)
  • Stable: 2.x (requires PHP 8.1+)
  • Old Stable: 1.4.x with Long Term Support (LTS) security fixes until 2025-05-01. Cypht 1.4.x has in general reached end of life. However, it is used as part of Tiki 24.x LTS and thus, for features that affect Tiki, it will receive security fixes via the Tiki community until 2026-01-01.
    • Requires PHP 5.6 or 7.0 or 7.1 or 7.2 or 7.3 or 7.4

About the process:

  • All commits start in Master. Then, bug fixes and self-contained/low-risk-of-regression/optional features can be backported to the Stable branch
  • Security fixes can be backported to Old Stable. Most active developers will focus on Dev and Stable, thus Old Stable will get little attention except for security fixes.
  • Releases to the Stable branch can happen at any time (2.1.0, 2.2.0, ...). These releases will generally contain both bugs fixes and non-disruptive (and usually optional) new features, but there could be a 2.1.1 which would be just a bug fix or security fix.
  • When there is a significant change, a backward incompatible change or a major refactoring, a new major branch will be created from master and it becomes the new Stable branch. The previous Stable branch is supported (security fixes) for 1 year.
  • Historical information: Until 2023, Cypht mostly had just a master branch which was kept quite stable, and infrequent stable releases were made from this, like 1.3.0. But these branches didn't really live / receive bug fixes.

Releases:

  • Patch releases 2.0.1, 2.0.2, etc. can be frequent and include bug fixes only
  • Minor releases 2.1.0, 2.2.0, etc. might be frequent and include enhancements, new features and fixes
  • Major releases like 3.0.0 will happen after significant changes, backward incompatible changes or major refactoring happens.

2.0.x is no longer supported once 2.1.0 is released.

Chronologically:

We will do normally do: 2.0.0 > 2.1.0 > 2.2.0 -> 2.3.0

Exceptionally, we may do: 2.0.0 -> 2.0.1 -> 2.1.0 -> 2.2.0 -> 2.3.0

But we will not do: 2.0.0 -> 2.0.1 -> 2.1.0 -> 2.0.2 -> 2.2.0 -> 2.3.0

I (Marc Laporte) think this follows the general principles of https://semver.org/ If there are any incompatibilities, please indicate in this wiki page.

While there is no predetermined timeline for new major releases, I (Marc Laporte) expect it will happen every 8 to 16 months, because I expect we'll want to make major changes at that frequency. There is a new PHP version every year so sooner or later, we need to bump the requirements and take advantage of modern PHP versions. We also have many planned innovations and at least one of these is bound to trigger a major version. While upgrades will be easy for Cypht standalone users, there will be times where integrators (like how Tiki integrated Cypht) will have to adapt.

Medium term:

Related links

>

Clone this wiki locally