Danbooru changelog thread

Posted under Bugs & Features

This topic has been locked.

2026-02-02

Changes
  • BURs can no longer be edited if more than 5 people have voted on it.
  • Approve/Edit/Reject controls for BURs are now shown in their forum post's dropdown menu
  • Creating a BUR now redirects you to that bur's forum topic instead of the BUR listing
  • Switched all links from twitter to x (yeah...)
  • Approving/Disapproving a post in the modqueue when it's already active/disapproved will now hide the post anyway instead of getting stuck, as it used to work years ago
Fixes
  • Various fixes to the autocomplete (pull #6197)
  • Fixed that manually entered commentary would be removed if you tried to submit an upload without selecting a rating
  • Various fixes to the edit mode in the post listing
  • Various fixes to the ko-fi, e621 and bluesky extractors
  • User profiles now respect the setting for showing scores/vote buttons that can be selected from the /posts dropdown

Full changelog: https://github.com/danbooru/danbooru/compare/production-2026.01.18.174920-utc...production-2026.02.02.105148-utc

Updated by nonamethanks

2026-02-08

Changes
Fixes
  • Fixed an issue with BURs with invalid lines not properly showing the error
  • Fixed the newgrounds and xiaohongshu extractors sometimes not getting the full image

Full changelog: https://github.com/danbooru/danbooru/compare/production-2026.02.03-070759-utc...production-2026.02.08.171006-utc

Updated by nonamethanks

2026-03-04

Changes
  • Thumbnails on mobile now show parent/child/pending status borders. Reminder that blue means status:pending, green means is:parent, and orange means is:child.
  • Added new video player. New features:
    • The mute setting and volume level is now remembered across posts.
    • More keyboard shortcuts: "m" to mute, "0-9" to seek, "<" / "> to change playback speed, "up" / "down" to change volume.
    • You can link to timestamps with e.g. /posts/9032773?time=4.
  • The "duration:" metatag now accepts times like duration:>1m30s or duration:>1:30.
  • The "age:" metatag now accepts times like age:>1y6mo.
  • Added more site logos for artist entries.
  • Added support for phixiv URLs on upload page.
  • Added warning labels for hard-translated, anime screenshot, and game screenshot posts in the modqueue.
  • The source tab on the upload page now shows the date when the post was published or last updated on Twitter/Pixiv/etc.
Fixes
  • Fixed DeviantArt uploads not working.
  • Fixed Gumroad uploads not working.
  • Fixed Ko-fi uploads not working.
  • Fixed Opensea uploads not working.
  • Fixed Patreon uploads not working.
  • Fixed Reddit uploads not working.
  • Fixed Skland uploads not working.
  • Fixed Vk uploads not working.
  • Fixed Xhslink.com uploads not working.
  • Fixed Zerochan uploads not working.
  • Fixed Patreon commentary extraction not working.
  • Fixed Tistory commentary extraction not working.
  • Fixed Arca.live commentary extraction bugs.
  • Fixed Carrd commentary extraction bugs.
  • Fixed Tumblr commentary extraction bugs.
  • Fixed ugoira webm videos not working in some browsers.
  • Fixed profile pages showing approval counts for non-approvers.
  • Fixed "none" option in commentary controls not removing tags.
  • Fixed blacklisted videos being autoplayed when unhidden.
  • Fixed upload limits showing incorrect number of posts needed for next level when already at max level.
  • Fixed one-hour drawing challenge not being suggested in translated tags.
  • Fixed issue where creating a new artist could time out during the dupe check.
  • Fixed bug where it was possible to remove votes on approved BURs.
  • Fixed collection pools not respecting the "show deleted posts" setting.
Commits
CommitMessage
52fc3e470Add bin/generate-changelog script (evazion)
f383bcf69Uploads: Search source, referer, and source_url fields together (pull #6298 by Talulah)
c83d93ceatooltips: fix tooltips rendering wrong layout (evazion)
dd9dfd3b5extractors: normalize percent-encoded urls in commentaries (evazion)
ff23e8d19vk: fix broken extractor (evazion)
94a2a0186tests: fix broken extractor tests (evazion)
71858bb9bzerochan: fix broken extractor (evazion)
71a2651f8skland: fix broken extractor (evazion)
79d64b0ffurl shorteners: support offsite redirector urls (evazion)
4d0fe5d78arca.live: fix extractor (evazion)
edd988824naver cafe: fix broken tests (evazion)
763be0972kofi: fix broken extraction (evazion)
456d429a6carrd: fix commentary extraction issues (evazion)
1a91535cdUse reddit_session for Reddit extractor (pull #6294 by TypeA2)
58d7a2b01opensea: fix broken extraction (evazion)
e9e83bc7curl shorteners: add href.li (evazion)
efee6370burl shorteners: fix xhslink.com, x.gd, reurl.cc, ow.ly shorteners (evazion)
cc0503650piapro: fix `tags` returning incorrect tag urls (evazion)
a7e46f50ftistory: fix commentary extraction (evazion)
37dc7eb3agumroad: fix broken extraction (evazion)
ef76ae88dFix issue #6288: Patreon extractor is broken (evazion)
8527e7df5tests: fix broken extractor tests (evazion)
543f08f31Fix issue #6199: Tumblr commentary with <small> yields bad dtext (evazion)
fbabd9eb1Fix issue #6290: tumblr alt text cut off if it contains double quotes (evazion)
3c8e1bd98posts: allow duration: metatag to accept times like 1m30s or 1:30 (evazion)
1149646c7Fix issue #6276: Add new ban duration to ban duration update mod action (evazion)
84489baccFix issue #6292: Prevent BUR vote removal on approved BURs via forum_post_votes (Copilot)
51443ec7eFix issue #6270: duration metatag should support minutes (pull #6291 by evazion)
562e1dc09sources: add more site logos (evazion)
b57dc54c6sources: add dlsite url parser (evazion)
e0b9265eesources: cleanup null URL parsing, expand test coverage (evazion)
0922ce8e7tests: fix broken tests (evazion)
7f3ea1217artists: fixup artist finder regression in 99416d47b (evazion)
7b888b649ui: add /static/components demo page (evazion)
d235acb68Fix issue #6175: Missing icons for artist entries (evazion)
1844b38c6icons: clean up SVG icons and site logos (evazion)
0b5fa76a7video player: fix error handling behavior (evazion)
fd45f0f6cvideo player: add ability to link to video timestamps (evazion)
99416d47bartists: fix slow dupe artist checks (evazion)
2fd1ff2fevideo player: indicate volume level in icon (evazion)
2fbb7b74ctests: fix broken tests (evazion)
adeae475fusers: redirect to profile page after signup (evazion)
70e77c67eLint: apply Rails/ActionOrder to all controllers (pull #6286 by nonamethanks)
a9d27dff5Update default modqueue warning tags (pull #6289 by Apples)
c34baec7fpools: respect "show deleted posts" setting in collection pools (evazion)
dc8b3c012Fix issue #6278: autocomplete broken (evazion)
b3874f6c7ugoira: refactor converting ugoiras to videos (evazion)
aab2fc1e9Users: remember redirection on login error and registration (pull #6280 by nonamethanks)
ecc640fa0Comments: show new comment button for anon users (pull #6279 by nonamethanks)
49beceacfUse vertical volume slider for video player (pull #6284 by hdk5)
3c82824eeRubocop: disable Rails/ActionOrder line (nonamethanks)
323e7f522Fix issue #6274: Add support for phixiv (nonamethanks)
74cbb0ca2Fix issue #5716: one-hour drawing challenge tag not suggested in TL tags (pull #6210 by Talulah)
067d3d1afFix issue #6153: Calculate maxed? based on slots instead of points (pull #6216 by Talulah)
30e5e0ce1Fix issue #6275: File upload progress bar clips through rounded corners (pull #6277 by Talulah)
983972623Fix issue #5584: Visualizing post's status and parent/child relation on mobile (evazion)
b1eede0d7Fix issue #6111: Rendering bug on mod actions page (evazion)
7ed98d611tests: add ugoira conversion tests (evazion)
e77d8edc7Fix issue #6250: "none" in commentary controls doesn't remove tags (pull #6272 by Talulah)
b1fe8227fvideo player: use in dtext embeds (evazion)
a83b4ec40blacklists: fix blacklisted videos not being paused (evazion)
6d7ea562bvideo player: show error when video is unsupported (evazion)
b8b19074egithub: only run tests for the master branch (pull #6268 by nonamethanks)
666aa63degithub: auto deploy betabooru/testbooru (evazion)
6ba104031video player: add "<" and ">" playback rate shortcuts (evazion)
98f86934cvideo player: add "m" and "0-9" shortcuts (evazion)
b5e1855dfvideo player: remember mute setting (evazion)
f0c2061fbvideo player: fix bugs with changing volume with up/down keys (evazion)
6f29cd4f3ugoira: fix play button breaking when changing format from webm to original (pull #6265 by hdk5)
a18c81f83Fix issue #6250: show the upload loading spinning indicator earlier (pull #6263 by hdk5)
c7e80d628Ugoira: Allow GIF frames and force YUV420p samples for compatibility (pull #6241 by TypeA2)
78d737c84media assets: use unified video player for both videos and ugoira (pull #6152 by hdk5)
bbeb85acfSupport for Twitter intent/favorite and intent/retweet URLs (pull #6264 by TypeA2)
60a8e656bcommentaries: place fetch commentary controls on single line (evazion)
fe7697853commentaries: fix "copy from" fields wrapping across multiple lines (evazion)
0e9d6f24cFix issue #5668: user statistics: Hide approvals if 0 (pull #6232 by Talulah)
3e9131dc2Add testbooru workflow (pull #6248 by nonamethanks)
acdb1bb61Source extractors: Implement post/image time parsing (pull #6258 by Toks)

Full changelog: https://github.com/danbooru/danbooru/compare/production-2026.02.08.171006-utc...production-2026.03.04-183241-utc

Updated by evazion

2026-03-17

Changes
  • The upload bookmarklet page has been redesigned.
  • Deviant Art uploads with multiple images now work.
  • Pinterest uploads now extract hashtags.
Fixes
  • Fixed Deviant Art uploads not working due to recent dA changes. Note that Deviant Art now limits free accounts to 10 downloads per week, so we can no longer get full size images.
  • Fixed Pixiv artist cover/background images not being recognized and being incorrectly tagged as bad link.
  • Fixed post tooltips not working for banned posts.
  • Fixed ugoira to webm conversion failing sometimes.
  • Fixed Pinterest commentary not being extracted for some posts.
  • Fixed Twitter cashtags (e.g. $KRONII) not being recognized as translated tags.
  • Fixed rating, parent, and metatags not being merged when an upload is a duplicate.
  • Fixed it being possible to change artist tags to other categories when they still had an active artist entry.
Commits
CommitMessage
9f124ac0eFix issue #5867: recognize pixiv artist cover urls (evazion)
b002cf496Fix issue #6231: help:bookmarklet_notice should generate the list automatically, not be edited manually (evazion)
24493a7c6extractors: define list of extractors used by each url class (evazion)
6596ba50ftests: fix broken extractor tests (evazion)
742d39bb6extractors: refactor site_name to avoid declaring name twice (evazion)
3e8604f13extractors: handle shortened urls in each url subclass (evazion)
1b0e094b0diarypro: fix exception on unmatched urls (evazion)
d773c298cextractors: speed up source url parsing (evazion)
631109b04extractors: load url subclasses automatically (evazion)
808b29e42extractors: add system for declaring sites and options supported by extractors (evazion)
ff66c9950artist urls: factor out `secondary_url?` method (pull #5947 by hdk5)
1f83690bdtests: increase test coverage for url parsers (evazion)
dc5f9bc24tests: refactor source url tests (evazion)
5d7254a26extractors: move sites from null url parser to dedicated classes (evazion)
ad7f3e7a2ci: fix uploading coverage reports to codecov (evazion)
c16ae526dci: fix debug option in test workflow (evazion)
5f4fcfd18ci: fix uploading test results to codecov (evazion)
31fe46da5tests: add tests for every view component missing tests (evazion)
13ce88527rubocop: fix even more rubocop warnings (evazion)
ef2edf493deviantart: refactor api client to get rid of oauth2 gem (evazion)
8389e9809tests: clean up some uses of current user (evazion)
8e5fde47bci: upload test results to codecov too (evazion)
f5a2de397ci: fix codecov test workflow (evazion)
ec0ac092atests: add tests for issue #6310 and issue #6316 (evazion)
f2de473a3Fix issue #6307: Ugoira conversion fails in `Dir.chdir` (pull #6310 by hdk5)
0f749f14fTwitter: Support cashtags in translated tags (pull #6313 by Talulah)
0cba3e26aFix issue #6306: Banned post tooltips don't work anymore (pull #6316 by Talulah)
a2afe1054tests: use codecov ci action instead of codecov gem (evazion)
9cc360d61tests: enable coverage only when full test suite is run (evazion)
f1991f975tests: fix broken tests (evazion)
9a6da75b4extractors: remove enty.jp extractor (evazion)
8b27c51b1pinterest: fix commentary extraction, grab tags and published_at timestamp (evazion)
410b1da92Fix issue #6105: Grab DeviantArt posts with multiple images (evazion)
71152ea78deviantart: fix extractor breakages (evazion)
f9868caa3Update Ruby gems (evazion)
d1caa7d66tests: fix flaky respond_to_search tests (evazion)
a040a1fd8rubocop: fix even more rubocop warnings (evazion)
e9d35f48arubocop: fix more rubocop warnings (evazion)
8361694ccrubocop: add factory_bot linter (evazion)
af12a1e64Fix some Rubocop warnings (evazion)
4474467ebrails: set framework defaults to 8.0 (evazion)
a0ff1cdf4rails: suppress dotenv logs during `bin/rails console` startup (evazion)
51b47db38Fix duplicate post merging bugs (pull #6308 by Talulah)
552f88f7ePrevent changing artist tags' category (pull #6300 by Talulah)
2f543c9fdmedia file: add media-ls CLI tool for inspecting media files (evazion)

Full changelog: https://github.com/danbooru/danbooru/compare/production-2026.03.05-055930-utc..production-2026.03.17-045125-utc

2026-03-30

Changes
  • Uploads: show more explicit warnings beneath the post button for AI-generated, image sample, bad link, pixel-perfect duplicate, and non-web source posts.
  • Uploads: image similarity scores have been rescaled so that bad matches don't have high scores. Before matches in the 50%-70% range were usually bad matches even though they had high scores. Now scores have been lowered so that anything below 50% is usually a bad match, above 50% is a possible match, and above 70% is a likely match. Note that the actual results haven't changed, only the scores.
  • Parent/child previews now automatically scroll to the thumbnail for the current post.
  • You can tag a post with pool:none to remove it from all pools.
  • Added status:pending order:disapprovals, status:pending disapprovals:<5 metatags.
Fixes
  • Fixed certain ugoira posts failing to upload.
  • Fixed TikTok posts being incorrectly tagged as bad source.
  • Fixed E-Hentai posts being incorrectly tagged as bad source.
  • Fixed Foundation extractor not working for new image URLs.
  • Fixed the DCinside extractor failing to download images due to an incorrect referer header.
Commits
CommitMessage
e11e59447js: update more NPM packages (evazion)
ff6dafd6amodqueue: revert back to ordering by newest posts first (evazion)
130f7bc64tests: fix broken SFTP storage manager tests in CI (evazion)
40b5c0a99Auto scroll the current post in post relationship previews into view (pull #6319 by hdk5)
8d3102d59Modqueue: Sort by least disapprovals first by default (pull #6317 by Talulah)
1fdf3fd83add `pool:none` edit metatag (pull #6334 by hdk5)
8cb94aae7Fix DCinside extractor (pull #6348 by hdk5)
375b54334js: fix some linter errors (evazion)
d56ed430djs: migrate ESLint config to flat config (evazion)
882552c07js: partially update NPM packages (evazion)
17398cddegems: upgrade rails to 8.1.2.1 (evazion)
11da00c4dgems: upgrade puma to 7.2.0 (evazion)
6066256fbgems: upgrade good_job to 4.13.3 (evazion)
e707e8d62gems: upgrade diff-lcs to 2.0.0 (evazion)
d4b9f38a6gems: upgrade to rubyzip-3.2.2 (evazion)
04af08fa7tests: fix broken tests (evazion)
8288fa933gems: upgrade to rails 8.1 (evazion)
a9e4961aegems: upgrade connection_pool gem, add sftp tests (evazion)
5f211ce4cgems: update ruby gems (evazion)
2f6c7af4fgems: remove stripe gem (evazion)
f906627a7html: remove <link rel="prev">, <link rel="next"> elements (evazion)
7c5879f39source data: only show updated timestamp if source has been updated (evazion)
729e30455iqdb: lower similarity scores for false matches (evazion)
2bf6f2d98iqdb: factor out iqdb results to component (evazion)
344ead8feuploads: fix JSON.parse errors on upload page (evazion)
d6d79a9fcdev: get debugger working in devcontainer (evazion)
6277f938eFix issue #6343: Ugoira with hash fail to upload (evazion)
3d0919e55tiktok: support /photo/ urls and short links (evazion)
aea8645b9uploads: change warnings to <site>_sample, bad_<site>_link wikis (issue #6328) (evazion)
470164424uploads: further refactor upload post component (evazion)
6024afd84foundation: support new image URLs (evazion)
18afbeb5btests: fix broken tests (evazion)
9e64b7672Parse TikTok video URLs (pull #6344 by Talulah)
ee924f255uploads: factor out upload post component (evazion)
76aa25298Fix issue #6328: "image sample" badge on upload page should make it more obvious that extra actions from user are required (evazion)
351986a0bdev: add more extensions to devcontainer (evazion)
e43eb63fedev: add trycloudflare.com, devtunnels.ms, and sslip.io tunnel domains (evazion)
9acb9b49ddev: fix exception when remote_ip isn't available (evazion)
d27cab65bFix issue #6336: check constraint "upload_media_assets_user_id_check_not_null" is violated (evazion)
89a8a31d3Fix issue #6331: make BUR preview mass update dtext smarter (evazion)
af35ec930Fix issue #6333: exhentai page URLs incorrectly tagged as bad_source (evazion)

Full changelog: https://github.com/danbooru/danbooru/compare/production-2026.03.17-045125-utc..production-2026.03.30-193428-utc

1 2 3 4 5