Update for iperf-3.5, re-render manual page.
Part of #707.
diff --git a/docs/conf.py b/docs/conf.py
index 1018fea..e4dbdf2 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -52,10 +52,10 @@
 # built documents.
 #
 # The short X.Y version.
-version = '3.4'
+version = '3.5'
 # The full version, including alpha/beta/rc tags.
 
-release = '3.4'
+release = '3.5'
 
 # The language for content autogenerated by Sphinx. Refer to documentation
 # for a list of supported languages.
diff --git a/docs/invoking.rst b/docs/invoking.rst
index fdd58a8..c049293 100644
--- a/docs/invoking.rst
+++ b/docs/invoking.rst
@@ -156,9 +156,9 @@
                  potentialy multiple CPUs).
    
           -B, --bind host
-                 bind  to the specific interface  associated with address <host>.
-                 If the host  has  multiple  interfaces, it  will use  the  first
-                 interface by default.
+                 bind to the specific interface associated with address host.  If
+                 the  host  has multiple interfaces, it will use the first inter-
+                 face by default.
    
           -V, --verbose
                  give more detailed output
@@ -170,11 +170,11 @@
                  send output to a log file.
    
           --forceflush
-                 force  flushing output at every interval.  Used to avoid buffer-
+                 force flushing output at every interval.  Used to avoid  buffer-
                  ing when sending output to pipe.
    
           -d, --debug
-                 emit debugging output.  Primarily (perhaps exclusively)  of  use
+                 emit  debugging  output.  Primarily (perhaps exclusively) of use
                  to developers.
    
           -v, --version
@@ -192,28 +192,28 @@
                  run the server in background as a daemon
    
           -I, --pidfile file
-                 write  a file with the process ID, most useful when running as a
+                 write a file with the process ID, most useful when running as  a
                  daemon.
    
           -1, --one-off
                  handle one client connection, then exit.
    
           --rsa-private-key-path file
