Add a machine readable changelog

pull/112/head
Ivan Habunek 2019-09-03 15:54:35 +02:00
rodzic efbaf9e706
commit 6b9cc75ffc
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: CDBD63C43A30BB95
3 zmienionych plików z 240 dodań i 25 usunięć

Wyświetl plik

@ -1,9 +1,11 @@
Changelog
---------
<!-- Do not edit. This file is automatically generated from changelog.yaml.-->
**0.22.0 (2019-08-01)**
* **BRAEAKING**: Dropped support for Python 3.3
* **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`
@ -11,21 +13,18 @@ Changelog
**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
* 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)
**BC BREAK**
* 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
**0.20.0 (2019-02-01)**
* Enable interaction with instances using http instead of https (#56)
@ -49,10 +48,8 @@ Changelog
* 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 (press h)
* Misc rendering improvements
* Curses app improvements (respect sensitive content, require keypress to show,
add help modal, misc improvements)
**0.17.1 (2018-01-15)**
@ -64,13 +61,12 @@ Changelog
* Changed configuration file format to allow switching between multiple logged
in accounts (#32)
* Respect XDG_CONFIG_HOME environment variable to locate config home (#12)
* Many improvements to the curses app:
* 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
* 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)**
@ -82,8 +78,8 @@ Changelog
**0.16.0 (2017-12-30)**
* **Drop support for Python 2** because it's a pain to support and caused bugs
with handling unicode.
* **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)
@ -136,15 +132,15 @@ Changelog
**0.8.0 (2017-04-19)**
* Renamed command `2fa` to `login_2fa` **BC BREAK**
* **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
* **Warning**: Due to changes in configuration format, after upgrading to this
version, you will be required to log in to your Mastodon instance again.
**0.6.0 (2017-04-17)**
@ -177,3 +173,4 @@ Changelog
**0.1.0 (2017-04-12)**
* Initial release

185
changelog.yaml 100644
Wyświetl plik

@ -0,0 +1,185 @@
0.22.0:
date: 2019-08-01
changes:
- "**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:
date: 2019-02-15
changes:
- "**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:
date: 2019-02-01
changes:
- "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:
date: 2018-06-27
changes:
- "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:
date: 2018-06-12
changes:
- "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:
date: 2018-01-15
changes:
- "Create config folder if it does not exist (#40)"
- "Fix packaging to include `toot.ui` package (#41)"
0.17.0:
date: 2018-01-15
changes:
- "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:
date: 2018-01-02
changes:
- "No changes, pushed to fix a packaging issue"
0.16.1:
date: 2017-12-30
changes:
- "Fix bug with app registration"
0.16.0:
date: 2017-12-30
changes:
- "**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:
date: 2017-12-12
changes:
- "Fix crash when toot's URL is None (#33), thanks @veer66"
0.15.0:
date: 2017-09-09
changes:
- "Fix Windows compatibility (#18)"
0.14.0:
date: 2017-09-07
changes:
- "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:
date: 2017-08-26
changes:
- "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:
date: 2017-05-08
changes:
- "Add option to disable ANSI color in output (#15)"
- "Return nonzero error code on error (#14)"
- "Change license to GPLv3"
0.11.0:
date: 2017-05-07
changes:
- "Fix error when running toot from crontab (#11)"
- "Minor tweaks"
0.10.0:
date: 2017-04-26
changes:
- "Add commands: `block`, `unblock`, `mute`, `unmute`"
- "Internal improvements"
0.9.1:
date: 2017-04-24
changes:
- "Fix conflict with curses package name"
0.9.0:
date: 2017-04-21
changes:
- "Add `whois` command"
- "Add experimental `curses` app for viewing the timeline"
0.8.0:
date: 2017-04-19
changes:
- "**BREAKING:** Renamed command `2fa` to `login_2fa`"
- "It is now possible to pipe text into `toot post`"
0.7.0:
date: 2017-04-18
changes:
- "**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:
date: 2017-04-17
changes:
- "Add `whoami` command"
- "Migrate from `optparse` to `argparse`"
0.5.0:
date: 2017-04-16
changes:
- "Add `search`, `follow` and `unfollow` commands"
- "Migrate from `optparse` to `argparse`"
0.4.0:
date: 2017-04-15
changes:
- "Add `upload` command to post media"
- "Add `--visibility` and `--media` options to `post` command"
0.3.0:
date: 2017-04-13
changes:
- "Add: view timeline"
- "Require an explicit login"
0.2.1:
date: 2017-04-13
changes:
- "Fix invalid requirements in setup.py"
0.2.0:
date: 2017-04-12
changes:
- "Bugfixes"
0.1.0:
date: 2017-04-12
changes:
- "Initial release"

33
generate_changelog 100755
Wyświetl plik

@ -0,0 +1,33 @@
#!/usr/bin/env python3
"""
Generates a more user-readable changelog from changelog.yaml.
"""
import textwrap
import yaml
with open("changelog.yaml", "r") as f:
data = yaml.safe_load(f)
print("Changelog")
print("---------")
print()
print("<!-- Do not edit. This file is automatically generated from changelog.yaml.-->")
print()
for version in data.keys():
date = data[version]["date"]
changes = data[version]["changes"]
print(f"**{version} ({date})**")
print()
for c in changes:
lines = textwrap.wrap(c, 78)
initial = True
for line in lines:
if initial:
print("* " + line)
initial = False
else:
print(" " + line)
print()