Changelog
---------

<!-- Do not edit. This file is automatically generated from changelog.yaml.-->

**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.readthedocs.io/en/latest/install.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

