source: trunk/extras/rpc-spec.txt @ 11156

Last change on this file since 11156 was 11156, checked in by charles, 13 years ago

(trunk) annotate the RPC spec to explain that the units for rateDownload and rateUpload changed in RPC version 10

File size: 34.7 KB
Line 
11.  Introduction
2
3   This document describes a protocol for interacting with Transmission
4   sessions remotely.
5
61.1  Terminology
7
8   The JSON terminology in RFC 4627 is used.
9
10   In benc terms, a JSON "array" is equivalent to a benc list,
11   a JSON "object" is equivalent to a benc dictionary,
12   and a JSON object's "keys" are the dictionary's string keys.
13
142.  Message Format
15
16   Messages are formatted as objects.  There are two types:
17   requests (described in 2.1) and responses (described in 2.2).
18
19   All text MUST be UTF-8 encoded.
20
212.1.  Requests
22
23   Requests support three keys:
24
25   (1) A required "method" string telling the name of the method to invoke
26   (2) An optional "arguments" object of key/value pairs
27   (3) An optional "tag" number used by clients to track responses.
28       If provided by a request, the response MUST include the same tag.
29
302.2.  Responses
31
32   Reponses support three keys:
33
34   (1) A required "result" string whose value MUST be "success" on success,
35       or an error string on failure.
36   (2) An optional "arguments" object of key/value pairs
37   (3) An optional "tag" number as described in 2.1.
38
392.3.  Transport Mechanism
40
41   HTTP POSTing a JSON-encoded request is the preferred way of communicating
42   with a Transmission RPC server.  The current Transmission implementation
43   has the default URL as http://host:9091/transmission/rpc.  Clients
44   may use this as a default, but should allow the URL to be reconfigured,
45   since the port and path may be changed to allow mapping and/or multiple
46   daemons to run on a single server.
47
48   In addition to POSTing, there's also a simple notation for sending
49   requests in the query portion of a URL.  This is not as robust, but can
50   be useful for debugging and simple tasks.  The notation works as follows:
51
52   (1) Any key not "tag" or "method" is treated as an argument.
53   (2) The "arguments" key isn't needed, since data isn't nested.
54   (3) If the value in a key/value pair can be parsed as a number, then it is.
55       Otherwise if it can be parsed as an array of numbers, then it is.
56       Otherwise, it's parsed as a string.
57
58   Examples:
59   ?method=torrent-start&ids=1,2
60   ?method=session-set&speed-limit-down=50&speed-limit-down-enabled=1
61   
62
633.  Torrent Requests
64
653.1.  Torrent Action Requests
66
67   Method name          | libtransmission function
68   ---------------------+-------------------------------------------------
69   "torrent-start"      | tr_torrentStart
70   "torrent-stop"       | tr_torrentStop
71   "torrent-verify"     | tr_torrentVerify
72   "torrent-reannounce" | tr_torrentManualUpdate ("ask tracker for more peers")
73
74   Request arguments: "ids", which specifies which torrents to use.
75                  All torrents are used if the "ids" argument is omitted.
76                  "ids" should be one of the following:
77                  (1) an integer referring to a torrent id
78                  (2) a list of torrent id numbers, sha1 hash strings, or both
79                  (3) a string, "recently-active", for recently-active torrents
80
81   Response arguments: none
82
833.2.  Torrent Mutators
84
85   Method name: "torrent-set"
86
87   Request arguments:
88
89   string                | value type & description
90   ----------------------+-------------------------------------------------
91   "bandwidthPriority"   | number     this torrent's bandwidth tr_priority_t
92   "downloadLimit"       | number     maximum download speed (KBps)
93   "downloadLimited"     | boolean    true if "downloadLimit" is honored
94   "files-wanted"        | array      indices of file(s) to download
95   "files-unwanted"      | array      indices of file(s) to not download
96   "honorsSessionLimits" | boolean    true if session upload limits are honored
97   "ids"                 | array      torrent list, as described in 3.1
98   "location"            | string     new location of the torrent's content
99   "peer-limit"          | number     maximum number of peers
100   "priority-high"       | array      indices of high-priority file(s)
101   "priority-low"        | array      indices of low-priority file(s)
102   "priority-normal"     | array      indices of normal-priority file(s)
103   "seedIdleLimit"       | number     torrent-level number of minutes of seeding inactivity
104   "seedIdleMode"        | number     which seeding inactivity to use.  See tr_inactvelimit
105   "seedRatioLimit"      | double     torrent-level seeding ratio
106   "seedRatioMode"       | number     which ratio to use.  See tr_ratiolimit
107   "trackerAdd"          | array      strings of URLs to add
108   "trackerRemove"       | array      strings of URLs to remove
109   "trackerReplace"      | array      pairs of old/new announce URLs
110   "uploadLimit"         | number     maximum upload speed (KBps)
111   "uploadLimited"       | boolean    true if "uploadLimit" is honored
112
113   Just as an empty "ids" value is shorthand for "all ids", using an empty array
114   for "files-wanted", "files-unwanted", "priority-high", "priority-low", or
115   "priority-normal" is shorthand for saying "all files".
116
117   Response arguments: none
118
1193.3.  Torrent Accessors
120
121   Method name: "torrent-get".
122
123   Request arguments:
124
125   (1) An optional "ids" array as described in 3.1.
126   (2) A required "fields" array of keys. (see list below)
127
128   Response arguments:
129
130   (1) A "torrents" array of objects, each of which contains
131       the key/value pairs matching the request's "fields" argument.
132   (2) If the request's "ids" field was "recently-active",
133       a "removed" array of torrent-id numbers of recently-removed
134       torrents.
135
136   Note: For more information on what these fields mean, see the comments
137   in libtransmission/transmission.h.  The "source" column here
138   corresponds to the data structure there.
139
140   key                         | type                        | source
141   ----------------------------+-----------------------------+---------
142   activityDate                | number                      | tr_stat
143   addedDate                   | number                      | tr_stat
144   bandwidthPriority           | number                      | tr_priority_t
145   comment                     | string                      | tr_info
146   corruptEver                 | number                      | tr_stat
147   creator                     | string                      | tr_info
148   dateCreated                 | number                      | tr_info
149   desiredAvailable            | number                      | tr_stat
150   doneDate                    | number                      | tr_stat
151   downloadDir                 | string                      | tr_torrent
152   downloadedEver              | number                      | tr_stat
153   downloadLimit               | number                      | tr_torrent
154   downloadLimited             | boolean                     | tr_torrent
155   error                       | number                      | tr_stat
156   errorString                 | string                      | tr_stat
157   eta                         | number                      | tr_stat
158   files                       | array (see below)           | n/a
159   fileStats                   | array (see below)           | n/a
160   hashString                  | string                      | tr_info
161   haveUnchecked               | number                      | tr_stat
162   haveValid                   | number                      | tr_stat
163   honorsSessionLimits         | boolean                     | tr_torrent
164   id                          | number                      | tr_torrent
165   isFinished                  | boolean                     | tr_stat
166   isPrivate                   | boolean                     | tr_torrent
167   leftUntilDone               | number                      | tr_stat
168   magnetLink                  | number                      | n/a
169   manualAnnounceTime          | number                      | tr_stat
170   maxConnectedPeers           | number                      | tr_torrent
171   metadataPercentComplete     | double                      | tr_stat
172   name                        | string                      | tr_info
173   peer-limit                  | number                      | tr_torrent
174   peers                       | array (see below)           | n/a
175   peersConnected              | number                      | tr_stat
176   peersFrom                   | object (see below)          | n/a
177   peersGettingFromUs          | number                      | tr_stat
178   peersKnown                  | number                      | tr_stat
179   peersSendingToUs            | number                      | tr_stat
180   percentDone                 | double                      | tr_stat
181   pieces                      | string (see below)          | tr_torrent
182   pieceCount                  | number                      | tr_info
183   pieceSize                   | number                      | tr_info
184   priorities                  | array (see below)           | n/a
185   rateDownload (KBps)         | double                      | tr_stat
186   rateUpload (KBps)           | double                      | tr_stat
187   recheckProgress             | double                      | tr_stat
188   seedIdleLimit               | number                      | tr_torrent
189   seedIdleMode                | number                      | tr_inactvelimit
190   seedRatioLimit              | double                      | tr_torrent
191   seedRatioMode               | number                      | tr_ratiolimit
192   sizeWhenDone                | number                      | tr_stat
193   startDate                   | number                      | tr_stat
194   status                      | number                      | tr_stat
195   trackers                    | array (see below)           | n/a
196   trackerStats                | array (see below)           | n/a
197   totalSize                   | number                      | tr_info
198   torrentFile                 | string                      | tr_info
199   uploadedEver                | number                      | tr_stat
200   uploadLimit                 | number                      | tr_torrent
201   uploadLimited               | boolean                     | tr_torrent
202   uploadRatio                 | double                      | tr_stat
203   wanted                      | array (see below)           | n/a
204   webseeds                    | array (see below)           | n/a
205   webseedsSendingToUs         | number                      | tr_stat
206                               |                             |
207                               |                             |
208   -------------------+--------+-----------------------------+
209   files              | array of objects, each containing:   |
210                      +-------------------------+------------+
211                      | key                     | type       |
212                      | bytesCompleted          | number     | tr_torrent
213                      | length                  | number     | tr_info
214                      | name                    | string     | tr_info
215   -------------------+--------------------------------------+
216   fileStats          | a file's non-constant properties.    |
217                      | array of tr_info.filecount objects,  |
218                      | each containing:                     |
219                      +-------------------------+------------+
220                      | bytesCompleted          | number     | tr_torrent
221                      | wanted                  | boolean    | tr_info
222                      | priority                | number     | tr_info
223   -------------------+--------------------------------------+
224   peers              | array of objects, each containing:   |
225                      +-------------------------+------------+
226                      | address                 | string     | tr_peer_stat
227                      | clientName              | string     | tr_peer_stat
228                      | clientIsChoked          | boolean    | tr_peer_stat
229                      | clientIsInterested      | boolean    | tr_peer_stat
230                      | flagStr                 | string     | tr_peer_stat
231                      | isDownloadingFrom       | boolean    | tr_peer_stat
232                      | isEncrypted             | boolean    | tr_peer_stat
233                      | isIncoming              | boolean    | tr_peer_stat
234                      | isUploadingTo           | boolean    | tr_peer_stat
235                      | peerIsChoked            | boolean    | tr_peer_stat
236                      | peerIsInterested        | boolean    | tr_peer_stat
237                      | port                    | number     | tr_peer_stat
238                      | progress                | double     | tr_peer_stat
239                      | rateToClient (KBps)     | double     | tr_peer_stat
240                      | rateToPeer (KBps)       | double     | tr_peer_stat
241   -------------------+--------------------------------------+
242   peersFrom          | an object containing:                |
243                      +-------------------------+------------+
244                      | fromCache               | number     | tr_stat
245                      | fromDht                 | number     | tr_stat
246                      | fromIncoming            | number     | tr_stat
247                      | fromLtep                | number     | tr_stat
248                      | fromPex                 | number     | tr_stat
249                      | fromTracker             | number     | tr_stat
250   -------------------+--------------------------------------+
251   pieces             | A bitfield holding pieceCount flags  | tr_torrent
252                      | which are set to 'true' if we have   |
253                      | the piece matching that position.    |
254                      | JSON doesn't allow raw binary data,  |
255                      | so this is a base64-encoded string.  |
256   -------------------+--------------------------------------+
257   priorities         | an array of tr_info.filecount        | tr_info
258                      | numbers. each is the tr_priority_t   |
259                      | mode for the corresponding file.     |
260   -------------------+--------------------------------------+
261   trackers           | array of objects, each containing:   |
262                      +-------------------------+------------+
263                      | announce                | string     | tr_tracker_info
264                      | scrape                  | string     | tr_tracker_info
265                      | tier                    | number     | tr_tracker_info
266                      | id                      | number     | tr_tracker_info
267   -------------------+--------------------------------------+
268   trackerStats       | array of objects, each containing:   |
269                      +-------------------------+------------+
270                      | announce                | string     | tr_tracker_stat
271                      | announceState           | number     | tr_tracker_stat
272                      | downloadCount           | number     | tr_tracker_stat
273                      | hasAnnounced            | boolean    | tr_tracker_stat
274                      | hasScraped              | boolean    | tr_tracker_stat
275                      | host                    | string     | tr_tracker_stat
276                      | id                      | number     | tr_tracker_stat
277                      | isBackup                | boolean    | tr_tracker_stat
278                      | lastAnnouncePeerCount   | number     | tr_tracker_stat
279                      | lastAnnounceResult      | string     | tr_tracker_stat
280                      | lastAnnounceStartTime   | number     | tr_tracker_stat
281                      | lastAnnounceSucceeded   | boolean    | tr_tracker_stat
282                      | lastAnnounceTime        | number     | tr_tracker_stat
283                      | lastAnnounceTimedOut    | boolean    | tr_tracker_stat
284                      | lastScrapeResult        | string     | tr_tracker_stat
285                      | lastScrapeStartTime     | number     | tr_tracker_stat
286                      | lastScrapeSucceeded     | boolean    | tr_tracker_stat
287                      | lastScrapeTime          | number     | tr_tracker_stat
288                      | lastScrapeTimedOut      | boolean    | tr_tracker_stat
289                      | leecherCount            | number     | tr_tracker_stat
290                      | nextAnnounceTime        | number     | tr_tracker_stat
291                      | nextScrapeTime          | number     | tr_tracker_stat
292                      | scrapeState             | number     | tr_tracker_stat
293                      | seederCount             | number     | tr_tracker_stat
294                      | tier                    | number     | tr_tracker_stat
295   -------------------+-------------------------+------------+
296   wanted             | an array of tr_info.fileCount        | tr_info
297                      | 'booleans' true if the corresponding |
298                      | file is to be downloaded.            |
299   -------------------+--------------------------------------+
300   webseeds           | an array of strings:                 |
301                      +-------------------------+------------+
302                      | webseed                 | string     | tr_info
303                      +-------------------------+------------+
304
305   Example:
306
307   Say we want to get the name and total size of torrents #7 and #10.
308
309   Request:
310
311      {
312         "arguments": {
313             "fields": [ "id", "name", "totalSize" ],
314             "ids": [ 7, 10 ]
315         },
316         "method": "torrent-get",
317         "tag": 39693
318      }
319
320
321   Response:
322
323      {
324         "arguments": {
325            "torrents": [
326               {
327                   "id": 10,
328                   "name": "Fedora x86_64 DVD",
329                   "totalSize": 34983493932,
330               },
331               {
332                   "id": 7,
333                   "name": "Ubuntu x86_64 DVD",
334                   "totalSize", 9923890123,
335               }
336            ]
337         },
338         "result": "success",
339         "tag": 39693
340      }
341
3423.4.  Adding a Torrent
343
344   Method name: "torrent-add"
345
346   Request arguments:
347
348   key                  | value type & description
349   ---------------------+-------------------------------------------------
350   "download-dir"       | string      path to download the torrent to
351   "filename"           | string      filename or URL of the .torrent file
352   "metainfo"           | string      base64-encoded .torrent content
353   "paused"             | boolean     if true, don't start the torrent
354   "peer-limit"         | number      maximum number of peers
355   "bandwidthPriority"  | number      torrent's bandwidth tr_priority_t
356   "files-wanted"       | array       indices of file(s) to download
357   "files-unwanted"     | array       indices of file(s) to not download
358   "priority-high"      | array       indices of high-priority file(s)
359   "priority-low"       | array       indices of low-priority file(s)
360   "priority-normal"    | array       indices of normal-priority file(s)
361
362   Either "filename" OR "metainfo" MUST be included.
363   All other arguments are optional.
364
365   Response arguments: on success, a "torrent-added" object in the
366                       form of one of 3.3's tr_info objects with the
367                       fields for id, name, and hashString.
368
3693.5.  Removing a Torrent
370
371   Method name: "torrent-remove"
372
373   Request arguments:
374
375   string                     | value type & description
376   ---------------------------+-------------------------------------------------
377   "ids"                      | array      torrent list, as described in 3.1
378   "delete-local-data"        | boolean    delete local data. (default: false)
379
380   Response arguments: none
381
382
3833.6.  Moving a Torrent
384
385   Method name: "torrent-set-location"
386
387   Request arguments:
388
389   string                     | value type & description
390   ---------------------------+-------------------------------------------------
391   "ids"                      | array      torrent list, as described in 3.1
392   "location"                 | string     the new torrent location
393   "move"                     | boolean    if true, move from previous location.
394                              |            otherwise, search "location" for files
395
396   Response arguments: none
397
398
3994.   Session Requests
400
4014.1.  Session Arguments
402
403   string                           | value type & description
404   ---------------------------------+-------------------------------------------------
405   "alt-speed-down"                 | number     max global download speed (KBps)
406   "alt-speed-enabled"              | boolean    true means use the alt speeds
407   "alt-speed-time-begin"           | number     when to turn on alt speeds (units: minutes after midnight)
408   "alt-speed-time-enabled"         | boolean    true means the scheduled on/off times are used
409   "alt-speed-time-end"             | number     when to turn off alt speeds (units: same)
410   "alt-speed-time-day"             | number     what day(s) to turn on alt speeds (look at tr_sched_day)
411   "alt-speed-up"                   | number     max global upload speed (KBps)
412   "blocklist-enabled"              | boolean    true means enabled
413   "blocklist-size"                 | number     number of rules in the blocklist
414   "cache-size"                     | number     maximum size of the disk cache (MB)
415   "config-dir"                     | string     location of transmission's configuration directory
416   "download-dir"                   | string     default path to download torrents
417   "dht-enabled"                    | boolean    true means allow dht in public torrents
418   "encryption"                     | string     "required", "preferred", "tolerated"
419   "inactive-seeding-limit"         | number     the default seed inactivity limit for torrents to use
420   "inactive-seeding-limit-enabled" | boolean    true if the seeding inactivity limit is honored by default
421   "incomplete-dir"                 | string     path for incomplete torrents, when enabled
422   "incomplete-dir-enabled"         | boolean    true means keep torrents in incomplete-dir until done
423   "lpd-enabled"                    | boolean    true means allow Local Peer Discovery in public torrents
424   "peer-limit-global"              | number     maximum global number of peers
425   "peer-limit-per-torrent"         | number     maximum global number of peers
426   "pex-enabled"                    | boolean    true means allow pex in public torrents
427   "peer-port"                      | number     port number
428   "peer-port-random-on-start"      | boolean    true means pick a random peer port on launch
429   "port-forwarding-enabled"        | boolean    true means enabled
430   "rename-partial-files"           | boolean    true means append ".part" to incomplete files
431   "rpc-version"                    | number     the current RPC API version
432   "rpc-version-minimum"            | number     the minimum RPC API version supported
433   "script-torrent-done-filename"   | string     filename of the script to run
434   "script-torrent-done-enabled"    | boolean    whether or not to call the "done" script
435   "seedRatioLimit"                 | double     the default seed ratio for torrents to use
436   "seedRatioLimited"               | boolean    true if seedRatioLimit is honored by default
437   "speed-limit-down"               | number     max global download speed (KBps)
438   "speed-limit-down-enabled"       | boolean    true means enabled
439   "speed-limit-up"                 | number     max global upload speed (KBps)
440   "speed-limit-up-enabled"         | boolean    true means enabled
441   "start-added-torrents"           | boolean    true means added torrents will be started right away
442   "trash-original-torrent-files"   | boolean    true means the .torrent file of added torrents will be deleted
443   "version"                        | string     long version string "$version ($revision)"
444
445   "rpc-version" indicates the RPC interface version supported by the RPC server.
446   It is incremented when a new version of Transmission changes the RPC interface.
447
448   "rpc-version-minimum" indicates the oldest API supported by the RPC server.
449   It is changes when a new version of Transmission changes the RPC interface
450   in a way that is not backwards compatible.  There are no plans for this
451   to be common behavior.
452
4534.1.1.  Mutators
454
455   Method name: "session-set"
456   Request arguments: one or more of 4.1's arguments, except: "blocklist-size",
457                      "config-dir", "rpc-version", "rpc-version-minimum",
458                      and "version"
459   Response arguments: none
460
4614.1.2.  Accessors
462
463   Method name: "session-get"
464   Request arguments: none
465   Response arguments: all of 4.1's arguments
466
4674.2.  Session Statistics
468
469   Method name: "session-stats"
470
471   Request arguments: none
472
473   Response arguments:
474
475   string                     | value type
476   ---------------------------+-------------------------------------------------
477   "activeTorrentCount"       | number
478   "downloadSpeed"            | number
479   "pausedTorrentCount"       | number
480   "torrentCount"             | number
481   "uploadSpeed"              | number
482   ---------------------------+-------------------------------+
483   "cumulative-stats"         | object, containing:           |
484                              +------------------+------------+
485                              | uploadedBytes    | number     | tr_session_stats
486                              | downloadedBytes  | number     | tr_session_stats
487                              | filesAdded       | number     | tr_session_stats
488                              | sessionCount     | number     | tr_session_stats
489                              | secondsActive    | number     | tr_session_stats
490   ---------------------------+-------------------------------+
491   "current-stats"            | object, containing:           |
492                              +------------------+------------+
493                              | uploadedBytes    | number     | tr_session_stats
494                              | downloadedBytes  | number     | tr_session_stats
495                              | filesAdded       | number     | tr_session_stats
496                              | sessionCount     | number     | tr_session_stats
497                              | secondsActive    | number     | tr_session_stats
498
4994.3.  Blocklist
500
501   Method name: "blocklist-update"
502   Request arguments: none
503   Response arguments: a number "blocklist-size"
504
5054.4.  Port Checking
506
507   This method tests to see if your incoming peer port is accessible
508   from the outside world.
509
510   Method name: "port-test"
511   Request arguments: none
512   Response arguments: a bool, "port-is-open"
513
5145.0.  Protocol Versions
515
516  The following changes have been made to the RPC interface:
517
518   RPC   | Release | Backwards |                |
519   Vers. | Version | Compat?   | Method         | Description
520   ------+---------+-----------+----------------+-------------------------------
521   1     | 1.30    | n/a       | n/a            | Initial version
522   ------+---------+-----------+----------------+-------------------------------
523   2     | 1.34    | yes       | torrent-get    | new arg "peers"
524   ------+---------+-----------+----------------+-------------------------------
525   3     | 1.41    | yes       | torrent-get    | added "port" to "peers"
526         |         | yes       | torrent-get    | new arg "downloaders"
527         |         | yes       | session-get    | new arg "version"
528         |         | yes       | torrent-remove | new method
529   ------+---------+-----------+----------------+-------------------------------
530   4     | 1.50    | yes       | session-get    | new arg "rpc-version"
531         |         | yes       | session-get    | new arg "rpc-version-minimum"
532         |         | yes       | session-stats  | added "cumulative-stats"
533         |         | yes       | session-stats  | added "current-stats"
534         |         | yes       | torrent-get    | new arg "downloadDir"
535   ------+---------+-----------+----------------+-------------------------------
536   5     | 1.60    | yes       |                | new method "torrent-reannounce"
537         |         | yes       |                | new method "blocklist-update"
538         |         | yes       |                | new method "port-test"
539         |         |           |                |
540         |         | yes       | session-get    | new arg "alt-speed-begin"
541         |         | yes       | session-get    | new arg "alt-speed-down"
542         |         | yes       | session-get    | new arg "alt-speed-enabled"
543         |         | yes       | session-get    | new arg "alt-speed-end"
544         |         | yes       | session-get    | new arg "alt-speed-time-enabled"
545         |         | yes       | session-get    | new arg "alt-speed-up"
546         |         | yes       | session-get    | new arg "blocklist-enabled"
547         |         | yes       | session-get    | new arg "blocklist-size"
548         |         | yes       | session-get    | new arg "peer-limit-per-torrent"
549         |         | yes       | session-get    | new arg "seedRatioLimit"
550         |         | yes       | session-get    | new arg "seedRatioLimited"
551         |         |        NO | session-get    | renamed "pex-allowed" to "pex-enabled"
552         |         |        NO | session-get    | renamed "port" to "peer-port"
553         |         |        NO | session-get    | renamed "peer-limit" to "peer-limit-global"
554         |         |           |                |
555         |         | yes       | torrent-add    | new arg "files-unwanted"
556         |         | yes       | torrent-add    | new arg "files-wanted"
557         |         | yes       | torrent-add    | new arg "priority-high"
558         |         | yes       | torrent-add    | new arg "priority-low"
559         |         | yes       | torrent-add    | new arg "priority-normal"
560         |         |           |                |
561         |         | yes       | torrent-set    | new arg "bandwidthPriority"
562         |         | yes       | torrent-set    | new arg "honorsSessionLimits"
563         |         | yes       | torrent-set    | new arg "seedRatioLimit"
564         |         | yes       | torrent-set    | new arg "seedRatioLimited"
565         |         |        NO | torrent-set    | renamed "speed-limit-down" to "downloadLimit"
566         |         |        NO | torrent-set    | renamed "speed-limit-down-enabled" to "downloadLimited"
567         |         |        NO | torrent-set    | renamed "speed-limit-up" to "uploadLimit"
568         |         |        NO | torrent-set    | renamed "speed-limit-up-enabled" to "uploadLimited"
569         |         |           |                |
570         |         | yes       | torrent-get    | new arg "bandwidthPriority"
571         |         | yes       | torrent-get    | new arg "fileStats"
572         |         | yes       | torrent-get    | new arg "honorsSessionLimits"
573         |         | yes       | torrent-get    | new arg "percentDone"
574         |         | yes       | torrent-get    | new arg "pieces"
575         |         | yes       | torrent-get    | new arg "seedRatioLimit"
576         |         | yes       | torrent-get    | new arg "seedRatioMode"
577         |         | yes       | torrent-get    | new arg "torrentFile"
578         |         | yes       | torrent-get    | new ids option "recently-active"
579         |         |        NO | torrent-get    | removed arg "downloadLimitMode"
580         |         |        NO | torrent-get    | removed arg "uploadLimitMode"
581   ------+---------+-----------+----------------+-------------------------------
582   6     | 1.70    | yes       |                | new "method torrent-set-location"
583   ------+---------+-----------+----------------+-------------------------------
584   7     | 1.80    |        NO | torrent-get    | removed arg "announceResponse"
585         |         |        NO | torrent-get    | removed arg "announceURL"
586         |         |        NO | torrent-get    | removed arg "downloaders"
587         |         |        NO | torrent-get    | removed arg "lastAnnounceTime"
588         |         |        NO | torrent-get    | removed arg "lastScrapeTime"
589         |         |        NO | torrent-get    | removed arg "leechers"
590         |         |        NO | torrent-get    | removed arg "nextAnnounceTime"
591         |         |        NO | torrent-get    | removed arg "nextScrapeTime"
592         |         |        NO | torrent-get    | removed arg "scrapeResponse"
593         |         |        NO | torrent-get    | removed arg "scrapeURL"
594         |         |        NO | torrent-get    | removed arg "seeders"
595         |         |        NO | torrent-get    | removed arg "timesCompleted"
596         |         |        NO | torrent-get    | removed arg "swarmSpeed"
597         |         | yes       | torrent-get    | new arg "magnetLink"
598         |         | yes       | torrent-get    | new arg "metadataPercentComplete"
599         |         | yes       | torrent-get    | new arg "trackerStats"
600         |         | yes       | session-set    | new arg "incomplete-dir"
601         |         | yes       | session-set    | new arg "incomplete-dir-enabled"
602   ------+---------+-----------+----------------+-------------------------------
603   8     | 1.90    | yes       | session-set    | new arg "rename-partial-files"
604         |         | yes       | session-get    | new arg "rename-partial-files"
605         |         | yes       | session-get    | new arg "config-dir"
606         |         | yes       | torrent-add    | new arg "bandwidthPriority"
607         |         | yes       | torrent-get    | new trackerStats arg "lastAnnounceTimedOut"
608   ------+---------+-----------+----------------+-------------------------------
609   8     | 1.92    | yes       | torrent-get    | new trackerStats arg "lastScrapeTimedOut"
610   ------+---------+-----------+----------------+-------------------------------
611   9     | 2.00    | yes       | session-set    | new arg "start-added-torrents"
612         |         | yes       | session-set    | new arg "trash-original-torrent-files"
613         |         | yes       | session-get    | new arg "start-added-torrents"
614         |         | yes       | session-get    | new arg "trash-original-torrent-files"
615         |         | yes       | torrent-get    | new arg "isFinished"
616   ------+---------+-----------+----------------+-------------------------------
617   10    | 2.10    | yes       | session-get    | new arg "cache-size"
618         |         | yes       | torrent-set    | new arg "trackerAdd"
619         |         | yes       | torrent-set    | new arg "trackerEdit"
620         |         | yes       | torrent-set    | new arg "trackerRemove"
621         |         | yes       | session-set    | new arg "inactive-seeding-limit"
622         |         | yes       | session-set    | new arg "inactive-seeding-limit-enabled"
623         |         | yes       | session-get    | new arg "inactive-seeding-limit"
624         |         | yes       | session-get    | new arg "inactive-seeding-limit-enabled"
625         |         | yes       | torrent-set    | new arg "seedIdleLimit"
626         |         | yes       | torrent-set    | new arg "seedIdleMode"
627         |         |        NO | torrent-get    | units for "rateDownload" changed from B to KB
628         |         |        NO | torrent-get    | units for "rateUpload" changed from B to KB
Note: See TracBrowser for help on using the repository browser.