• 0.7.3 f4d6681022

    0.7.3 Stable

    prologic released this 2 years ago | 0 commits to since this release

    Another Hotfix release for the yarnd v0.7.x series that fixes a bunch of bugs.

    Bug Fixes

    • Fix cache bug causing dupe Root Twts in conversation views (Caching is hard 😅)
    • Fix conversation forking
    • Fix twt-hash link to lower-right of Twt cards to always be linked
    • Fix bug disabling features in the Manage Pod UI
    • Fix CI
    • Fix UI/UX behaviour of the Bookmark button


    • Add experimental StripConvSubjectHashes (strip_conv_subject_hashes) feature
    • Add (re-add) MergeStore daily job
    • Add conversation length badges and fix Edit/Delete/Reply/Conv buttons (can't use ids here)


    • Update CHANGELOG for 0.7.3
    • Update 'internal/theme/templates/settings.html' (#521)
    • Update tools/check-versions.sh with new pod: txt.quisquiliae.com
  • 0.7.2 14bda16f9c

    0.7.2 Stable

    prologic released this 2 years ago | 19 commits to since this release

    Just a quick minor Hotfix release to fix the production Docker image prologic/yarnd so that the instructions on yarn.social for running the Docker image just work™

    Bug Fixes

    • Fix Docker image to just work without any arguments and drop chown of default data volume


    • Update CHANGELOG for 0.7.2
  • 0.7.1 a457f7992d

    0.7.1 Stable

    prologic released this 2 years ago | 21 commits to since this release

    🐞 Hotfix: This release is a hotfix that fixes a few criticla bugs with password reset tokens, thanks @lyse as well as adds support for running yarnd on Synolgy NAS(s) thanks to @grover1911

    Bug Fixes

    • Fix signal handling using su-exec and ownership of default data volume /data
    • Fix example Docker Compose for Docker Swarm to match Docker image entrypoint chagne
    • Fix password reset token by properly checking counters (#519)
    • Fix password reset token by not decrementing it twice in the token cache
    • Fix expiryAt timestamp for magic_link auth and password reset tokens
    • Fix example Docker Compose for Docker Swarm


    • Add an improved Docker image that supports PUID/PGID env vars to run yarnd as different users (e.g: to support Synolgy)


    • Update CHANGELOG for 0.7.1
  • 0.7.0 dd1bc41b75

    0.7.0 Stable

    prologic released this 2 years ago | 29 commits to since this release

    Releases - yarn - v0.7.0

    This is probably one of the biggest releases of yarnd in a while, there were a lot of bug fixes, improvements as well as a tonne of new features. 🥳


    • Custom pages
      The About, Privacy and Abuse pages can now be customised by Pod Owner/Operators.
      To do so simply copy the builtin ones cp -a internal/pages /path/to/data or
      just start creating matching pages in /path/to/data/pages.
      Note that unfortunately at this time customising pages requires a restart of
      the backend yarnd as page content is cached.
    • Login via Email
      Users can now login with their email address in addition to their username
      and password (if set). This feature can be enabled by Pod Owners/Operators
      with the magic_link_auth feature flag.
    • Improved UX for Follow/Unfollow and Mute/Unmute buttons with graceful JS fallback!
    • Pod-level Timezone, Time format and Open links in preferences.
    • New /custom support for themes to serve arbitrary static assets
      This new route allows Pod Owner/Operators to serve up arbitrary static assets
      with any directory structure that cannot be easily served up by the existing
      /css/:commit, /img/:commit and /js/:commit routes. Custom static assets
      should be placed in a directory called custom under /path/to/theme.

    Bug Fixes

    • Fix bug in setting tokens for passwrod reset and magiclink auth
    • Fix minor bug in TTLCache.get()
    • Fix cached tokens to be deleted after use
    • Fix token expiry check on password reset form
    • Fix password reset and magiclink auth tokens to only be usable once with a default TTL of 30m
    • Fix edit/reply/fork buttons ot use ID selectors
    • Fix /custom static route for prod builds
    • Fix incorrect cache header used in conversation view
    • Fix FeatureFlags' JSON marshalling/unmarshalling
    • Fix Cached.UpdateFeed() to not overwrite a cached feed with an empty set of twts
    • Fix misspelled translation key for ErrTokenExpired
    • Fix autocomplete for Login via EMail's username field
    • Fix potential nil pointer bug in PermalinkHandler()
    • Fix bug that logs pod owner out when deleting users
    • Fix the session cookie name once and for all 🥳
    • Fix Pod Base URL automatically if it's missing a Scheme, log a warning and assume https://
    • Fix caching bug with editing and deleting last twt
    • Fix default MediaResolution to match default themes page width of 850px (Fixes #508)
    • Fix Cache.FetchTwts() to Normalize Feed.URL(s) before doing anything
    • Fix Session Cookie name to by config.LocalURL().Hostname() so the Pod name can be more free form
    • Fix NormalizeURL() to strip URL Fragments from Feed URIs
    • Fix short time ago formats (Fixes #509)
    • Fix title entries of Atom/XML feeds


    • Add improved UX for Follow/Unfollow and Mute/Unmute with graceful JS fallback
    • Add support for Pod-level (User overridable) Timezone, Time and external link preferences
    • Add support for /custom/*filepath arbitrary static file serving from a theme with any directory/file structure
    • Add missing lang msg for MsgMagicLinkAuthEmailSent
    • Add support for Login via Email with feature magic_link_auth
    • Add isFeatureEnabled() func to templates
    • Add support for custom pages (Fixes #393)
    • Add s simple JS confirm to logout to avoid accidental logout
    • Add a PruneUsers job that runs once per week with an email list of candidate users to delete for the Pod Owner based on some heuristics
    • Add new pod yarn.meff.me to manually track versions to help keep the ecosystem up-to-date as we grow :D
    • Add basic validation of the Pod's Base URL to ensure it is TLS enabled in non-debug (production) mode
    • Add pagination extension spec (#494)


    • Update CHANGELOG for 0.7.0
    • Update deps
    • Update contributing guidelines
  • 0.6.2 0f2bbdd1d2

    0.6.2 Stable

    prologic released this 2 years ago | 80 commits to since this release

    This is the second patch for the 0.6.x series of yarnd that fixes a few bugs.
    In addition it also adds "Feed Rotation" via a RotateFeeds() job as this has become necessary now (@prologic filled his feed! finally after 16 months!). Feed rotation is performed at ~2am on a Sunday (weekly) and is controlled by the -F/--max-fetch-limit pod configuration.

    Bug Fixes

    • Fix consistency of pointers on toolbar buttons (Fixes #505)
    • Fix expression in User Settings template for which openLinksInPreference is checked 🤦‍♂️
    • Fix typo in User Settings handler for persisting OpenLinksInPreference 🤦‍♂️


    • Add RotateFeeds job (#504)
    • Add article target (#506)
    • Add per-handler latency metrics


    • Update CHANGELOG for 0.6.2
  • 0.6.1 8ff9211ba7

    0.6.1 Stable

    prologic released this 2 years ago | 89 commits to since this release

    Very sorry 😢 I fucked up in with the addition of hte User OpenLinksInPrefernece features added in 0.6.0 🤦‍♂️ This minor patch releases fixes a nasty nil pointer derefernece bug. Again sorry! 🙇‍♂️

    PLEASE upgrade to 0.6.1+ 🙇‍♂️

    Bug Fixes

    • Fix a nil pointer exception handling User OpenLinksInPreference :/


    • Update CHANGELOG for 0.6.1
  • 0.6.0 ed9de1d67a

    0.6.0 Stable

    prologic released this 2 years ago | 91 commits to since this release

    It's been a pretty big 2 weeks for [Yarn.social]https://yarn.social)'s development!
    We've fixed numerous bugs with yarnd (the backend software behind each pod)
    as well as numerous new features! 🥳 Here's some hightlights:


    • The yarnc command-line client now renders Twts in Markdown just like the Web Interface and Mobile App 🥳
    • Blacklists 🏴‍☠️ it is not possbile for Pod Owner/Operators to "blacklist" feeds by a list of regex patterns. This should be used sparingly and as a last resort ⚠️ (also don't use a regex pattern of .* 😂)
    • Several new User Settings preferences:
      • Time display preferences, 12h or 24h
      • Open links preferences, new window or same window

    These were the biggest changes aside from some pretty major rework of the Global Feed Cache which servces all users on a pod their "timeline", "mentions" and "discover" views. A LOT of work and effort was put into performance optimiations and thus Cache v8 is now the standard feed cache. With this comes better/improved lateency and performance. 🥳

    As per usual, enjoy and happy Yarn'ing 🧶

    Bug Fixes

    • Fix and improve the yarnc timeline to support Markdown rendering and fix multi-line twts
    • Fix missing parser.HardLineBreak extension
    • Fix consistency of Pod URL for the yarnc command-line client to match the mobile app just taking a Pod URL
    • Fix broken tests (#500)
    • Fix typo in recovery email template
    • Fix bug persisting BlacklistedFeeds in Pod override Settings (ooops)
    • Fix validation/initialization bugs with pod override settings and handling of whitelisted_images and blacklisted_feeds
    • Fix data races with feature flags
    • Fix marshaling/unmarshaling of feature flags
    • Fix some weird Markdown parsing and HTML formatting behaviour by turning off some extensions/options
    • Fix bug with serializing FeatureFlags causing pod settings overrides not to load
    • Fix typo (case) in managePod template
    • Fix a panic bug in Cache v7 :/
    • Fix preflight check for Go1.17
    • Fix performance of computing timeline view updated_at timestamps
    • Fix updating UpdateAt timestamps across all views
    • Fix the builtin theme to use title instead of data-tooltip
    • Fix Markdown html rendering and re-enable CommonFlags
    • Fix performance regression posting as user that e9222f5 broke
    • Fix metadata parsing in comments (#484)
    • Fix TwtxtHanadler() to support If-Modified-Since and Range requests (#490)


    • Add a Open links in to user settings page
    • Add a user setting OpenLinksInPreference to control behaviour of opening external links
    • Add highlights to mentions for the yarnc command-line client's timeline sub-command
    • Add vim support to yarnc post to use an editor to write the twt
    • Add parser.NoEmptyLineBeforeBlock to Markdown parsing extensions
    • Add support for user preferred time format (12h/24h)
    • Add support for blacklisting feeds or entire pods, domains, etc
    • Add background tasks for Post handlers and External feeds to decrease latency
    • Add custom user views that take into account user muted feeds
    • Add a --disable-logger flag for those that already do access logs at the ingress level
    • Add a local cache view
    • Add a new view for Discover
    • Add a hacky pre-rendering hook and move timeline tiemstamp updates there for hopefully better perf
    • Add a --max-cache-fetchers configuration option to control the number of fetchers the feed cache uses (defaults to number of cpus)
    • Add a custom version of humanize.Time with shorter output
    • Add .Profile.LastPostedAt to be used by template authors
    • Add support for displaying last updated times for the main three timeline views and proivde as template context (updated_at)
    • Add support for displaying last updated times for the main three timeline views and proivde as template context
    • Add support for displaying external feed's following feeds
    • Add immediate on-pod feed/persona updates
    • Add retryableStore to automatically recover from database failure in some cases (#474)
    • Add discover_all_posts and shorter_permalink_title as permanent feature changes
    • Add fork button to search results
    • Add a much impmroved SearchHandler() and new search template with similar UX to Conversation/Yarn view (#493)


    • Update CHANGELOG for 0.6.0
  • 0.5.0 e5fe007c65

    0.5.0 Stable

    prologic released this 2 years ago | 153 commits to since this release

    Continuing on from the 0.4.x series, this release introduces some major new feautres:

    • First-class custom themes
    • Displaying bookmarks as a "Timeline" view
    • Dealing with misbehaving clieknts
    • Optinoally disabling media altogether (--disable-media)
    • Adding support to the API for allowing the Mobile App to "Poast as..."

    In addition there have been several bugfixes, notable to do with refreshing Avatar across Yarn.social pods.

    As usual please upgrade, and enojy Yarn.social 🤗

    Bug Fixes

    • Fix unnecessary warning on non-existent settings.yaml on startup (Fixes #435)
    • Fix italics formatting toolbar butotn to use foo instead of foo
    • Fix the name of the default database, app specific JS and CSS files
    • Fix loading custom templates and static assets with -t/--theme
    • Fix mising AvatarHash for the API SettingsEndpoint()
    • Fix missing translation on Conversation View (Yarn) title


    • Add Feeds to Profile for the Mobile App (only for the user viewing their own profile)
    • Add support for ignoring twts in the future until they become relevant (#491)
    • Add tw.lohn.in to tools/check-versions.sh
    • Add automatic rename of old store path for pod owners that use defaults to smooth over change in 034009e
    • Add first-class support for themes to more easily customize templates and static assets
    • Add support for displaying bookmarks in a timeline view instead of just a list of hashes
    • Add two additional lines of preamble text promoting Yarn.social (shameful plug)
    • Add support for also disabling media in general (--disable-media)
    • Add -m 5 (5s timeout) to tools/check-pod-versions.sh


    • Update CHANGELOG for 0.5.0
  • 0.4.1 4406164eeb

    0.4.1 Stable

    prologic released this 2 years ago | 175 commits to since this release

    • Fixes the title of the "conversation" button to be "Yarn"

    This brings the Mobile App in-line with the yarnd Web Interface and the branding and labelling to be more consistent. Thanks to @fastidious@arrakis.netbros.com for this suggestion!


    • Update CHANGELOG for 0.4.1
    • Update the default favicon
    • Update release script to also push the git commit
  • 0.4.0 1d652b3b85

    0.4.0 Stable

    prologic released this 2 years ago | 182 commits to since this release

    This is a minor release with an importany user-facing change.

    Auto Refreshing Avatars! 🥳

    Besides this it also improves the code block CSS and adds some extra error handling
    for yarnd --enable-feature ... when an invalid feature is used or as a way to
    list the available experimental features.

    Bug Fixes

    • Fix abbr of URL
    • Fix padding on code blocks (#476)


    • Add support for auto-refreshing avatars using a cache-busting technique
    • Add a fragment, a blake2b base32 encoded hash of user and feed avatars to avatar metddata
    • Add list of available features if invalid feature supplied to --enable-feature


    • Update CHANGELOG for 0.4.0