Upgrade - shish/shimmie2 GitHub Wiki
Get the new code
From Git
If you got shimmie from git
, then git pull
should fetch the latest code
(git checkout main
then git pull
if you're on an old non-main branch).
Once the new Shimmie code is ready, you'll need to make sure all the
dependencies are in place and up-to-date via composer install
.
From .zip
If you got shimmie from one of the .zip downloads, you'll need to download
new code, extract it, then copy across the data
folder from the old install
into the new one.
Update database schema
This should be automatic - next time the site is loaded, it'll see that the current schema is out of date, and will update it.
Check for any breaking changes
Release notes on https://github.com/shish/shimmie2/releases should include notes on any major changes
Upcoming breaking changes
- Load balancing
- Algorithm changed from
Flexihash
(because that library hasn't been updated in years, and isn't php8.4 compatible) to Weighted Rendezvous Hashing (Which is much simpler, better at balancing, and almost as fast)
- Algorithm changed from
- Themes
- Lots of places switched from string-concatenation to MicroHTML. If you have custom themes, they may need updating - the quick and dirty way is to wrap your HTML strings in
rawHTML(...)
- Theme overrides changed from
CustomFooTheme
toMyThemeFooTheme
(eg the danbooru2 override forFooTheme
isDanbooru2FooTheme
) - Common elements (thumbnail, paginator) moved from Themelet to
CommonElementsTheme
, which can be overridden in the normal way, withMyThemeCommonElementsTheme
- Each theme's custom
Page
should now be namedMyThemePage
and inherit fromPage
- Lots of places switched from string-concatenation to MicroHTML. If you have custom themes, they may need updating - the quick and dirty way is to wrap your HTML strings in