-                 path to the RSA private key  (not  password-protected)  used  to
-                 decrypt  authentication  credentials  from  the client (if built
+                 path  to  the  RSA  private key (not password-protected) used to
+                 decrypt authentication credentials from  the  client  (if  built
                  with OpenSSL support).
    
           --authorized-users-path file
-                 path to the configuration file containing authorized users  cre-
-                 dentials  to  run  iperf  tests (if built with OpenSSL support).
-                 The file is a comma separated list  of  usernames  and  password
-                 hashes;  more  information  on  the structure of the file can be
+                 path  to the configuration file containing authorized users cre-
+                 dentials to run iperf tests (if  built  with  OpenSSL  support).
+                 The  file  is  a  comma separated list of usernames and password
+                 hashes; more information on the structure of  the  file  can  be
                  found in the EXAMPLES section.
    
    CLIENT SPECIFIC OPTIONS
           -c, --client host
-                 run in client mode, connecting  to  the  specified  server.   By
-                 default,  a test consists of sending data from the client to the
+                 run  in  client  mode,  connecting  to the specified server.  By
+                 default, a test consists of sending data from the client to  the
                  server, unless the -R flag is specified.
    
           --sctp use SCTP rather than TCP (FreeBSD and Linux)
@@ -222,42 +222,42 @@
                  use UDP rather than TCP
    
           --connect-timeout n
-                 set timeout for establishing the initial control  connection  to
-                 the  server, in milliseconds.  The default behavior is the oper-
-                 ating system's timeout for TCP connection  establishment.   Pro-
-                 viding  a  shorter value may speed up detection of a down iperf3
+                 set  timeout  for establishing the initial control connection to
+                 the server, in milliseconds.  The default behavior is the  oper-
+                 ating  system's  timeout for TCP connection establishment.  Pro-
+                 viding a shorter value may speed up detection of a  down  iperf3
                  server.
    
           -b, --bitrate n[KM]
-                 set target bitrate to n bits/sec (default 1  Mbit/sec  for  UDP,
-                 unlimited  for  TCP/SCTP).   If  there  are multiple streams (-P
-                 flag), the  throughput  limit  is  applied  separately  to  each
-                 stream.   You  can  also  add  a '/' and a number to the bitrate
+                 set  target  bitrate  to n bits/sec (default 1 Mbit/sec for UDP,
+                 unlimited for TCP/SCTP).  If  there  are  multiple  streams  (-P
+                 flag),  the  throughput  limit  is  applied  separately  to each
+                 stream.  You can also add a '/' and  a  number  to  the  bitrate
                  specifier.  This is called "burst mode".  It will send the given
-                 number  of  packets  without  pausing,  even if that temporarily
-                 exceeds the specified  throughput  limit.   Setting  the  target
-                 bitrate  to  0  will disable bitrate limits (particularly useful
+                 number of packets without  pausing,  even  if  that  temporarily
+                 exceeds  the  specified  throughput  limit.   Setting the target
+                 bitrate to 0 will disable bitrate  limits  (particularly  useful
                  for UDP tests).  This throughput limit is implemented internally
-                 inside  iperf3, and is available on all platforms.  Compare with
-                 the --fq-rate flag.  This option replaces the --bandwidth  flag,
+                 inside iperf3, and is available on all platforms.  Compare  with
+                 the  --fq-rate flag.  This option replaces the --bandwidth flag,
                  which is now deprecated but (at least for now) still accepted.
    
           --pacing-timer n[KMG]
-                 set   pacing   timer  interval  in  microseconds  (default  1000
-                 microseconds, or 1 ms).  This controls iperf3's internal  pacing
-                 timer  for  the  -b/--bitrate  option.   The  timer fires at the
-                 interval set by this parameter.  Smaller values  of  the  pacing
-                 timer  parameter  smooth  out the traffic emitted by iperf3, but
-                 potentially at the cost of  performance  due  to  more  frequent
+                 set  pacing  timer  interval  in  microseconds   (default   1000
+                 microseconds,  or 1 ms).  This controls iperf3's internal pacing
+                 timer for the -b/--bitrate  option.   The  timer  fires  at  the
+                 interval  set  by  this parameter.  Smaller values of the pacing
+                 timer parameter smooth out the traffic emitted  by  iperf3,  but
+                 potentially  at  the  cost  of  performance due to more frequent
                  timer processing.
    
           --fq-rate n[KM]
                  Set a rate to be used with fair-queueing based socket-level pac-
-                 ing, in bits per second.  This pacing (if specified) will be  in
-                 addition  to any pacing due to iperf3's internal throughput pac-
-                 ing (-b/--bitrate flag), and both can be specified for the  same
-                 test.   Only  available  on platforms supporting the SO_MAX_PAC-
-                 ING_RATE socket option (currently only Linux).  The  default  is
+                 ing,  in bits per second.  This pacing (if specified) will be in
+                 addition to any pacing due to iperf3's internal throughput  pac-
+                 ing  (-b/--bitrate flag), and both can be specified for the same
+                 test.  Only available on platforms  supporting  the  SO_MAX_PAC-
+                 ING_RATE  socket  option (currently only Linux).  The default is
                  no fair-queueing based pacing.
    
           --no-fq-socket-pacing
@@ -274,27 +274,27 @@
                  number of blocks (packets) to transmit (instead of -t or -n)
    
           -l, --length n[KM]
-                 length of buffer to read or write.  For TCP tests,  the  default
+                 length  of  buffer to read or write.  For TCP tests, the default
                  value is 128KB.  In the case of UDP, iperf3 tries to dynamically
-                 determine a reasonable sending size based on the  path  MTU;  if
-                 that  cannot be determined it uses 1460 bytes as a sending size.
+                 determine  a  reasonable  sending size based on the path MTU; if
+                 that cannot be determined it uses 1460 bytes as a sending  size.
                  For SCTP tests, the default size is 64KB.
    
           --cport port
-                 bind data streams to a specific client port  (for  TCP  and  UDP
+                 bind  data  streams  to  a specific client port (for TCP and UDP
                  only, default is to use an ephemeral port)
    
           -P, --parallel n
-                 number  of  parallel  client streams to run. Note that iperf3 is
-                 single threaded, so if you are CPU bound, this  will  not  yield
+                 number of parallel client streams to run. Note  that  iperf3  is
+                 single  threaded,  so  if you are CPU bound, this will not yield
                  higher throughput.
    
           -R, --reverse
-                 reverse  the  direction of a test, so that the server sends data
+                 reverse the direction of a test, so that the server  sends  data
                  to the client
    
           -w, --window n[KM]
-                 window size / socket buffer size (this gets sent to  the  server
+                 window  size  / socket buffer size (this gets sent to the server
                  and used on that side too)
    
           -M, --set-mss n
@@ -314,32 +314,32 @@
                  can be used, i.e. 52, 064 and 0x34 all specify the same value.
    
           --dscp dscp
-                 set the IP DSCP bits.  Both  numeric  and  symbolic  values  are
-                 accepted.  Numeric values can be specified in decimal, octal and
+                 set  the  IP  DSCP  bits.   Both numeric and symbolic values are
+                 accepted. Numeric values can be specified in decimal, octal  and
                  hex (see --tos above).
    
           -L, --flowlabel n
                  set the IPv6 flow label (currently only supported on Linux)
    
           -X, --xbind name
-                 Bind SCTP associations to  a  specific  subset  of  links  using
-                 sctp_bindx(3).   The  --B  flag  will be ignored if this flag is
+                 Bind  SCTP  associations  to  a  specific  subset of links using
+                 sctp_bindx(3).  The --B flag will be ignored  if  this  flag  is
                  specified.  Normally SCTP will include the protocol addresses of
-                 all  active  links on the local host when setting up an associa-
-                 tion. Specifying at least one --X name will disable this  behav-
-                 iour.   This flag must be specified for each link to be included
-                 in the association, and is supported for both iperf servers  and
+                 all active links on the local host when setting up  an  associa-
+                 tion.  Specifying at least one --X name will disable this behav-
+                 iour.  This flag must be specified for each link to be  included
+                 in  the association, and is supported for both iperf servers and
                  clients (the latter are supported by passing the first --X argu-
-                 ment to bind(2)).  Hostnames are accepted as arguments  and  are
-                 resolved  using  getaddrinfo(3).   If  the  --4 or --6 flags are
-                 specified, names which do not resolve to  addresses  within  the
+                 ment  to  bind(2)).  Hostnames are accepted as arguments and are
+                 resolved using getaddrinfo(3).  If the  --4  or  --6  flags  are
+                 specified,  names  which  do not resolve to addresses within the
                  specified protocol family will be ignored.
    
           --nstreams n
                  Set number of SCTP streams.
    
           -Z, --zerocopy
-                 Use  a  "zero copy" method of sending data, such as sendfile(2),
+                 Use a "zero copy" method of sending data, such  as  sendfile(2),
                  instead of the usual write(2).
    
           -O, --omit n
@@ -350,16 +350,16 @@
                  Prefix every output line with this string.
    
           -C, --congestion algo
-                 Set  the  congestion control algorithm (Linux and FreeBSD only).
-                 An older --linux-congestion synonym for this  flag  is  accepted
+                 Set the congestion control algorithm (Linux and  FreeBSD  only).
+                 An  older  --linux-congestion  synonym for this flag is accepted
                  but is deprecated.
    
           --get-server-output
                  Get the output from the server.  The output format is determined
                  by the server (in particular, if the server was invoked with the
-                 --json  flag,  the  output  will be in JSON format, otherwise it
-                 will be in human-readable format).  If the client  is  run  with
-                 --json,  the  server output is included in a JSON object; other-
+                 --json flag, the output will be in  JSON  format,  otherwise  it
+                 will  be  in  human-readable format).  If the client is run with
+                 --json, the server output is included in a JSON  object;  other-
                  wise it is appended at the bottom of the human-readable output.
    
           --username username
@@ -368,7 +368,7 @@
                  actively when the test is run.
    
           --rsa-public-key-path file
-                 path to the RSA public key used to encrypt  authentication  cre-
+                 path  to  the RSA public key used to encrypt authentication cre-
                  dentials (if built with OpenSSL support)
    
    
@@ -376,8 +376,8 @@
       Authentication - RSA Keypair
           The authentication feature of requires an RSA public keypair.  The pub-
           lic key is used to encrypt the authentication token containing the user
-          credentials,  while  the private key is used to decrypt the authentica-
-          tion token.  An example of a set of  UNIX/Linux  commands  to  generate
+          credentials, while the private key is used to decrypt  the  authentica-
+          tion  token.   An  example  of a set of UNIX/Linux commands to generate
           correct keypair follows:
    
                > openssl genrsa -des3 -out private.pem 2048
@@ -386,16 +386,16 @@
                form PEM
    
           After these commands, the public key will be contained in the file pub-
-          lic.pem  and  the  private  key  will  be  contained  in  the file pri-
+          lic.pem and the  private  key  will  be  contained  in  the  file  pri-
           vate_not_protected.pem.
    
       Authentication - Authorized users configuration file
-          A simple plaintext file must be provided to the iperf3 server in  order
-          to  specify the authorized user credentials.  The file is a simple list
-          of comma-separated pairs of a username  and  a  corresponding  password
-          hash.   The password hash is a SHA256 hash of the string "{$user}$pass-
-          word".  The file can also contain commented lines (starting with the  #
-          character).   An example of commands to generate the password hash on a
+          A  simple plaintext file must be provided to the iperf3 server in order
+          to specify the authorized user credentials.  The file is a simple  list
+          of  comma-separated  pairs  of  a username and a corresponding password
+          hash.  The password hash is a SHA256 hash of the string  "{$user}$pass-
+          word".   The file can also contain commented lines (starting with the #
+          character).  An example of commands to generate the password hash on  a
           UNIX/Linux system is given below:
    
                > S_USER=mario S_PASSWD=rossi
@@ -419,7 +419,7 @@
    
    
    
-   ESnet                            February 2018                       IPERF3(1)
+   ESnet                             March 2018                         IPERF3(1)
 
 The iperf3 manual page will typically be installed in manual
 section 1.
diff --git a/docs/news.rst b/docs/news.rst
index 471946b..7914cbd 100644
--- a/docs/news.rst
+++ b/docs/news.rst
@@ -1,6 +1,15 @@
 iperf3 Project News
 ===================
 
+2018-03-02:  iperf-3.5 released
+-------------------------------
+
+| URL:  http://downloads.es.net/pub/iperf/iperf-3.5.tar.gz
+| SHA256:  ``539bd9ecdca1b8c1157ff85b70ed09b3c75242e69886fc16b54883b399f72cd5  iperf-3.5.tar.gz``
+
+iperf 3.5 fixes a bug that could over-count data transfers (and hence
+measured bitrate).
+
 2018-02-14:  iperf-3.4 released
 -------------------------------