浏览代码

Update NEWS

Tatsuhiro Tsujikawa 9 年之前
父节点
当前提交
656800948d
共有 1 个文件被更改,包括 84 次插入235 次删除
  1. 84 235
      NEWS

+ 84 - 235
NEWS

@@ -1,290 +1,139 @@
-aria2 1.19.3
+aria2 1.20.0
 ============
 
 Release Note
 ------------
 
 This release fixes lots of bugs.  See the Changes section below.
+There are new features in this release.  We added "seeder" key in
+aria2.tellStatus RPC response.  We added system.listMethods RPC method
+to return all RPC method supported.  We added --max-mmap-limit option
+to avoid mmap if total file size is greater than given size.
 
 Changes
 -------
 
-* Fix bug that pause/unpause seeding torrent prevents new downloads
-  from starting
+* src/WinConsoleFile.cc: fix colour
 
-  Previously, with --bt-detach-seed-only, when user issued pause and
-  unpause command to seeding torrent, and it was started again, and it
-  immediately got seeding status, but aria2 did not start new download
-  waiting in the queue.  This commit fixes this bug.
+  Set default foreground/background colour correctly
 
-  See GH-490
+  Patch from kwkam
 
-* Add --bt-enable-hook-after-hash-check option
+* configure.ac: fix autoreconf error
 
-  This option sets flag which allows hook command invocation after
-  hash check (see -V option) in BitTorrent download.  By default, when
-  hash check succeeds, the command given by --on-bt-download-complete
-  is executed.  To disable this action, give false to this option.
+  Use m4_ifdef so we do not have to install optional libraries
 
-* Add --socket-recv-buffer-size option
+  Patch from kwkam
 
-  Set the maximum socket receive buffer in bytes. Specifing 0 will
-  disable this option. This value will be set to socket file
-  descriptor using SO_RCVBUF socket option with setsockopt() call.
+* Don't inherit file descriptor to child process
 
-  See GH-487 about the usecase of this option
+  For non-Mingw32 build, set FD_CLOEXEC to file descriptors which live
+  beyond function scope.  For Mingw32 build, just pass false to
+  bInheritHandles parameter of CreateProcessW.
 
-* Disable --deferred-input when --save-session is used together
+* Update Russian version documentation
 
-  With --deferred-input=true, aria2 only reads input file to fill
-  active download slots, while keeping input file open.  Meanwhile,
-  --save-session saves all download info inside memory, but this does
-  not take into account of unread item in input file.  This will lead
-  to lose input data in saved session file.  Also current BufferedFile
-  implementation used to read/write input/output file take a lock on
-  Windows.  This effectively prevents session serializer from writing
-  session data to the same file which is still kept open because of
-  --deferred-input.  See GH-493
+  Patch from ITriskTI
 
-* base32: decode lowercased characters as well
+* Add "seeder" key to tellStatus RPC response
 
-  This fixes the bug that magnet URI with lowercased btih is treated
-  as malformed.
+* WinTLS: Fix hang because of buffered received data
 
-* mingw: Use GetFileSize to get file size
+  WinTLSSession buffers received decrypted data into its own buffer.
+  If read is requested, it copies the data from its buffer.  But if
+  requested buffer size is less than decrypted buffer, some of the
+  data is left in the buffer.  Previously, we had no facility to check
+  the existence of this pending data.  If this data is the last
+  requested data from remote server, we may end up waiting for read
+  event even if we have already data in our buffer, which may cause
+  hang.  This commit fixes this issue by introducing function to
+  return the buffered length in TLSSession.  SocketCore also provides
+  the same function, which delegates to TLSSession object.
 
-  _wstat family does not work with symbolic links.  They always
-  returns size 0.  To workaround this, we now use GetFileSize to get
-  file size.  To do that, we need to first obtain file HANDLE, which
-  is a bit tedious because of the messy interface of CreateFileW, but
-  we have no way to get around it.
+* Add --max-mmap-limit option
 
-* Fix bug that file allocation=trunc does not work with Windows
-  symlink
+  Set the maximum file size to enable mmap (see --enable-mmap
+  option). The file size is determined by the sum of all files
+  contained in one download. For example, if a download contains 5
+  files, then file size is the total size of those files. If file size
+  is strictly greater than the size specified in this option, mmap
+  will be disabled.
 
-* Send the last error message as part of tellStatus RPC response
+* mingw: Use SetFileValidData to make --file-allocation=falloc work
 
-  Patch from Jarda Snajdr
+* Retry with 504 status code
 
