Skip to content

Releases: rr-/szurubooru

Version 2.5

05 Jun 00:01
Compare
Choose a tag to compare

New features:

  • Added pools c5358f7
  • Added dark theme (enable it from the settings) #344
  • Added functionality to change the order of the tag categories #350
  • Added support for BMP/HEIF/HEIC/AVIF images #399 #404
  • Added content-aware flow for thumbnails on the post search page (enable it from the settings) #352
  • Added support for webhooks (see doc/API.md for details) #341
  • Added link to search for a post on Danbooru (using its MD5 hash) 8fa84ab
  • Added support for larger files a302b2c
  • Developers can nu use npm run build --watch to watch for changes and automatically refresh the front-end #402
  • Various bug fixes and performance improvements

Last boss

13 Apr 09:37
@rr- rr-
Compare
Choose a tag to compare

This release signifies last release before the upcoming 2.0.0 branch which shifts technology to Python.

  • Improved font scaling on Android
  • Fixed negative order in searches
  • Increased limit for comment length
  • Added space after each tag in tag input to make them copyable
  • Added delete key support for auto complete
  • Fixed arrows while editing post notes
  • Improved post sizing, added option to cicle sizing mode
  • Added option to upscale small posts
  • Hidden most edit controls by default
  • Fixed removing users always logging out
  • New search tokens
  • Added F hotkey for fullscreen
  • Various tweaks and fixes to UI appearance
  • Added featured post uploader name to home page
  • Reduced memory usage for long post upload sessions
  • Removed lightbox from post uploads
  • Fixed autocomplete near page bottom
  • Added ability to turn keyboard shortcuts off
  • Added previous page / next page buttons for pagers
  • Added previous post / next post in post upload form
  • Added Tab and Shift+Tab support to autocomplete
  • Added GIF image detection
  • Improved search error messages
  • Fixes to post note editing
  • Removed hack for GIF preloading that prevented cache from working
  • Changed youtube videos to use 16:9
  • Added support for HTTP ranges
  • Added [sjis]...[/sjis] tag
  • Added arrow keys support to pagers
  • Other fixes

Minor UI enhancements

13 Apr 09:14
@rr- rr-
Compare
Choose a tag to compare
  • Added support for [small]text[/small]
  • Added auto completion to tag list presenter
  • Added showing tag suggestions on click (until now, it was shown only when typing, while clicking revealed just siblings)
  • Added tag suggestions and siblings synchronize to what user types
  • Added gray-out for used tags in the autocomplete
  • Moved tag suggestions before tag siblings
  • Fixed tag editing didn't trigger tag suggestion cache update
  • Changed post edit form to be wider
  • Fixed autocomplete staying even after hiding the tag input (occurred during presenter change)
  • Fixed author showing up in the history for posts uploaded anonymously

Bugfixes and backend maintenance

13 Apr 09:14
@rr- rr-
Compare
Choose a tag to compare
  • Added snapshot compression in database
  • Added snapshot merging based on time and author
  • Added absolute timestamps hints where necessary
  • Simplified routing in backend - changed Controllers to Routes
  • Renamed SearchServices directory to Search
  • Renamed Controllers/ViewProxies to ViewProxies
  • Improved MySQL integration
  • Improved test database upgrade script
  • Changed PUT requests to POST
  • Changed base64 uploads to FormData JS API
  • Removed AJAX external caching, which led to certain anomalies
  • Removed download link for YouTube posts
  • Fixed backend trying to actually download YouTube URLs - now it redirects to the video instead
  • Fixed tests using real DB when they shouldn't
  • Fixed bad message when serving non-existing files
  • Fixed current search not showing pointer cursor on hover
  • Fixed scoremin and scoremax search
  • Fixed entity IDs treated as strings, which led to certain anomalies
  • Fixed everyone could view every post
  • Fixed everyone could feature posts
  • Fixed everyone could delete posts
  • Fixed link to users and posts disregarding privileges from config.ini
  • Fixed precision loss in post disk space usage
  • Fixed putting "null" in post sources
  • Fixed post note removal didn't generate snapshot

Ouroboros

13 Apr 09:14
@rr- rr-
Compare
Choose a tag to compare

