Changelog --------- **0.40.0 (TBA)** * Migrate to `click` for commandline arguments. BC should be mostly preserved, please report any issues. * Add shell completion, see: https://toot.bezdomni.net/shell_completion.html * Remove deprecated `--disable-https` option for `login` and `login_cli`, pass the base URL instead **0.39.0 (2023-11-23)** * Add `--json` option to many commands, this makes them print the JSON data returned by the server instead of human-readable data. Useful for scripting. * TUI: Make media viewer configurable in settings, see: https://toot.bezdomni.net/settings.html#tui-view-images * TUI: Add rich text rendering (thanks Dan Schwarz) **0.38.2 (2023-11-16)** * Fix compatibility with Pleroma (#399, thanks Sandra Snan) * Fix language documentation (thanks Sandra Snan) **0.38.1 (2023-07-25)** * Fix relative datetimes option in TUI **0.38.0 (2023-07-25)** * Add `toot muted` and `toot blocked` commands (thanks Florian Obser) * Add settings file, allows setting common options, defining defaults for command arguments, and the TUI palette * TUI: Remap shortcuts so they don't override HJKL used for navigation (thanks Dan Schwarz) **0.37.0 (2023-06-28)** * **BREAKING:** Require Python 3.7+ * Add `timeline --account` option to show the account timeline (thanks Dan Schwarz) * Add `toot status` command to show a single status * TUI: Add personal timeline (thanks Dan Schwarz) * TUI: Highlight followed accounts in status details (thanks Dan Schwarz) * TUI: Restructured goto menu (thanks Dan Schwarz) * TUI: Fix boosting boosted statuses (thanks Dan Schwarz) * TUI: Add support for list timelines (thanks Dan Schwarz) **0.36.0 (2023-03-09)** * Move docs from toot.readthedocs.io to toot.bezdomni.net * Add specifying media thumbnails to `toot post` (#301) * Add creating polls to `toot post` * Handle custom instance domains (e.g. when server is located at `social.vivaldi.net`, but uses the `vivaldi.net` mastodon domain. (#217) * TUI: Inherit post visibility when replying (thanks @rogarb) * TUI: Add conversations timeline (thanks @rogarb) * TUI: Add shortcut to copy toot contents (thanks Dan Schwarz) **0.35.0 (2023-03-01)** * Save toot contents when using --editor so it's recoverable if posting fails (#311) * TUI: Add voting on polls (thanks Dan Schwarz) * TUI: Add following/blocking/muting accounts (thanks Dan Schwarz) * TUI: Add notifications timeline (thanks Dan Schwarz) **0.34.1 (2023-02-20)** * TUI: Fix bug where TUI would break on older Mastodon instances (#309) **0.34.0 (2023-02-03)** * Fix Python version detection which would fail in some cases (thanks K) * Fix toot --help not working (thanks Norman Walsh) * TUI: Add option to save status JSON data from source window (thanks Dan Schwarz) * TUI: Add `--relative-datetimes` option to show relative datetimes (thanks Dan Schwarz) * TUI: Don't focus newly created post (#188, thanks Dan Schwarz) * TUI: Add ability to scroll long status messages (#166, thanks Dan Schwarz) * TUI: Add action to view account details (thanks Dan Schwarz) **0.33.1 (2023-01-03)** * TUI: Fix crash when viewing toot in browser **0.33.0 (2023-01-02)** * Add CONTRIBUTING.md containing a contribution guide * Add `env` command which prints local env to include in issues * Add TOOT_POST_VISIBILITY environment to control default post visibility (thanks Lim Ding Wen) * Add `tags_followed`, `tags_follow`, and `tags_unfollow` commands (thanks Daniel Schwarz) * Add `tags_bookmarks` command (thanks Giuseppe Bilotta) * TUI: Show an error if attemptint to boost a private status (thanks Lim Ding Wen) * TUI: Hide polls, cards and media attachments for sensitive posts (thanks Daniel Schwarz) * TUI: Add bookmarking and bookmark timeline (thanks Daniel Schwarz) * TUI: Show status visiblity (thanks Lim Ding Wen) * TUI: Reply to original account instead of boosting account (thanks Lim Ding Wen) * TUI: Refresh screen after exiting browser, required for text browsers (thanks Daniel Schwarz) * TUI: Highlight followed tags (thanks Daniel Schwarz) **0.32.1 (2022-12-12)** * Fix packaging issue, missing toot.utils module **0.32.0 (2022-12-12)** * TUI: Press N to translate status, if available on your instance (thanks Daniel Schwarz) * Fix: `post --language` option now accepts two-letter country code instead of 3-letter. This was changed by mastodon at some point. * Fix: Failing to find accounts using qualified usernames (#254) **0.31.0 (2022-12-07)** * **BREAKING:** Require Python 3.6+ * Add `post --scheduled-in` option for easier scheduling * Fix posting toots to Pleroma * Improved testing **0.30.1 (2022-11-30)** * Remove usage of depreacted `text_url` status field. Fixes posting media without text. **0.30.0 (2022-11-29)** * Display polls in `timeline` (thanks Daniel Schwarz) * TUI: Add [,] shortcut to reload timeline (thanks Daniel Schwarz) * TUI: Add [Z] shortcut to zoom status - allows scrolling (thanks @PeterFidelman) * Internals: add integration tests against a local mastodon instance **0.29.0 (2022-11-21)** * Add `bookmark` and `unbookmark` commands * Add `following` and `followers` commands (thanks @Oblomov) * TUI: Show media attachments in links list (thanks @PeterFidelman) * Fix tests so that they don't depend on the local timezone **0.28.1 (2022-11-12)** * Fix account search to be case insensitive (thanks @TheJokersThief) * Fix account search to use v2 endpoint, since v1 endpoint was removed on some instances (thanks @kaja47) * Add '.toot' extension to temporary files when composing toot in an editor (thanks @larsks) * Display localized datetimes in timeline (thanks @mmmmmmbeer) * Don't use # for comments when composing toot in an editor, since that made it impossible to post lines starting with #. * TUI: Fix crash when poll does not have an expiry date **0.28.0 (2021-08-28)** * **BREAKING**: Removed `toot curses`, deprecated since 2019-09-03 * Add `--scheduled-at` option to `toot post`, allows scheduling toots * Add `--description` option to `toot post`, for adding descriptions to media attachments (thanks @ansuz) * Add `--mentions` option to `toot notifications` to show only mentions (thanks @alexwennerberg) * Add `--content-type` option to `toot post` to allow specifying mime type, used on Pleroma (thanks Sandra Snan) * Allow post IDs to be strings as used on Pleroma (thanks Sandra Snan) * TUI: Allow posts longer than 500 characters if so configured on the server (thanks Sandra Snan) * Allow piping the password to login_cli for testing purposes (thanks @NinjaTrappeur) * Disable paging timeline when output is piped (thanks @stacyharper) **0.27.0 (2020-06-15)** * TUI: Fix access to public and tag timelines when on private mastodon instances (#168) * Add `--reverse` option to `toot notifications` (#151) * Fix `toot timeline` to respect `--instance` option * TUI: Add opton to pin/save tag timelines (#163, thanks @dlax) * TUI: Fixed crash on empty timeline (#138, thanks ecs) **0.26.0 (2020-04-15)** * Fix datetime parsing on Python 3.5 (#162) * TUI: Display status links and open them (#154, thanks @dlax) * TUI: Fix visibility descriptions (#153, thanks @finnoleary) * **IMPORTANT:** Starting from this release, new releases will not be uploaded to the APT package repository at `bezdomni.net`. Please use the official Debian or Ubuntu repos or choose another [installation option](https://toot.bezdomni.net/installation.html). **0.25.2 (2020-01-23)** * Revert adding changelog and readme to sourceballs (#149) * TUI: Fall back to username when display_name is unset (thanks @dlax) * Note: 0.25.1 was skipped due to error when releasing **0.25.0 (2020-01-21)** * TUI: Show character count when composing (#121) * Include changelog and license in sourceballs (#133) * Fix searching by hashtag which include the '#' (#134) * Upgrade search to v2 (#135) * Fix compatibility with Python < 3.6 (don't use fstrings) **0.24.0 (2019-09-18)** * On Windows store config files under %APPDATA% * CLI: Don't use ANSI colors if not supported by terminal or when not in a tty * TUI: Implement deleting own status messages * TUI: Improve rendering of reblogged statuses (thanks @dlax) * TUI: Set urwid encoding to UTF-8 (thanks @bearzk) **0.23.1 (2019-09-04)** * Fix a date parsing bug in Python versions <3.7 (#114) **0.23.0 (2019-09-03)** * Add `toot tui`, new and improved TUI implemented written with the help of the [urwid](http://urwid.org/) library * Deprecate `toot curses`. It will show a deprecation notice when started. To be removed in a future release * Add `--editor` option to `toot post` to allow composing toots in an editor (#90) * Fix config file permissions, set them to 0600 when creating the initial config file (#109) * Add user agent string to all requests, fixes interaction with instances protected by Cloudflare (#106) **0.22.0 (2019-08-01)** * **BREAKING:** Dropped support for Python 3.3 * Add `toot notifications` to show notifications (thanks @dlax) * Add posting and replying to curses interface (thanks @Skehmatics) * Add `--language` option to `toot post` * Enable attaching upto 4 files via `--media` option on `toot post` **0.21.0 (2019-02-15)** * **BREAKING:** in `toot timeline` short argument for selecting a list is no longer `-i`, this has been changed to select the instance, so that it is the same as on other commands, please use the long form `--list` instead * Add `toot reblogged_by` to show who reblogged a status (#88) * Add `toot thread` to show a status with its replies (#87) * Better handling of wide characters (eastern scripts, emojis) (#84) * Improved `timeline`, nicer visuals, and it will now ask to show next batch of toots, unless given the `--once` option * Add public/local/tag timelines to `timeline` and `curses` * Support for boosting and favouriting in `toot curses`, press `f`/`b` (#88, #93) **0.20.0 (2019-02-01)** * Enable interaction with instances using http instead of https (#56) * Enable proxy usage via environment variables (#47) * Make `toot post` prompt for input if no text is given (#82) * Add post-related commands: `favourite`, `unfavourite`, `reblog`, `unreblog`, `pin` & `unpin` (#75) **0.19.0 (2018-06-27)** * Add support for replying to a toot (#6) * Add `toot delete` command for deleting a toot (#54) * Add global `--quiet` flag to silence output (#46) * Make `toot login` provide browser login, and `toot login_cli` log in via console. This makes it clear what's the preferred option. * Use Idempotency-Key header to prevent multiple toots being posted if request is retried * Fix a bug where all media would be marked as sensitive **0.18.0 (2018-06-12)** * Add support for public, tag and list timelines in `toot timeline` (#52) * Add `--sensitive` and `--spoiler-text` options to `toot post` (#63) * Curses app improvements (respect sensitive content, require keypress to show, add help modal, misc improvements) **0.17.1 (2018-01-15)** * Create config folder if it does not exist (#40) * Fix packaging to include `toot.ui` package (#41) **0.17.0 (2018-01-15)** * Changed configuration file format to allow switching between multiple logged in accounts (#32) * Respect XDG_CONFIG_HOME environment variable to locate config home (#12) * Dynamically calculate left window width, supports narrower windows (#27) * Redraw windows when terminal size changes (#25) * Support scrolling the status list * Fetch next batch of statuses when bottom is reached * Support up/down arrows (#30) * Misc visual improvements **0.16.2 (2018-01-02)** * No changes, pushed to fix a packaging issue **0.16.1 (2017-12-30)** * Fix bug with app registration **0.16.0 (2017-12-30)** * **BREAKING:** Dropped support for Python 2, because it's a pain to support and caused bugs with handling unicode. * Remove hacky `login_2fa` command, use `login_browser` instead * Add `instance` command * Allow `post`ing media without text (#24) **0.15.1 (2017-12-12)** * Fix crash when toot's URL is None (#33), thanks @veer66 **0.15.0 (2017-09-09)** * Fix Windows compatibility (#18) **0.14.0 (2017-09-07)** * Add `--debug` option to enable debug logging instead of using the `TOOT_DEBUG` environment variable. * Fix: don't read requirements.txt from setup.py, this fails when packaging deb and potentially in some other cases (see #18) **0.13.0 (2017-08-26)** * Allow passing `--instance` and `--email` to login command * Add `login_browser` command for proper two factor authentication through the browser (#19, #23) **0.12.0 (2017-05-08)** * Add option to disable ANSI color in output (#15) * Return nonzero error code on error (#14) * Change license to GPLv3 **0.11.0 (2017-05-07)** * Fix error when running toot from crontab (#11) * Minor tweaks **0.10.0 (2017-04-26)** * Add commands: `block`, `unblock`, `mute`, `unmute` * Internal improvements **0.9.1 (2017-04-24)** * Fix conflict with curses package name **0.9.0 (2017-04-21)** * Add `whois` command * Add experimental `curses` app for viewing the timeline **0.8.0 (2017-04-19)** * **BREAKING:** Renamed command `2fa` to `login_2fa` * It is now possible to pipe text into `toot post` **0.7.0 (2017-04-18)** * **WARNING:** Due to changes in configuration format, after upgrading to this version, you will be required to log in to your Mastodon instance again. * Experimental 2FA support (#3) * Do not create a new application for each login **0.6.0 (2017-04-17)** * Add `whoami` command * Migrate from `optparse` to `argparse` **0.5.0 (2017-04-16)** * Add `search`, `follow` and `unfollow` commands * Migrate from `optparse` to `argparse` **0.4.0 (2017-04-15)** * Add `upload` command to post media * Add `--visibility` and `--media` options to `post` command **0.3.0 (2017-04-13)** * Add: view timeline * Require an explicit login **0.2.1 (2017-04-13)** * Fix invalid requirements in setup.py **0.2.0 (2017-04-12)** * Bugfixes **0.1.0 (2017-04-12)** * Initial release