-* Don't enable mmap if file allocation is disabled
+* Increase DHT transaction ID from 2 to 4 bytes to avoid conflict
 
-  Without file allocation, we cannot map file because file length
-  could be zero.
+* Update wslay
 
-  This could fix bug reported at GH-478
+* Add --enable-werror option to configure to enable warning flags
 
-* Evict timed out pooled socket periodically
+* Don't modify user variables (e.g., CFLAGS, LIBS, etc)
 
-  Previously we only scanned pool socket to check they are timed out
-  when we pooled another socket.  This means that pooled socket is not
-  closed long time (stays in CLOSE-WAIT state) if we don't pool any
-  more socket.  In this commit, we now check pooled socket
-  periodically (30 seconds) to avoid the sockets hanging in CLOSE-WAIT
-  state long time.
+* Improve error message when loading pkcs12 file failed
 
-  See GH-477
+* Updated dependency and source url's
 
-* Don't write control file if content is not changed from previous one
+  The RaspberryPi Dockerfile had some out-of-date dependency packages
+  and was downloading an outdated aria2 source from Sourceforge, which
+  resulted in a build for version 1.19.0.  The new
+  fetch-latest-release-from-GitHub script I've cooked up should always
+  work as long as GitHub doesn't change their API and aria2's platform
+  agnostic releases follow the "{version number}.tar.bz2" naming
+  format.
 
-  This is desirable so that we don't have to wake up disk if control
-  file is not changed, and it is not have to be written again.  We use
-  the same method (SHA1 hash) to check the content is the same.  The
-  limitation is the hash is stored in memory, so we have to write the
-  first time in each session.
+  Patch from c3mb0
 
-  See GH-382
+* Reduce delay in tracker request
 
-* Remove content-length and content-range if transfer-encoding is
-  given
+  We eliminated 1 second delay between completion of name resolution
+  for tracker request and time when it is actually issued.  We also
+  elimited 1 second delay after last torrent download exists and it is
+  told to DHTInteractionCommand.
 
-  See GH-473
+* Disable IPv6 on non-async NameResolver if configuration wants
 
-* Retry after 404 status if --max-file-not-found > 0
+* Fix mysterious 1 second delay with async DNS
 
-
+* Fix bug that UDP port was incorrectly used in UDP tracker announce request
 
