v0.1.0 Release Notes

Release Date: 2020-08-18 // almost 4 years ago
  • 🍱 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 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 (the first pod).

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

    🍱 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!


    • πŸ†• 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 @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 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 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 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
    • ⚑️ 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 (#116)
    • ⚑️ Update
    • ⚑️ Update logo
    • ⚑️ Update

Previous changes from v0.0.12

  • 🍱 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! πŸŽ‰


    • πŸ†• 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 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 ( 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
    • βž• 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)