• Stable 0.12.0 a8dd58fd0b

    0.12.0

    prologic released this 3 weeks ago | 0 commits to since this release

    Hello Yarners! ๐Ÿค—

    What an absolute week it has been! Quite a bit of change for this Yarn release. Let me preface this by thanking everybody involved in this project; the developers, the UI/UX testers, and especially the users. ๐Ÿค—

    Without further ado, here are the following changes for out 0.12 release!

    General Fixes:

    • Lots of minor alignment issues with logos, code tags and other margins and gaps!
    • Fixed the order of the โ€˜Hide Repliesโ€™ feature.
    • Icons size for profiles without avatars.
    • Fixed duplicate followers bug!
    • Language fixes to have more neutral text.
    • Fixed an issue with last seen text on profiles.

    Highlights:

    • New image displays; Lightbox (as per default) and Gallery for those who prefer images below the text!
    • Variable image support; Preservation of original quality images and serving thumbnails and links to original media.
    • Support for configurable pod-level avatar and media resolutions
    • Added poderator support for deleting feeds in Manage Users
    • Basic onboarding flow for new users including automatic following of important feeds.
    • Backwards compatibility support
    • Canโ€™t forget our CLI users; Adding of hash commands for constructing Twt hashes.
    • Added poderator support for clearing Yarn cache with the Refresh Cache option.
    • Update Pod Logo and Favicon to simpler colours.

    As per usual, please provide feedback to @prologic or reply to this Yarn ๐Ÿค—


    Bug Fixes

    • Fix logo alignment. Fix gap issues with code/pre tags. (#680)
    • Fix CI
    • Fix bad commit in f7db6f9
    • Fix StatsJob() and posting stats as the statsBot via the adminUser
    • Fix sort order of Hide Replies (I think)
    • Fix JSON response of Who Follows Resource (#639)
    • Fix language used in ManageJobs() on successful job queue
    • Fix the URL for user urls in /whoFollows response
    • Fix stupid bugs caused by c14cebb
    • Fix size of icon for profiles with no avatar
    • Fix language for ProfileDoesNotFollowYou to be more neutral
    • Fix code colouring (#636)
    • Fix duplicate followers bug
    • Fix bug with updating Follower.LastSeenAt (pointer mishap)

    Features

    • Add Release Notes for v0.12.0 (Thanks @Ullarah)
    • Add support for Pod-level and User-level Display Media and Original Media settings
    • Add support back for original inline image display as a DisplayImagesPreference (inline)
    • Add Download link to Image modal dialog to download original quality media
    • Add c content-negogiated media view to access original quality media cross-pod (#666)
    • Add support for preserving original quality images and serving thumbnail + link to original (#661)
    • Add support for configurable pod-level avatar and media resolutions (#663)
    • Add support for deleting feed in Manage Pod -> Manage Users
    • Add FeatureInternalEvents (internal_events) and basic Onboarding flow for new users
    • Add support for Hide Replies user settings (Closes #549)
    • Add Avatar to Twter object for User/Feed models so injected Twts injected directly in the cache show the User/Feed's Avatar
    • Add temporary backwards compatibility for yarnd 0.11.x for the fucked up /whoFollows response in MultiUserAgent().Follows() logic
    • Add a yarnc hash command for constructing Twt Hashes by hand (useful for tests and older/legacy clients)
    • Add support for actually nuking the cache with the Refresh Cache admin UI with a Javascript confirmation
    • Add Release Notes for v0.11.0

    Updates

    • Update CHANGELOG for 0.12.0
    • Update Pod Logo and Favicon to simpler colors (#658)
    • Update translations
    • Update 'AUTHORS' file (#634)
    Downloads
     
  • Stable 0.11.0 badc723e3d

    0.11.0

    prologic released this 4 weeks ago | 74 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! ๐Ÿ˜…

    Highlights:

    • 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)

    Features

    • 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

    Updates

    • Update CHANGELOG for 0.11.0
    • Update .gitignore
    Downloads
     
  • Stable 0.10.0 4cf51ddb22

    0.10.0

    prologic released this 1 month ago | 151 commits to since this release

    This week 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! ๐Ÿ˜…

    Highlights:

    • NEW Cache Convergence! -- Phantom Twts are no more! ๐Ÿ‘ป
    • NEW More UI/UX improvements all round! ๐Ÿฅณ
    • NEW Manage Jobs for Poderators โš™๏ธ
    • FIXED Fixed a few minor UI/UX bugs ๐Ÿž (despite the many listed bugs below, we #testinprod ๐Ÿคฃ)

    Big thanks to @ullarah and @fastidious for all the PRs this week ๐Ÿ˜
    And a special thanks to @markwylde for fixing the CSS animations! ๐Ÿ™‡โ€โ™‚๏ธ

    As per usual, please provide feedback to @prologic or reply to this Yarn ๐Ÿค—

    Bug Fixes

    • Fix rotate on submit button (#612)
    • Fix Dockerfile
    • Fix deadlock proper in Converge() and use getPeers() to avoid recursive locks :/
    • Fix deadlock between cache.Converge() and cache.GetPeers()
    • Fix case where there are no suitable peers from the twts and ask a random subset (60%) of peers for the missing root twt
    • Fix search by tags because we normalize the case of tags when indexing in the cache
    • Fix posting performance by moving the Cache Convergence to the UpdateFeeds job
    • Fix noise from DetectPodFromResponse() for Twtxt responses that are non-yarnd pods with an empty/non-existent Powered-By header
    • Fix Follow/Unfollow AJAX
    • Fix error message in BaseFromURL()
    • Fix settings template
    • Fix bad merge
    • Fix bad typo
    • Fix Cache.Store() and Cache.Load() to take advantage of gob streams and reduce memory allocations on startup
    • Fix peer caching for stale peers with lastUpdated > podInfoUpdateTTL
    • Fix a bunch issues found withchanges in the UI/UX mostly to do with Follow/Unfollow and refactor profile views
    • Fix a bunch of missing UI elements on profile view

    Features

    • Add gen-secrets.sh script to provide a convenience way to generate required pod secrets
    • Add LastSeen and LastPosted support
    • Add metrics for convergence processing time and missing twts
    • Add support for cache congerence (missing root twts) (#610)
    • Add support for detecting outgoing peers
    • Add link to the Twter.URL's baseURL(or Yarn.social pod) (#607)
    • Add a Manage Jobs Poderator interface for manually triggering jobs and display background job status
    • Add docs for FromOldCache()
    • Add support for loading up a previous cache version (n-1) and migrating to current version
    • Add MemoryUsage() to help optimize some parts of the codebase's memory allocations

    Updates

    • Update CHANGELOG for 0.10.0
    • Update 'README.md'
    • Update logo
    • Update managePeers template to display no. of peers at the top header
    • Update Manage Jobs icon
    Downloads
     
  • Stable 0.9.0 6c93145b78

    0.9.0

    prologic released this 2 months ago | 210 commits to since this release

    Apologies for the long waited release of the 0.9.x series ๐Ÿ˜… This is a release that mostly refactors a lot of the default theme's UI/UX. In particular the highlights are:

    • Updated icon-set to use the lovely Tabler Icons ๐Ÿ˜
    • Update Profile views to be actually clean and sane! ๐Ÿ‘Œ
    • And lots of other small UI/UX improvements thanks to @fastidious @Ullarah and @darch ๐Ÿ™‡โ€โ™‚๏ธ

    The only other notable changes are Work-in-Progress items that will eventually lead us to a fully distributed and cross-pod Yarns without missing context or participants (based on your interactions with others!).

    As per usual, Happy Yarn'n! And please send all feedback to @prologic or reply to this Twt! ๐Ÿค—

    Bug Fixes

    • Fix memory leak of the internal taskMap for async tasks
    • Fix cache tests
    • Fix display of peers to have a consistent sort order
    • Fix tools/inject_twt.sh
    • Fix bug causing inconsisstencyin order of (#hash) @mention in forks (left over UniqStringsfrom previous refactor :O)
    • Fix form used for Following new feeds (now under Feeds view)
    • Fix profile and externalProfile to only show Follow/Unfollow and Mute/Unmute for authenticated users
    • Fix media button formatting (#569)
    • Fix the location of the tabler-icons.woff icon font and where it's served from
    • Fix bug / bad data in customTimeMagnitudes table causing incorrect relative times to be displayed for >1m

    Features

    • Add tools/compare_twt_chains.sh for comparing two pods conversation chains for set difference of twts
    • Add content-negogiated application/json output for /conv views
    • Add quick script for injecting twts from a source pod to a target pod given a hash
    • Add support for discovering peering pods (#582)
    • Add an experimental injection endpoint for injecting twts into the cache and archive

    Updates

    • Update CHANGELOG for 0.9.0
    • Update External Avatar for injected Twts
    • Update to tabler-icons v1.45.0
    • Update 'internal/theme/static/css/99-yarn.css'
    • Update 'internal/langs/active.en.toml' (#571)
    • Update icons for default theme to use Tabler Icons (#562)
    Downloads
     
  • Stable 0.8.0 80999abfa6

    0.8.0

    prologic released this 2 months ago | 259 commits to since this release

    This week in Yarn we have a brandh new version of yarnd for you all with exciting new features! ๐Ÿฅณ Some of you have already been using them! ๐Ÿค—

    Hightlights:

    • NEW MagicLinkAuth -- Login with your email address!
    • NEW StripTwtSubjectHashes -- Twt Subject Hashes are transparently stripped
    • NEW: ShowTwtContext -- Now that Twt Subject Hashes are gone, all hail Twt Context! ๐Ÿ˜†
      ** FIXED: Fixed a few critical bugs that would cause yarnd to crash and leak resources ๐Ÿž Sorry @jlj and @eldersnake ๐Ÿค—

    Seriously though, these are massive UX improvements to the Web Interface. ๐Ÿ‘Œ (hopefully these will also come to hte Mboie App too!)

    Big thanks to @darch and @fastidious for all the PRs this week ๐Ÿ˜

    As per usual, please provide feedback to @prologic

    Bug Fixes

    • Fix CHANGELOG template (too noisey)
    • Fix loading pod settings with invalid features (Fixes #556)
    • Fix IsAdmin contexxt variable
    • Fix a potential panic in NewContext()
    • Fix bug with --disable-ffmpeg that also disable incorrectly uploading of photos/pictures
    • Fix fd socket leak in webmention handling
    • Fix the margin of the Yarn count badge
    • Fix a few bugs with twt context rendering (aparently you can't nest a tags :O)
    • Fix twt context to use proper Markdown rendering + HTML sanitizer (#532)
    • Fix css for show_twt_context so ellipsis works
    • Fix display of Root conv button for unauthenticated users

    Features

    • Add graceful AJAX support for Follow/UnFollow in Following and Followers views (Fixes #547)
    • Add support for Service Workers to be hosted at /js/ (/static/js/ in themes)
    • Add MagicLinkAuth, StripTwtSubjectHashes and ShowTwtContext as promoted features
    • Add graceful AJAX for Follow/UnFollow and Mute/UnMute for externalProfile template too
    • Add a bunch of missed defer f.Close() -- none of which I believe could lea file descriptors though from open files (#531)
    • Add a class to the twt navigation (#528)
    • Add getRootTwt template function
    • Add experimental Twt Context feature enabled with show_twt_context
    • Add support for displaying list of features with ./yarnd --enable-feature list

    Updates

    • Update CHANGELOG for 0.8.0
    • Update CHANGELOG for 0.8.0
    • Update CHANGELOG for 0.8.0
    • Update CHANGELOG template and config
    • Update 'internal/theme/static/css/99-yarn.css' (#534)
    • Update 'internal/theme/static/css/99-yarn.css' (#533)
    • Update default pod logo as per abb9c01
    Downloads
     
  • Stable 0.7.4 5863328c80

    0.7.4

    prologic released this 3 months ago | 318 commits to since this release

    This is the 4th Hotfix in the yarnd v0.7.x series just due to my sheer tiredness and my own limitations (I'm not perfect ๐Ÿ˜…). Sorry for the noise! Please upgrade to this hotfix when you can! cheers! ๐Ÿ™‡โ€โ™‚๏ธ

    Bug Fixes

    • Fix dupe Twt bug in User views by returning a copy of the view's slice
    • Fix broken logic for archived root twts

    Updates

    • Update CHANGELOG for 0.7.4
    Downloads
     
  • Stable 0.7.3 f4d6681022

    0.7.3

    prologic released this 3 months ago | 322 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

    Features

    • 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)

    Updates

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

    0.7.2

    prologic released this 3 months ago | 341 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

    Updates

    • Update CHANGELOG for 0.7.2
    Downloads
     
  • Stable 0.7.1 a457f7992d

    0.7.1

    prologic released this 3 months ago | 343 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

    Features

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

    Updates

    • Update CHANGELOG for 0.7.1
    Downloads
     
  • Stable 0.7.0 dd1bc41b75

    0.7.0

    prologic released this 3 months ago | 351 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. ๐Ÿฅณ

    Highlights:

    • 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

    Features

    • 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)

    Updates

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

    0.6.2

    prologic released this 3 months ago | 402 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 ๐Ÿคฆโ€โ™‚๏ธ

    Features

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

    Updates

    • Update CHANGELOG for 0.6.2
    Downloads
     
  • Stable 0.6.1 8ff9211ba7

    0.6.1

    prologic released this 3 months ago | 411 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 :/

    Updates

    • Update CHANGELOG for 0.6.1
    Downloads
     
  • Stable 0.6.0 ed9de1d67a

    0.6.0

    prologic released this 3 months ago | 413 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:

    Highlights:

    • 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)

    Features

    • 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)

    Updates

    • Update CHANGELOG for 0.6.0
    Downloads
     
  • Stable 0.5.0 e5fe007c65

    0.5.0

    prologic released this 3 months ago | 475 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

    Features

    • 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

    Updates

    • Update CHANGELOG for 0.5.0
    Downloads
     
  • Stable 0.4.1 4406164eeb

    0.4.1

    prologic released this 3 months ago | 497 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!

    Updates

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

    0.4.0

    prologic released this 3 months ago | 504 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)

    Features

    • 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

    Updates

    • Update CHANGELOG for 0.4.0
    Downloads
     
  • Stable 0.3.0 4f63207afe

    0.3.0

    prologic released this 3 months ago | 513 commits to since this release

    This is mostly a bugfix release. There are no significant new features besides
    the new templated logo, default pod logo and some layout changes.

    Thanks to all those that contirbuted! (You know who you are!)

    Bug Fixes

    • Fix nav layout and remove unncessary container-fluid class
    • Fix excessive padding, minor CSS tweaks and use a centered layout (#473)
    • Fix video poster generation for short (<3s) videos using thumbnail filter
    • Fix User.Fork() behaviour
    • Fix an edge case with the lextwt feed parser with bad url/avatar metadata missing the scheme
    • Fix bug where external avatars were not generated for some misbehaving feeds
    • Fix the rendering of the Twter in permalink titles
    • Fix overriding alrady cached/discovered Avatars from feed advertised Avatar in feed preamble metadata
    • Fix Reply hints to just the Twter
    • Fix and remove unnecessary footer on every Markdown page
    • Fix external feed avatar handling so avatars are always cached and served from the pod
    • Fix up the rendering of the default pages
    • Fix the yarnc stats sub-command to display the right information on feeds
    • Fix User.Filter() to return an empty slice if all twts are filtered
    • Fix handling for external avatars so the local pod has a cached copy and services all external avatars (regression)
    • Fix external profile view to correctly point to the external profile view for the header feed name and cleanup some of hte code
    • Fix consistency of profileLinks partial and drop use of TwtURL from Profile model
    • Fix internal links to open in same page

    Features

    • Add Follow to Settings page and fix template reloading in debug mode (#454)
    • Add support for templating the logo with the pod name and update the default yarnd logo
    Downloads
     
  • Stable 0.2.0 c20962fc97

    0.2.0

    prologic released this 3 months ago | 576 commits to since this release

    After long last v0.2.0 of the Yarn.social yarnd pod backend
    is finally released! ๐Ÿฅณ There are far too many changes here between v0.1.0 and
    v0.2.0 and for that I apologise! ๐Ÿค— Needless to say this releases finally dropps
    all use of any C libraries (no longer requiring the use of CGO) and thus allowing
    me to release pre-built binaries again! ๐Ÿฅณ

    Going forward we will release proper minor/patch and major release versions with
    a proper cadence and following a proper release schedule.

    Thank you! ๐Ÿค—

    Bug Fixes

    • Fix GoReleaser config
    • Fix bug in profileLinks partial
    • Fix external profile view to not display following/followers counts if zero
    • Fix NFollowing count based on no. of # follow = found
    • Fix Conversation view to hide Root button when the conversation has no more roots
    • Fix display of Fork button
    • Fix typo
    • Fix layout of local feeds
    • Fix Feeds view when uneven no. of feeds
    • Fix Feeds view
    • Fix behaviour of when Fork/Conversation buttons are displayed contextually and cleanup UX
    • Fix behaviour of prompt for when the Timeline is empty
    • Fix Python twt hash reference implementation (#459)
    • Fix serving videos behind Cloudflare for Safari and Mobile Safari (redo of 35241bc) by adding a --disable-gzip flag
    • Fix broken test
    • Fix mentions lookup and expansion based on the new (by default) nick@domain format with fallback to local user and custom aliases
    • Fix shortel_permalink_title maxPermalinkTitle to 144
    • Fix feature for shorter_permalink_title
    • Fix serving videos for Mobile Safari / Safari through Cloudflare by disabling Gzip compression :/
    • Fix related projects
    • Fix up the README's links and branding
    • Fix follow handlers and data models to cope with following multiple feeds with the same nick or alias
    • Fix typo in Conversations sub-heading view
    • Fix showing Register button when registrations are disabled (#452)
    • Fix inconsistent button colors using only contrast class sparingly and only for irrรฉversible actions like deleting your account (#453)
    • Fix tests
    • Fix duplicate twtst in FilterOutFeedsAndBotsFactory
    • Fix missing view context initialization missed in two other templates
    • Fix templtes view context var that wasn't initialized
    • Fix logic of handling local user/feeds vs. external feeds in /api/v1/fetch-twts endpoint
    • Fix fetching twts from external profiles
    • Fix order of twts in conversations (reverse order)
    • Fix Twts.Swap() implementation
    • Fix sorting of twts to be consistent (sorted by created, then hash)
    • Fix typo in error handling for updating white list domains
    • Fix preflight to handle Go 1.17
    • Fix loading settings and re-applying WhitelistedDomains on startup
    • Fix lextwt to cope with bad url in metadata
    • Fix FeedLookup case sensitivity bug
    • Fix CI
    • Fix preflight to account for null GOPATH and GOBIN
    • Fix performance of processing WebMentions by using a TaskFunc
    • Fix Makefile
    • Fix typo in +RegisterFormEmailSummary
    • Fix error handling in reset user
    • Fix image name for Docker Hub
    • Fix Drone CI config to build docker images in paralell and fix installation of deps
    • Fix Drone CI for building and pushing Docker images using plugins/kaniko plugin
    • Fix writeBtn (blog post editor) behavior (#433)
    • Fix version string of server binary
    • Fix Drone CI config and add make deps back
    • Fix Drone CI and Docker image tags and versioning
    • Fix Drone CI config
    • Fix server version strings
    • Fix typo
    • Fix Dockerfile.dev with missing langs soruces
    • Fix some more dependneices of things that moved to git.mills.io
    • Fix docker-compose
    • Fix .gitignore
    • Fix stale issue workflow
    • Fix stale issues workflow
    • Fix change in case of translation files
    • Fix User-Agent detection by tightening up the regex used (#418)
    • Fix lang translations to use embed and io/fs to load translations
    • Fix whitespace
    • Fix display of multi-line private messages
    • Fix Emails removeal migration and remove it from the templates
    • Fix tests and refactor invalid feed error (#412)
    • Fix bug in URLForConvFactory to also check for OP Hash validity in the archive too
    • Fix bug in lastTwt.Created() call -- missed in refactor from concrete types to interfaces
    • Fix formatTwtText template factory function
    • Fix User-Agent matching for iPhone OS 14.x that can't handle WebP correctly (even though it claims it can)
    • Fix typo around custom pod Settings struct with missing quote for pod_logo
    • Fix custom pod logo support (#358)
    • Fix public following disclosure (#379)
    • Fix an off-by-one error in types.SplitTwts() (#377)
    • Fix Uhuntu build (#376)
    • Fix option for -P/--parser
    • Fix fallback to config theme when user has no theme set
    • Fix display of published time of blog posts (#366)
    • Fix User Profile URL routes (#360)
    • Fix typo
    • Fix typo
    • Fix typos (#353)
    • Fix a bug for iOS 14.3 Mobile Safari not rendering WebP correctly (work-around)
    • Fix missing closing a (Fixes #335)
    • Fix working simplified docker-compose.yml to get up and running quickly
    • Fix a JS bug clikcing on the Write button in the toolbar to start writing a Twt Blog Post
    • Fix internal events from non-Public IPs (#332)
    • Fix Referer redirect behaviour (#331)
    • Fix deleting last twt (missing csrf token)
    • Fix goreleaser configs
    • Fix bug in UnparseTwtFactory() causing erroneous d to be appended to domains
    • Fix footer layout regression (#322)
    • Fix messaging for when feeds may possibly exceed conf.MaxFetchLimit
    • Fix the way cache_limited counter/log works
    • Fix CI
    • Fix HTML validation errors (#321)
    • Fix text overflow p element
    • Fix a JS bug on load
    • Fix tag expansion (#314)
    • Fix user able visit login and register page after login (#313)
    • Fix edge case with Subject parsing
    • Fix developer experience so UI/UX developers can modify templates and static assets without reloading or rebuilding
    • Fix header wrapping on domain (#306)
    • Fix action URL for managing pods
    • Fix Docker image build
    • Fix Docker image push
    • Fix Docker Image badges (don't yet have a jointwt Docke rHub org)
    • Fix Docker image push
    • Fix conversations for Twt Blog Posts (#287)
    • Fix blog post validation
    • Fix bad data with missing Followers
    • Fix spelling errors on register form
    • Fix bitcask dep
    • Fix a data race with session handling
    • Fix refreshing user's own feed and re-warming cache on a user deleting their last Twt (#272)
    • Fix blog posting with empty titles (#271)
    • Fix image Makefile target that 15f25c1 broke and add PUBLISH=1 variable so we publish new images again
    • Fix order of twts displayed in twt timeline (reverse order)
    • Fix data privacy by removing all user email addresses and never storing emails (#269)
    • Fix image target to not push the image built immediately (CI does this)
    • Fix LICENSE file
    • Fix image resizing for media (avatars was already working)
    • Fix bug with AddFollower()
    • Fix timeline style on mobile devices with very long feed names (#248)
    • Fix userAgentRegex bug with greedy matching
    • Fix UA detection and relax regex even more
    • Fix logic in archiver makePath
    • Fix bug in archiver to prevent use of invalid twt hashes
    • Fix concurrent map read/write bug with feed cache
    • Fix Follows/FollowedBy/Muted for external profiles
    • Fix followers view for external profiles
    • Fix bad copy/paste
    • Fix Docker build
    • Fix title of twt permalinks
    • Fix generate Make target to run rice to embed the assets after minification/bundling
    • Fix size of RSS Icon on External Profile view
    • Fix avatar for external profiles when no avatar found
    • Fix size of icss-rss icon for externals feeds without an avatar
    • Fix color of multimedia upload buttons
    • Fix bug in /settings view
    • Fix more UI/UX things on the Web App with better CSS
    • Fix typo
    • Fix spacing around icons for Post/Publish button (#233)
    • Fix potential session cookie bug where Path was not explicitly set
    • Fix name of details settings tab for Pod Management
    • Fix name of details settings tab for Pod Management
    • Fix /report view to work anonymously without a user account
    • Fix conversation bug caused by user filter (mute user feature)
    • Fix a bug with User.Filter()
    • Fix wording in Mute / Report User text
    • Fix grammar on /register view
    • Fix link to /abuse page
    • Fix JS error
    • Fix og:description meta tag
    • Fix a few bugs with OpenGraph tag generation
    • Fix URLForExternalProfile links and typo (#224)
    • Fix subject bug causing conversations to fork (#217)
    • Fix JS bug with persisting title/text fields
    • Fix API Signing Key (#212)
    • Fix video upload quality by disabling rescaling (#205)
    • Fix structtag for config (#203)
    • Fix old missing twts missing from the archive from local users and feeds
    • Fix older Twt Blog posts whoose Twts has been archived (and missing? bug?)
    • Fix MediaHandler to return a Media Not Found for non-existent media rather than a 500 Internal Server Error
    • Fix build (#198)
    • Fix responsive video size on mobile (#195)
    • Fix video aspect ratio and scaling (#191)
    • Fix Range Requests for /media/* (#190)
    • Fix video display to use block style inside paragraphs (#189)
    • Fix missing names to feeds
    • Fix links to external feeds
    • Fix ExpandTags() function so links to Github issue comments work and add unit tess (#176)
    • Fix PublishBlogHandler(o and fix line endings so rendering happens correctly
    • Fix incorrect locking used in GetByPrefix()
    • Fix blogs cache bug
    • Fix logic for when to attempt to send webmentions for mentions
    • Fix duplicate @mentions in reply (Fixes #167)
    • Fix concurrency bug in cache.GetByPrefix()
    • Fix content-type and set charset=utf-8
    • Fix wrapping behaviour and remove warp=hard
    • Fix blogs cache to be concurrenct safe too
    • Fix global feed cache concurrency bug
    • Fix all invalid uses of footer inside hgroup and make all hgroups consistently use h2/h3
    • Fix regex patterns for valid username and feed names and mention syntax
    • Fix and restore full subjet in twt replies (#163)
    • Fix the pager (properly)
    • Fix bug with pager (temporary fix)
    • Fix nil pointer in map assignment bug
    • Fix cli build nad refactor username/password prompt handling
    • Fix the CSS/JS bundled assets with new minify tool (with bug fixes)
    • Fix bug in /settings with incorrect call to .Profile()
    • Fix date/time shown on blog posts (remove time)
    • Fix metric naming consistency feed_sources -> cache_sources (#155)
    • Fix duplicate tags and mentions (#154)
    • Fix content-negotiation for image/webp
    • Fix ExpandMentions()
    • Fix dns issues in container and force Go to use cgo resolver
    • Fix CI
    • Fix feed cache bug not storing Last-Modified and thereby not respecting caching
    • Fix inconsistency in Syndication and Profile views accessing feed fiels directly instead of by the cache
    • Fix CI
    • Fix Dockerfile with missing webmention sources
    • Fix webmention handling to be more robust and error proof
    • Fix AvatarHandler that was incorrectly encoding the auto-generated as image/webp when image/png was asked for
    • Fix bug in /mentions and dedupe twts displayed
    • Fix bug causing permalink(s) on fresh new twts to 404 when linked to but not in the local pod's cache
    • Fix /mentions view logic (ooops)
    • Fix bug in register user on fresh pods with no directory structure in place yet
    • Fix typo
    • Fix bug
    • Fix ordering of twts post cache ttl and archival
    • Fix an index out of bounds bugs
    • Fix the logic for Max Cache Items (whoops)
    • Fix bug in ParseFile() which may cause all local and user twts to be considered old
    • Fix UX perf of posting and perform async webmentions instead
    • Fix bugs with followers/folowing view post external feed integration
    • Fix session leadkage by not calling SetSession() on newly created sessions (only when we actually store session data)
    • Fix leaking sessions and clean them up on startup and only persist sessions to store for logged in users with an account
    • Fix external avatar, don't set a Twter.Avatar is none was foudn
    • Fix build
    • Fix bug with caching Twter.URL for external feeds
    • Fix isLocal check in proile template
    • Fix more bus
    • Fix Twtter caching in feed cache cycles
    • Fix Twtxt URL of externalProfile view
    • Fix several bugs to do with external profiles (I'm tired :/)
    • Fix typo
    • Fix bug with DownloadImage()
    • Fix computed external avatar URIs
    • Fix external avatar negogiation
    • Fix old user avatars (proper)
    • Fix profile avatars
    • Fix profile bug
    • Fix Dockerfile (again)
    • Fix Dockerfile adding missing minify tool
    • Fix Edit on Github page link
    • Fix bug in #hashtag searching showing duplicates twts in results
    • Fix the global feed_cache_size count
    • Fix profile view and make Reply action available on profile views too
    • Fix typo
    • Fix bug in theme so null theme defaults to auto
    • Fix feed_cache_size metric bug (missed counting already-cached items)
    • Fix bug in profile view re ShowConfig for profileLinks
    • Fix another memory optimization and remove another cache.GetAll() call
    • Fix media upload image resize bug
    • Fix caching bug with /avatar endpoint
    • Fix similar bug to #124 for editing last twt
    • Fix bug in feed cache for local twts
    • Fix bug in feed cache dealing with empty feeds or null urls
    • Fix media uploads to only resize images if image > UploadOptions.ResizeW
    • Fix session storage leakage and delete/expunge old sessions
    • Fix memory allocation bloat on retrieving local twts from cache
    • Fix the glitchy theme-switcher that causes unwanted flicker effects (by removing it!)
    • Fix populating textarea when reply button is clicked for more than one time. (#124)
    • Fix repository name in Docker GHA workflow
    • Fix database fragmentation and merge on startup
    • Fix local twts lookup to be O(n) where n is the no. of source urls (not total twts in cache)
    • Fix image handling and auto-orient images according to their EXIF orientation tag
    • Fix panic in PageHandler() -- not safe to reuse the markdown parser, etc

    Documentation

    • Document Twt Subject Extension (#309)

    Features

    • Add support for detecting and disabling ffmpeg support for audio/video with --disable-ffmpeg as an optional configuration flag
    • Add support for fetching, storing and serving remote external feed description and following/followers counts via the API
    • Add support for fetching, storing and displaying remote feed description and following/followers counts
    • Add Root to link back to root conversations in Conversation view
    • Add Disable Gzip server setting on startup output
    • Add build-dev-site Drone CI job to build docs (dev.twtxt.net) site
    • Add Spec for Metadata Extension (#451)
    • Add shorter_permalink_title feature
    • Add yarnc --help to README
    • Add the same nick@domain and then nick_xx behaviour for keeping track of followers too
    • Add Tools section to Useer Settings and Bookmarklet that can be added to browser bookmark bars
    • Add some prompts to new users with an empty timeline
    • Add a human/crawler friendly version of /version
    • Add a SoftwareConfig struct and /version endpoint to more easily identify pods
    • Add JSON marshallers/unmarshallers to FeatureFlags
    • Add FeatureDiscoverALlPosts to the API end /api/v1/discover endpoint too
    • Add optional feature (--enable-feature discover_posts_all)
    • Add following and followers counts to default feed preamble metadata
    • Add a hacky temporary solution to squelch flip-flopping followers (#450)
    • Add a ~/:nick/post/ route for blog posts
    • Add support for Muting/Unmuting external pods (cross-pod)
    • Add a POSIX Shell script to run preflight checks as part of the default Makefile target
    • Add handlers for ~/:nick
    • Add --json flag to yarnc timeline command for seeing and processing the raw JSON from the API
    • Add WhitelistedDomains support to Manage Pod settings
    • Add content-negogiation for /twt/:hash handler
    • Add CI for dev.twtxt.net
    • Add native support for Gopher (gopher://) feeds
    • Add support for forking conversations in the Web UI
    • Add Drone CI step to build and push to prologic/yarnd (Docker Hub)
    • Add a 2nd docker image publihs step
    • Add separate docker image publish step
    • Add Reset User feature to Pod Management interface
    • Add a blake2b_base32 cli tool
    • Add i18n to deps and generate active.*.toml
    • Add missing lang (i18n) files to Docker image builds
    • Add preamble to top of all twtxt feeds (#384)
    • Add check for Bad Request in CLI and fix PEBKAC problem of entering a bad Pod API Base URL :D
    • Add support for bookmarks (#372)
    • Add support for draft blog posts and fix deletion (#367)
    • Add Node.js reference implementation of Twt Hash algorithm (#365)
    • Add @twtxt FOLLOW events for feeds too
    • Add information about ffmpeg dependency. Remove repeated FreeBSD section. Fix a formatting error or two
    • Add missing CI step for tools deps
    • Add local Drone CI config
    • Add support for expanding Twtxt mentions and tags in Twt Blog posts
    • Add support for bookmarklet(s)
    • Add Content-Length to TwtxtHandler for /user/:user/twtxt.txt URIs so Pods know what the size of feeds are
    • Add feed_limited counter to measure no. of feeds affected by conf.MaxFetchLimit
    • Add SameSite session cookie policy and CSRF Verification to prevent Cross-Site-Sciprint (XSS)
    • Add msgs.Inc() and msgs.Dec() for messages
    • Add Pod config handlers and API endpoints (#297)
    • Add rice-embed.go so the go get works
    • Add net/http/pprof to debug mode
    • Add improved async media upload endpoint for the API (backwards compatible) (#274)
    • Add front matter to pages
    • Add Atom link for Pod's timeline (aka Discover) on the bottom of every page
    • Add ValidateFeeds job to cleanup bad feeds on twtxt.net
    • Add timeline command to twt (command-line client)
    • Add GET support for /api/v1/settings endpoint to retrieve user settings/object (#256)
    • Add /api/v1/settings API Endpoint for updating user settings (#252)
    • Add better support for UA on fetches with token callback (#249)
    • Add Follows/FollowedBy attributes to user profiles
    • Add footnote parsing for Twt Blogs
    • Add HardLineBreak and NoEmptyLineBeforeBlock to Markdown parser options
    • Add protection against brute force login attempts at user accounts (#241)
    • Add FilterTwts to conversation view and treat /conv URIs a bit like /twt (permalink) ones
    • Add a RealIP middleware to capture the real ip of clients when we're behind a proxy
    • Add better page titles to improve SEO
    • Add /api/v1/conv ConversationEndpoint() to API
    • Add DEBUG=1 capability to Makefile for debug builds with real-time static (css/js/img) asset modifications
    • Add missing FilterTwts() calls to API
    • Add Muted property to Profile objects in ProfileResposne for the API (#235)
    • Add improved CSS for the timeline view
    • Add feed validation to Follow requests from Web App and API to avoid invalid feeds (#228)
    • Add /mute and /unmute API endpoints (#230)
    • Add /support and /report API endpoints (#231)
    • Add switch on /register view to encourage new users to read the community guidelines and agree to them (EULA)
    • Add support for Pod Owners to manage users (add/delete) (#227)
    • Add a fast-path to User.Filter() when .muted is of length 0
    • Add support for muting/unmuting intolerable users (#226)
    • Add text to /register view that links to the /abuse page
    • Add blank Abuse Policy (to be filled out)
    • Add OpenGraph Meta tags to Twt Permalinks (#225)
    • Add support for uploading audio media (#222)
    • Add MarkdownText field to Twt (#223)
    • Add Tags and Subject as dynamic fields to Twt.MarshalJSON() for API clients (#219)
    • Add support for managing a pod's configuration as a pod owner (#170)
    • Add Hash to Twt and Slug to Twter outputs when Marshalled as JSON for the API (#206)
    • Add archive_dupe counter
    • Add support for persisting Title and Text in Twts and Twt Blogs to local storage (#193)
    • Add support for auto-generating poster thumbnails for uploaded videos
    • Add playsinline as allowed attr on video elements
    • Add ffmeg to Dockerfile runtime image and remove debug loggging (#188)
    • Add support for older video media (locally) (#187)
    • Add support for video uploads and hosting (#186)
    • Add blogs, archived and cache stats and cache_blogs to metrics
    • Add BlogPost PublishedAt and Modified timestamps
    • Add support for editing twt blog posts (#171)
    • Add missing mu.Lock() for loading older twts cache
    • Add support for newlines in Twts (short-form) by using Unicode LS (\u2028) to encode them (#166)
    • Add Timeline navbar item and cleanup Navbar
    • Add support for editing/deleting your last Twt in a Conversation view
    • Add Ctrl+Enter to Post a new Twt
    • Add link to Blog on Twts associated with a Twt Blog Post
    • Add formatDateTime template function to shorten the human display of Twt posted date/time shorter when it wasn't that long ago
    • Add a border around avatar images
    • Add support for style attr on some HTML elements as an option for some users
    • Add integrated support for conversations (#161)
    • Add a O(1) lookup for a types.Twt by hash in the global feed cache (cahced on demand)
    • Add /blogs view to display all twt blog posts for an author (#160)
    • Add unit tests for types.Twt.Subject() and fix the regex (#157)
    • Add unit tests for types.Feed (#156)
    • Add a note about having to be logged in to comment on blog posts
    • Add better UI/UX around the blog view with comments in reverse order and some nice headings
    • Add support for long-form posts (blog posts) with integrated twt(s). (#152)
    • Add remote mention syntax @user@domain (#151)
    • Add twtd_server_sessions metric
    • Add Token model and view for managing API Tokens (#135)
    • Add vendored version of github.com/prologic/webmention since it has detracted slightly from standard webmention handling
    • Add a Remember Me to /login view
    • Add a new SessionStore that is a caching/persistent store
    • Add MergeStoreJob to merge the store once per day
    • Add local twts to mentions view in addition to feeds the user follows
    • Add a DiskArchver that implements a Cache TTL (#138)
    • Add more candidates to GetExxternalAvatar() and rearrange preferences
    • Add a db.Merge() call after startupJobs() to free memory on database compaction possibly after some cleanup jobs
    • Add a GenerateAvatar() func and use github.com/nullrocks/identicon for identicons
    • Add loading=lazy attr to all images to lazy load images on supported browsers
    • Add post form to external profile view
    • Add improved external feed integration
    • Add .gitkeep files for data directory layout
    • Add missing HEAD handler for /externa/:slug/avatar
    • Add support for WebP image format (#130)
    • Add tooling to combined and minify all static css/js assets into a single file and request (boosting load times)
    • Add external avatar to /external view
    • Add support for fetching, caching and displaying external avatars
    • Add /robots.txt view
    • Add post form on profile view and puts profile links in a 2nd column
    • Add user preferences for theme in /settings view
    • Add target=_blank to Config/Twtxt/Atom Profile Links
    • Add link to user config on /settings view
    • Add server_info metric with version information
    • Add Grafana Dashbaord
    • Add /user/:nick/config.yaml handler (Closes #36)
    • Add debug-only memory profiler to debug some memory bloat
    • Add a Uploading to the Upload button tooltip when its processing the media
    • Add a paper-plance icon to the Post button
    • Add profile links to /settings view to be consistent with the profile view

    Updates

    • Update CHANGELOG for 0.2.0
    • Update the footer of the base template to remove James Mills (the original author/creator) and instead link to Yarn.social as the primary branding
    • Update to Bitcask v0.3.14
    • Update bitcask to v0.3.13
    • Update README
    • Update README a little bit and add Drone CI badge
    • Update docker image publication
    • Update deps
    • Update about.md
    • Update stale workflow
    • Update privacy.md
    • Update icon used for bookmarking Twts (Closes Viglino/iconicss#21)
    • Update production example docker + traefik deployment
    • Update README.md
    • Update README.md
    • Update deps
    • Update README
    • Update external feed source URI(s)
    • Update Go module path to github.com/jointwt/twtxt and remove committed .min.* and commit rice-embed.go insted
    • Update links to Related Projects
    • Update README.md
    • Update bundled CSS
    • Update abuse.md
    • Update about.md
    • Update Grafana Dashboard
    • Update Grafana Dashboard
    • Update Grafana Dashboard
    • Update Grafana Dashboard
    • Update Grafana Dashboard
    • Update Grafana Dashboard
    • Update Grafana Dashboard
    • Update Grafana Dashboard
    • Update Grafana Dashboard
    • Update Grafana Dashboard
    • Update README.md
    • Update AUTHORS (#131)
    • Update Grafana Dashboards and make all panels transparent
    • Update Grafana Dashbaord with fixed Go Memory panel
    • Update Grafana Dashbaord
    • Update README.md
    • Update README.md
    Downloads
     
  • Stable 0.1.0 78785b53da

    0.1.0

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

    twtxt v0.1.0 -- 3 Pods, 100+ Users, 1500+ Posts, 1M hits! ๐ŸŽ‰

    WOW! ๐Ÿ˜ฒ What a week it has been! We don't seem to be increasing in user count (at least on the first pod twtxt.net) but that's okay! We have exciting news! We've now launched our fully-managed 1-click pods. What's a pod you say? Well we launched the first instance of prologic/twtxt a little over a month ago now over at twtxt.net (the first pod).

    As of the 15th Aug 2020 we now offer hosted, fully managed 1-click pods. Check it out over at Twt.social. ๐ŸŽ‰

    We invite anyone to get in touch and become one of the first few to have their own pod, their own little place on the micro-Blogging Web ๐Ÿ˜Ž This is invite-only at this time, but in the near future we will generally open this up for all. ๐Ÿค—

    On to the highlights!

    Highlights

    • NEW: WebMention! That's right! We added support for WebMentions generically as well as between users across different pods. ๏ผ  (more on this later)
    • NEW: Configurable Timezone settings. You can now display the date/time of twts in your timeline in the timezone of your choice! โฑ
    • NEW: Monitoring and Metrics! We. now have a /metrics endpoint for monitoring pods via Prometheus ๐Ÿ”ข
    • NEW: External feeds are now display inline as if they were any other normal feed. No more ugly "text" view! ๐Ÿ“ฐ
    • NEW: Permalinks! You can now link to specific twts by their permalink (the date/time link)! โ™พ

    Thanks!

    • Thanks @aaadonai for continued hard work and effort on the iOS App!
    • Thanks @dooven for the new README GIF and External Feeds view!
    • Thanks @shahxeb for the contact/support page with captcha support.
    • Thanks @fluffy-critter for helping with the IndieWeb and WebMention support!

    If I missed anyone, please hit me up on twtxt.net and tag me @prologic ๐Ÿ˜›


    Bug Fixes

    • Fix paging on discover and profile views
    • Fix missing links in about page
    • Fix Dockerfile with missing new pages
    • Fix horizontal scroll / overflow on mobile devices
    • Fix Atom feed and populate Summary with text/html and title with text/plain
    • Fix UX of hashes and shorten them to 11 (by default) characters which is roughly 88 bits of entropy or basically never likely to collide :D
    • Fix UX of relative time display and use humanize.Time
    • Fix /settings to be a 2-column layout since we don't have that many settings
    • Fix superfluous paragraphs in twt formatting
    • Fix the email templates to be consistent
    • Fix the UX of the password reset view
    • Fix formatting of Support Request email and indent/quote Subject/Message
    • Fix the workding around password reset emails
    • Fix Reply-To for support emails
    • Fix email to send text/plain instead of text/html
    • Fix wrong template for SendSupportRequestEmail()
    • Fix Docker GHA workflow
    • Fix docker image versioning
    • Fix Docker image
    • Fix long option name for open registrations
    • Fix bug in /lookup handler
    • Fix /lookup to only regturn following and local feeds
    • Fix /lookup handler behaviour
    • Fix UI/UX of relative twt post time
    • Fix UI/UX of date/time of twts
    • Fix Content-Type on HEAD /twt/:hash
    • Fix a bunch of IE11+ related JS bugs
    • Fix Follow/Unfollow actuions on /following view
    • Fix feed_cache_last_processing_time_seconds unit
    • Fix bug with /lookup handler and perform case insensitive looksup
    • Fix and tidy up the /settings view with followers/following now moved to their own views
    • Fix missing space on /followers
    • Fix user experience with editing your last Twt and preserve the original timestamp
    • Fix Atom URL for individual Twts (Fixes #117)
    • Fix bad name of PNG (typod extension)
    • Fix hash collisions of twts by including the source twtxt URI as well
    • Fix and add some missing icons
    • Fix bug in new permalink handling
    • Fix other missing uploadoptions

    Features

    • Add post partial to permalink view for authenticated users so Reply works
    • Add WebMentions and basic IndieWeb ยตFormats v2 support (h-card, h-entry) (#122)
    • Add missing spinner icon
    • Add tzdata package to runtime docker image
    • Add user setting to display dates/times in timezone of choice
    • Add Content-Typre to HEAD /twt/:hash handler
    • Add HEAD handler for /twt/:hash handler
    • Add link to twt.social in footer
    • Add feed_cache_last_processing_time_seconds metric
    • Add /metrics endpoint for monitoring
    • Add external feed (#118)
    • Add link to user's profile from settings
    • Add Follow/Unfollow actions for the authenticated user on /followers view
    • Add /following view with defaults for new to true and tidy up followers view
    • Add Twtxt and Atom links to Profile view
    • Add a note about off-Github contributions to README
    • Add PNG version of twtxt.net logo
    • Add support for configurable img whitelist (#113)
    • Add permalink support for individual local/external twts (#112)
    • Add etags for default avatar (#111)
    • Add text/plain alternate rel link to user profiles
    • Add docs for Homebrew formulare

    Updates

    • Update CHANGELOG for 0.1.0
    • Update CHANGELOG for 0.0.13
    • Update README.md
    • Update README gif (#121)
    • Update /feeds view and simplify the actions and remove own feeds from local feeds as they apprea in my feeds already
    • Update the /feeds view with My Feeds and improve some of the wording
    • Update README.md (#116)
    • Update README.md
    • Update logo
    • Update README.md
    Downloads
     
  • Stable 0.0.12 645d4e0d9f

    0.0.12

    prologic released this 1 year ago | 89 commits to master since this release

    twtxt v0.0.12 -- 100+ Users, 1000+ Posts, 0.5M hits! ๐ŸŽ‰

    This is a BIG Release!

    Aside from the usual culprits and bug-fixes, this release has a whopping list of new user-facing features you will all be excited about! ๐Ÿ˜บ There are also a bunch of developer-facing features too for all your ๐Ÿ‘จโ€๐Ÿ’ป devs out there! The native iOS App is now almost ready for private beta testing! ๐ŸŽ‰

    Highlights

    • NEW: Command-line client twt (not feature complete) where you can now post from the command-line! ๐Ÿ‘จโ€๐Ÿ’ป
    • NEW: Homebrew formulae releases for macOS users! ๐Ÿ
    • NEW: Auto-Complete / TypeAhead lookup of users/feeds/nicks when you want to @mention! ๏ผ 
    • NEW: New shiny formatting toolbar and improved Ui/UX for media uploads! ๐Ÿ“ธ
    • NEW: Configuration for open-profiles and Syndication formats. ๐Ÿ—ž
    • NEW: You can now Edit or Delete your last Twt! ๐Ÿ…‡
    • and heaps more!

    BIG Should out to all the new Contributors on the project and for all the support so far!

    • @dooven for the new #hashtag searching and feed images!
    • @shahxeb for finally fixing the top navbar to be consistent wit the PicoCSS style whilst still being mobile friendly! ๐Ÿ‘
    • @evd3v for building a typeahead / auto-complete lookup for @user mentions! ๐Ÿ™‡โ€โ™‚๏ธ

    If I missed anyone, please hit me up on twtxt.net and tag me @prologic ๐Ÿ˜›

    Bug Fixes

    • Fix duplicate build ids for goreleaser config
    • Fix and simplify goreleaser config
    • Fix avatar upload handler to resize (disproportionally?) to 60x60
    • Fix config file loading for CLI
    • Fix install Makefile target
    • Fix server Makefile target
    • Fix index out of range bug in API for bad clients that don't pass a Token in Headers
    • Fix z-index of the top navbar
    • Fix logic of count of global followers and following for stats feed bot
    • Fix the style of the media upload button and create placeholder buttons for other formatting
    • Fix the mediaUpload form entirely by moving it outside the twtForm so it works on IE
    • Fix bug pollyfilling the mediaUpload input into the uploadMedia form
    • Fix another bug with IE for the uploadMedia capabilities
    • Fix script tags inside body
    • Fix JS compatibility for Internet Explorer (Fixes #96)
    • Fix bad copy/paste in APIv1 spec docs
    • Fix error handling for APIv1 /api/v1/follow
    • Fix the route for the APIv1 /api/v1/discover endpoint
    • Fix error handling of API's isAuthorized() middleware
    • Fix updating feed cache on APIv1 /api/v1/post endpoint
    • Fix typo in /follow endpoint
    • Fix the alignment if the icnos a bit
    • Fix bug loading last twt from timeline and discover
    • Fix delete last tweet behaviour
    • Fix replies on profile views
    • Fix techstack document name
    • Fix Dockerfile image versioning finally
    • Fix wrong handler called for /mentions
    • Fix mentions parsing/matching
    • Fix binary verisoning
    • Fix Dockerfile image and move other sub-packages to the internal namespace too
    • Fix typo in profile template
    • Fix size of external feed icons
    • Fix alignment of Twts a bit better (align the actions and Twt post time)
    • Fix alignment of uploaded media to be display: block; aligned
    • Fix postas functionality post Media Upload (Missing form= attr)
    • Fix downscale resolution of media
    • Fix bug with appending new media URI to text input
    • Fix misuse of pronoun in postas dropdown field
    • Fix sourcer links in README
    • Fix bad error handling in /settings endpoint for missing avatar_file (Fixes #63)
    • Fix potential vulnerability and limit fetches to a configurable limit
    • Fix accidental double posting
    • Fix /settings handler to limit request body
    • Fix followers page (#53)

    Documentation

    • Document Bitcask's usage in teh Tech Stack

    Features

    • Add Homebrew tap to goreleaser config
    • Add version string to twtd startup
    • Add a basic CLI client with login and post commands (#108)
    • Add hashtag search (#104)
    • Add FOLLOWERS:%d and FOLLOWING:%d to daily stats feed
    • Add section to /help on whot you need to create an account
    • Add backend handler /lookup for type-ahead / auto-complete @mention lookups from the UI
    • Add tooltip for toolbar buttons
    • Add ย  between toolbar sections
    • Add strikethrough and fixed-width formatting buttons on the toolbar
    • Add other formatting buttons
    • Add support for syndication formats (RSS, Atom, JSON Feed) (#95)
    • Add Pull Request template
    • Add Contributor Code of Conduct
    • Add Github Downloads README badge
    • Add Docker Hub README badges
    • Add docs for the APIv1 /api/v1/post and /api/v1/follow endpoints
    • Add configuration open to have open user profiles (default: false)
    • Add basic e2e integration test framework (just a simple binary)
    • Add some more error logging
    • Add support for editing and deleting your last Twt (#88)
    • Add Contributing section to README
    • Add a CNAME (dev.twtxt.net) for developer docs
    • Add some basic developer docs
    • Add feature to allow users to manage their subFeeds (#80)
    • Add basic mentions view and handler
    • Add Docker image CI (#82)
    • Add MaxUploadSizd to server startup logs
    • Add reusable template partials so we can reuse the post form, posts and pager
    • Add /api/v1/follow endpoint
    • Add /api/v1/discover endpoint
    • Add /api/v1/timeline endpoint and content negotiation for general NotFound handler
    • Add a basic APIv1 set of endpoints (#66)
    • Add Media Upload Support (#69)
    • Add ETag in AvatarHandler (#67)
    • Add meta tags to base template
    • Add improved mobile friendly top navbar
    • Add logging for SMTP configuration on startup
    • Add configuration options for SMTP From address used
    • Add fixPossibleFeedFollowers migration for twtxt.net
    • Add avatar upload to /settings (#61)
    • Add update email to /settings (Fixees #55
    • Add Password Reset feature (#51)
    • Add list of local (sub)Feeds to the /feeds view for better discovery of user created feeds

    Updates

    • Update /about page
    • Update issue templates
    • Update APIv1 spec docs, s/Methods/Method/g as all endpoints accept a single-method, if some accept different methods they will be a different endpoint
    • Update and improve handling to include conventional (re ...) (#68)
    Downloads
     
  • Stable 0.0.11 a7ff301c17

    0.0.11

    prologic released this 2 years ago | 192 commits to master since this release

    twtxt v0.0.11 Exciting News!

    This is a BIG Release!

    Aside from the usual culprits and bugfixes, this release has a whopping list of new user-facing features you will all be excited about! ๐Ÿ˜บ

    Highlights

    • Cat Pictures! ๐Ÿ˜บ Yes that's right! You can now upload images/photos straight to your twtxt.net feed.
    • Avatars! ๐Ÿคฆโ€โ™‚๏ธ You can now upload your own mug shot of yourself! ๐ŸŽ‰
    • Password Reset now works so you can recover from a forgotten password.
    • Replies are more convenient and intuiative.

    And on top of all that?! ๐Ÿ˜ฒ

    • APIv1 with the following endpoints:
      • /api/v1/auth
      • /api/v1/timeline
      • /api/v1/discover
      • /api/v1/follow

    What is this you say? This is for the new and upcoming Mobile (iOS) App, upcoming CLI and all kinds of other integrations you smart devs will come up with! ๐ŸŽ‰๐Ÿ˜Ž

    BIG Should out to all the new Contributors on the project and for all the support so far!

    • @dbohdan for contributing security fixes
    • @dooven for contributing heaps of bug fixes and having the best Test Plans!
    • @shahxeb for building out the Password Reset and Media Upload features!
    • @lwojcik for spinning up a new twtxt instnace!
    • @aaadonai for building out the new iOS Mobile App!
    • @flavienbwk for fixing documentation and Docker build flows!

    If I missed anyone, please hit me up on twtxt.net and tag me @prologic ๐Ÿ˜›

    Bug Fixes

    • Fix size of external feed icons
    • Fix alignment of Twts a bit better (align the actions and Twt post time)
    • Fix alignment of uploaded media to be display: block; aligned
    • Fix postas functionality post Media Upload (Missing form= attr)
    • Fix downscale resolution of media
    • Fix bug with appending new media URI to text input
    • Fix misuse of pronoun in postas dropdown field
    • Fix sourcer links in README
    • Fix bad error handling in /settings endpoint for missing avatar_file (Fixes #63)
    • Fix potential vulnerability and limit fetches to a configurable limit
    • Fix accidental double posting
    • Fix /settings handler to limit request body
    • Fix followers page (#53)
    • Fix wording on settings re showing followers publicly
    • Fix bug that incorrectly redirects to the / when you're posting from /discover
    • Fix profile template and profile type to show followers correctly with correct link
    • Fix Profile.Type setting when calling .Profile() on models
    • Fix a few misisng trimSuffix calls in some tempaltes
    • Fix sessino persistence and increase default session timeout to 10days (#49)
    • Fix session unmarshalling caused by 150690c
    • Fix the mess that is User/Feed URL vs. TwtURL (#47)
    • Fix user registration to disallow existing users and feeds
    • Fix the specialUsernames feeds for the adminuser properly on twtxt.net
    • Fix remainder of feeds on twtxt.net (we lost the contents of news oh well)
    • Fix new feed entities on twtxt.net
    • Fix all logging in background jobs to only output warnings
    • Fix and tidy up dependencies

    Features

    • Add /api/v1/follow endpoint
    • Add /api/v1/discover endpoint
    • Add /api/v1/timeline endpoint and content negogiation for general NotFound handler
    • Add a basic APIv1 set of endpoints (#66)
    • Add Media Upload Support (#69)
    • Add Etag in AvatarHandler (#67)
    • Add meta tags to base template
    • Add improved mobile friendly top navbar
    • Add logging for SMTP configuration on startup
    • Add configuration options for SMTP From addresss used
    • Add fixPossibleFeedFollowers migration for twtxt.net
    • Add avatar upload to /settings (#61)
    • Add update email to /settings (Fixees #55
    • Add Password Reset feature (#51)
    • Add list of local (sub)Feeds to the /feeds view for better discovery of user created feeds
    • Add Feed model with feed profiles
    • Add link to followers
    • Add random tweet prompts for a nice variance on the text placeholder
    • Add user Avatars to the User Profile view as well
    • Add Identicons and support for Profile Avatars (#43)
    • Add a flag that allows users to set if the public can see who follows them

    Updates

    • Update CHANGELOG for 0.0.11
    • Update README.md
    • Update README
    • Update and improve handling to include conventional (re ...) (#68)
    • Update pager wording
    • Update pager wording (It's Twts)
    • Update CHANGELOG for 0.0.11
    • Update default list of external feeds and add we-are-twtxt
    • Update feed sources, refactor and improve the UI/UX by displaying feed sources by source instead of lumped together
    Downloads
     
  • Stable 0.0.10 eb16adc72e

    0.0.10

    prologic released this 2 years ago | 269 commits to master since this release

    ๐Ÿฅฑ This is a very boring release! THis is just a BIG Bug Fix release! ๐Ÿž After the botched #15 and bug-ridden v0.9.0 I frantically spent most of the day fixing all the bugs I could find and the bad data on twtxt.net as a result.

    I'm really sorry about v0.9.0 and I hope no-one tried to run a production instance with it besides me on twtxt.net. I promise I'll try to be more tactful in future with breaking changes! ๐Ÿ™‡โ€โ™‚๏ธ

    In anycase, Happy Twt'ing ๐Ÿค—

    Bug Fixes

    • Fix bug in ExpandMentions
    • Fix incorrect log call
    • Fix server shutdown and signal handling to listen for SIGTERM and SIGINT
    • Fix twtxt.net missing user feeds for prologic (home_datacenter) wtf?!
    • Fix missing db.SetUser for fixUserURLs
    • Fix another bug in Profile template
    • Fix more bugs with User Profile view
    • Fix User Profile Latest Tweets
    • Fix build and remove unused vars in FixUserAccounts
    • Fix User URL and TwtURLs on twtxt.net and reset them
    • Fix Context.IsLocal bug
    • Fix bug in User.Is function
    • Fix /settings view (again)
    • Fix build error (oops silly me)
    • Fix bug in /settings vieew
    • Fix missing feeds for @rob and @kt84 that went missing from their accounts :/
    • Fix UI/UX bug in text input with erroneous spaces
    • Fix adminUser account on twtxt.net
    • Fix user feeds on twtxt.net
    • Fix bug with feed creation (case sensitivity)
    • Fix Follow/Unfollow local events post v0.9.0 release re URL/TwtURL changes
    • Fix numerous bugs post v0.8.0 release (sorry) due to complications with User Profile URL vs. Feed URL (TwtURL)
    • Fix Tweeter.URL on /discover
    • Fix syntax error (oops)
    • Fix adminUser feeds on twtxt.net
    • Fix link to user profiles in user settings followers/following
    • Fix Tagline in User Settings so you users can see what they have entered (if it was set)
    • Fix User.Following URIs post v0.9.0 break in URIs

    Features

    • Add fixAdminUser function to FixUserAccountsJob to add specialUser feeds to the configured AdminUser
    • Add SyncStore job to sync data to disk every 1m to prevent accidental data loss
    • Add logging when server is shutdown and store is synced/closed
    • Add local @mention automatic linking for local users and local feeds without a user having to follow them first

    Updates

    • Update CHANGELOG for 0.0.10
    • Update README.md
    • Update README.md
    • Update README.md
    • Update startup to merge data store
    • Update deps
    • Update the FixUserAccounts job and remove all fixes, but leave the job (we might breka more things)
    • Update FixUserAccounts job and remov most of the migration code now that twtxt.net data is fixed
    • Update FixUserAccounts job schedule to @hourly and remove adminUser.Feeds hack
    • Update FixUserAccountsJob to eif User URL(s)
    • Update FixUserAccounts job back to 1h schedule
    Downloads
     
  • Stable 0.0.9 66534e988e

    0.0.9

    prologic released this 2 years ago | 325 commits to master since this release

    This is a BIG major release. We're still not bumping version numbers very high; because we're still in very early development. But we're on our road to a v0.1.0 really soon!

    Highlights:

    • ๐ŸŽ‰ NEW: Major rehaul of the UI/UX and overall user experience.
      • New User Profile views. Now when you click on someone's username you get to see a little about them.
      • New User Tagline(s) (optional); You can write a short description, slogan or catchphrase about yourself! This is completely optional of course but it helps your followers know a little something about who they are following! ๐Ÿ˜Ž

    NOTE: This release also contains a MAJOR breaking change where user feed URII(s) on https://twtxt.net/ have been changed to https://twtt.net/user/prologic/twtxt.txt (for example). You should not notice anything as this should be transparent to you with redirections in place for the old URI(s). -- For new operators you can ignore this breaking change if you are running twtxt v0.9.0+.

    Enjoy! And as always happy twt'ing! ๐Ÿค—

    Features

    • Add user profile pages and BREAKS existing local user feed URIs (#27)

    Updates

    • Update CHANGELOG for 0.0.9
    Downloads
     
  • Stable 0.0.8 fd94b34da6

    0.0.8

    prologic released this 2 years ago | 327 commits to master since this release

    (sorry for the noisey release notes / changelog on this one!)

    This is mostly a bug fix release but contains two important changes that benefit all:

    Highlights:

    • Started releasing (starting with twtxt v0.0.8) pre-built binaries so new operators of new instances can easily get up and running. ๐ŸŽ‰
    • ๐Ÿ’ก NEW: Add a new feature called _sub_Feed(s) where users can now create their own custom feeds managed and owned and can post as that feed. Think of this as a "Persona" or "Special Interest Group" or a "Topic" you wish to post as. ๐Ÿ˜Ž

    As usual Happy twt'ing! ๐Ÿค—

    Bug Fixes

    • Fix the custom release-notes for goreleaser (finally)
    • Fix the gorelease custom release notes by skipping the gorelease changelog generation
    • Fix the release process, remove git-chglog use before running gorelease
    • Fix instructions on how to build from source (Fixes #30)
    • Fix PR blocks and remove autoAssign workflow that fails with Resource not accessible by integration
    • Fix releasee process to generate release-notes via git-chglog which are better than goreleaser's ones
    • Fix goarch in gorelease config (uggh)
    • Fix gorelease config (3rd time's the charm)
    • Fix gorelease config properly (this time)
    • Fix release tools and remove unused shell script
    • Fix goreleaser config
    • Fix binary release tools and process
    • Fix name of twtxt Docker Swarm Stackfile
    • Fix docker stack usage in README (Fixes #34)
    • Fix typo in feeds template
    • Fix error handling for user registrationg and return 404 Feed Not Found for non-existent users/feeds
    • Fix build error (oops)
    • Fix set of reserved vs. special usernames
    • Fix unconstrained no. of user feeds to prevent abuse
    • Fix error message when trying to register an account with a previously deleted user (to preserve feeds)
    • Fix potential abuse of unconstrained username lengths
    • Fix and remove some useless debugging
    • Fix documentation on configuration options and warn about user registration being disabled (Fixes #29)
    • Fix the annoying greeting workflow and remove it (it's kind of annoying)

    Features

    • Add default configuration env values to docker-compose (#39)
    • Add git-chglog to release process to update the ongoing CHANGELOG too
    • Add feed creation event to the twtxt special feed
    • Add FixUserAccounts job logic to touch feed files for users that have never posted
    • Add automated internal special feed
    • Add documentation on using docker-compose (#26)
    • Add new feature for creating sub-feeds / personas allowing users to create topic-based feeds and poast as those topics
    • Add a section to the help page on formatting posts

    Updates

    • Update CHANGELOG for 0.0.8
    • Update CHANGELOG for 0.0.8
    • Update CHANGELOG for 0.0.8
    • Update CHANGELOG for 0.0.8
    • Update CHANGELOG for 0.0.8
    • Update CHANGELOG for 0.0.8
    • Update CHANGELOG for 0.0.8
    Downloads
     
  • Stable 0.0.7 1d7ecf5e9e

    0.0.7

    prologic released this 2 years ago | 368 commits to master since this release

    This is a BIG release! Contains lots of bug fixes and new features and improvements. If you haven't tried out the software yourself yet by installing it and running your own instance I would encourage you to do so! If you don't have the time or expertise then just jump on to the freely available (first of many) public instance at twtxt.net ๐Ÿ˜Ž

    Here are the highlights:

    • New [Reply] feature where if you hit reply on a post it automatically starts out your post with @user so you can start replying to someone straight away! ๐ŸŽ‰
    • New special twtxt feed that automatically publishes internal events. When someone follows you (or unfollows you) you get notified by this feed. Follow this special feed if you want to discover new followers and followees both local and external! ๐Ÿ’ก
    • Fixed some poor spacing in the timeline view between posts on larger devices! Thanks @Evil_Bob for reporting! ๐Ÿ˜‡

    For Developers:

    • Fixed the CI builds
    • Improved the Docker builds so they are much faster.

    Enjoy and happy twt'ing ๐Ÿค—

    Bug Fixes

    • Fix .gitignore for ./data/sources
    • Fix bug updating followee Followers
    • Fix poor spacing between posts on larger devices (Fixes #28)
    • Fix and remove accidentally committed data/sources file (data is meant to be empty)
    • Fix bug with Follow/Unfollow and updating Followers, missed using NormalizeUsername()
    • Fix updating Followers on Follow/Unfollow for local users too
    • Fix potential nil map bug
    • Fix user accounts and populate local Followers
    • Fix the settings Followers Follow/Unfollow state
    • Fix build system to permit passing VERSION and COMMIT via --build-arg for docker build
    • Fix the CI builds to actually build the daemon (#21)

    Features

    • Add a convenient UI/UX [Reply] feature on posts
    • Add twtxt special feed updates for Follow/Unfollow events from the local instance
    • Add confirmation on account deletion in case of accidental clicks
    • Add support for faster Docker builds by refactoring the Dockerfile (#20)
    • Add Docker Swarmmode Stackfile for production deployments based on https://twtxt.net/ (#22)
    • Add local (non-production) docker-compose.yml for reference and Docker-based development (#25)

    Updates

    • Update NewFixUserAccountsJob to 1h schedule
    Downloads
     
  • Stable 0.0.6 d714e5f91f

    0.0.6

    prologic released this 2 years ago | 388 commits to master since this release

    This is a bit of a minor bug-fix release, but also contains a couple of important features for "Discoverability".

    Highlights:

    • Fixed a bug where you were logged out every ~10mins due to incorrect configuration handling of sessions.
    • NEW: Added a new feature whereby other twtxt clients that follow or hit your feed for the first time are detected and a special post is made with a special feed called twtxt which will popup in the /discover view and added to your "Followers" list in /settings. Hopefully this will help with discovering new users out in the wild that might follow your posts! Happy twt'ing! ๐Ÿค—

    Bug Fixes

    • Fix formatting in FormatRequest
    • Fix the session timeout (which was never set0
    • Fix some embarrassing typos :)
    • Fix error handling for parsing feeds and feed sources

    Features

    • Add bad feed detection and log possible bad feeds (no action taken yet)
    • Add new feature to detect new followers of feeds on twtxt.net from twtxt User-Agent strings
    • Add twtxt to reserve usernames
    • Add an improved /about page and add a /help page to help new users

    Updates

    • Update README and remove references to the non-existent CLI (this will come later)
    • Update default job interval of UpdateFeedSourcesJob
    Downloads
     
  • Stable 0.0.5 81bc301c12

    0.0.5

    prologic released this 2 years ago | 399 commits to master since this release

    Another twtxt.net release, loads of important bug fixes and some nice new features!

    Highlights:

    • Fixed Firefox UI/UX issues
    • News /feeds view for discovering other sources of feeds (compatibe with we-are-twtxt)
    • Theme preferences
    • Configurable maximum tweet length

    As usual, Enjoy! ๐ŸŽ‰ And happy posting! ๐Ÿค—

    Bug Fixes

    • Fix UI/UX handling around bad logins
    • Fix the follow self feature properly with more consistency
    • Fix firefox UI/UX issue by upgrading to PicoCSS v1.0.3 (#17)

    Features

    • Add /feeds view with configurable feed sources for discoverability of other sources of feeds
    • Add username validation to prevent more potential bad data
    • Add configurable theme (site-wide) and persist user-defined (vai cookies) theme selection (#16)
    • Add configurable maximum tweet length and cleanup tweets before they are stored to replace new lines, etc
    Downloads
     
  • Stable 0.0.4 0b9b1f2c7c

    0.0.4

    prologic released this 2 years ago | 407 commits to master since this release

    In this release (now live at https://twtxt.net/) are some important bug fixes of course!

    Major new features however ๐ŸŽ‰ include:

    • Markdown support! ๐Ÿ˜ฑ
    • Support for deleting your account (if you want to ๐Ÿ˜ข)
    • Pagination support so you can go back in time! โฐ
    • And a much improved (hopefully) UI/UX ๐ŸŽจ

    Enjoy!

    Bug Fixes

    • Fix links opening in new window with target=_blank
    • Fix typo on support page (#5)
    • Fix app versioning and add to base template so we can tell which version of twtxt is running
    • Fix bug in TwtfileHandler with case sensitivity of nick param

    Features

    • Add delete account support
    • Add better layout of tweets so they stand out more
    • Add support for Markdown formatting (#10)
    • Add pagination support (#9)
    • Add Follow/Unfollow to /discover view that understands the state of who a user follows or doesn't (#8)

    Updates

    • Update README.md
    • Update README.md
    Downloads
     
  • Stable 0.0.3 6e52d2b8b1

    0.0.3

    prologic released this 2 years ago | 422 commits to master since this release

    This release of twtxt.net brings a whole bunch of bug fixes (see below). It also brings some very importatant security fixes along with improved configuration handling for running your own instance.

    In addition there is a brand new feature called "Discover" whereby for convenience once logged in you can navigate to https://twtxt.net/discover (foe example) and see the instance's global timeline of all users on that instance. You can also conveniently follow any user from there with ease.

    NOTE: You are highly encouraged to run your own instance! Contact support if you have any questions or need help.

    Bug Fixes

    • Fix bug with NormalizeURL() incorrectly translating https:// to http://
    • Fix deps and cleanup unused ones
    • Fix the layout of thee /settings view
    • Fix a critical bug whereby users could re-register the same username and override someone else's account :/
    • Fix username case sensitivity and normalize by forcing all usersnames to be lowercase and whitespace stripped
    • Fix useability issue where some UI/UX would toggle between authenticated and unauthentiated state causing confusion

    Features

    • Add support for configuring flags from the environment via the same long option names
    • Add options to configure session cookie secret and expiry
    • Add Contributing guideline and TODO
    • Add additional logic to fix null/blank user account URL(s) to the FixUserAccountJob as well
    • Add FixUserAccountsJob to fix existing broken accounts that might already exist
    • Add new /discover view for convenience access to the global instance's timeline with easy to use Follow links for discoverability
    Downloads
     
  • Stable 0.0.2 21cf4ce44c

    0.0.2

    prologic released this 2 years ago | 437 commits to master since this release

    This release improvements the server backend so that shutdowns are clean and data is persisted correctly.

    A new features has been built whereby new registered users following themselves by default.

    As well as a handful of bug fixes and performance enhancements as the no. of feeds the server has to fetch and deliver grows (timeline view is limited to the 50 most recent posts for the time being). In addition the update frequency of feeds by default is back to 5m so we don't hammer external feeds too hard.

    Enjoy!

    Bug Fixes

    • Fix the follow self behaviour to actually work
    • Fix defaults to use the same ones in twtxt's options
    • Fix URL() of User objects
    • Fix import and hard-code no. of tweets to display

    Features

    • Add feature whereby new registered users follow themselves by default
    • Add support, stargazers and contributing info to READmE
    • Add enhanced server capability for graceful/clean shutdowns
    • Add /import feature to import multiple feeds at once (#1)

    Updates

    • Update feed update frequency to 5m by default
    Downloads