• 0.11.0 badc723e3d

    0.11.0 Stable

    prologic released this 1 year ago | 0 commits to since this release

    Hello Yarners! 🤗

    Happy New Year! #2021 #NewYearsEve 🥳

    For those of you that live on this side of the planet, Welcome to #2022 🥳

    This year in Yarn we have a brand new version of yarnd
    for you all with exciting new features! 🥳 Some of you have already been using them! 😅


    • NEW Peers try to validate the authenticity of injected Twts between peers.This has finally #resolved the issue with my Avatar that kept reverting back and forth 😂
    • NEW New refresh Metadata field added to the Metadata ext allowing feed authors to manually hint to clients as to how often their feeds should be fetched.
    • NEW Moving Average Feed Refresh (currently in experimental) feature (Enable with moving_average_feed_refresh) that automatically backs off fetching/refreshing feeds based on an exponential moving average of feed's update frequency. This helps to reduce traffic to pods and external feeds but keep the network convergent within 60s to 10m (on-pod are always instantaneous) 🚀
    • NEW Improvements to the yarnc timeline command to support -r/--reverse and -n/--twts 🧑‍💻
    • NEW Support for pruning old dead accounts a multi-user pod might accumulate. This sends an email to the Pod Owner on a weekly basis and uses a heuristic score ranges from 1000 (every user) to 2993 (users who have never posted, never updated any part of their profile). A Poderator (Pod Owner/Operator) is sent a weekly candidates of up to 10 users with a score > 1200 for consideration. 👻
    • NEW Active Users. Pods now measure two key metrics a Poderator can track, Daily Active Users (DAU) and Monthly Active Users (MAU). These are only accurate to a day. 📈
    • NEW New followers tracking that is now actually accurate and is pruned once-per-week. So now your "Followers" count, even across pods will be accurate and up-to-date 🥳
    • FIXED Finally squished that annoying bug 🐞 causing profile data to flip-flop
    • FIXED The LookupHandler() was fixed to support auto/tab-completion for external feeds! 🥳
    • UPDATE Update Chinese and Taiwanese translations! 🇨🇳 🇹🇼

    Big thanks to @gbmor for driving the need for some much needed network optimizations!
    Thanks again to @ullarah for the many UI/UX updates and improvements! 🙇‍♂️
    And thank you again to @venjiang for updating the CN and TW translations! 👌

    As per usual, please provide feedback to @prologic or reply to this Yarn 🤗

    Bug Fixes

    • Fix -R/--raw output of yarnc timeline command
    • Fix NaN bug
    • Fix logging for FeatureMovingAverageFeedRefresh
    • Fix nil pointer bug in Cache.TwtCount()
    • Fix leaking temporary files
    • Fix leaking temporary files and remove when done
    • Fix ShouldRefreshFeed() to always refresh feeds on the same pod
    • Fix boundedMovingAverage expression
    • Fix minor bug with non-existent/blank refresh interval
    • Fix compat for old Twters in archive
    • Fix LookupHandler() and associated Javascript to handle External Avatars and only pull up what the user follows
    • Fix data race in BaseTask
    • Fix an obscure bug with injected twts from peering pods (do not fuck with the LastModified time of the feed)
    • Fix User.Unfollow()
    • Fix Unfollow behaviour
    • Fix TwtxtHandler to display and use correct profile attribute for no. of followers/followings
    • Fix source of occassional 500 errors on /conv/:hash links caused by -TwtRootLinkTitle missing from other translations
    • Fix permalink template and view to handle muted feeds
    • Fix bug displaying Followers count in Settings
    • Fix some gaping security holes by adding missing MustAuth() middleware on protected resources requiring auth (#615)
    • Fix an IndexError bug in SyndicationHandler
    • Fix followers template
    • Fix APIv1 compat by partially reverting fb43196
    • Fix possible deadlocks in store
    • Fix #602: Referrer not remembered after login (#614)


    • Add monthly active users metric (mau)
    • Add -p/--page support to yarnc timeline command
    • Add support for -n/--twts and --r/--reverse to yarnc timeline command
    • Add special case for alwaysRefreshDomains
    • Add FeatureMovingAverageFeedRefresh moving_average_feed_refresh feature
    • Add support for feed refresh intervals + spec + refactor to support handling bad feeds (#624)
    • Add ActiveUsers to startup jobs so dau isn't 0 on startup when it's not
    • Add ActiveUsers job
    • Add PruneFollowers job
    • Add the builtin theme to the Docker image at /theme
    • Add concurrency to check_pod_versions.go to make it go faster :D
    • Add a better tool (written in Go) for checking pod versions


    • Update CHANGELOG for 0.11.0
    • Update .gitignore