github rr-/szurubooru 0.8.0
TherAPI

latest releases: 2.5, 2.4, 2.3...
10 years ago

This release focuses on huge changes behind the scenes, that were needed to add consistent API. It adds, however, some nice features as well.

  • [Added] API
  • [Added] Automatic generating of API documentation
  • [Added] Support for video files (WEBM, MP4, OGV, FLV, 3GP)
  • [Added] Unit tests. Lots of them!
  • [Added] A few options regarding entity validation to config (tag min/max length, post source max length etc.)
  • [Added] Option to disallow anonymous uploads in config
  • [Added] Arbitrary-size thumbnails support (they no longer need to be exactly 150x150)
  • [Added] Protection against two users having the same e-mail address
  • [Added] sort: search keyword, which is an alias to order: keyword
  • [Added] name: search keyword, for searching posts by their names/hashes
  • [Added] Imagick support for thumbnail generating
  • [Added] Support for custom avatars
  • [Fixed] Blurry avatars in post sidebar
  • [Fixed] MySQL support
  • [Fixed] Backticks in PostSearchParser, making every request spam line in error log 😓
  • [Fixed] Login errors when authentication cookie is corrupt
  • [Fixed] Hardcoded post permalink syntax in post views
  • [Fixed] Improved support for no Javascript
  • [Fixed] Ancient scripts in /scripts folder
  • [Fixed] Privacy policy text containing outdated information regarding cookie contents
  • [Fixed] Double slash in some URLs
  • [Changed] The way some forms show errors
  • [Changed] Erroneous pages return proper HTTP response codes
  • [Changed] Removed requirement to have gd installed (thumbnails will be empty, but site will work)
  • [Changed] Improved web browser caching of JS scripts and CSS stylesheets
  • [Changed] Background of inputs set to white (some Windows themes set it to weird colors)
  • [Changed] Default access rank set to nobody (instead of admin)
  • [Changed] Renamed some access ranks
  • [Changed] Routes distinguish between POST and GET
  • [Changed] Improved compact layout, ever so little
  • [Changed] Footer appearance
  • [Changed] Versioning system (no more separate "upgrade to vX.Y.Z" commits)
  • [Changed] Changed EBC to CBC in authentication (arguably improving security; changed cookie so that it contains IV)
  • [Changed] Logger path names accepts simple templates
  • [Changed] Renamed some setup keys

Changes behind the scenes:

  • [Refactored] Split long lines in source code
  • [Refactored] Grouped views into file hierarchy
  • [Refactored] Rendering forms
  • [Refactored] core.php is now object-oriented
  • [Refactored] dispatch.php is now object-oriented
  • [Refactored] dispatch.php logic moved to Dispatcher.php
  • [Refactored] Controllers business logic moved to API. They now act just as a proxy between API and views
  • [Refactored] Merged mass tag and post search redirection code
  • [Refactored] AuthController logic moved to Auth.php
  • [Refactored] PrivilegesHelper renamed to Access
  • [Refactored] LogHelper renamed to Logger
  • [Refactored] Privilege strings replaced to objects
  • [Refactored] Enums
  • [Refactored] Simplified authentication
  • [Refactored] Simplified AJAX queries (they don't rely on status in JSON and don't append ?json anymore)
  • [Refactored] Common paging code moved to common class
  • [Refactored] Models save methods
  • [Refactored] Entity fields - all of them are private now, and can be accessed via setters and getters
  • [Refactored] Entity field are no longer just strings
  • [Refactored] Entities are validated just before saving
  • [Refactored] Removed StatusHelper in favor of simpler Messenger
  • [Refactored] Removed InputHelper::get('submit') as well as HTML counterparts in favor of specialized routes
  • [Refactored] Thumbnail generating
  • [Refactored] Methods in controllers renamed to ...View if they're used for views only, and left as ...Action if they actually do something
  • [Refactored] Used shorthand PHP echo (<?= instead of <?php echo)
  • [Refactored] Text case conversion code moved to external gist
  • [Refactored] Bunch of other stuff

Don't miss a new szurubooru release

NewReleases is sending notifications on new releases.