Skip to content

v3.0.x

This page contains all updates made for version 3.0.0 of Lorekeeper.

For upgrade instructions, please follow the v3.0.0 upgrade guide.

This page was last updated with announcement [201025].

v3.0.0 (Pre-release)

Release notes

⚠️ Breaking Changes

  • Update to Laravel 9/Require PHP 8.1 (PR #312)
  • Update to Laravel 10 (PR #746)

New Additions

  • Add discord as an auth option (PR #118)
  • Add toggleable "Scroll to Top" extension (PR #143)
  • Admin log feature (logs admin actions taken by permissioned users) (PR #135)
  • Add submission rejection to admin logging (PR #167)
  • Merge in Captcha extension (v3) (PR #169)
  • Add an optional per-individual ticket cap to raffles (PR #184)
  • Add search and sort to sales (PR #193)
  • Add automatic RSS feed generation for news and sales (PR #166)
  • Add maintenance mode setting and access power (PR #197)
  • Add an inventory consolidation button (condenses like item stacks at user request) (PR #197)
  • Optional mini-extension to hide or delete a MYO slot's placeholder image on approval. See PR for more information (PR #215)
  • Change extension tracker to use individual files per extension for tracking (PR #235)
  • Extension tracker automatically updates daily (PR #235)
  • Add a toggleable mini-ext to populate traits when creating a new image for a character (PR #273)
  • Add a toggle to prompts to make them visible and submittable to only by staff (PR #274)
  • Add toggleable staff rewards mini-ext (PR #275)
  • Add Organized Trait Dropdown, toggleable in config/lorekeeper/extensions.php (PR #293)
  • Add Toyhou.se as an alias option (PR #300)
  • Add command to retroactively watermark images (PR #301)
  • Add the ability to generate the year in char codes (PR #310)
  • Add likes, optional dislikes feature to comments (PR #320)
  • Add the ability to deactivate accounts/for users to deactivate their own account (PR #296)
  • Add permalinks for prompts (PR #341)
  • Open/closed filter for prompts (PR #349)
  • Add admin "edit" button to editable objects around the site (PR #364)
  • Add rich text editor mention for character thumbnails (PR #397)
  • Add panel to character pages displaying instructions for mentioning (PR #397)
  • Add rich text editor mention for users including avatars (PR #397)
  • Add rich text editor mentions for users via ID (PR #397)
  • Add panel to user profiles displaying instructions for mentioning (PR #397)
  • Add config setting to disable user ability to upload custom thumbnails with masterlist image automation (PR #398)
  • Add "is visible" setting to traits (PR #380)
  • Add sidebars to news and sales (PR #415)
  • Add "is visible" setting to species (PR #475)
  • Add "is visible" setting to subtypes (PR #497)
  • Add ability to search and sort traits by subtype (PR #497)
  • Add option to resize watermark to scale with character image (PR #499)
  • Add toggleable previous and next buttons on character pages ext (PR #508)
  • Add search for non-categorized traits, items, and prompts (PR #507)
  • Add the ability to make aliases optional (PR #522)
  • Add optional alias display on user profiles (PR #583)
  • Add "all recent submissions" page to galleries (PR #594)
  • Allow hidden characters to be added to sales (PR #601)
  • Add an icon to the character header for copying the slug (PR #607)
  • Add ability to make admin sidebar sections collapsible (PR #612)
  • Add ability to login via alias(es) (see PR for more information/setup instructions) (PR #493)
  • Add admin log search function (PR #613)
  • Add ability to use gravatar for user avatars (PR #495)
  • Allow item, trait, and character categories to be hidden (see PR for more information) (PR #599)
  • Allow page selection when clicking pagination ellipsis (PR #614)
  • Use character image at the time a character is added to a sale (PR #615)
  • Add optional trait information modals to visual trait index (PR #631)
  • Add full inventory view (PR #669)
  • Add summarized inventory view (PR #675)
  • Add asset reward string utility, use for box rewards (PR #668)
  • Add draft state to submissions (PR #736)
  • Add sorting options to various admin queues (PR #735)
  • Add additional staff powers for news, sales (PR #735)
  • Add comment edit history (PR #735)
  • Make WebP support explicit (PR #737)
  • Add additional image processing options in config (PR #737)
  • Add two-factor authentication (PR #80)
  • Add WYSIWYG editor option for comments (PR #741)
  • Add hashes to data images (PR #749)
  • Add optional username change system (PR #742)

Miscellaneous

  • Update registration page birthday selector (PR #735)
  • Make ReCaptcha toggleable via config (PR #80)
  • Implement built-in honeypot on registration and login (PR #80)
  • Improve item release checking (PR #744)
  • Hide "Use Thumbnail Automation" toggle if manual thumbnail uploads are disabled (PR #744)
  • Add "no reward" message to reward string utility (PR #743)
  • Refactor code for better static analysis, etc. (PR #748)
  • Add anchor to sales comments, tweak spacing for consistency (PR #750)
  • Show deleted comments and consequently replies (PR #105)
  • Add a report button to permalink comments (PR #105)
  • Add ability to upload multiple files via the on-site file manager (PR #129)
  • Dependency updates
  • Add Captcha to credits page (Commit b9ec44f)
  • Move character design update functions to own service (PR #188)
  • Squash pre-2.0.0 migrations (PR #186)
  • Move loot_select asset retrieval to views (Authors of extensions working with this are recommended to view the PR) (PR #192)
  • Various changes to code for internal formatting, tidiness (PR #197)
  • Implement PHP style fixing tools, including automation through github; see PR for more information (PR #243)
  • Track composer.lock (PR #250)
  • Character select now updates as a character code is entered (PR #309)
  • Minor user characters/sublist page edits (PR #336)
  • Switch to laravel/pint for PHP style fixing (PR #348)
  • Add blade-formatter and associated workflow (PR #351)
  • Design update images open in lightbox rather than new tab (PR #350)
  • Move user character list to widget for less redundancy (PR #350)
  • Update formatting workflows' commit method to address some errors (PR #350)
  • Make alt text for avatars consistent (PR #396)
  • Make user displayNames consistent (PR #395)
  • Revert formatting workflows commit method update (Commit 53e8898)
  • Update comment architecture to suit best practices/refactor views (PR #491)
  • Update previous and next buttons on character pages to skip number gaps/locate nearest neighbors better (PR #556)
  • Add token to Lorekeeper CSS file use to evade caching on file change (PR #582)
  • Move "Add Trait" button above trait lists (PR #598)
  • Indicate hidden items, traits, and species in admin lists (PR #600)
  • Remove redundant prompt views/information (PR #603)
  • Add wiki links to some merged extensions and re-alphabetize credits (PR #616)
  • Prevent design update images from being cached on file change (PR #621)
  • Allow updating design update image credits without uploading an image (PR #632)
  • Comment out irrelevant policy in AuthServiceProvider to keep logs cleaner (PR #644)
  • Make character select fields use selectize (PR #715)
  • Various mobile styling improvements (PR #727)

Bug Fixes

  • Duplicated code in SpeciesService (PR #735)
  • Sorting user index/admin user index by alias does not function (PR #735)
  • Search by subtype in admin traits index does not function (PR #735)
  • Notification for MYO slot profile admin edit uses the wrong URL (PR #735)
  • Error when a character added to a submission is deleted (PR #735)
  • Error when a character added to a sales post is deleted (PR #735)
  • Gallery submission data is not retained on error (PR #735)
  • Submission data is not retained on error (PR #735)
  • Certain user sidebar items do not display as active when viewed (PR #735)
  • Images with larger dimensions fail or are resource intensive to process (PR #737)
  • Error viewing news/sales (PR #744)
  • Character inventory stack name has no set limit (PR #744)
  • User mention block not appropriately responsive (PR #744)
  • Design update comments do not use manage_characters power (PR #745)
  • Issues with regex for Discord integration (PR #119)
  • Undefined offset error when adding new characters/images (PR #121)
  • Error viewing items page in cases where the artist_url column is null (PR #131)
  • Syntax error in helpers.php (PR #138)
  • Fix trade approval/rejection admin logging (PR #167)
  • Error viewing sales (PR #197)
  • Character getCurrency() variable confusingly named (PR #211)
  • Sorting items, traits, prompts by category results in strange behavior (Issue #210 / PR #211)
  • User/character gallery pagination issue (PR #211)
  • Errors creating and editing design updates (PR #211)
  • Cannot clear item category descriptions (PR #211)
  • Attempting to clear only currency grant notifications clears all notifications (PR #211)
  • Tumblr alias link formatting error (PR #228)
  • Subtype list does not populate properly on editing a character (Issue #224 / PR #229)
  • Existing loot table rows do not update properly if a new rewardable type is selected (PR #237)
  • New loot table rows do not have selectize applied properly (PR #237)
  • Comments are not restricted in size (PR #236)
  • Birthday selection during registration too small on mobile (PR #236)
  • Broken image in design update cropper when adjusting the thumbnail (PR #244)
  • Error logging admin action when creating or editing character categories (PR #281)
  • Error creating design updates (PR #293)
  • Non-staff users cannot use items with slot item tag (PR #330)
  • An exploit allowing for currency duplication (fix also applied to items as a safeguard) (PR #339)
  • Long character names extend off-screen (PR #342)
  • Inactive item tags' views are shown in the inv stack modal (PR #350)
  • Error viewing submission/claim (PR #350)
  • Error checking URL for alias (PR #350)
  • Admin prompt index formatting error (PR #350)
  • Error creating design update (PR #350)
  • Staff rewards enable/disable not properly displayed on credits page (PR #350)
  • Title formatting issue on narrow pieces in galleries (PR #350)
  • Sublists not shown on all user profile view sidebars (PR #350)
  • Add catch for null alias owner URL to MigrateAliases command (credit to ScuffedNewt for the fix) (PR #350)
  • Hide inactive (hidden) prompt pages (PR #350)
  • Constrain world entry images on small screens (PR #357)
  • Users can purchase items with currency owned by a character the user does not own (PR #380)
  • If a character image's files are deleted as part of an re-upload process that errors, new file(s) cannot be uploaded and the image cannot be deleted (PR #407)
  • Permalinked comments on site pages do not respect page visibility (PR #491)
  • Insufficient/unclear validation for where a comment is made (PR #491)
  • Squished mobile profile view (PR #494)
  • Search traits by category does not preserve category selection (PR #496)
  • Error reuploading character images (Commit 2e20ad4)
  • Error viewing news and sales (PR #492)
  • Error reactivating a user (PR #509)
  • Non-staff users are able to feature comments on areas other than their profile under certain conditions (PR #511)
  • Misplaced divider in masterlist search options (PR #519)
  • Admin setup command does not set has_alias (PR #532)
  • Previous and next character buttons always filter by category, even when the site is set to number across them (PR #555)
  • Category filtering does not persist selected category for prompt, admin item, and admin trait search (PR #557)
  • Previous/next character buttons always displays as disabled (PR #584)
  • User, home, and character inventories not all able to close per category (PR #585)
  • Category collapses in inventories break when certain characters are used in category names (PR #585)
  • Category collapse indicators in inventories start "closed" despite the category being "open" (PR #585)
  • Active gallery not highlighted in galleries sidebar (PR #593)
  • Item images cannot be removed (PR #569)
  • Error in sublist filtering (PR #602)
  • Design update image credits duplicate on error (PR #632)
  • Users who registered via alias login cannot add email/password (PR #633)
  • Wrong entry type used for rarity (PR #645)
  • Invalid default selection for user list sort (PR #653)
  • Error on uploading .gif avatar (PR #662)
  • Shops with no image attempt to display one (PR #676)
  • Cannot create loot table with mixed (critera and non) rows (PR #671)
  • Item page category visibility check is performed on items without a category (PR #700)

Core Extensions Added

Here are all Core Extensions added between v2.0.0 and v3.0.0:

The following extensions have settings:

v3.0.0 - Release branch (Changes since pre-release)

Miscellaneous

  • Make back-hashing data images optional (PR #779)
  • Make FTO badge larger (PR #780)
  • Make date/time picker more consistent, reduce code redundancy (PR #771)
  • Improve honeypot response (PR #828)
  • Use reusable workflows for linting (PR #758)
  • Use home layout for report view (PR #851)
  • Do not include reports page scripts section if closed (PR #857)
  • Add wiki page links to core extensions without (PR #889)
  • Add missing core extension credits and reorganize (PR #934 / PR #935)
  • Convert additional admin tables to bootstrap tables for consistency (PR #1026)
  • Improve user profile, character page row styling on smaller viewports/mobile (PR #1099)
  • Make some galleries queries more efficient (PR #1098)
  • Clarify character "no description" text (PR #1136)
  • Update robots.txt (PR #1142)
  • Improve display of gallery submission log comment form with WYSIWYG comments enabled (PR #1166)
  • Eager load rank with user (PR #1174)
  • Implement eager loading for /world, refactor queries (PR #1180),
  • Add some more eager loading to /browse (PR #1183),
  • Implement eager loading for galleries, refactor queries (PR #1175)
  • Update laravel/fortify (PR #1206)
  • Show 24 MYO slots per page instead of 30 (PR #1238)
  • Update footer GitHub repo link (PR #1255)
  • Updated contributing info (PR #1303)
  • Implement eager loading for submission characters, images (PR #1319)
  • Refactor stack name retrieval in character inventories (PR #1318)

Bug Fixes

  • Option to copy character slug is provided for MYO slots (PR #756)
  • Redundant sublist reference in user controller (PR #757)
  • Docblock cleanup (PR #759)
  • Extension tracker command does not work in linux environments (PR #761)
  • User log pages not displayed as active in sidebar (PR #762)
  • Currency icon images not included in image hash command (PR #769)
  • Old username notification not case-insensitive (PR #763)
  • Subgallery sidebar does not show other subgalleries of parent (PR #764)
  • Error migrating with some xampp installations (PR #770)
  • Errors with birthday input handling (PR #770)
  • Error with various sort functions (PR #770)
  • Character sale value cannot be adjusted without setting as sellable (PR #781)
  • MYO creation errors if no masterlist image format set (PR #782)
  • Deleted user items cause design updates addon page to error (PR #789)
  • Last power cannot be removed from ranks (PR #790)
  • Trait/rarity links overruled by modal trigger (if enabled) in species trait index (PR #783)
  • Date/time picker uses user machine time rather than site time (PR #771)
  • Date/time picker in character stats edit modal does not work (PR #771)
  • Password reset form errors (PR #792)
  • Email does not autofill on password reset form (PR #792)
  • Password reset flow has insufficient feedback (PR #792)
  • Image processing performance improvements not applied to character thumbnail processing (PR #793)
  • Staff cannot recrop design update thumbnails (PR #804)
  • Character thumbnail processing does not fully support WebP (PR #803)
  • MYO creation errors if no masterlist image format set (for real this time) (PR #803)
  • Subtype selection not limited by species when creating/editing traits (PR #795)
  • Certain long text, e.g. headers, cause horizontal stretching (PR #813)
  • Users cannot see comments on assigned tickets (PR #817)
  • Comment types are not set appropriately (PR #818)
  • Permissioned staff cannot see hidden traits and items (PR #822)
  • Image hash not saved for prompts (PR #823)
  • Hidden traits not properly hidden (PR #824)
  • MYO ML uses number sort despite MYOs having no numbers (PR #825)
  • Has image checks missing (PR #828)
  • Error validating registration input (PR #834)
  • Errors during user deactivation (PR #834)
  • Errors accessing raffle ticket, user settings timestamps (PR #836)
  • Preexisting character fullsize images are not displayed (PR #835)
  • Birthday input error when registering with an alias (PR #843)
  • Page title inconsistencies/errors (PR #850)
  • Admin submissions view uses home layout (PR #851)
  • Clicking power label when editing rank checks wrong checkbox (PR #852)
  • Comments scripts interfere with any scripts in the page itself (PR #854)
  • Reports comments do not have the correct comment type (PR #853)
  • Hidden trait categories not visible to permissioned staff in species trait index (PR #873)
  • Sidebar links not displayed for new news/sales admin powers (PR #891)
  • Error when viewing a site in maintenance mode as a guest (PR #897)
  • Objects in /world do not paginate properly (PR #913)
  • Unreleased items visible to staff by default (PR #924)
  • Admin gallery queue info visible to staff by default (PR #925)
  • Error handling admin reports page scripts section (PR #944)
  • Gallery submission rejected notification uses wrong URL (PR #946)
  • Permissioned staff cannot add hidden characters to sales posts (PR #947)
  • Home sidebar liked comments link is incorrect (PR #954)
  • Errors due to insufficient space for logs/log data (PR #956)
  • Character image credits editing selectize field sometimes nonfunctional (PR #958)
  • Nonfunctional hidden close button is present in character select views (PR #971)
  • Erroneous classes in character extended mentions (PR #973)
  • Error when adding an uncategorized item to a shop (PR #987)
  • Stock modal image not formatted properly under some conditions (PR #987)
  • Gallery index page queries are inefficient (PR #1013)
  • Staff-User permalink comments on reports incorrectly 404 (PR #1014)
  • Error when overcommitting stack to submissions is not handled properly (PR #1015)
  • Images in visual trait index squashed on certain viewport sizes (PR #1020)
  • Comment permalink page fetches all comments before getting permalinked comment (PR #1027)
  • Character image size limit is larger than intended (PR #959)
  • Character image size limit is not enforced for admin uploads (PR #959)
  • Issues with character image size limit validation (PR #1039)
  • Issues with admin raffle index (PR #1059)
  • Character stat updates are logged as slug updates even if it is unchanged (PR #1066)
  • Formatting error in logs for currency received from trades (PR #1070)
  • Previous username sometimes shown despite no change (PR #1116)
  • Extra $ in profile content (PR #1122)
  • File input option hidden on mobile devices (PR #1126)
  • Report list tabs aren't set as active when viewed (PR #1133)
  • Ampersands, etc. are encoded as HTML special characters when parsed (PR #1162)
  • News and sales edit buttons do not use new powers (PR #1163)
  • WYSIWYG comments do not disable properly (PR #1164)
  • Error viewing some comments sections (PR #1164)
  • Markdown cheatsheet link, mention info shows when WYSIWYG comments are enabled (PR #1164)
  • Fullsize character images from design updates are not stored as the correct format (PR #1165)
  • HTML special character decoding does not preserve null input (PR #1170)
  • Design update fullsize image saving does not take format from image if relevant (PR #1169)
  • Gallery submission log errors if currency form sections don't match configured form (PR #1166)
  • Gallery submissions do not list prompt submissions with different protocol (www vs without) (PR #1173)
  • Rejected gallery submissions can be edited (PR #1176)
  • Character design update thumbnails lack an extension with certain configurations (PR #1181)
  • shorter masterlist image dimension target config setting does not work (PR #1182)
  • Error viewing prompts (PR #1185)
  • Collaborator approval scope does not filter gallery submissions with non-approving collaborators (PR #1193)
  • Issues using WYSIWYG editor dialogs when replying to or editing comments (PR #1216)
  • Some admin user editing breadcrumbs and page titles are incorrect or unclear (PR #1233)
  • Character admin transfer notifications do not correctly link to transferred MYO slots (PR #1246)
  • World rarity entry admin edit component display is inconsistent (PR #1257)
  • Permissioned users cannot submit to "closed" galleries (PR #1256)
  • Rarity entry edit information is missing on admin create/edit page (PR #1269)
  • Issue with alias login if user alias snowflakes match (PR #1252); backported in Commit b0fd238
  • Shop name uniqueness is not checked against existing shops on creation (PR #1278)
  • Parsed rank descriptions are not set on initial setup (PR #1280)
  • Notifications aren't sent to owners of characters included in gallery submissions (PR #1281)
  • Custom CSS file is not reloaded when modified (PR #1287)
  • Site settings admin panel description column does not use all space available (PR #1290)
  • Visual trait index modals missing from credits (PR #1299)
  • Attempting to display user alias errors if no primary alias is set (PR #1314)
  • Species and/or rarity can be removed when editing character image traits (PR #1315)
  • ReCaptcha is missing on alias register view (PR #1317)
  • Rank descriptions cannot be cleared (PR #1323)
  • Rank info "help" icon shows on user profiles even if rank description is empty (PR #1322)
  • Extra whitespace in page titles, meta tags (PR #1324)
  • Password reset confirmation message always appears (PR #1334)
  • Prompts section sidebar header is not styled appropriately (PR #1339)
  • Character item stack name is not displayed in inventory (PR #1342)