-aria2 1.19.2
-============
-
-Release Note
-------------
-
-This release fixes the bug that progress summary is not shown timely.
-
-Changes
--------
-
-* Fix bug that progress summary is not shown timely
-
-
-
-aria2 1.19.1
-============
-
-Release Note
-------------
-
-This release fixes TLS handshake error with servers which only support
-RSA-SHA1 signature algorithm.  We removed RSA-SHA1 for enchanced
-security, but many users reported there were servers which could not
-talk aria2 1.19.0, so added it again for compatibility reasons.  For
-Windows build, we fixed potential infinite loop bug when TLS is used.
-
-We changed the location where dht.dat and aria2.conf are looked up.
-The aria2 manual page described details.  Basically we now follow XDG
-specification (http://standards.freedesktop.org/basedir-spec/latest/).
-For dht.dat, the default location is $XDG_CACHE_HOME/aria2/ directory.
-For aria2.conf, the default location is $XDG_CONFIG_HOME/aria2/
-directory.  To keep the current user configuration working, if aria2
-detects dht.dat under $HOME/.aria2/ directory, it is used instead.
-Similarly, if aria2.conf exists under $HOME/.aria2/ directory, it is
-used instead.
-
-Previously, we return 500 HTTP status if RPC method execution
-encountered error.  Now it returns with 400 HTTP status with error
-code.  This is more natural because server processed request and found
-an error, and returned error reply correctly.  This is not something
-server crashed or something.  Also, there is RPC libraries which
-throws exception if it sees 5XX status code, where 400 is better
-because we can examine the error.
-
-Changes
--------
-
-* Update README.android
-
-  Providing some workarounds about CA certificates and standard output
-
-  Patch from amtlib-dot-dll
-
-* Return 400 HTTP status code if exception was caught while executing
-  RPC method
-
-  Previously, we returned 500 HTTP status code.  I think the found in
-  RPC level, not in HTTP protocol, so 500 is not appropriate.
-
-* WinTLS: Fix potential infinite loop
-
-* Fix on-download-error is executed even if download succeeded
-
-* Update Dockerfile.mingw
-
-  Patch from Adam Baxter
-
-* Increase --select-file upper bound to 1m for torrent containing lots
-  of files
-
-* Fix busy loop with --dry-run and 4xx response for URI listed in
-  metalink
-
-  See GH-430
-
-* Update sqlite in OSX build to 3.8.10.2
-
-* Make LibuvEventPoll compatible with the latest libuv again
-
-* gnutls: Allow SIGN-RSA-SHA1 for compatibility reason
-
-* Make script compatible with both Python 2 and 3
-
-  Patch from Vasilij Schneidermann
-
-* Make config and cache files conform to XDG
-
-  See http://standards.freedesktop.org/basedir-spec/latest/ for
-  further details.  This implementation decides the default based on
-  whether a file exists at the legacy location, if it doesn't, it
-  picks the XDG-conforming location instead.
-
-  Patch from Vasilij Schneidermann
-
-* ftp, sftp: Fix heap-after-free bug on exception
-
-* ftp: Fix timeout when reusing FTP connection
-
-* Various MinGW-w64 build improvements
-
-  - Fix detection of localtime_r and asctime_r on MinGW-w64
-  - Fix linking with libintl on MinGW-w64
-
-  Patch from David Macek
-
-
-
-aria2 1.19.0
-============
-
-Release Note
-------------
-
-This releases adds SFTP support, and fixes several bugs.  SFTP support
-has been implemented using libssh2.  We added several new options.
---multiple-interface option is like --interface option, but can take
-several interfaces.  They are used in round-robin manner, and it works
-like link aggregation.  Previously, .netrc search path is fixed under
-$HOME directory, and cannot be changed.  In this release, --netrc-path
-option has been added to override the search path.  The runtime bug
-concerning getrandom has been fixed in this release.  Previously if
-download failed because checksum error, aria2 exited with error code 1
-(unknown error).  Now it exits with dedicated error code 32.  We fixed
-long outstanding bug that aria2 crashes when downloading multi-file
-torrent.
-
-Changes
--------
-
-* android: Build and link with zlib
-
-  Previously, we linked with zlib shipped with NDK, but it seems this
-  is not part of NDK API, and thus could break our app.
-
-* Allow netrc-path to be specified in the config file
-
-  Adds --netrc-path to override default .netrc search path.  Patch
-  from Ryan Steinmetz
-
-* Exit with 32 status code if checksum verification failed
-
-* Add SFTP support using libssh2
-
-  aria2 can now download files via sftp protocol: aria2c sftp://....
-  --ssh-host-key-md option is added to specify expected server's
-  fingerprint.
-
-* Added Dockerfile to cross complile aria2 for RaspberryPI (armhf)
-
-  Patch from Igor Khomyakov
+* Refactor HttpRequest
 
-* multiple interface support for link aggregation
+  This also makes comparison performed when replacing builtin header
+  field with user-defined one case-insensitive.
 
-  Adds --multiple-interface option.  Patch from Sarim Khan
+* Send Want-Digest as per RFC 3230
 
-* Run on-bt-download-complete command when -V reports download finished
+* Try all found address set to bind sockets with --multiple-interface
 
-  Fixes GH-355
+  Fixes GH-523
 
-* Use dedicated DiskWriter in MultiDiskFileAllocationIterator
+* Replace sourceforge references with aria2.github.io
 
-  We have to use dedicated DiskWriter instead of
-  (*entryItr_)->getDiskWriter().  This is because
-  SingleFileAllocationIterator cannot reopen file if file is closed by
-  OpenedFileCounter.  Fixes GH-350
+* Add system.listMethods RPC method
 
-* Fix getrandom for system with libc not including errno or systems
+  system.listMethods just returns the available RPC method names.  It
+  can be executed without secret token, because it just returns the
+  method names, and does not alter anything.
 
-  not supporting ENOSYS in the first place.  Fixes GH-347
+  See GH-437
 
-* Don't send back rpc-secret option value in aria2.getGlobalOption RPC
-  method
+* Support content-range from non-compliant server
 
-* Make libuv default off
+  See GH-509
 
-  See GH-241 for discussion
+* Reduce UDP tracker request timeout
 
-* Fixed slow RPC response
+  See GH-507
 
-  Fxies GH-345
+* Apply --retry-wait when retrying after 404
 
-* Fix getrandom interface detection
+  Previously, --retry-wait was not used when retrying after 404
+  (--max-file-not-found).  The retry was done without delay.  Also the
+  maximum retry count (--max-retries) was ignored when retrying with
+  404.
 
-  Fixes GH-346
+  This commit makes --retry-wait apply for retrying with 404 as well.
+  It also combines --max-retries and --max-file-not-found.  When
+  retrying with 404, it is counted toward retry count.