As I'm one of the people who checking my extensions compatibility everyday to see if I'm reached the point where my flarum is ready to upgrade or I need to wait little bit more - I've gathered some commands and made this simple, reusable script:
Make sure that you are in right place
You below commands need to be run inside your flarum root directory (there where composer.json and config.php reside)
Checking script: extension-check.sh
#!/bin/bash
# hide location
location=$(date | md5sum | awk '{print $1}')
hostname=$(grep url config.php | awk '{print $3}' | awk -F "'" '{print $2}')
echo `date` > public/status-$location.txt
# Setup extensions list:
extensions=$(cat composer.json | awk '/}/ {found=0} {if(found) print} /require/ {found=1}' | awk -F : '{print $1}' | sed 's/"//g')
res=$(echo "$extensions" | wc -l)
counter=1
echo
echo "Found $res extensions"
echo
echo "Checking..."
echo
# Checking status on extiverse.com
for i in $extensions
do
echo "------------------------------------------------------------" >> public/status-$location.txt
echo $i >> public/status-$location.txt
curl -s https://extiverse.com/extension/$i | grep -i compa >> public/status-$location.txt
echo "https://extiverse.com/extension/$i">> public/status-$location.txt
echo -n $counter ; echo -n ' / ' ; echo $res ; ((counter++))
done
echo '' >> public/status-$location.txt
echo "------------------------------------------------------------------------------------" >> public/status-$location.txt
echo '' >> public/status-$location.txt
php flarum info >> public/status-$location.txt
# That's your list:
echo
echo "----------------------------------------------------------------"
echo
echo "Check result:"
#echo
#php flarum info
#echo
#echo "----------------------------------------------------------------"
#echo
#echo You can check it here:
echo "$hostname/status-$location.txt"
echo
echo "More information:"
echo "https://discuss.flarum.org/d/25061-upgrade-script/6"
echo
echo "Don't forgot to remove status file when you check everything!!!"
echo
echo "Command to remove:"
echo "rm public/status-*"
echo
To run:
$ ./extension-check.sh
Example output:
$ ./extension-check.sh
Found 42 extensions
Checking...
1 / 42
2 / 42
3 / 42
4 / 42
5 / 42
6 / 42
7 / 42
8 / 42
9 / 42
10 / 42
11 / 42
12 / 42
13 / 42
14 / 42
15 / 42
16 / 42
17 / 42
18 / 42
19 / 42
20 / 42
21 / 42
22 / 42
23 / 42
24 / 42
25 / 42
26 / 42
27 / 42
28 / 42
29 / 42
30 / 42
31 / 42
32 / 42
33 / 42
34 / 42
35 / 42
36 / 42
37 / 42
38 / 42
39 / 42
40 / 42
41 / 42
42 / 42
----------------------------------------------------------------
Check result:
https://flarum.dev.local/status-08fa67f70fea3326f85fb18c126eb2c03c.txt
More information:
https://discuss.flarum.org/d/25061-upgrade-script/6
Don't forgot to remove status file when you check everything!!!
Command to remove:
rm public/status-*
And file available under pointed address:
Tue Oct 27 21:24:48 UTC 2020
------------------------------------------------------------
askvortsov/flarum-categories
Compatible
https://extiverse.com/extension/askvortsov/flarum-categories
------------------------------------------------------------
clarkwinkelmann/flarum-ext-author-change
Compatible
<p>Bugfixes and compatibility updates will be published for free as time allows.</p>
https://extiverse.com/extension/clarkwinkelmann/flarum-ext-author-change
------------------------------------------------------------
clarkwinkelmann/flarum-ext-emojionearea
Incompatible
https://extiverse.com/extension/clarkwinkelmann/flarum-ext-emojionearea
------------------------------------------------------------
flagrow/upload
https://extiverse.com/extension/flagrow/upload
------------------------------------------------------------
flarum/approval
Compatible
https://extiverse.com/extension/flarum/approval
------------------------------------------------------------
flarum/bbcode
Incompatible
https://extiverse.com/extension/flarum/bbcode
------------------------------------------------------------
flarum/core
Incompatible
https://extiverse.com/extension/flarum/core
------------------------------------------------------------
flarum/emoji
Compatible
https://extiverse.com/extension/flarum/emoji
------------------------------------------------------------
flarum/flags
Compatible
https://extiverse.com/extension/flarum/flags
------------------------------------------------------------
flarum/lang-english
Compatible
https://extiverse.com/extension/flarum/lang-english
------------------------------------------------------------
flarum/likes
Compatible
https://extiverse.com/extension/flarum/likes
------------------------------------------------------------
flarum/lock
Compatible
https://extiverse.com/extension/flarum/lock
------------------------------------------------------------
flarum/markdown
Compatible
https://extiverse.com/extension/flarum/markdown
------------------------------------------------------------
flarum/mentions
Compatible
https://extiverse.com/extension/flarum/mentions
------------------------------------------------------------
flarum/statistics
Compatible
https://extiverse.com/extension/flarum/statistics
------------------------------------------------------------
flarum/sticky
Compatible
https://extiverse.com/extension/flarum/sticky
------------------------------------------------------------
flarum/subscriptions
Compatible
https://extiverse.com/extension/flarum/subscriptions
------------------------------------------------------------
flarum/suspend
Compatible
https://extiverse.com/extension/flarum/suspend
------------------------------------------------------------
flarum/tags
Compatible
https://extiverse.com/extension/flarum/tags
------------------------------------------------------------
fof/best-answer
Incompatible
https://extiverse.com/extension/fof/best-answer
------------------------------------------------------------
fof/byobu
Incompatible
https://extiverse.com/extension/fof/byobu
------------------------------------------------------------
fof/follow-tags
Incompatible
https://extiverse.com/extension/fof/follow-tags
------------------------------------------------------------
fof/linguist
Incompatible
<p>To the latest compatible version:</p>
https://extiverse.com/extension/fof/linguist
------------------------------------------------------------
fof/links
Incompatible
https://extiverse.com/extension/fof/links
------------------------------------------------------------
fof/merge-discussions
Incompatible
https://extiverse.com/extension/fof/merge-discussions
------------------------------------------------------------
fof/nightmode
Incompatible
https://extiverse.com/extension/fof/nightmode
------------------------------------------------------------
fof/polls
Incompatible
https://extiverse.com/extension/fof/polls
------------------------------------------------------------
fof/profile-image-crop
Incompatible
https://extiverse.com/extension/fof/profile-image-crop
------------------------------------------------------------
fof/reactions
Incompatible
https://extiverse.com/extension/fof/reactions
------------------------------------------------------------
fof/realtimedate
Incompatible
https://extiverse.com/extension/fof/realtimedate
------------------------------------------------------------
fof/recaptcha
Incompatible
https://extiverse.com/extension/fof/recaptcha
------------------------------------------------------------
fof/spamblock
Incompatible
https://extiverse.com/extension/fof/spamblock
------------------------------------------------------------
fof/split
Compatible
https://extiverse.com/extension/fof/split
------------------------------------------------------------
fof/upload
Incompatible
https://extiverse.com/extension/fof/upload
------------------------------------------------------------
fof/user-bio
Compatible
https://extiverse.com/extension/fof/user-bio
------------------------------------------------------------
fof/user-directory
Incompatible
<p>To the latest compatible version:</p>
https://extiverse.com/extension/fof/user-directory
------------------------------------------------------------
kilowhat/flarum-ext-audit-free
Compatible
https://extiverse.com/extension/kilowhat/flarum-ext-audit-free
------------------------------------------------------------
kvothe/online-users
Incompatible
https://extiverse.com/extension/kvothe/online-users
------------------------------------------------------------
kyrne/shout
Compatible
https://extiverse.com/extension/kyrne/shout
------------------------------------------------------------
kyrne/websocket
Incompatible
<span class="truncate"><p>I definitely recommend this extension a lot!<br></p><p>It achieved a 5-10% improvement compared to flarum/pusher. Beside the bokt/flarum-redis extension I felt an incredible optimization on my serv...</span>
<h2>Extension Compatibility</h2>
https://extiverse.com/extension/kyrne/websocket
------------------------------------------------------------
michaelbelgium/flarum-discussion-views
Compatible
https://extiverse.com/extension/michaelbelgium/flarum-discussion-views
------------------------------------------------------------
migratetoflarum/recalculate-meta
Incompatible
<p>Compatible with both beta 13 and beta 14.</p>
https://extiverse.com/extension/migratetoflarum/recalculate-meta
------------------------------------------------------------------------------------
Flarum core 0.1.0-beta.13
PHP version: 7.4.11
Loaded extensions: Core, date, libxml, openssl, pcre, sqlite3, zlib, bcmath, calendar, ctype, curl, dom, hash, fileinfo, filter, ftp, gd, gettext, SPL, iconv, intl, json, mbstring, session, standard, mysqlnd, PDO, pdo_mysql, pdo_sqlite, Phar, posix, Reflection, mysqli, SimpleXML, soap, sockets, sodium, exif, tokenizer, xml, xmlreader, xmlwriter, xsl, zip, imagick, ionCube Loader
+----------------------------------+------------------+--------+
| Flarum Extensions | | |
+----------------------------------+------------------+--------+
| ID | Version | Commit |
+----------------------------------+------------------+--------+
| flarum-approval | v0.1.0-beta.13 | |
| flarum-bbcode | v0.1.0-beta.12 | |
| flarum-emoji | v0.1.0-beta.13 | |
| flarum-lang-english | v0.1.0-beta.13 | |
| flarum-flags | v0.1.0-beta.13 | |
| flarum-likes | v0.1.0-beta.13 | |
| flarum-lock | v0.1.0-beta.13 | |
| flarum-markdown | v0.1.0-beta.13 | |
| flarum-mentions | v0.1.0-beta.13 | |
| flarum-statistics | v0.1.0-beta.13 | |
| flarum-sticky | v0.1.0-beta.13 | |
| flarum-subscriptions | v0.1.0-beta.13 | |
| flarum-suspend | v0.1.0-beta.13 | |
| flarum-tags | v0.1.0-beta.13.2 | |
| fof-user-bio | 0.2.0 | |
| fof-links | 0.3.0 | |
| fof-polls | 0.1.2 | |
| fof-spamblock | 0.2.2 | |
| fof-split | 0.4.4 | |
| fof-follow-tags | 0.4.4 | |
| fof-recaptcha | 0.1.2 | |
| fof-profile-image-crop | 0.1.2 | |
| fof-user-directory | 0.3.4 | |
| fof-linguist | 0.4.3 | |
| michaelbelgium-discussion-views | v4.0.1 | |
| fof-upload | 0.10.0 | |
| fof-merge-discussions | 0.3.3 | |
| fof-nightmode | 0.5.2 | |
| fof-reactions | 0.3.4 | |
| kvothe-online-users | 0.4.0 | |
| fof-realtimedate | 0.1.3 | |
| kyrne-shout | 0.1.19 | |
| kilowhat-audit-free | 1.2.1 | |
| kyrne-websocket | 1.0.7 | |
| clarkwinkelmann-author-change | 0.2.0 | |
| fof-byobu | 0.5.6 | |
| askvortsov-categories | v1.0.4 | |
| clarkwinkelmann-emojionearea | 0.2.2 | |
| fof-best-answer | 0.1.11 | |
| migratetoflarum-recalculate-meta | 0.1.0 | |
+----------------------------------+------------------+--------+
Base URL: https://flarum.dev.local
Installation path: /home/dev/domains/flarum.dev.local/flarum
Debug mode: off