blessing-skin-server/resources/misc/changelogs/en/5.0.0.md
2020-07-02 09:22:30 +08:00

112 lines
5.4 KiB
Markdown

## Added
- Plugin system: `config.blade.php` as default config file name.
- Plugin system: Allow to registering service providers automatically.
- Plugin system: Added Filters API.
- Allow to enable a plugin by running `php artisan plugin:enable {name}`.
- Allow to disable a plugin by running `php artisan plugin:disable {name}`.
- Allow to cache options by running `php artisan options:cache`.
- Support multiple plugins directories. (Splited by comma in ".env" file.)
- Added "Status" page.
- Added support of customizing UI text.
- Spanish support (Greatly thanks [@poopingpenis](https://github.com/poopingpenis))
- Brand new website theme color settings.
- Detect Readme file of plugin automatically.
- Added badge "STAFF" for administrators.
- Added badges at texture detail page.
- Added FAQ link at error page.
- Added login with 3rd-party services. (GitHub and Microsoft Live are supported currently.)
- Added support of character "§" for player name. (Under CJK mode.)
- New password hash algorithm: Argon2i.
- Support searching players when applying textures.
- Support customizing textures storage directory.
- Support searching players at players page.
- Added Blessing Skin Shell.
- Support specifying "from" email address and name when sending email.
- 3D skin viewer can be with background now.
- Added support of installing plugin by uploading archive.
- Added support of installing plugin by submitting remote URL.
- Added support of clicking on the uploader's nickname in skin library to view other uploads of that user.
- Added `php artisan update` command for updating by CLI.
- Allowed to customize fallback locale.
## Changed
- Tweaked policy of retrieve CA cert for GuzzleHttp.
- Refactor account system.
- PHP version requirement is increased to 7.2.5.
- Use `install.lock` file to detect status of installation.
- Load front end i18n text from `lang/front-end.yml` of a plugin automatically.
- Upgraded AdminLTE to v3.
- Lengthened `ip` field in order to support IPv6.
- Optimized performance of validating player name.
- Changed method of retrieving IP.
- Use `utf8mb4` encoding in MySQL/MariaDB.
- Respond with unformatted Profile JSON to reduce bytes.
- Switched to a new PHP texture renderer.
- Display 3D avatar of player when applying texture to player.
- New "Plugins Management" page.
- "Choose Player" Dialog won't be showed if no texture is selected at closet page.
- Make "CSRF token mismatched" error friendly.
- Reduced times of sending verification email.
- Changed icon of "Walking/Running" button of skin viewer.
- Changed API of retrieving all players.
- Changed format of avatar and 2D preview to WebP.
- Reduced some unnecessary SQL queries.
- Improved email input control.
- Extended valid time of Cookie `locale`.
## Fixed
- Some fields at administration panel shouldn't be sortable.
- Add missing l10n text.
- Fixed that model was reset after resetting skin previewing.
- Fixed that error stack doesn't show paths from plugins when AJAX has an error.
- Fixed that error page doesn't display when using an unsupported hash algorithm.
- Fixed fallback when unknown locale is detected.
- Fixed compatibility with PHP 7.4.
- Fixed the display problem for too long texture name.
- Fixed that dependencies and conflicts haven't been checked before installing plugin.
- Fixed retrieving search keyword from query string in skin library.
- Fixed that `lang` attribute of HTML can't be configured correctly.
- Fixed that avatar can't be resized when requesting an non-existed user.
- Fixed that the same texture files with different models were treated as different textures.
- Fixed when uploading duplicated texture, alert is missing.
- Fixed that "score cost per closet item" isn't calculated at "texture upload" page.
- Fixed that administrator can't add private texture to his/her closet.
- Fixed that button "See My Upload" existed when user isn't authenticated.
- Fixed potential "Invalid Signature" issue.
- Fixed that duplicated player name is not detected when updating player name in administration panel.
- Fixed that normal administrator can set other user as administrator.
- Fixed that texture file won't be deleted when deleting texture in reports management.
- Fixed that score calculation at upload page isn't consistent with that at back-end.
- Fixed that new texture name isn't checked when texture is renamed.
- Fixed that player isn't updated after closet item was removed.
- Fixed that number of label of chart in administration didn't rendered as integer.
## Removed
- Removed Artisan command `php artisan key:random`.
- Removed Artisan commands of migration for v3 to v4.
- Dropped support of IIS.
- Removed package `swiggles/memcache`.
- Removed `commit` property from `blessing` global.
- Removed Element UI.
- Removed restriction of texture name and nickname.
- Removed settings of "Method of Retrieving IP".
- Removed "3rd-party comment", and please install separated plugin if you need it.
- Removed enabling or disabling Redis via Web UI.
- Removed Legacy API from core. (Install plugin if you need it.)
- Removed Universal Skin API from core. (Install plugin if you need it.)
- Removed auto update check.
- Removed cache for Profile JSON.
- Removed cache for existence of player.
- Removed settings of "Respond 204 for unexisted players". (Install plugin if you need it.)
- Removed breadcrumb of skin library.
## Internal Changes
- Upgraded Laravel to v7.
- Rewritten almost templates with Twig.
- Rewritten front-end code with React.