This release marks first and hopefully last full rewrite of szurubooru.

New features

  • Post notes (little text annotations to posts)
  • Tag categories
  • Tag banning
  • Tag implications
  • Manual tag removal
  • Manual tag suggestions
  • Comment scoring
  • New frontend
  • Improved keyboard navigation

Permanently removed features

  • Permissions with regard to specific post safeties
  • Tag auto-removal (tags now hold too much information to remove them automatically)

Regressions

  • Removed API documentation

Architectural changes

  • Full-blown JS frontend
  • Proper dependency injection (no more static classes)
  • Removed API layer in favor of controllers. This is probably only temporary.

TherAPI

13 Apr 09:15
@rr- rr-
Compare
Choose a tag to compare

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

Small boss

13 Apr 09:15
@rr- rr-
Compare
Choose a tag to compare

Global:

  • [Added] Clicking a tag when tagging shows related tags
  • [Added] "upvoted" tab
  • [Added] Tweaks to search aliases; added order:fav_date and order:file_size
  • [Changed] Hidden posts can be viewed by moderators

Frontend:

  • [Changed] Better search syntax help
  • [Fixed] User list on Chrome w/ endless pagination
  • [Fixed] 404 page appearance
  • [Fixed] Registration form appearance
  • [Fixed] Keyboard shortcuts in Flash posts (this time looks like it's solved for good)
  • [Fixed] Clicking prev/next post on Chrome

Backend:

  • [Fixed] Account activation not working
  • [Fixed] Password reset not working
  • [Fixed] Password changing acting funny with logout/login
  • [Fixed] Search - order direction was set to ascending
  • [Fixed] Search - exception when parsing certain invalid dates
  • [Fixed] Search - exception when searching for score_min: and score_max:
  • [Fixed] Automatic post featuring not working
  • [Changed] Switched to MarkdownExtra (yay, tables support!)
  • [Changed] Refactor to tag autocompletion
  • [Changed] Markdown - more readable ATX header handler override
  • [Changed] Markdown - better behaviour for spoilers containing links and tag permalinks

Big boss

13 Apr 09:15
@rr- rr-
Compare
Choose a tag to compare

Frontend:

  • [Added] Pagination to tag list
  • [Changed] Post sidebar reorganized (especially "details" and "options")
  • [Changed] Post edit form is displayed on top of post instead of below
  • [Changed] Post upload no longer uses tabs - merged URL and file into one page
  • [Changed] Post upload - hovering thumbnails of queued uploads displays proportional bigger preview
  • [Changed] Vertical scrollbar is shown everywhere
  • [Changed] Dates changed to relative form (except logs)
  • [Changed] GUI colors made consistent (every color is now red)
  • [Changed] Tab borders are thicker
  • [Changed] Footer lines are thicker
  • [Changed] User list looks better
  • [Changed] Form CSS overhaul
  • [Changed] Layout resizing tweaks to keep posts nicely aligned under tabs
  • [Changed] Mass tag: changing tag doesn't return to 1st page if filter query hasn't changed
  • [Changed] Unit converter produces shorter information (44B, 1.5K, 13.4K, 20K, 40K, 999K, 1.0M, 1.2M, 12.3M, 20M etc.)
  • [Changed] Errors regarding post list no longer make post list tabs go away
  • [Changed] Query debug appearance improved
  • [Fixed] Exit confirmation message on Chrome
  • [Fixed] Post upload sidebar top margin
  • [Fixed] Ban/unban confirmation messages (no more generic Are you sure?)
  • [Fixed] Problems with event handlers attaching multiple times which resulted in most awkward bugs
  • [Fixed] Tag and user list - alphanumeric order is now case insensitive
  • [Fixed] Merging/renaming tags shows success message (previously only errors were reported)
  • [Fixed] When deleting last picture from post upload, exit confirmation is removed
  • [Fixed] HTML validation in some places
  • [Removed] 1px borders from sidebar units
  • [Removed] Ancient console.log calls (:sweat:)

Backend:

  • [Added] Self post/others' posts distinction for scoring/featuring/flagging/favoriting post privileges
  • [Added] Search query aliases in underscore form (id_min, id_max, etc.; order:comment_count, order:fav_count, order:tag_count).
  • [Added] Search query aliases: ids, special:fav etc. (favs for current user).
  • [Changed] Total SQL layer rewrite, which eventually spawned separate project
  • [Changed] Parsing search queries moved to separate, much more maintainable abstraction
  • [Changed] Getting next and previous post rewritten so that it no longer uses unmaintainable hacks
  • [Changed] Simplified tag autocompletion
  • [Changed] LOWER(?) to ? COLLATE NOCASE
  • [Changed] More robust entity counting in search services
  • [Fixed] Passing useless arguments to search services
  • [Fixed] Saving original post file name into DB
  • [Fixed] File extension of downloaded files (based on MIME type instead of original extension)
  • [Fixed] Comments for hidden posts were casually shown in /comments for everyone
  • [Changed] Faster entity preloading
  • [Changed] Faster special:liked and special:disliked
  • [Changed] Faster entity counting

Global:

  • [Added] Timing information to query debug
  • [Changed] Adding a post to favorites automatically casts an upvote
  • [Changed] /comments behavior - instead of showing comments chronologically (without looking at post whatsoever), it shows posts ordered by last comment date, and up to 5 comments underneath it. Change is rather subtle and regards mostly how many posts on average are grouped under one post.
  • [Fixed] Fixed tag list order styles (contained pending if registration confirmation was enabled...)
  • [Fixed] Possible HTML injection in some places

Miscellaneous

13 Apr 09:15
@rr- rr-
Compare
Choose a tag to compare

Global:

  • [Added] comment edit support
  • [Added] search for hidden posts for admins
  • [Added] date of last login to users
  • [Fixed] last comments respect users' safety settings
  • [Fixed] undefined method error when returning from invalid search to post view

Frontend:

  • [Added] pagination to logs
  • [Added] window close confirmation windows
  • [Fixed] statistics for each user in user list showed comment count instead of post count
  • [Fixed] issues with [spoiler] Markdown tag inside lists
  • [Fixed] every line beginning with #blah was rendered as header, not as a link to blah tag. ATX-style headers are still available using ### syntax (note the space)
  • [Fixed] post edit appearance during sliding animation
  • [Fixed] post edit focus
  • [Fixed] tags containing parentheses were left unparsed in logs

Backend:

  • [Changed] edit tokens moved from controller layer to model layer
  • [Fixed] filtering posts when permitted safety list is empty
  • [Fixed] simplified case insensitivity support in post search engine
  • [Fixed] CSS and JS inclusion overhaul - they are no longer included from controller layer (instead, they are taken care of by view layer itself, like it should be done from the beginning)

Fast and various

13 Apr 09:15
@rr- rr-
Compare
Choose a tag to compare

Global:

  • [Added] support for brackets in tag names
  • [Added] option in user settings for hiding disliked posts

Frontend:

  • [Fixed] HTML validation
  • [Fixed] better placement of auto-completion boxes
  • [Fixed] removed some unused Javascript code
  • [Fixed] simplified slow jQuery selectors
  • [Fixed] some CSS problems with Chrome and Firefox
  • [Fixed] some Markdown problems regarding <pre> tags
  • [Fixed] tags in page title and tooltips are sorted
  • [Changed] upgraded jQuery to 2.0.3
  • [Changed] moved Javascript include statements from HEAD to footer
  • [Changed] better looking SQL queries debug
  • [Changed] help tab title from "help" to "general help"
  • [Added] stylized Markdown quotes
  • [Added] active section (browse, help, ...) indicator
  • [Added] jQuery .map file (no more 404 when using developer tools)

Backend:

  • [Added] support for MySQL
  • [Changed] faster search by tag / comment / submit / favorites (useless nested joins
    replaced to entity prefetch). Side effect: searching for nonexistent tags,
    users etc yields informative errors instead of "no posts to show")
  • [Changed] options section from sidebar in various pages rendered from within one file
  • [Changed] removed RedBeanPHP dependancy
  • [Changed] rewritten whole model layer
  • [Changed] most of pages load 1.5 to 2x faster