-
Notifications
You must be signed in to change notification settings - Fork 24
/
CHANGELOG
496 lines (405 loc) · 20 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
2024-09-01 0.12.11a0
* Improve file list performance (Many thanks to @rsekman)
2024-06-08 0.12.10a0
Fixed:
* Ignore GridFlowWarning: Size is smaller than cell width
2024-05-23 0.12.9a0
Fixed:
* Catch UnicodeDecodeError when decoding JSON from server response
* Use urwid-native scrolling widgets
(As always, many thanks to @rsekman for doing my work!)
2023-12-21 0.12.8a0
Fixed:
* Catch ZeroDivisionError when estimating peer download rate
2023-11-02 0.12.7a0
Fixed:
* Catch RuntimeError from urwid
2023-09-23 0.12.6a0
Fixed bugs:
* Remove urwid patch that became incompatible with urwid ~2.1.0
(Fixes AttributeError: module 'urwid' has no attribute 'decoration')
2023-06-30 0.12.5a0
Fixed bugs:
* Further improvements for upcoming urwid release, making the TUI more
responsive (All thanks to @rsekman!)
2023-06-02 0.12.4a0
Fixed bugs:
* Improve compatibility with upcoming urwid release
2022-04-13 0.12.3a0
Fixed bugs:
* Fix AttributeError: module 'stig.objects' has no attribute 'aioloop'
when removing 10 or more torrents via the CLI
2021-08-10 0.12.2a0
Other changes:
* "unbind --all t" now unbinds "t" in all keybinding contexts.
Fixed bugs:
* Removed tilde expansion from completion candidates for the :move command
2021-02-09 0.12.1a0
Fixed bugs:
* Fix "Unclosed client session" error when not using the TUI
2021-02-07 0.12.0a0
Other changes:
* New "connect.proxy" setting that specifies a SOCKS tunnel for RPC
communication.
* Move cursor to the end of command when moving through history in the
builtin CLI.
Fixed bugs:
* Re-add "paused" alias for "stopped" filter to make the keybinding <f> <p>
working again.
* Fix "RuntimeError: Event loop stopped before Future completed." when
exiting the TUI.
2020-07-04 0.11.2a0
Fixed bugs:
* Include user and password in "connect.url" setting. This fixes a bug where the
password is not stored properly when dumping settings.
2020-06-20 0.11.1a0
Fixed bugs:
* Fix help for remote settings, e.g. "help srv.path.incomplete".
* Possibly fixed a race condition that resulted in new torrent lists being empty until
the next poll iteration.
2020-06-05 0.11.0a
Breaking changes:
* The 'scrollbar' palette in themes was removed and the following palettes were added:
torrentlist.scrollbar
filelist.scrollbar
peerlist.scrollbar
trackerlist.scrollbar
settinglist.scrollbar
log.scrollbar
helptext.scrollbar
* Some redundant torrent filters were removed:
- "incomplete" is the same as "!complete"
- "public" is the same as "!private"
* The "summary" command was renamed to "details".
* When renaming files, the "rename" command now attempts to rename files in all
matching torrents. When renaming torrents or if the new --unique option is given,
the torrent filter expression must match exactly one torrent or nothing is renamed.
This also works when renaming the focused file or directory in file lists in the
TUI.
* Renaming a torrent to an existing file/directory is now possible.
* GeoIP support was dropped[1] and the peer list filter, column and sorter "country"
as well as the settings "geoip" and "geoip.dir" were removed. If you use a custom
theme, you also need to remove the "country" parts from it.
* Some default keybindings for sorting lists have changed.
Other changes:
* Press <tab> in the built-in CLI to complete commands and arguments.
* Move tabs with <H> and <L>.
* Display free space in the bottom bar.
* The command 'dump' collects settings, keybindings and open tabs, translates them
into commands and writes them to a file or stdout. It is bound to <alt-S> by
default.
* Filters can use regular expressions with the new '=~' operator.
* The command 'magnet' creates magnet URIs for torrents.
* The help structure was changed so that lists of commands/filters/settings and
manuals explaining the concepts are separate.
* Added "hash" filter to find torrents by info hash.
* Peer download rate estimates are now always calculated, not just when a peer list is
focused.
* New 'connect.url' setting allows you to set host, port, etc with a single command.
* The 'sort' command's --delete argument removes sort orders from the current list.
Fixed bugs:
* File filters caused a crash when applied to single-file torrents.
* Fixed crash with "Filter can't end with operator".
* Download priority in TUI file lists is now updated correctly.
* Parameters for any command's --sort option didn't accept aliases.
* Setting filters are now documented (`help filters`).
* When 'remove.max-hits' triggered, the displayed list of torrents didn't handle
spaces correctly.
[1] https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-using-geolite2-databases
2018-09-25 0.10.1a
Fixed bugs:
* For torrents with exactly one directory that contains exactly one file,
listing its files in the TUI resulted in a crash: KeyError: 'is-wanted'
2018-09-07 0.10.0a
Breaking changes:
* The 'tui.cli.history-file' setting was removed (see 'tui.cli.history-dir'
below)
* Filter values with a space at the start or end must now be enclosed by
single or double quotes (see `help filter`).
* The short option '-ca' for the 'tab' command was renamed to '-C'.
* In peer lists, the 'ip' column, filter and sorter was renamed to 'host'.
Other changes:
* The TUI command 'interactive' lets the user edit a predefined command
interactively before executing it.
* The TUI command 'setcommand' opens and pre-fills the command line with any
string.
* The TUI command 'limit' applies a second filter to any list.
* The TUI command 'find' highlights and jumps to a search phrase (currently
only help texts are supported).
* The command 'rename' allows renaming torrents and files or directories
within a torrent.
* Keybindings can now have descriptions which are displayed in the output of
`help keymap` and when completing key chains.
* New default torrentlist/filelist/etc keybinding </> quickly reduces long
lists.
* New default helptext keybindings </>, <n> and <N> add support for
'less'-style(-ish) highlighting and searching in help texts.
* New default keybindings <t n> in torrent lists and <f n> in file lists
rename torrents, files and directories interactively.
* New default keybinding <t m> asks you where to move a torrent.
* New 'remove' option --force removes an unlimited number of torrents
without confirmation.
* New setting 'remove.max-hits' can be set to a negative number to never ask
for confirmation when removing torrents.
* New setting 'tui.cli.history-dir' specifies a directory instead of a file,
which allows having a history for each interactive command (i.e. when
pressing </> you can recall previous inputs with <ctrl-p> and <ctrl-n>
like in 'less').
The old history file is automatically moved to its new location
<tui.cli.history-dir>/commands.
* All time-based filters now accept relative time deltas (e.g. "1h30m") and
absolute time stamps (e.g. "2018-07-05"). Their behaviour has also
changed slightly (see `help filters`).
* The completed time of a torrent now defaults to the time it was added if
it was never downloaded (e.g. if you're the original uploader).
* The default filter in peer lists is now 'host'.
* 'comment' was added as a torrent filter.
* 'ratelimit' command displays current limits if no new limit is given.
Fixed bugs:
* No longer crash with a KeyError when listing peers with an unknown country
code.
* In yes/no prompts, default to 'no' in non-interactive mode (when stdout is
not a TTY).
* Using a boolean filter as a comparative filter (e.g. 'downloading = asdf')
now results in an error.
* Fix rare crash in peer lists: "TypeError: __str__ returned non-string
(type NoneType)"
2018-05-07 0.9.0a
Changed dependencies:
* The legacy GeoIP module has been replaced by maxminddb
https://pypi.org/project/maxminddb/
Breaking changes:
* The names and aliases of columns, filters and sorters have been changed
again (sorry) to make them more consistent and easier to guess (e.g. the
column 'rate-limit-up' is now called 'limit-rate-up' like the setting
'srv.limit.rate.up' and '%dn' is now a filter, sorter and column in all
lists (if applicable))
* The setting 'srv.url' was replaced by the new settings 'connect.host',
'connect.port', 'connect.path', 'connect.user', 'connect.password' and
'connect.tls' (Thanks to David Blajda for adding 'connect.path')
* The setting 'srv.autostart-torrents' was renamed to 'srv.autostart'
* The history for the built-in command line is now stored in
~/.local/share/stig/history by default (Thanks to Paulo Marcel Coelho
Aragão)
Other changes:
* The 'set' command now shows a list of settings when called without
arguments
* The value of a setting can now come from shell command,
e.g. `set connect.password:eval pass transmission`
* Setting any list with a limited number of options to "*" sets it to all
options (e.g. `set columns.torrents '*'`). This also works for --columns
and --sort arguments options (e.g. `lsp -c '*'`).
* New setting 'geoip' enables/disables country code lookups for peer lists
* New setting 'geoip.dir' specifies where the geolocation database is cached
* In peer lists, peers' host names are displayed instead of their IPs (may
be slow; disable with 'set reverse-dns false')
* Process name in tmux sessions is set to 'stig' if setproctitle module is
installed (Thanks to Kutsan Kaplan and Nicholas Marriott)
* 'ratelimit' command now prints the new limit by default for global and
per-torrent rates unless the --quiet option is given
* Added torrent list column: 'id'
* When listing files in the CLI, the 'name' column now contains the absolute
path to each file if stdout is not a TTY
* Filter operators ("&" and "|") are now escapable with "\"
Fixed bugs:
* Mitigate high CPU load for urwid 2.x and later
* Invalid tracker URLs (e.g. with port -1) don't cause crash anymore
* Catch SIGINT (<ctrl-c>) in CLI mode
* The values of the settings 'connect.port' and 'srv.port' are now properly
displayed in 'help' output
2018-02-25 0.8.3a
Fixed bugs:
* Remove hardcoded 60 second interval so updates heed the 'tui.poll' setting
* Fix ugly error message on exit if command fails
2018-02-23 0.8.2a
Fixed bugs:
* Compatibility with aiohttp 3.0
2017-11-27 0.8.1a
Fixed bugs:
* stig crashed with "'TransmissionURL' object has no attribute 'username'"
when trying to connect to daemon with user and password
* Documentation in default.theme file was confused about double negatives
2017-11-25 0.8.0a
Breaking changes:
* Some filters, sorters and columns have been renamed for consistency
* The file priority 'shun' is now called 'off'
* The 'details' command has been renamed to 'summary' ('details' still works
as an alias)
* The default keybindings to start/stop torrents have changed from <t+p> and
<t+P> to <t+s> and <t+S> (so we can open the peer list with <t+p>)
* For boolean settings, the values 'enable'/'disable' have been replaced by
'enabled'/'disabled'
* The 'clearlog' command has been removed (see new 'log' command)
* The setting 'tui.cli.history' has been renamed to 'tui.cli.history-file'
* The 'rate' command now accepts the same values for its LIMIT argument as
the settings 'srv.limit.rate.up/down'
Other changes:
* New commands: 'trackerlist', 'tracker add|remove'
* New contexts for keybindings: trackerlist, tracker
* New command 'log' can clear the log, scroll up/down and append info/error
messages to it
* New server settings: srv.utp, srv.dht, srv.pex, srv.lpd, srv.port,
srv.port-forwarding, srv.limit.peers.global, srv.limit.peers.torrent,
srv.autostart-torrents, srv.part-files, srv.encryption
* New setting: tui.cli.history-size
* New setting: remove.max-hits sets the maximum number of torrents that are
deleted without extra user confirmation
* Filters, sorters and columns now have shorthand aliases
* New default keybinding: <t+p> opens a torrent's peer list
* New default keybinding: <t+t> opens a torrent's tracker list
* <ctrl-l> now hides/shows the log and <alt-l> clears it
* <backspace> reverts a partially entered keychain by one character
* <ctrl-c> is now bindable and no longer raises KeyboardInterrupt
* Newlines in rc files can now be escaped with "\" to break up long lines
* The 'rc' command is now available on the CLI
* The 'rc' command no longer fails if it encounters a command that is not
supported by the active interface
* Foreground colors in the tab bar are now all bright in the default theme
* Time deltas now show seconds if less than two minutes away
* Use pyxdg module instead of appdirs (if you installed with pip, run
`pip3 uninstall --yes xdg`)
Fixed bugs:
* Long torrent lists in narrow terminals no longer take ages to print
* In torrent details, the 'Completed' date was displayed as the unix epoch
(1970-01-01 ...) if unknown, and the 'Ratio' was displayed as negative
values if unknown/not applicable
* Don't throw 'Unclosed client session' errors when opening multiple
torrent lists at once while not being connected to the daemon
* Don't crash with 'KeyError' exception when opening many torrent lists at
once while being connected to the daemon
* Some columns in torrent, peer and file lists were unnecessarily wide
* Don't crash with BrokenPipeError when piping output to tools like 'head'
2017-06-13 0.7.3a
Fixed bugs:
* Do what the previous release said (Come on brain, you used to be cool!)
2017-06-12 0.7.2a
Fixed bugs:
* 'peerlist' command crashed with a NameError if no title was specified
2017-06-09 0.7.1a
Fixed bugs:
* Pressing <page up> or <page down> with a modifier (namely <alt>) resulted
in a crash
2017-06-08 0.7.0a
Breaking changes:
* File lists are now opened with <alt-enter> instead of <enter>
Other changes:
* Scrollbars to indicate scroll position
* Scroll one page up/down with <space>/<b>
* New commands
- 'details' displays detailed information about a single torrent (bound to
<enter> by default)
- 'sort' changes the sort order of existing torrent and peer lists (bound
to <s> by default)
- 'rate' limits the download and upload rates of individual torrents or
globally
* New torrent list columns 'rate-limit-up' and 'rate-limit-down' that show a
torrent's individual rate limits
* New 'tab' command option --close-all closes all tabs
* New 'unbind' command option --all removes all keybindings
* New 'add' command option --path downloads to a custom path
* New log messages are now automatically hidden after showing them for 10
seconds. (You can always toggle with <alt-shift-l>.)
* New contexts for keybindings: 'torrentlist', 'filelist', 'peerlist'
* <?> is now an alias for <F1>
* Quick help in top bar now reacts to changed keybindings even after the
initial start
* Sort orders are deduplicated
Fixed bugs:
* The settings 'tui.log.height' and 'tui.log.autohide' didn't do anything
* 'tui' command can hide/show/toggle multiple elements, as documented
* Keybinding context 'file' was not documented in help for 'bind' command
2017-04-24 0.6.0a
Breaking changes:
* Column 'peers-seeding' is now called 'seeds'
* Column 'peers-connected' is now called 'connections'
* Peer sort order 'name' is now called 'torrent'
Other changes:
* Custom tab titles with `tab -t 'My Title'
* New columns: 'available', '%available'
* New peer filter: 'country'
* With no default rc file present, create several tabs with different lists
instead of just one with all torrents
* Negative tab focus positions (e.g. `tab --close -1` deletes the rightmost tab)
* Default torrent list columns have changed (see `stig help columns.torrents`)
* Allow missing leading zero for float numbers < 1 (e.g. ".14" -> 0.14)
* Smaller space between tab titles
Fixed bugs:
* Tab titles are now broken up into multiple lines if necessary
* File filter 'size' refused to parse numbers like '100MB'
2017-04-05 0.5.0a
Breaking changes:
* In color themes, 'torrentlist.name.initializing...' is now called
'torrentlist.name.discovering...'
Other changes:
* New torrent list columns: 'status', 'created', 'added', 'started',
'activity', 'completed', 'error'
* New sort orders: 'created', 'added', 'started', 'activity', 'completed'
* New file filter: 'path'
* Listing isolated torrents with <f> <i> now lists only 'name', 'tracker'
and 'error' columns
* Torrent paths and torrent file paths are now normalized so that
'foo/bar/baz' is equal to 'foo/bar/baz/' and even 'foo/./bar/../bar/baz//'
Fixed bugs:
* Listing files crashed if file list was empty (e.g. when torrent was added
by magnet link and metadata wasn't downloaded yet)
2017-03-22 0.4.1a
Fixed bugs:
* Marking files resulted in a crash
2017-03-16 0.4.0a
Breaking changes:
* In color themes, 'torrentlist.tpath' is now called 'torrentlist.path'
* The following settings have been renamed:
- tlist.columns -> columns.torrents
- plist.columns -> columns.peers
- flist.columns -> columns.files
- tlist.sort -> sort.torrents
- plist.sort -> sort.peers
Other changes:
* New commands 'mark' and 'unmark' select multiple torrents/files for an
action
* New command 'unbind' to remove any keybinding
* Display the number of items in peer/file list tab titles
* New column 'tracker' in torrent lists
Fixed bugs:
* Key combination <alt-space> did not work
* 'version' command now produces proper return code
2017-02-23 0.3.0a
Breaking changes:
* Instead of '|', the commands 'list' and 'filelist' use horizontal tab
characters ('\t') as column delimiters in machine-readable output
Other changes:
* New command: 'peerlist'
* New theme option 'bright_is_bold'
* Paused torrents are blue instead of dark gray, which seems to have
better contrast in most color schemes
* Tab command has new '--background' option to open tabs without focusing
them
Fixed bugs:
* Pressing any F* key crashed the application
* With no torrent lists open, stig would become unresponsive due to an
endless loop
* Setting 'srv.limit.rate.up/down' to boolean values displayed an error
about 'off' not being a number
2017-02-01 0.2.0a
Changes:
* Proper chaining of commands with '&', '|' and ';' (see 'help commands')
* Display number of torrents in tab titles
* <D> moves to left tab after closing focused tab
* 'tab' command no longer accepts -/+ for left/right tab
* default.theme file now documents how to make your own theme
Fixed bugs:
* 'set tui.theme path/to/theme' crashed the TUI
* Empty file list when opened and closed rapidly
* Long, wrapped log messages were not displayed
* <+> was wrongly interpreted as a key chain with two empty keys
2017-01-16 0.1.0a
IMPORTANT: Keybindings have changed; run 'stig help keys' for a list.
New features:
* Chained keybindings (like in Emacs)
* Add 'move' command to change torrents' download path
* Add 'announce' command to re-announce torrents manually to tracker(s)
* More accurate torrent ETA ("1h28m" instead of just "1h")
Fixed bugs:
* Page up/down keys are working again in torrent lists
2017-01-02 0.0.3a
* Fix bug in setup.py when README.org was missing