3
* introduced a session state save mechanism. load_state() and save_state().
4
this saves all session settings and state (except torrents)
5
* deprecated dht_state functions and merged it with the session state
6
* added support for multiple trackers in magnet links
7
* added support for explicitly flushing the disk cache
8
* added torrent priority to affect bandwidth allocation for its peers
9
* reduced the number of floating point operations (to better support
11
* added new alert when individual files complete
12
* added support for storing symbolic links in .torrent files
13
* added support for uTorrent interpretation of multi-tracker torrents
14
* handle torrents with duplicate filenames
15
* piece timeouts are adjusted to download rate limits
16
* encodes urls in torrent files that needs to be encoded
17
* fixed not passing &supportcrypto=1 when encryption is disabled
18
* introduced an upload mode, which torrents are switched into when
19
it hits a disk write error, instead of stopping the torrent.
20
this lets libtorrent keep uploading the parts it has when it
21
encounters a disk-full error for instance
22
* improved disk error handling and expanded use of error_code in
23
error reporting. added a bandwidth state, bw_disk, when waiting
24
for the disk io thread to catch up writing buffers
25
* improved read cache memory efficiency
26
* added another cache flush algorithm to write the largest
27
contiguous blocks instead of the least recently used
28
* introduced a mechanism to be lighter on the disk when checking torrents
29
* applied temporary memory storage optimization to when checking
31
* removed hash_for_slot() from storage_interface. It is now implemented
32
by using the readv() function from the storage implementation
33
* improved IPv6 support by announcing twice when necessary
34
* added feature to set a separate global rate limit for local peers
35
* added preset settings for low memory environments and seed machines
36
min_memory_usage() and high_performance_seeder()
37
* optimized overall memory usage for DHT nodes and requests, peer
38
entries and disk buffers
39
* change in API for block_info in partial_piece_info, instead of
40
accessing 'peer', call 'peer()'
41
* added support for fully automatic unchoker (no need to specify
42
number of upload slots). This is on by default
43
* added support for changing socket buffer sizes through
45
* added support for merkle hash tree torrents (.merkle.torrent)
46
* added 'seed mode', which assumes that all files are complete
47
and checks hashes lazily, as blocks are requested
48
* added new extension for file attributes (executable and hidden)
49
* added support for unbuffered I/O for aligned files
50
* added workaround for sparse file issue on Windows Vista
51
* added new lt_trackers extension to exchange trackers between
53
* added support for BEP 17 http seeds
54
* added read_piece() to read pieces from torrent storage
55
* added option for udp tracker preference
57
* added add_piece() function to inject data from external sources
58
* add_tracker() function added to torrent_handle
59
* if there is no working tracker, current_tracker is the
60
tracker that is currently being tried
61
* torrents that are checking can now be paused, which will
63
* introduced another torrent state, checking_resume_data, which
64
the torrent is in when it's first added, and is comparing
65
the files on disk with the resume data
66
* DHT bandwidth usage optimizations
67
* rate limited DHT send socket
68
* tracker connections are now also subject to IP filtering
69
* improved optimistic unchoke logic
70
* added monitoring of the DHT lookups
71
* added bandwidth reports for estimated TCP/IP overhead and DHT
72
* includes DHT traffic in the rate limiter
73
* added support for bitcomet padding files
74
* improved support for sparse files on windows
75
* added ability to give seeding torrents preference to active slots
76
* added torrent_status::finished_time
77
* automatically caps files and connections by default to rlimit
78
* added session::is_dht_running() function
79
* added torrent_handle::force_dht_announce()
80
* added torrent_info::remap_files()
81
* support min_interval tracker extension
82
* added session saving and loading functions
83
* added support for min-interval in tracker responses
84
* only keeps one outstanding duplicate request per peer
85
reduces waste download, specifically when streaming
86
* added support for storing per-peer rate limits across reconnects
87
* improved fallocate support
88
* fixed magnet link issue when using resume data
89
* support disk I/O priority settings
90
* added info_hash to torrent_deleted_alert
91
* improved LSD performance and made the interval configurable
92
* improved UDP tracker support by caching connect tokens
93
* fast piece optimization
3
97
* fixed udp tracker race condition