Skip to content
Choose a tag to compare

Building on the "look after yourself" message in v1.3 and the inclusive internationalisation in v1.4, Cawbird 1.5 is being released in the context of the increasing importance of combatting disinformation following Putin's atrocities in Ukraine.

  • New features:
    • Cleanly and clearly handle "witheld" accounts, and hide witheld tweets (#428)
    • Added a button to "reload image" for any images that fail to load (#244)
  • Fixes:
    • Capture events so that "reload image" doesn't go to tweet view in single-click activation mode (#439)
    • Fix emoji chooser in non-English locales (thanks to @jtojnar)
    • Remove link to quoted tweet from timeline display (#406)
    • Support paging of blocked profiles so that users with lots of blocks don't see unwanted content, or get crashes on blocking
    • Fix overly long click zone for cropped images
  • Improvements:
    • Set StartupNotify=true in desktop file to improve desktop integration, especially on mobile (thanks to @Alexmitter)
    • Focus returns to the text input box after inserting an emoji (#427)
    • Update Danish, Dutch, Gaelic, Brazilian Portuguese and Spanish translations
  • Developer:
    • Don't assume that ~/.config exists (thanks to @a-wai)
    • Use slashes in dconf path instead of dots (#402)
    • Updated Gnome runtime in Flatpak dev build
Choose a tag to compare

Cawbird 1.4.2 is a maintenance release with two crash fixes, an emoji fix and updated translations.

  • Fixes:
    • Fixed crash when opening DMs if one of the DMs had entities defined out of order in the JSON (#391)
    • Fixed crash when first creating an account due to null account object (#399)
    • Alter emoji data checking to support changes with recent GTK 3.24 versions (#392)
  • Improvements:
    • Updated French and English translations
Choose a tag to compare

Hotfix to correct "Send" button state issues for direct messages

Choose a tag to compare

It has been a while in the making, but Cawbird 1.4 adds lots of features and improves our internationalisation.

  • Fixes:
    • Fixed repeat notifications due to message overlap (which we do to avoid missing messages!) (#292)
    • Fixed handling of links with ampersands in them (#305)
    • Fixed handling of Twitter video URLs with ampersands in them (#338)
    • Fixed cropping of tweets in timelines, particularly in narrow windows (#296)
    • Fixed handling of translations so that it works in environments like Flatpak (#297)
  • Improvements:
    • Added Normal/Large/X-Large/XX-Large text sizes (#33)
    • Added "Translate Content" option to tweets with option of using Google, Bing, DeepL or custom providers (#161)
    • Better counting of ZWJ emoji - Cawbird now passes Twitter's own compliance tests (#114)
    • Added Scottish Gaelic translations (thanks to @gaidheileamail1)
    • All strings in the UI are now translatable (#351, #362)
    • Add a confirmation to delete draft tweet on Cancel (#340)
    • Made threaded tweets more obvious by including "Reply to" line for self-reply threads in timeline (#339)
    • Tweets are now added to your timeline when you follow a user (and hidden when you unfollow them) (#19)
    • Improved rendering lag when focussing and unfocussing Cawbird (#204)
    • Improved spacing and alignment of images and added a border to define edges (#290, #306)
    • Added the ability to temporarily show a blocked or muted account (#299)
    • Reduced the size of the info icon for the image description notification to avoid it obscuring too much of the image (#294)
    • Swapped to using the 😀 smiley for emoji input rather than 🐧 to be consistent with other applications and platforms (#298)
  • Developer:
    • Make it easier to build Cawbird with custom Twitter secrets so that distro builds don't consume the new (June 2019) 100,000 requests per day per app limits (#310)
    • Added an option to use local translation files rather than the system ones, for debugging without installation
    • Added a `-Dmswindows=true` config flag to allow builds that work with Windows's broken "mimetypes are just file extensions" behaviour
Choose a tag to compare

Cawbird 1.3.2 is a maintenance release due to a privacy issue caused by third-party builds of Cawbird using "debug" builds.

Users of native distro packages and other packages that used release builds should not have been affected. We appologise for any inconvenience caused and continue to recommend that users use native packages where possible.

  • Fixes:
    • Make it clearer to third-party packagers (e.g. Flatpak and Snap) when they are building debug builds instead of release builds, which log the plain text content of all tweets and DMs to the console, which is then captured in the system log (#274)
    • Make it possible to build Cawbird without GStreamer video support again (#273)
  • Improvements:
    • Swapped out `g_print` statements for `g_debug` and generally tidied up some debug logging (relates to #274)
    • Make videos open the browser when GStreamer support is disabled (related to #273)
    • Updated Russian translation (thanks to Даниил Пронин)
  • Developer:
    • Fixed intermittent crash of `inlinedownloader` tests
Choose a tag to compare

Cawbird 1.3.1 fixes several gaps in the block/mute behaviour so that your experience is controlled from the start, as well as including some media upload and mobile fixes and improvements.

  • Fixes:
    • Fix unblock and unmute wiping local cache of blocked/muted users
    • Load block/mute lists before downloading timeline/mentions to ensure we hide blocked/muted tweets at startup
    • Unblocking/unmuting now says "unblock" or "unmute" on the button instead of always saying "Unblock"
    • Fix media size checks so that videos don't fail because they're bigger than the image limit
    • Make a narrower user account list for narrow windows to avoid overflow and cropped "profile" button (#259)
    • Combine notification and tweet settings to allow narrower settings dialog for mobile
  • Improvements:
    • Hide all tweets in profile view when blocking/muting a user (we shouldn't assume people won't look at the profile)
    • Backfill progressively larger batches of tweets for profiles in case Disable RTs is hiding too many tweets so that the view doesn't scroll
    • Provide a tooltip message for why a media upload failed (e.g. Twitter doesn't support video codec)
    • Updated Dutch, Danish and Italian translations
Choose a tag to compare

Cawbird version 1.3 is the "look after yourself" edition. We've got lots of features and fixes, but there are several key improvements to managing your interactions that should have been implemented/fixed sooner. Our priority is making Cawbird accessible and letting users control their experience on Twitter.

  • Improvements:
    • Apply filtering across all feeds (including search)
    • Apply changes to filtering, muting, blocking and hiding RTs across all feeds instantly
    • Allow the filtering of mentioned @-handles
    • Load media in DMs and linkify users and hashtags (#12)
    • Added ability to send media in DMs (#14)
    • Added ability to delete DMs (#7)
    • Load older DMs (#3)
    • Add ability to upload videos and larger animated GIFs (#248)
    • Use HTTPS avatars throughout
    • Translations: Dutch and Danish (complete), Italian and French (updated)
  • Design changes:
    • More accessible approach to loading "replied to" tweets (#164)
    • Improved user completion behaviour and interaction with user completion list
    • Added outline to media upload indicator to make it clearer on light images
    • Remove whitespace around tweets (e.g. when user has new lines and then a quoted URL or media that we're displaying)
    • Allow Compose view to shrink to narrower screens (e.g. for PinePhone) (#212)
  • Fixes:
    • Fix DM load order
    • Fix missing "reply" icon by providing our own (#208)
    • Fixed crashes when playing video (#123)
    • Avoid a crash when returned JSON is invalid (#200)
    • Fixed widget height calculations for responsive and non-responsive views (#202)
    • Fixed layout when starting in responsive width
    • Avoid an unnecessary request for tweets when loading timelines
    • Fixed completion query for known users
    • Fixed various run-time and compiler warnings
    • Fixed handling of command-line parameters (#246)
  • Developer:
    • Added "appdata" build config to allow building on platforms without AppStream (#35)
    • Changed Meson configuration and instructions to allow running dev version without installing
Choose a tag to compare
  • Bug fixes:
    • Fix crashes when images do not load correctly (#195)
    • Fix crashes when high-res image loads after dialog closes (#196) thanks to @lucaswerkmeister
  • Improvements:
    • Improve rendering of @-handles in mixed right-to-left/left-to-right text (#194)
Choose a tag to compare
  • Improvements:
    • Resolved major accessibility issue with timelines and improved other bits of accessibility by naming/describing widgets (#143)
    • Added ability to read descriptions on images (#11)
    • Added ability to add descriptions to images when posting (#10)
    • Reduced notifications when first logging in (#137)
    • Window can now be reduced to a narrower width and has a "responsive" layout for tweets (#57)
    • Reduce memory usage by loading smaller (600px) thumbnails and only loading images on demand (#142). Also reduces bandwidth use (especially with images disabled)
    • Let image sets loop back to start, and show progress through images (#172)
    • Made "Replying to" on Tweet info page list all users (including self-reply) so that it is more obvious when the tweet is part of a thread (#158)
    • Reworked @-mention completion so that it works with multilingual text
    • Adjust "media link removal" behaviour so that we still show the link when image loading is disabled so that users know there is media
    • Stopped shipping librest and started using system version
    • Made account removal less "scary" - now removes rather than deleting account
    • Improved consistency of progress status while searching
    • Updated Danish translation (thanks @mads5408) and Dutch translation (thanks @Vistaus) to 100% coverage
  • Bug fixes:
    • Update handling of top-level domains to resolve character counting mismatch (#64)
    • Handle repeated attachment of the same image with the same path (#34)
    • Fix scrolling back to older tweets in thread on some platforms (#164)
    • Fixed @-mention completion not handling underscores
    • Fixed a crash when removing the currently open account
    • Fixed a usability issue where removing an account with multiple other accounts available showed the "Add account" interface with no account selector instead of showing another account
    • Fixed show/hide bug for media in quoted tweets
    • Put other users's lists in the correct place (created or subscribed)
    • Fixed builds on platforms without an implicit `#include <string.h>`
Choose a tag to compare
  • Improvements:

    • Moved tweet replies below tweet in detailed view, so it now matches the layour of almost all other clients (#16)
    • Improved tweet threading (#17):
      • Now tries to build entire self-reply thread above and below the tweet
      • Sorts all self-replies first, then mentioned replies, then other replies
      • Shows more than five replies
      • Added RT marker to detailed tweet view
      • Reduce number of requests to Twitter API when moving up and down a thread
    • Improved image scaling to handle portrait monitors (#59)
    • Added overlap to timeline tweet fetching to significantly reduce the likelihood of missing tweets due to "eventual consistency" of Twitter servers (#147)
    • Updated Danish translation (thanks @mads5408) and Dutch translation (thanks @Vistaus) to 100% coverage and increased coverage of Arabic translation (thanks @‌Ammar_Khaled and @‌Raayib)
  • Bug fixes:

    • Links in direct messages remain clickable after closing and opening (#13)
    • Added support for updated GTK Emoji data (#148 - backported into official v1.0.5 builds)
    • Fixed an SQL error when trying to complete names in tweets
  • UI changes:

    • Hidden and deleted tweets in threads no longer trigger error dialogs (#138 and #153)
    • Timestamps on direct messages now update (#30)
    • Fix keyboard navigation in detailed tweet view (#145)
    • Debug builds can dump tweet JSON and details from Tweet Info page (#26)
    • List name is now shown as window title (#135)
    • List now uses actual title, not unique URL-name
    • List of lists now updates (with caching)
    • Tweets in searches now show like/favourite status
    • Added translation strings for new "limited reply" tweets
    • Handle "operation cancelled" 'error' so that users don't see a dialog when clicking back too quickly