Releases: syeopite/priviblur
v0.3.0
The primary feature of this release is the support (finally) of RSS feeds, and the ability to browse reblogs and other notes of a post!
The RSS feeds can be accessed by appending /rss
to the end of any path, except for individual posts which you'll need to use a url parameter instead ?rss_feed=1
A couple warning messages have also been added to places such as when accessing a single post from a login-walled blog, when a single post errors during the render process but the rest of the page is fine, and when searches are restricted on Tumblr.
There's also a couple minor new features like the support for post truncations, the new widget on images showing its alt text, and the new support for rendering tumblr signpost messages.
In addition Priviblur now supports eight more languages, and missing translations strings will now fallback to English ones instead of displaying the underlying key.
However the vast majority of this releases' changes are backend ones, minor UI/UX fixes, and of course bug fixes.
Most notably the entire logic for fetching and parsing data from Tumblr has essentially been rewritten making it significantly easier to add new Tumblr features in future updates.
This release took eight months of development from July 2024, to March 2025... This is an insane amount of time. In the future I hope to be able to pivot to smaller and faster releases.
For a more detailed changelog see below:
Changelog
Posts
- Add UI widget to show image alt text (#56)
- Add widget to browse post notes (#138)
- Prevent reblog attribution links from going to custom domains (#172)
- Remove referrer information when a user clicks on a link (#67)
- Add error card when a post fails to render instead of just showing a blank post (#193)
- Update and support npf-renderer 0.13.0 (#85)
- See https://github.com/syeopite/npf-renderer/releases/tag/0.13.0 for npf-renderer changes
- Add styling for post truncations
- Add preference to choose whether to always expand posts
- Update poll logic to handle new html structure
- Use new localization api to translate strings in post body
Frontend
- Adds support for new languages
- Chinese (simplified)
- Chinese (traditional)
- German
- Japanese
- Norwegian Bokmål
- Spanish
- Tamil
- Ukrainian
- Added/Updated translation strings in numerous languages
- Adds untranslated strings to locale files (#62)
- Settings: Align copy-as-bookmark link with buttons (#63)
- Wrap setting description text over 350px (#128)
- Fallback to English string when a translation is missing (#128)
- Add support for rendering Tumblr signpost messages (#171)
- Show message when search results have been restricted by Tumblr (#193)
- Adds RSS feeds (#161)
- Add warning message on frontend when viewing a post from a login-walled blog (#193)
- Show message when attempting to access a password protected blog (#200)
- Fix issue where post tags and blog names overflowed from their container (#203)
- Show message when Tumblr ratelimit is reached (#205)
Backend
- Deduplicate templating logic for creating content list html (#100)
- Use middleware to validate post slugs (#115)
- Clean up log messages (#108)
- Add https config option to enable secure cookies (#116)
- Remove unnecessary sanic reverse proxy configs (#117)
- Use static locale data for language names (#128)
- Adds support for multiple substitution variables in translations (#128)
- Move cookie parsing logic for pref to prefs module (#142, #152)
- Fix blog search pagination (#141)
- Fix slug equality check on non ascii slugs (#157)
- Add logic to serialize/deserialize setting values (#162)
- Use
render_template
wrapper introduced in RSS PR in all routes (#189) - Add error for non-200 and non-json responses from Tumblr (#199)
- Disable sanic_ext's auto generated empty /docs endpoint (#204)
Priviblur Extractor
- Overhaul priviblur-extractor (#98)
Infrastructure
- Add dependabot (#53)
- Increased dependency versions
- Remove priviblur.ducks.party for being outdated (#61)
- Reduce size of dockerfile (#60, thanks @sgvictorino)
- Add https://priviblur.thebunny.zone instance (#86, thanks, @wintieria)
- Add https://priviblur.gitro.xyz instance (#105, thanks, @GitGitro)
- Add workflow to generate static locale data (#126, #127, #185)
- Improve documentation for language config (#118)
- Add priviblur.canine.tools instance (#137, thanks @hyperdefined)
- Limit number of open dependabot PRs (#143)
- Add CI to test on multiple python versions (#164, #185)
v0.2.1
Changelog
Posts
- Update npf-renderer to 0.12.2 (#54)
- Prevent link block overlay text from overflowing
- Loosen dependencies' version requirements
- See https://github.com/syeopite/npf-renderer/releases/tag/0.12.2
Backend
- Bump all dependency versions (#54)
Infrastructure
- Add dependabot (#53)
Full Changelog: v0.2.0...v0.2.1
v0.2.0
After months of work v0.2.0
is finally here!
This update improves Priviblur's UI/UX significantly and adds a settings page where you can use a dark theme, and even change Priviblur's language.
The post date has been added onto reblogs, community labels are hereby supported and displayed, and all major Tumblr post types are now supported including video, audio and even polls!
You can also search within a blog now.
More Tumblr endpoints are now supported as well.
Various changes also took place that improved Priviblur's backend and performance, most importantly through caching.
Priviblur now also provides an official docker image over at Quay: https://quay.io/repository/syeopite/priviblur
For a full list of changes see below!
Changelog
Posts
- Add styling to link blocks
- Restore underline in inline-mentions on text posts
- Render post metadata from trail posts (#2)
- Update npf-renderer to 0.12.0 (#9)
- Adds support for poll blocks
- Adds support for video blocks
- Adds support for audio blocks
- See https://github.com/syeopite/npf-renderer/releases/tag/0.12.0
- Bump npf-renderer to 0.12.1
- Fix attributions being hidden under image contents
- See https://github.com/syeopite/npf-renderer/releases/tag/0.12.1
- Add support for Tumblr community labels (#27)
- Clamp link-block overlay text to 4 lines
Frontend
- Directly show list of posts after clicking on "Next page" (#20, thanks @the-blank-x)
- Update navbar icons
- Make
/explore/trending
the default tab - Simplify template for timeline pages
- Make dropdown menus toggle on click
- Add ability to open images in a new tab with ctrl-click (#28, thanks @the-blank-x)
- Add support for searching posts within a blog
- Allow accessing individual posts from login-walled blogs
- Add user preferences page (#35)
- Add dark theme to Priviblur (#35, #10, thanks @extremelyonline)
- Add ability to switch languages
- Add Czech and French translations to Priviblur (#47, #48, thanks to all of Priviblur's translators)
- Add
- Priviblur
suffix to every page title - Add error page for arbitrary errors (#46)
- Bountiful styling improvements
Backend
- Migrate to Aiohttp to resolve #4 (#21)
- Add redirects for
at.tumblr.com
links (#17) - Add redirects from
<blog>/post/*
to<blog>/*
- Print Error message when locale files aren't compiled
- Adds support for fetching media from a.tumblr.com
- Add support for media from ve.media.tumblr.com (#24, thanks @the-blank-x)
- Add logic to support
*.media.tumblr.com
routes - Use default values when a config table is undefined in config.toml
- Add optional redis caching (#26)
- (Breaking) Replace "/answer" with "/ask" when filtering posts
- (Breaking) Fix typo when filtering for trending videos
/explore/videos -> /explore/video
- Add
robots.txt
- Refactor backend localization structure
- Ignore unknown options in config file
- Refactor file structure for error handlers (#45)
Priviblur Extractor
- Split
parse_container
toparse_timeline
andparse_blog_timeline
- Remove
live_now
attribute from Tumblr requests due to the removal of Tumblr Live. - Add
blog_search()
method for getting search results from a blog - Reduce number of requests when fetching blog posts
- Allow accessing individual posts from login-walled blogs
Infrastructure
- README.md improvements
- Overhaul Docker and Config file (#37, thanks @TheFrenchGhosty)
- Integrated Weblate for translations (#49)
- Adds automatic docker images for Priviblur releases (#43, thanks @Ftonans)
Instances
- Add priviblur.ducks.party instance (#36, thanks @nyuuzyou)
- Add priviblur.pussthecat.org instance (#39, thanks @TheFrenchGhosty)
Full Changelog: v0.1.0...v0.2.0