217 lines
10 KiB
Plaintext
217 lines
10 KiB
Plaintext
|
* Fixed bug in URL parser that failed to parse IPv6 addresses
|
||
|
* added peer download rate approximation
|
||
|
* added port filter for outgoing connection (to prevent
|
||
|
triggering firewalls)
|
||
|
* made most parameters configurable via session_settings
|
||
|
* added encryption support
|
||
|
* added parole mode for peers whose data fails the hash check.
|
||
|
* optimized heap usage in piece-picker and web seed downloader.
|
||
|
* fixed bug in DHT where older write tokens weren't accepted.
|
||
|
* added support for sparse files.
|
||
|
* introduced speed categories for peers and pieces, to separate
|
||
|
slow and fast peers.
|
||
|
* added a half-open tcp connection limit that takes all connections
|
||
|
in to account, not just peer connections.
|
||
|
* added alerts for filtered IPs.
|
||
|
* added support for SOCKS4 and 5 proxies and HTTP CONNECT proxies.
|
||
|
* fixed proper distributed copies calculation.
|
||
|
* added option to use openssl for sha-1 calculations.
|
||
|
* optimized the piece picker in the case where a peer is a seed.
|
||
|
* added support for local peer discovery
|
||
|
* removed the dependency on the compiled boost.date_time library
|
||
|
* deprecated torrent_info::print()
|
||
|
* added UPnP support
|
||
|
* fixed problem where peer interested flags were not updated correctly
|
||
|
when pieces were filtered
|
||
|
* improvements to ut_pex messages, including support for seed flag
|
||
|
* prioritizes upload bandwidth to peers that might send back data
|
||
|
* the following functions have been deprecated:
|
||
|
void torrent_handle::filter_piece(int index, bool filter) const;
|
||
|
void torrent_handle::filter_pieces(std::vector<bool> const& pieces) const;
|
||
|
bool torrent_handle::is_piece_filtered(int index) const;
|
||
|
std::vector<bool> torrent_handle::filtered_pieces() const;
|
||
|
void torrent_handle::filter_files(std::vector<bool> const& files) const;
|
||
|
|
||
|
instead, use the piece_priority functions.
|
||
|
|
||
|
* added support for NAT-PMP
|
||
|
* added support for piece priorities. Piece filtering is now set as
|
||
|
a priority
|
||
|
|
||
|
release 0.12
|
||
|
|
||
|
* fixes to make the DHT more compatible
|
||
|
* http seed improvements including error reporting and url encoding issues.
|
||
|
* fixed bug where directories would be left behind when moving storage
|
||
|
in some cases.
|
||
|
* fixed crashing bug when restarting or stopping the DHT.
|
||
|
* added python binding, using boost.python
|
||
|
* improved character conversion on windows when strings are not utf-8.
|
||
|
* metadata extension now respects the private flag in the torrent.
|
||
|
* made the DHT to only be used as a fallback to trackers by default.
|
||
|
* added support for HTTP redirection support for web seeds.
|
||
|
* fixed race condition when accessing a torrent that was checking its
|
||
|
fast resume data.
|
||
|
* fixed a bug in the DHT which could be triggered if the network was
|
||
|
dropped or extremely rare cases.
|
||
|
* if the download rate is limited, web seeds will now only use left-over
|
||
|
bandwidth after all bt peers have used up as much bandwidth as they can.
|
||
|
* added the possibility to have libtorrent resolve the countries of
|
||
|
the peers in torrents.
|
||
|
* improved the bandwidth limiter (it now implements a leaky bucket/node bucket).
|
||
|
* improved the HTTP seed downloader to report accurate progress.
|
||
|
* added more client peer-id signatures to be recognized.
|
||
|
* added support for HTTP servers that skip the CR before the NL at line breaks.
|
||
|
* fixed bug in the HTTP code that only accepted headers case sensitive.
|
||
|
* fixed bug where one of the session constructors didn't initialize boost.filesystem.
|
||
|
* fixed bug when the initial checking of a torrent fails with an exception.
|
||
|
* fixed bug in DHT code which would send incorrect announce messages.
|
||
|
* fixed bug where the http header parser was case sensitive to the header
|
||
|
names.
|
||
|
* Implemented an optmization which frees the piece_picker once a torrent
|
||
|
turns into a seed.
|
||
|
* Added support for uT peer exchange extension, implemented by Massaroddel.
|
||
|
* Modified the quota management to offer better bandwidth balancing
|
||
|
between peers.
|
||
|
* logging now supports multiple sessions (different sessions now log
|
||
|
to different directories).
|
||
|
* fixed random number generator seed problem, generating the same
|
||
|
peer-id for sessions constructed the same second.
|
||
|
* added an option to accept multiple connections from the same IP.
|
||
|
* improved tracker logging.
|
||
|
* moved the file_pool into session. The number of open files is now
|
||
|
limited per session.
|
||
|
* fixed uninitialized private flag in torrent_info
|
||
|
* fixed long standing issue with file.cpp on windows. Replaced the low level
|
||
|
io functions used on windows.
|
||
|
* made it possible to associate a name with torrents without metadata.
|
||
|
* improved http-downloading performance by requesting entire pieces via
|
||
|
http.
|
||
|
* added plugin interface for extensions. And changed the interface for
|
||
|
enabling extensions.
|
||
|
|
||
|
release 0.11
|
||
|
|
||
|
* added support for incorrectly encoded paths in torrent files
|
||
|
(assumes Latin-1 encoding and converts to UTF-8).
|
||
|
* added support for destructing session objects asynchronously.
|
||
|
* fixed bug with file_progress() with files = 0 bytes
|
||
|
* fixed a race condition bug in udp_tracker_connection that could
|
||
|
cause a crash.
|
||
|
* fixed bug occuring when increasing the sequenced download threshold
|
||
|
with max availability lower than previous threshold.
|
||
|
* fixed an integer overflow bug occuring when built with gcc 4.1.x
|
||
|
* fixed crasing bug when closing while checking a torrent
|
||
|
* fixed bug causing a crash with a torrent with piece length 0
|
||
|
* added an extension to the DHT network protocol to support the
|
||
|
exchange of nodes with IPv6 addresses.
|
||
|
* modified the ip_filter api slightly to support IPv6
|
||
|
* modified the api slightly to make sequenced download threshold
|
||
|
a per torrent-setting.
|
||
|
* changed the address type to support IPv6
|
||
|
* fixed bug in piece picker which would not behave as
|
||
|
expected with regard to sequenced download threshold.
|
||
|
* fixed bug with file_progress() with files > 2 GB.
|
||
|
* added --enable-examples option to configure script.
|
||
|
* fixed problem with the resource distribution algorithm
|
||
|
(controlling e.g upload/download rates).
|
||
|
* fixed incorrect asserts in storage related to torrents with
|
||
|
zero-sized files.
|
||
|
* added support for trackerless torrents (with kademlia DHT).
|
||
|
* support for torrents with the private flag set.
|
||
|
* support for torrents containing bootstrap nodes for the
|
||
|
DHT network.
|
||
|
* fixed problem with the configure script on FreeBSD.
|
||
|
* limits the pipelining used on url-seeds.
|
||
|
* fixed problem where the shutdown always would delay for
|
||
|
session_settings::stop_tracker_timeout seconds.
|
||
|
* session::listen_on() won't reopen the socket in case the port and
|
||
|
interface is the same as the one currently in use.
|
||
|
* added http proxy support for web seeds.
|
||
|
* fixed problem where upload and download stats could become incorrect
|
||
|
in case of high cpu load.
|
||
|
* added more clients to the identifiable list.
|
||
|
* fixed fingerprint parser to cope with latest Mainline versions.
|
||
|
|
||
|
release 0.10
|
||
|
|
||
|
* fixed a bug where the requested number of peers in a tracker request could
|
||
|
be too big.
|
||
|
* fixed a bug where empty files were not created in full allocation mode.
|
||
|
* fixed a bug in storage that would, in rare cases, fail to do a
|
||
|
complete check.
|
||
|
* exposed more settings for tweaking parameters in the piece-picker,
|
||
|
downloader and uploader (http_settings replaced by session_settings).
|
||
|
* tweaked default settings to improve high bandwidth transfers.
|
||
|
* improved the piece picker performance and made it possible to download
|
||
|
popular pieces in sequence to improve disk performance.
|
||
|
* added the possibility to control upload and download limits per peer.
|
||
|
* fixed problem with re-requesting skipped pieces when peer was sending pieces
|
||
|
out of fifo-order.
|
||
|
* added support for http seeding (the GetRight protocol)
|
||
|
* renamed identifiers called 'id' in the public interface to support linking
|
||
|
with Objective.C++
|
||
|
* changed the extensions protocol to use the new one, which is also
|
||
|
implemented by uTorrent.
|
||
|
* factorized the peer_connection and added web_peer_connection which is
|
||
|
able to download from http-sources.
|
||
|
* converted the network code to use asio (resulted in slight api changes
|
||
|
dealing with network addresses).
|
||
|
* made libtorrent build in vc7 (patches from Allen Zhao)
|
||
|
* fixed bug caused when binding outgoing connections to a non-local interface.
|
||
|
* add_torrent() will now throw if called while the session object is
|
||
|
being closed.
|
||
|
* added the ability to limit the number of simultaneous half-open
|
||
|
TCP connections. Flags in peer_info has been added.
|
||
|
|
||
|
release 0.9.1
|
||
|
|
||
|
* made the session disable file name checks within the boost.filsystem library
|
||
|
* fixed race condition in the sockets
|
||
|
* strings that are invalid utf-8 strings are now decoded with the
|
||
|
local codepage on windows
|
||
|
* added the ability to build libtorrent both as a shared library
|
||
|
* client_test can now monitor a directory for torrent files and automatically
|
||
|
start and stop downloads while running
|
||
|
* fixed problem with file_size() when building on windows with unicode support
|
||
|
* added a new torrent state, allocating
|
||
|
* added a new alert, metadata_failed_alert
|
||
|
* changed the interface to session::add_torrent for some speed optimizations.
|
||
|
* greatly improved the command line control of the example client_test.
|
||
|
* fixed bug where upload rate limit was not being applied.
|
||
|
* files that are being checked will no longer stall files that don't need
|
||
|
checking.
|
||
|
* changed the way libtorrent identifies support for its excentions
|
||
|
to look for 'ext' at the end of the peer-id.
|
||
|
* improved performance by adding a circle buffer for the send buffer.
|
||
|
* fixed bugs in the http tracker connection when using an http proxy.
|
||
|
* fixed problem with storage's file pool when creating torrents and then
|
||
|
starting to seed them.
|
||
|
* hard limit on remote request queue and timeout on requests (a timeout
|
||
|
triggers rerequests). This makes libtorrent work much better with
|
||
|
"broken" clients like BitComet which may ignore requests.
|
||
|
|
||
|
Initial release 0.9
|
||
|
|
||
|
* multitracker support
|
||
|
* serves multiple torrents on a single port and a single thread
|
||
|
* supports http proxies and proxy authentication
|
||
|
* gzipped tracker-responses
|
||
|
* block level piece picker
|
||
|
* queues torrents for file check, instead of checking all of them in parallel
|
||
|
* uses separate threads for checking files and for main downloader
|
||
|
* upload and download rate limits
|
||
|
* piece-wise, unordered, incremental file allocation
|
||
|
* fast resume support
|
||
|
* supports files > 2 gigabytes
|
||
|
* supports the no_peer_id=1 extension
|
||
|
* support for udp-tracker protocol
|
||
|
* number of connections limit
|
||
|
* delays sending have messages
|
||
|
* can resume pieces downloaded in any order
|
||
|
* adjusts the length of the request queue depending on download rate
|
||
|
* supports compact=1
|
||
|
* selective downloading
|
||
|
* ip filter
|
||
|
|