Skip to content

Commit be025ff

Browse files
authored
Merge pull request #145 from anome2002/mw-1.43-compat
Add compatibility with MediaWiki 1.43 LTS+ and SMW 6.0+
2 parents 408ce5c + c66742e commit be025ff

22 files changed

Lines changed: 226 additions & 196 deletions

.github/workflows/ci.yml

Lines changed: 8 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -17,48 +17,27 @@ jobs:
1717
strategy:
1818
matrix:
1919
include:
20-
- mediawiki_version: '1.39'
21-
smw_version: 5.1.0
22-
php_version: 8.1
23-
database_type: mysql
24-
database_image: "mariadb:11.2"
25-
coverage: false
26-
experimental: false
27-
- mediawiki_version: '1.39'
28-
smw_version: 5.1.0
29-
php_version: 8.1
30-
database_type: mysql
31-
database_image: "mariadb:11.2"
32-
coverage: false
33-
experimental: false
34-
- mediawiki_version: '1.40'
35-
smw_version: 5.1.0
20+
- mediawiki_version: '1.43'
21+
smw_version: 6.0.1
3622
php_version: 8.1
3723
database_type: mysql
3824
database_image: "mariadb:11.2"
3925
coverage: true
4026
experimental: false
41-
- mediawiki_version: '1.41'
42-
smw_version: 5.1.0
43-
php_version: 8.1
44-
database_type: mysql
45-
database_image: "mariadb:11.2"
46-
coverage: false
47-
experimental: false
48-
- mediawiki_version: '1.42'
49-
smw_version: 5.1.0
50-
php_version: 8.1
27+
- mediawiki_version: '1.44'
28+
smw_version: 6.0.1
29+
php_version: 8.2
5130
database_type: mysql
5231
database_image: "mariadb:11.2"
5332
coverage: false
5433
experimental: false
55-
- mediawiki_version: '1.43'
34+
- mediawiki_version: '1.45'
5635
smw_version: dev-master
57-
php_version: 8.1
36+
php_version: 8.3
5837
database_type: mysql
5938
database_image: "mariadb:11.2"
6039
coverage: false
61-
experimental: false
40+
experimental: true
6241

6342
env:
6443
MW_VERSION: ${{ matrix.mediawiki_version }}

RELEASE-NOTES.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,21 @@
11
This file contains the RELEASE-NOTES of the **Semantic Cite** (a.k.a. SCI) extension.
22

3+
## 4.0.0
4+
Released on March 6, 2026.
5+
6+
* Minimum requirement for
7+
* PHP changed to version 8.1 and later
8+
* MediaWiki changed to version 1.43 (LTS) and later
9+
* Added compatibility with MediaWiki 1.45.x and Semantic MediaWiki 6.0.x
10+
* Migrated `Html` class usage to `MediaWiki\Html\Html` namespace (MW 1.44+)
11+
* Migrated `WikiMap` class usage to `MediaWiki\WikiMap\WikiMap` namespace (MW 1.44+)
12+
* Replaced deprecated `onoi.qtip` / `onoi.blobstore` JS modules with `ext.smw.tooltip` / `mediawiki.storage`
13+
* Rewrote tooltip handler to use tippy.js with a jQuery hover fallback
14+
* Tooltip now fetches citation text directly via ASK API without `action=parse` dependency
15+
* Moved `ext.scite.config` delivery from `ResourceLoaderGetConfigVars` to `BeforePageDisplay` hook
16+
* Fixed `CitationReferencePositionJournal` cache fetch returning `false` instead of array
17+
* Added explicit `$dataValueFactory` property declaration in `ReferenceListParserFunction`
18+
319
## 3.0.0
420
Released on February 23, 2024.
521

SemanticCite.php

Lines changed: 7 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -90,22 +90,12 @@ public static function initExtension( $credits = [] ) {
9090
]
9191
];
9292

93-
// #71
94-
if ( version_compare( $GLOBALS['wgVersion'], '1.32', '<' ) ) {
95-
$dependencies = [
96-
'onoi.qtip',
97-
'onoi.blobstore',
98-
'ext.scite.styles',
99-
'mediawiki.api.parse'
100-
];
101-
} else {
102-
$dependencies = [
103-
'onoi.qtip',
104-
'onoi.blobstore',
105-
'ext.scite.styles',
106-
'mediawiki.api'
107-
];
108-
}
93+
$dependencies = [
94+
'ext.smw.tooltip',
95+
'mediawiki.storage',
96+
'ext.scite.styles',
97+
'mediawiki.api'
98+
];
10999

110100
$GLOBALS['wgResourceModules']['ext.scite.tooltip'] = [
111101
'scripts' => [
@@ -144,7 +134,7 @@ public static function onExtensionFunction() {
144134

145135
// Require a global because MW's Special page is missing an interface
146136
// to inject dependencies
147-
$GLOBALS['scigCachePrefix'] = $GLOBALS['wgCachePrefix'] === false ? WikiMap::getCurrentWikiId() : $GLOBALS['wgCachePrefix'];
137+
$GLOBALS['scigCachePrefix'] = $GLOBALS['wgCachePrefix'] === false ? \MediaWiki\WikiMap\WikiMap::getCurrentWikiId() : $GLOBALS['wgCachePrefix'];
148138

149139
$configuration = [
150140
'numberOfReferenceListColumns' => $GLOBALS['scigNumberOfReferenceListColumns'],

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
"source": "https://github.com/SemanticMediaWiki/SemanticCite"
2727
},
2828
"require": {
29-
"php": ">=7.4",
29+
"php": ">=8.1",
3030
"composer/installers": ">=1.0.1",
3131
"onoi/cache": "~1.2",
3232
"mediawiki/http-request": "~2.0|~1.1",

extension.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "SemanticCite",
3-
"version": "3.0.0",
3+
"version": "4.0.0",
44
"author": [
55
"James Hong Kong"
66
],
@@ -10,7 +10,7 @@
1010
"license-name": "GPL-2.0-or-later",
1111
"type": "semantic",
1212
"requires": {
13-
"MediaWiki": ">= 1.39",
13+
"MediaWiki": ">= 1.43",
1414
"extensions": {
1515
"SemanticMediaWiki": ">= 4.0"
1616
}

0 commit comments

Comments
 (0)