[TikiWiki-commits] [Git][tikiwiki/tiki][27.x] [BP][DOC] Added stability-ignore in composer.json for packages with unstable versions
"Joseph Lwanzo Kausi \(@Grandi0z\) via TikiWiki-cvs" <[email protected]>
| Newsgroups | gmane.comp.cms.tiki.cvs |
|---|---|
| Message-ID | <69012a4d5ca07_2ce1ca8608d8@gitlab-sidekiq-low-urgency-cpu-bound-v2-7767f69594-f7c9s.mail> |
Joseph Lwanzo Kausi pushed to branch 27.x at Tiki Wiki CMS Groupware / Tiki
Commits:
b1c115e7 by Joseph Lwanzo Kausi at 2025-10-28T22:34:17+02:00
[BP][DOC] Added stability-ignore in composer.json for packages with unstable versions
---
* [BP][DOC] Added stability-ignore in composer.json for packages with unstable version
* [DOC] Added stability-ignore in composer.json for packages with unstable...
---
* restore composer
* [REF] Added stability-ignore in composer.json for packages with unstable versions, detailing reasons and mitigations.
See merge request tikiwiki/tiki!8422
See merge request tikiwiki/tiki!8725
- - - - -
2 changed files:
- vendor_bundled/composer.json
- vendor_bundled/composer.lock
Changes:
=====================================
vendor_bundled/composer.json
=====================================
@@ -316,7 +316,91 @@
"umakantp/smartylint": "0.1.4-p1"
},
"extra": {
- "patches-file": "../installer/composer-patches/composer-patches.json"
+ "patches-file": "../installer/composer-patches/composer-patches.json",
+ "stability-ignore": {
+ "_comment": [
+ "Packages with non-standard version constraints that require explanation.",
+ "This includes both unstable versions (dev-master, etc.) and stable versions that aren't the latest available.",
+ "",
+ "TOOL USAGE:",
+ "This list is used by the Composer Stability Checker script (doc/devtools/check_composer_stability.php).",
+ "The script analyzes package stability across Tiki versions and flags non-standard constraints.",
+ "When packages are listed here, they are marked as [MITIGATED] in the script output.",
+ "",
+ "BRANCH PRESENCE:",
+ "The stability checker script may only be present in newer versions (master/29.x+) because:",
+ "1. The script is part of the release process and development tooling",
+ "2. Since the script compares across all available Tiki versions, being only on master can be sufficient",
+ "3. The ignore list itself provides documentation for dependency decisions across all versions",
+ "4. Older branches don't need the script since they're analyzed from the master version",
+ "",
+ "SPLIT DOCUMENTATION:",
+ "Package documentation is now split between two locations in this composer.json file:",
+ "1. This stability-ignore list (under 'extra'): Documents why specific version constraints are acceptable",
+ "2. The main _comment section above: Explains package purpose, usage, and general dependency notes",
+ "This separation allows for:",
+ " - Clear distinction between 'what' (package docs in _comment) and 'why' (stability justification here)",
+ " - Focused stability analysis without cluttering general documentation",
+ " - Easier maintenance of stability justifications vs. feature documentation",
+ " - Better organization: stability concerns are isolated from general package information",
+ "",
+ "NOTE:",
+ "This stability-ignore list will be included in all supported Tiki versions because:",
+ "1. It provides valuable context for dependency decisions across all supported versions",
+ "2. Helps maintain consistency in dependency management practices",
+ "3. Enables the stability checker tool to work properly when analyzing from master",
+ "4. Documents decisions that may affect future dependency updates",
+ "5. Ensures all versions have the same understanding of acceptable version constraints",
+ "",
+ "Each entry should include:",
+ " - reason: Why this specific version constraint is necessary/acceptable",
+ " - mitigation: How risk is reduced or managed",
+ " - reviewed: Date when decision was reviewed",
+ " - reviewer: Name of person who reviewed this decision",
+ " - alternatives: What alternatives were considered (if any)",
+ " - impact: What functionality would be lost without this package"
+ ],
+ "candy-chat/xmpp-prebind-php": {
+ "reason": "Essential XMPP prebinding for chat system authentication and session management.",
+ "mitigation": "PHP 8 compatibility via patches. Extended with custom TIKITOKEN auth.",
+ "reviewed": "2025-08-27",
+ "reviewer": "Joseph Kausi",
+ "alternatives": "No alternatives for prebinding. Custom implementation would be complex.",
+ "impact": "XMPP chat completely non-functional. Users cannot authenticate or connect."
+ },
+ "montefuscolo/xmpp": {
+ "reason": "XMPP library with PHP 8.1 compatibility fixes. Using dev-php8.1 branch for required PHP 8.1 support.",
+ "mitigation": "Specific dev branch targeting PHP 8.1 compatibility. Monitored for upstream changes.",
+ "reviewed": "2025-08-27",
+ "reviewer": "Joseph Kausi",
+ "alternatives": "Wait for stable release with PHP 8.1 support or use alternative XMPP library.",
+ "impact": "XMPP functionality may be affected if PHP 8.1 compatibility issues arise."
+ },
+ "rubix/extras": {
+ "reason": "Machine learning extras package providing additional algorithms and transformers. Using beta version 2.0.0-beta for required ML functionality. Package is ABANDONED - no stable release will be available.",
+ "mitigation": "Beta version provides stable API for core ML features. Used extensively in MachineLearningLib for classifiers, regressors, transformers, and neural networks. Package is abandoned but beta version remains functional for current needs.",
+ "reviewed": "2025-08-27",
+ "reviewer": "Joseph Kausi",
+ "alternatives": "Migrate to alternative ML library or consider maintaining a fork. No stable release expected due to abandonment.",
+ "impact": "Machine learning features completely non-functional. Users lose access to ML models, predictions, and data analysis capabilities."
+ },
+ "npm-asset/select2": {
+ "reason": "JavaScript library for enhanced select inputs with search and tagging features.",
+ "mitigation": "Release candidate is widely adopted and considered stable in practice. Migration to JS build system for future versions.",
+ "reviewed": "2025-08-27",
+ "reviewer": "Joseph Kausi",
+ "alternatives": "Wait for stable release. In Tiki 28.x+, this is handled by the JS build system.",
+ "impact": "Enhanced select input functionality lost. Users lose search, tagging, and advanced selection features in forms."
+ },
+ "symfony/polyfill-ctype": {
+ "reason": "Provides ctype_* functions when ext-ctype extension is not available.",
+ "mitigation": "Version ~1.8 required by Symfony 6.4 components. Provides fallback functionality.",
+ "reviewed": "2025-08-27",
+ "reviewer": "Joseph Kausi",
+ "alternatives": "No alternatives for ctype function polyfills.",
+ "impact": "Symfony components fail. System likely unusable due to cascading failures."
+ }
+ }
},
"replace": {
"npm-asset/tslib": "*"
=====================================
vendor_bundled/composer.lock
=====================================
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "13887bd147a85fc6cc6f5e8998d1dacc",
+ "content-hash": "78adcfd9639be87e6f2dacb30b84dd9e",
"packages": [
{
"name": "Sam152/Javascript-Equal-Height-Responsive-Rows",
@@ -11793,16 +11793,16 @@
},
{
"name": "symfony/console",
- "version": "v6.4.26",
+ "version": "v6.4.27",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
- "reference": "492de6dfd93910d7d7a729c5a04ddcd2b9e99c4f"
+ "reference": "13d3176cf8ad8ced24202844e9f95af11e2959fc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/492de6dfd93910d7d7a729c5a04ddcd2b9e99c4f",
- "reference": "492de6dfd93910d7d7a729c5a04ddcd2b9e99c4f",
+ "url": "https://api.github.com/repos/symfony/console/zipball/13d3176cf8ad8ced24202844e9f95af11e2959fc",
+ "reference": "13d3176cf8ad8ced24202844e9f95af11e2959fc",
"shasum": ""
},
"require": {
@@ -11867,7 +11867,7 @@
"terminal"
],
"support": {
- "source": "https://github.com/symfony/console/tree/v6.4.26"
+ "source": "https://github.com/symfony/console/tree/v6.4.27"
},
"funding": [
{
@@ -11887,7 +11887,7 @@
"type": "tidelift"
}
],
- "time": "2025-09-26T12:13:46+00:00"
+ "time": "2025-10-06T10:25:16+00:00"
},
{
"name": "symfony/css-selector",
@@ -12253,16 +12253,16 @@
},
{
"name": "symfony/finder",
- "version": "v6.4.24",
+ "version": "v6.4.27",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
- "reference": "73089124388c8510efb8d2d1689285d285937b08"
+ "reference": "a1b6aa435d2fba50793b994a839c32b6064f063b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/finder/zipball/73089124388c8510efb8d2d1689285d285937b08",
- "reference": "73089124388c8510efb8d2d1689285d285937b08",
+ "url": "https://api.github.com/repos/symfony/finder/zipball/a1b6aa435d2fba50793b994a839c32b6064f063b",
+ "reference": "a1b6aa435d2fba50793b994a839c32b6064f063b",
"shasum": ""
},
"require": {
@@ -12297,7 +12297,7 @@
"description": "Finds files and directories via an intuitive fluent interface",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/finder/tree/v6.4.24"
+ "source": "https://github.com/symfony/finder/tree/v6.4.27"
},
"funding": [
{
@@ -12317,7 +12317,7 @@
"type": "tidelift"
}
],
- "time": "2025-07-15T12:02:45+00:00"
+ "time": "2025-10-15T18:32:00+00:00"
},
{
"name": "symfony/http-client",
@@ -16066,12 +16066,12 @@
"source": {
"type": "git",
"url": "https://github.com/PHPCompatibility/PHPCompatibility.git",
- "reference": "c55d775037d854842a6f98daeb7e88ed40f80b4f"
+ "reference": "8215564d0e8c0496964ded16727b0abfc2445ef6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/PHPCompatibility/PHPCompatibility/zipball/c55d775037d854842a6f98daeb7e88ed40f80b4f",
- "reference": "c55d775037d854842a6f98daeb7e88ed40f80b4f",
+ "url": "https://api.github.com/repos/PHPCompatibility/PHPCompatibility/zipball/8215564d0e8c0496964ded16727b0abfc2445ef6",
+ "reference": "8215564d0e8c0496964ded16727b0abfc2445ef6",
"shasum": ""
},
"require": {
@@ -16152,7 +16152,7 @@
"type": "thanks_dev"
}
],
- "time": "2025-10-22T21:37:50+00:00"
+ "time": "2025-10-27T23:12:46+00:00"
},
{
"name": "phpcsstandards/phpcsutils",
@@ -17988,16 +17988,16 @@
},
{
"name": "symfony/cache",
- "version": "v6.4.26",
+ "version": "v6.4.27",
"source": {
"type": "git",
"url": "https://github.com/symfony/cache.git",
- "reference": "66c853ddcbf85c1984169869be498c3e7597b367"
+ "reference": "3b9cf252b3bb54d5daddea5704b95ea7117b39f4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/cache/zipball/66c853ddcbf85c1984169869be498c3e7597b367",
- "reference": "66c853ddcbf85c1984169869be498c3e7597b367",
+ "url": "https://api.github.com/repos/symfony/cache/zipball/3b9cf252b3bb54d5daddea5704b95ea7117b39f4",
+ "reference": "3b9cf252b3bb54d5daddea5704b95ea7117b39f4",
"shasum": ""
},
"require": {
@@ -18064,7 +18064,7 @@
"psr6"
],
"support": {
- "source": "https://github.com/symfony/cache/tree/v6.4.26"
+ "source": "https://github.com/symfony/cache/tree/v6.4.27"
},
"funding": [
{
@@ -18084,7 +18084,7 @@
"type": "tidelift"
}
],
- "time": "2025-09-11T09:57:09+00:00"
+ "time": "2025-10-17T12:08:26+00:00"
},
{
"name": "symfony/cache-contracts",
View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/b1c115e7a2505ec2ab99587cd214ca821368938c
--
View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/b1c115e7a2505ec2ab99587cd214ca821368938c
You're receiving this email because of your account on gitlab.com.
_______________________________________________
TikiWiki-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tikiwiki-cvs