Actions

Difference between revisions of "Developer Area/Plugins/Third party"

From Mahara Wiki

< Developer Area‎ | Plugins
(4 intermediate revisions by the same user not shown)
Line 24: Line 24:
 
== Third-party libraries (PHP and JS) ==
 
== Third-party libraries (PHP and JS) ==
  
===Legend===
+
=== Legend ===
 
 
 
*'''Mahara version''' = the <code>README.Mahara</code> file for the library | [https://nodejs.dev/learn/semantic-versioning-using-npm SemVer Info] - explaining the symbols in the Mahara version column
 
*'''Mahara version''' = the <code>README.Mahara</code> file for the library | [https://nodejs.dev/learn/semantic-versioning-using-npm SemVer Info] - explaining the symbols in the Mahara version column
 
*'''Latest version''' = the most recent available version
 
*'''Latest version''' = the most recent available version
Line 40: Line 39:
 
*'''URL/Notes''' = extra information, e.g. resources, notes, and news
 
*'''URL/Notes''' = extra information, e.g. resources, notes, and news
 
*🚧 Work in progress - data needs to be updated
 
*🚧 Work in progress - data needs to be updated
📅 Libraries last updated: 2023-02
+
'''PHP versions in support''' https://www.php.net/supported-versions.php - 14 LTS - Ends security support in 30 Apr 2023, go to 16 LTS soon
  
'''Check that our Node version is still in support''' https://endoflife.date/nodejs  node| https://nodejs.org/en/download/releases/ ➡ Update the <code>.nvmrc</code> file with the supported version.
+
💡 A new idea is being proposed to better handle customisations on updating third party libraries lives here → https://reviews.mahara.org/c/mahara/+/13780
  
'''PHP versions in support''' https://www.php.net/supported-versions.php - 14 LTS - Ends security support in 30 Apr 2023, go to 16 LTS soon
+
=== PHP libraries ===
 +
Libraries are managed by Composer. See <code>composer.json</code>
  
💡 A new idea is being proposed to better handle customisations on updating third party libraries lives here → https://reviews.mahara.org/c/mahara/+/13780
+
🟡 Libraries yet to be moved to Composer: SimpleSAMLPHP
 
{| class="wikitable sortable" style="vertical-align:middle;"
 
{| class="wikitable sortable" style="vertical-align:middle;"
 
|- style="font-weight:bold; text-align:center;"
 
|- style="font-weight:bold; text-align:center;"
 
!'''Name'''
 
!'''Name'''
 
!'''Mahara <br />version'''
 
!'''Mahara <br />version'''
!'''Available<br />versions'''
+
!'''Available<br />versions (manual)'''
 
!'''23.04'''
 
!'''23.04'''
 
!'''Security'''
 
!'''Security'''
 
!'''Update type'''
 
!'''Update type'''
!'''PHP8/JS'''
+
!'''PHP8 compatibility'''
 
!'''Support'''
 
!'''Support'''
 
!'''README location<br />'''<code>(./htdocs/...)</code>
 
!'''README location<br />'''<code>(./htdocs/...)</code>
Line 72: Line 72:
 
|BSD 3-Clause<br />LGPL
 
|BSD 3-Clause<br />LGPL
 
|[https://adodb.org/dokuwiki/doku.php Official site]<nowiki> | </nowiki>[https://github.com/ADOdb/ADOdb GitHub]<nowiki> |  </nowiki>[https://twitter.com/ADOdb_announce Twitter]<br />Wish-list: [https://bugs.launchpad.net/mahara/+bug/1945264 extract $SESSION]
 
|[https://adodb.org/dokuwiki/doku.php Official site]<nowiki> | </nowiki>[https://github.com/ADOdb/ADOdb GitHub]<nowiki> |  </nowiki>[https://twitter.com/ADOdb_announce Twitter]<br />Wish-list: [https://bugs.launchpad.net/mahara/+bug/1945264 extract $SESSION]
 +
|-
 +
| style="font-weight:bold;" |CSS Tidy
 +
|2.0.1
 +
|2.0.3
 +
|https://reviews.mahara.org/c/mahara/+/13825
 +
|No
 +
|Patch
 +
|Yes
 +
|Active
 +
|.../lib/csstidy/
 +
|LGPL
 +
|[https://github.com/Cerdic/CSSTidy GitHub]
 +
|-
 +
| style="font-weight:bold;" |Elastic Search
 +
| style="color:#333;" |7.17.1
 +
|v8 - 8.6.1
 +
v7.17.1
 +
|https://reviews.mahara.org/c/mahara/+/13796
 +
|n/a
 +
|<nowiki>Minor|Major</nowiki>
 +
|No
 +
|Active
 +
|.../lib/elasticsearch/
 +
|Apache v2.0  LGPL v2.1
 +
|[https://github.com/elastic/elasticsearch-php GitHub]<nowiki> | </nowiki>[https://github.com/elastic/elasticsearch-php/blob/master/CHANGELOG.md Changelog]
 +
[https://github.com/elastic/elasticsearch-php/milestone/6 PHP 8 milestone] 83%
 +
|-
 +
| style="font-weight:bold;" |HTML Purifier
 +
|4.14.0
 +
|4.16.0
 +
|https://reviews.mahara.org/c/mahara/+/13826
 +
|No
 +
|Minor
 +
|Yes
 +
|Active
 +
|.../lib/htmlpurifier/
 +
|LGPL v2.1+
 +
|[http://www.htmlpurifier.org/ HTML Purifier]<nowiki> | </nowiki>[https://github.com/ezyang/htmlpurifier/ GitHub]
 +
|-
 +
| style="font-weight:bold;" |PHPMailer
 +
|6.7.1
 +
|6.7.1
 +
|https://reviews.mahara.org/c/mahara/+/13790
 +
|No
 +
|Minor
 +
|Yes
 +
|Active
 +
|.../lib/phpmailer/
 +
|LGPL
 +
|[https://github.com/PHPMailer/PHPMailer GitHub]
 +
6.7.1 supports PHP 8.2
 +
|-
 +
| style="font-weight:bold;" |ReCaptcha
 +
|1.2.4
 +
|1.2.4
 +
|https://reviews.mahara.org/c/mahara/+/13832
 +
|No
 +
|None
 +
|WIP
 +
|Inactive, 2020
 +
|.../lib/recaptcha/
 +
|BSD-3
 +
|[https://github.com/google/recaptcha GitHub]
 +
This client supports both v2 and v3. [https://github.com/google/recaptcha/tree/php8-support PHP 8 support branch]
 +
|-
 +
| style="font-weight:bold;" |simplesamlphp
 +
|1.19.7
 +
|[https://github.com/simplesamlphp/simplesamlphp/releases/tag/v1.19.6 final 1.19.7]
 +
v2 - RC
 +
|TBC
 +
|No
 +
|Minor
 +
|Yes
 +
|Active
 +
|../auth/saml/extlib/modules
 +
|GPL 2.1
 +
|[https://github.com/simplesamlphp/simplesamlphp GitHub] RC for 2.0.0 has PHP 8. [https://github.com/simplesamlphp/simplesamlphp/issues/1521#issuecomment-917600539 Sounds like it should work on 1.19.1 though].
 +
|}
 +
 +
=== Javascript and JQuery libraries ===
 +
🟡 '''Check that our Node version is still in support''' https://endoflife.date/nodejs  node| https://nodejs.org/en/download/releases/ ➡ Update the <code>.nvmrc</code> file with the supported version.
 +
{| class="wikitable sortable" style="vertical-align:middle;"
 +
|- style="font-weight:bold; text-align:center;"
 +
!'''Name'''
 +
!'''Mahara <br />version'''
 +
!'''Available<br />versions (manual)'''
 +
!'''23.04'''
 +
!'''Security'''
 +
!'''Update type'''
 +
!'''Support'''
 +
!'''README location<br />'''<code>(./htdocs/...)</code>
 +
!'''License'''
 +
!'''URL/Notes'''
 
|-
 
|-
 
| style="font-weight:bold;" |Bootstrap
 
| style="font-weight:bold;" |Bootstrap
Line 79: Line 172:
 
|No
 
|No
 
|Minor
 
|Minor
|JS
 
 
|Active
 
|Active
 
|.../lib/bootstrap/assets/javascripts/<br />
 
|.../lib/bootstrap/assets/javascripts/<br />
Line 93: Line 185:
 
|No
 
|No
 
|Major
 
|Major
|JS
 
 
|Active - v6
 
|Active - v6
 
|.../js/bootstrap-datetimepicker/
 
|.../js/bootstrap-datetimepicker/
Line 108: Line 199:
 
|No
 
|No
 
|<nowiki>Minor|Major</nowiki>
 
|<nowiki>Minor|Major</nowiki>
|JS
 
 
|Active
 
|Active
 
|.../js/chartjs/
 
|.../js/chartjs/
Line 121: Line 211:
 
|No
 
|No
 
|Patch
 
|Patch
|JS
 
 
|Active
 
|Active
 
|.../js/clipboard/
 
|.../js/clipboard/
 
|MIT
 
|MIT
 
|[https://clipboardjs.com/ Clipboard JS]<nowiki> | </nowiki>[https://github.com/zenorocha/clipboard.js GitHub]<br />version # is tagged
 
|[https://clipboardjs.com/ Clipboard JS]<nowiki> | </nowiki>[https://github.com/zenorocha/clipboard.js GitHub]<br />version # is tagged
|-
 
| style="font-weight:bold;" |CSS Tidy
 
|2.0.1
 
|2.0.3
 
|https://reviews.mahara.org/c/mahara/+/13825
 
|No
 
|Patch
 
|Yes
 
|Active
 
|.../lib/csstidy/
 
|LGPL
 
|[https://github.com/Cerdic/CSSTidy GitHub]
 
 
|-
 
|-
 
| style="font-weight:bold;" |Dragon-drop
 
| style="font-weight:bold;" |Dragon-drop
Line 145: Line 222:
 
|No
 
|No
 
|Minor
 
|Minor
|JS
 
 
|Active
 
|Active
  
Line 159: Line 235:
 
|No
 
|No
 
|Minor
 
|Minor
|JS
 
 
|Active
 
|Active
 
|.../js/DataTables/
 
|.../js/DataTables/
Line 172: Line 247:
 
|No
 
|No
 
|Minor
 
|Minor
|JS
 
 
|Inactive, 2021
 
|Inactive, 2021
 
|.../js/dropzone/
 
|.../js/dropzone/
 
|MIT
 
|MIT
 
|[https://github.com/dropzone/dropzone/releases GitHub releases] 6.0.0 in beta
 
|[https://github.com/dropzone/dropzone/releases GitHub releases] 6.0.0 in beta
|-
 
| style="font-weight:bold;" |Elastic Search
 
| style="color:#333;" |7.17.1
 
|v8 - 8.6.1
 
v7.17.1
 
|https://reviews.mahara.org/c/mahara/+/13796
 
|n/a
 
|<nowiki>Minor|Major</nowiki>
 
|No
 
|Active
 
|.../lib/elasticsearch/
 
|Apache v2.0  LGPL v2.1
 
|[https://github.com/elastic/elasticsearch-php GitHub]<nowiki> | </nowiki>[https://github.com/elastic/elasticsearch-php/blob/master/CHANGELOG.md Changelog]
 
[https://github.com/elastic/elasticsearch-php/milestone/6 PHP 8 milestone] 83%
 
 
|-
 
|-
 
| style="font-weight:bold;" |Gridstack
 
| style="font-weight:bold;" |Gridstack
Line 201: Line 261:
 
|No
 
|No
 
|<nowiki>Patch|Minor|Major</nowiki>
 
|<nowiki>Patch|Minor|Major</nowiki>
|JS
 
 
|Active
 
|Active
 
|.../js/gridstack/
 
|.../js/gridstack/
 
|MIT
 
|MIT
 
|[https://github.com/gridstack/gridstack.js GitHub]<nowiki> | </nowiki>[https://gridstackjs.com Website]
 
|[https://github.com/gridstack/gridstack.js GitHub]<nowiki> | </nowiki>[https://gridstackjs.com Website]
|-
 
| style="font-weight:bold;" |HTML Purifier
 
|4.14.0
 
|4.16.0
 
|https://reviews.mahara.org/c/mahara/+/13826
 
|No
 
|Minor
 
|Yes
 
|Active
 
|.../lib/htmlpurifier/
 
|LGPL v2.1+
 
|[http://www.htmlpurifier.org/ HTML Purifier]<nowiki> | </nowiki>[https://github.com/ezyang/htmlpurifier/ GitHub]
 
 
|-
 
|-
 
| style="font-weight:bold;" |jQuery
 
| style="font-weight:bold;" |jQuery
Line 225: Line 272:
 
|No
 
|No
 
|Minor
 
|Minor
|JQ
 
 
|Active
 
|Active
 
|.../js/jquery/
 
|.../js/jquery/
Line 237: Line 283:
 
|No
 
|No
 
|Patch
 
|Patch
|JQ
 
 
|Active
 
|Active
 
|.../js/jquery/jquery-ui/
 
|.../js/jquery/jquery-ui/
Line 249: Line 294:
 
|No
 
|No
 
|Minor
 
|Minor
|JS
 
 
|Active
 
|Active
 
|.../js/jscolor/
 
|.../js/jscolor/
Line 261: Line 305:
 
|No
 
|No
 
|Minor
 
|Minor
|JS
 
 
|Active
 
|Active
 
|.../js/jsoneditor/
 
|.../js/jsoneditor/
Line 273: Line 316:
 
|No
 
|No
 
|Minor
 
|Minor
|JS
 
 
|Active
 
|Active
 
|.../js/marked/
 
|.../js/marked/
Line 286: Line 328:
 
|No
 
|No
 
|<nowiki>Minor|Major</nowiki>
 
|<nowiki>Minor|Major</nowiki>
|JS
 
 
|Active
 
|Active
 
|.../js/momentjs/
 
|.../js/momentjs/
Line 300: Line 341:
 
|No
 
|No
 
|<nowiki>Minor|Major</nowiki>
 
|<nowiki>Minor|Major</nowiki>
|JS
 
 
|Active
 
|Active
 
|.../artefact/file/blocktype/pdf/js/pdfjs/
 
|.../artefact/file/blocktype/pdf/js/pdfjs/
 
|Apache License 2
 
|Apache License 2
 
|[http://mozilla.github.io/pdf.js/getting_started/#download Getting started]<nowiki> | </nowiki>[https://github.com/mozilla/pdf.js GitHub]
 
|[http://mozilla.github.io/pdf.js/getting_started/#download Getting started]<nowiki> | </nowiki>[https://github.com/mozilla/pdf.js GitHub]
|-
 
| style="font-weight:bold;" |PHPMailer
 
|6.7.1
 
|6.7.1
 
|https://reviews.mahara.org/c/mahara/+/13790
 
|No
 
|Minor
 
|Yes
 
|Active
 
|.../lib/phpmailer/
 
|LGPL
 
|[https://github.com/PHPMailer/PHPMailer GitHub]
 
6.7.1 supports PHP 8.2
 
 
|-
 
|-
 
| style="font-weight:bold;" |Popper
 
| style="font-weight:bold;" |Popper
Line 325: Line 352:
 
|No
 
|No
 
|Minor
 
|Minor
|JS
 
 
|Active
 
|Active
 
|.../js/popper/
 
|.../js/popper/
 
|MIT
 
|MIT
 
|https://popper.js.org/<br />[https://github.com/twbs/bootstrap/issues/31451 GitHub issue]<nowiki> | </nowiki>[https://dev.to/fezvrasta/smarter-tooltips-and&#x20;-popovers-with-popper-2-44bh tooltips]
 
|https://popper.js.org/<br />[https://github.com/twbs/bootstrap/issues/31451 GitHub issue]<nowiki> | </nowiki>[https://dev.to/fezvrasta/smarter-tooltips-and&#x20;-popovers-with-popper-2-44bh tooltips]
|-
 
| style="font-weight:bold;" |ReCaptcha
 
|1.2.4
 
|1.2.4
 
|TBC
 
|No
 
|None
 
|WIP
 
|Inactive, 2020
 
|.../lib/recaptcha/
 
|BSD-3
 
|[https://github.com/google/recaptcha GitHub]
 
This client supports both v2 and v3. [https://github.com/google/recaptcha/tree/php8-support PHP 8 support branch]
 
|-
 
| style="font-weight:bold;" |simplesamlphp
 
|1.19.7
 
|[https://github.com/simplesamlphp/simplesamlphp/releases/tag/v1.19.6 final 1.19.7]
 
v2 - RC
 
|TBC
 
|No
 
|Minor
 
|Yes
 
|Active
 
|../auth/saml/extlib/modules
 
|GPL 2.1
 
|[https://github.com/simplesamlphp/simplesamlphp GitHub] RC for 2.0.0 has PHP 8. [https://github.com/simplesamlphp/simplesamlphp/issues/1521#issuecomment-917600539 Sounds like it should work on 1.19.1 though].
 
 
|-
 
|-
 
| style="font-weight:bold;" |Select2
 
| style="font-weight:bold;" |Select2
Line 363: Line 363:
 
|No
 
|No
 
|None
 
|None
|JS
 
 
|Inactive, 2020
 
|Inactive, 2020
 
|.../js/select2/
 
|.../js/select2/
Line 376: Line 375:
 
|No
 
|No
 
|Minor
 
|Minor
|JS
 
 
|Active
 
|Active
 
|.../theme/raw/sass/lib/font-awesome/
 
|.../theme/raw/sass/lib/font-awesome/
Line 388: Line 386:
 
|No
 
|No
 
|Patch
 
|Patch
|JS
 
 
|Active
 
|Active
 
|.../js/tinymce/
 
|.../js/tinymce/
Line 402: Line 399:
 
|No
 
|No
 
|<nowiki>Minor|Major</nowiki>
 
|<nowiki>Minor|Major</nowiki>
|JS
 
 
|Active
 
|Active
 
|.../artefact/file/blocktype/<br />internalmedia/videojs/
 
|.../artefact/file/blocktype/<br />internalmedia/videojs/
Line 409: Line 405:
 
|}
 
|}
  
== Forked/stale/deprecated libraries ==
+
=== Forked/stale/deprecated libraries ===
{| class="wikitable sortable" style="vertical-align:middle;"
+
{| class="wikitable sortable mw-collapsible mw-collapsed" style="vertical-align:middle;"
 
|- style="font-weight:bold; text-align:center;"
 
|- style="font-weight:bold; text-align:center;"
 
!'''Name'''
 
!'''Name'''
Line 416: Line 412:
 
🚧
 
🚧
 
!'''Latest<br />version<br />🚧'''
 
!'''Latest<br />version<br />🚧'''
!'''23.04 🚧'''
 
 
!'''Security'''
 
!'''Security'''
 
🚧  
 
🚧  
 
!'''Update type'''
 
!'''Update type'''
 
🚧
 
🚧
!'''PHP8'''
 
 
 
!'''Status'''
 
!'''Status'''
 
🚧
 
🚧
Line 432: Line 425:
 
|1.3.7
 
|1.3.7
 
|1.3.7
 
|1.3.7
|n/a
 
 
|n/a
 
|n/a
 
|Replace
 
|Replace
|n/a
 
 
|Deprecated
 
|Deprecated
 
|.../lib/dwoo/
 
|.../lib/dwoo/
Line 444: Line 435:
 
|3.20.0
 
|3.20.0
 
|3.20.0
 
|3.20.0
|n/a
 
|n/a
 
 
|n/a
 
|n/a
 
|n/a
 
|n/a
Line 456: Line 445:
 
|1.5.0-alpha.1
 
|1.5.0-alpha.1
 
|1.5.0-rc1
 
|1.5.0-rc1
|n/a
 
|n/a
 
 
|n/a
 
|n/a
 
|n/a
 
|n/a
Line 470: Line 457:
 
|0.2.3
 
|0.2.3
 
|0.2.3
 
|0.2.3
|n/a
 
|n/a
 
 
|n/a
 
|n/a
 
|n/a
 
|n/a
Line 484: Line 469:
 
|1.0
 
|1.0
 
|1.0
 
|1.0
|n/a
 
|n/a
 
 
|n/a
 
|n/a
 
|n/a
 
|n/a
Line 496: Line 479:
 
|4.2.2
 
|4.2.2
 
|4.2.2
 
|4.2.2
|n/a
 
|n/a
 
 
|n/a
 
|n/a
 
|n/a
 
|n/a
Line 508: Line 489:
 
|1.1
 
|1.1
 
|1.1
 
|1.1
|n/a
 
|n/a
 
 
|n/a
 
|n/a
 
|n/a
 
|n/a
Line 520: Line 499:
 
|175
 
|175
 
|175
 
|175
|n/a
 
 
|n/a
 
|n/a
 
|Replace
 
|Replace
|No
 
 
|Archived, 2010
 
|Archived, 2010
 
|.../webservice/libs/oauth-php/
 
|.../webservice/libs/oauth-php/
Line 532: Line 509:
 
|4.4.2
 
|4.4.2
 
|4.4.2
 
|4.4.2
|n/a
 
|n/a
 
 
|n/a
 
|n/a
 
|n/a
 
|n/a
Line 544: Line 519:
 
|3.1.1
 
|3.1.1
 
|4.0
 
|4.0
|TBC
 
 
|No
 
|No
 
|
 
|
|n/a
 
 
|OS version not supported
 
|OS version not supported
 
|.../js/cookieconsent/
 
|.../js/cookieconsent/
Line 556: Line 529:
 
|}
 
|}
  
== Fonts ==
+
=== Fonts ===
 
{| class="wikitable sortable" style="vertical-align:middle;"
 
{| class="wikitable sortable" style="vertical-align:middle;"
 +
!'''Name'''
 +
!'''Mahara <br />version'''
 +
!'''Latest<br />version'''
 +
!'''Security'''
 +
!'''Update'''
 +
!'''Status'''
 +
!'''README location<br />'''<code>(./htdocs/...)</code>
 +
!'''License'''
 +
!'''URL/Notes'''
 
|-
 
|-
 
| style="font-weight:bold;" |Aurulent Sans <br />(font)
 
| style="font-weight:bold;" |Aurulent Sans <br />(font)
 
|2007.05.04
 
|2007.05.04
 
|2007.05.04
 
|2007.05.04
|n/a
 
|n/a
 
 
|n/a
 
|n/a
 
|n/a
 
|n/a
Line 574: Line 554:
 
|2.37
 
|2.37
 
|2.37
 
|2.37
|n/a
 
|n/a
 
 
|n/a
 
|n/a
 
|n/a
 
|n/a
Line 586: Line 564:
 
|1.10
 
|1.10
 
|1.10
 
|1.10
|n/a
 
|n/a
 
 
|n/a
 
|n/a
 
|n/a
 
|n/a
Line 598: Line 574:
 
|1.100263
 
|1.100263
 
|1.100263
 
|1.100263
|n/a
 
|n/a
 
 
|n/a
 
|n/a
 
|n/a
 
|n/a
Line 610: Line 584:
 
|6.001
 
|6.001
 
|6.001
 
|6.001
|n/a
 
|n/a
 
 
|n/a
 
|n/a
 
|n/a
 
|n/a
Line 620: Line 592:
 
|}
 
|}
  
== Composer.json dependencies ==
+
=== Composer.json dependencies ===
 
'''Resources:''' https://git.mahara.org | <code>/mahara/mahara/-/blob/</code> | <code>mahara/external/composer.json</code>
 
'''Resources:''' https://git.mahara.org | <code>/mahara/mahara/-/blob/</code> | <code>mahara/external/composer.json</code>
  
 
'''Run''' <code>composer outdated</code> to check for updates.
 
'''Run''' <code>composer outdated</code> to check for updates.

Revision as of 11:26, 3 March 2023

A list of the third-party plugins within Mahara.

Composer commands

For available versions, e.g. composer show phpro/grumphp-shim 1.14.* --all

For our composer dependencies: composer show --tree

For checking the dependencies of a library version, e.g. composer show elasticsearch/elasticsearch 7.17.* --tree

Check if there are any outdated libraries (according to the version syntax in composer.json) composer outdated

Checking the .Mahara files

To check the versions in the .Mahara files, a helpful way to update this list is to go:

 find ./htdocs -type f -iname "README.Mahara" -exec grep 'Version' -B1 {} \; -print

... on the current codebase.

Syncing the list in 'Country' dropdowns

To keep in sync is the country names we use for 'Country' dropdowns. To check what the current state of play is

perl -MLocale::Country -le 'print join("\n", sort map { country2code($_) . " => " . country2code($_, LOCALE_CODE_ALPHA_3) . ", // " . $_ } all_country_names())'

and check the results against htdocs/lib/country.php and htdocs/lang/en.utf8/mahara.php files

For any confusion you can also check against https://www.iso.org

Third-party libraries (PHP and JS)

Legend

  • Mahara version = the README.Mahara file for the library | SemVer Info - explaining the symbols in the Mahara version column
  • Latest version = the most recent available version
  • Security = is there a new security patch available?
  • Upgrades/updates = what upgrades are available for this plugin?
  • Support = Is there a community supporting this library?
    • Active: There is ongoing work being put into the library
    • Inactive: Maintained but not actively making releases
    • Archived: Not being maintained
    • Deprecated (officially): All maintainers have left, and site may not exist in extreme cases.
  • PHP8 = is the latest version of this plugin compatible with PHP8?
  • README location = where it can be found in Mahara
  • License = software license for the library
  • URL/Notes = extra information, e.g. resources, notes, and news
  • 🚧 Work in progress - data needs to be updated

PHP versions in support https://www.php.net/supported-versions.php - 14 LTS - Ends security support in 30 Apr 2023, go to 16 LTS soon

💡 A new idea is being proposed to better handle customisations on updating third party libraries lives here → https://reviews.mahara.org/c/mahara/+/13780

PHP libraries

Libraries are managed by Composer. See composer.json

🟡 Libraries yet to be moved to Composer: SimpleSAMLPHP

Name Mahara
version
Available
versions (manual)
23.04 Security Update type PHP8 compatibility Support README location
(./htdocs/...)
License URL/Notes
ADODB 5.22.0 5.22.4 TBC TBC Patch Yes 8.1 Active .../lib/adodb/ BSD 3-Clause
LGPL
Official site | GitHub | Twitter
Wish-list: extract $SESSION
CSS Tidy 2.0.1 2.0.3 https://reviews.mahara.org/c/mahara/+/13825 No Patch Yes Active .../lib/csstidy/ LGPL GitHub
Elastic Search 7.17.1 v8 - 8.6.1

v7.17.1

https://reviews.mahara.org/c/mahara/+/13796 n/a Minor|Major No Active .../lib/elasticsearch/ Apache v2.0 LGPL v2.1 GitHub | Changelog

PHP 8 milestone 83%

HTML Purifier 4.14.0 4.16.0 https://reviews.mahara.org/c/mahara/+/13826 No Minor Yes Active .../lib/htmlpurifier/ LGPL v2.1+ HTML Purifier | GitHub
PHPMailer 6.7.1 6.7.1 https://reviews.mahara.org/c/mahara/+/13790 No Minor Yes Active .../lib/phpmailer/ LGPL GitHub

6.7.1 supports PHP 8.2

ReCaptcha 1.2.4 1.2.4 https://reviews.mahara.org/c/mahara/+/13832 No None WIP Inactive, 2020 .../lib/recaptcha/ BSD-3 GitHub

This client supports both v2 and v3. PHP 8 support branch

simplesamlphp 1.19.7 final 1.19.7

v2 - RC

TBC No Minor Yes Active ../auth/saml/extlib/modules GPL 2.1 GitHub RC for 2.0.0 has PHP 8. Sounds like it should work on 1.19.1 though.

Javascript and JQuery libraries

🟡 Check that our Node version is still in support https://endoflife.date/nodejs node| https://nodejs.org/en/download/releases/ ➡ Update the .nvmrc file with the supported version.

Name Mahara
version
Available
versions (manual)
23.04 Security Update type Support README location
(./htdocs/...)
License URL/Notes
Bootstrap 5.0.1 5.3.X https://reviews.mahara.org/c/mahara/+/13787 No Minor Active .../lib/bootstrap/assets/javascripts/
MIT Releases | GitHub

bootstrap versions

Date time

picker

4.17.47 6.2.10 TBC No Major Active - v6 .../js/bootstrap-datetimepicker/ MIT GitHub | Get Date Picker

Latest release: rewrite (beta)

Chart.js 3.7.1 4.2.1

v3.9.1 final

TBC No Minor|Major Active .../js/chartjs/ MIT Chart JS | GitHub

Migration to v4

Clipboard js 2.0.10 2.0.11 TBC No Patch Active .../js/clipboard/ MIT Clipboard JS | GitHub
version # is tagged
Dragon-drop 3.2.1 3.6.1 TBC No Minor Active

2021

..../js/dragondrop/ MIT GitHub
Datatables 1.11.4 1.13.2 TBC No Minor Active .../js/DataTables/ MIT Data Tables |Download

Release notes CDN

Dropzone 5.7.6 5.9.3 TBC No Minor Inactive, 2021 .../js/dropzone/ MIT GitHub releases 6.0.0 in beta
Gridstack 4.4.1 v7.2.3,

v6.0.3, v5.1.1

v4.4.1

https://reviews.mahara.org/c/mahara/+/13788/1 No Patch|Minor|Major Active .../js/gridstack/ MIT GitHub | Website
jQuery 3.6.3 3.6.3 https://reviews.mahara.org/c/mahara/+/13789/1 No Minor Active .../js/jquery/ MIT Website | GitHub | Blog post
Forum | Twitter
jQuery UI 1.13.1 1.13.2 TBC No Patch Active .../js/jquery/jquery-ui/ MIT jQuery UI Security and compatibility fixes
JS Color 2.4.7 2.5.1 TBC No Minor Active .../js/jscolor/ GPL 3 http://jscolor.com/ - click download for #
Json editor 2.6.1 2.8.0 TBC No Minor Active .../js/jsoneditor/ MIT GitHub |Changelog
Marked 4.0.12 4.2.12 TBC No Minor Active .../js/marked/ MIT GitHub
Moment.js 2.29.1 2.5.2

3.2.1

TBC No Minor|Major Active .../js/momentjs/ MIT Moment JS 🆕 Luxon GitHub

Connected to jquery date-picker

PDFjs 3.3.122 3.3.122 https://reviews.mahara.org/c/mahara/+/13792 No Minor|Major Active .../artefact/file/blocktype/pdf/js/pdfjs/ Apache License 2 Getting started | GitHub
Popper 2.10.2 2.11.6 TBC No Minor Active .../js/popper/ MIT https://popper.js.org/
GitHub issue | tooltips
Select2 4.0.13 4.0.13 TBC No None Inactive, 2020 .../js/select2/ MIT Select2 | Releases

RC 4.1

Fontawesome 6.1.1 6.30 https://reviews.mahara.org/c/mahara/+/13793/2 No Minor Active .../theme/raw/sass/lib/font-awesome/ SIL OFL 1.1 Font Awesome | GitHub | Upgrade steps | Changelog
TinyMCE 5.10.2 5.10.7 https://reviews.mahara.org/c/mahara/+/13798 No Patch Active .../js/tinymce/ LGPL 2.1 Tiny Cloud | Downloads | Changelog |News

📲 Test on mobile

Video.js 7.17.0 7.21.1

8.0.4

https://reviews.mahara.org/c/mahara/+/13799 No Minor|Major Active .../artefact/file/blocktype/
internalmedia/videojs/
Apache License 2.0 Video JS | GitHub

Forked/stale/deprecated libraries

Name Mahara
version

🚧

Latest
version
🚧
Security

🚧

Update type

🚧

Status

🚧

README location
(./htdocs/...)
License URL/Notes
Dwoo🟡 1.3.7 1.3.7 n/a Replace Deprecated .../lib/dwoo/ LGPL Dead site | GitHub project
Javascript
templates
3.20.0 3.20.0 n/a n/a Archived, 2021 .../js/javascript-templates/ MIT GitHub
jQuery mobile 1.5.0-alpha.1 1.5.0-rc1 n/a n/a Deprecated .../js/jquery/jquery-mobile/ MIT http://jquerymobile.com

https://blog.jquerymobile.com
🚨 Are we still using this?

jQuery UI plugin
touch-punch
0.2.3 0.2.3 n/a n/a Deprecated .../js/jquery/jquery-ui/
jquery-ui-touch-punch.min.js
MIT or GPL
Version 2
Touch Punch | GitHub

🚨 Is it merged into jQuery?

jTLine 1.0 1.0 n/a n/a Inactive, 2018 .../js/jTLine/ MIT GitHub | Twitter
Masonry 4.2.2 4.2.2 n/a n/a Inactive, 2018 .../js/masonry/ MIT Masonry |GitHub
TinyMCE
Mathslate
1.1 1.1 n/a n/a Forked, 2015 .../js/tinymce/plugins/mathslate/ GPL 3 Our version is forked.
make it work with Tinymce 5
Oauth PHP 175 175 n/a Replace Archived, 2010 .../webservice/libs/oauth-php/ MIT Code - We should replace with an oauth2 php library checkout what Moodle does (old comment)
zxcvbn 4.4.2 4.4.2 n/a n/a Inactive, 2017 .../js/zxcvbn/ MIT GitHub
Cookie consent 3.1.1 4.0 No OS version not supported .../js/cookieconsent/ MIT Download | GitHub

Open source version is not updated. 🚨

Fonts

Name Mahara
version
Latest
version
Security Update Status README location
(./htdocs/...)
License URL/Notes
Aurulent Sans
(font)
2007.05.04 2007.05.04 n/a n/a n/a .../lib/fonts/ SIL OFL v1.10 Font Squirrel Aurulent Sans
Deja Vu Sans
(font)
2.37 2.37 n/a n/a n/a .../lib/fonts/ DejaVu Fonts Font Squirrel Deja Vu Sans
Open Sans
(font)
1.10 1.10 n/a n/a Unknown .../theme/raw/fonts/ Apache License Google Fonts Open Sans
Roboto Slab
(font)
1.100263 1.100263 n/a n/a Unknown .../theme/raw/fonts/ MIT Google Fonts Roboto
Charis SIL
(fonts)
6.001 6.001 n/a n/a Active .././lib/fonts/ SIL OFL About font | Download

Composer.json dependencies

Resources: https://git.mahara.org | /mahara/mahara/-/blob/ | mahara/external/composer.json

Run composer outdated to check for updates.