Browse Source

Start on 0.4.0.1-alpha changelog

Nick Mathewson 5 years ago
parent
commit
49062d72b5
69 changed files with 319 additions and 301 deletions
  1. 319 0
      ChangeLog
  2. 0 4
      changes/bug21900
  3. 0 4
      changes/bug23082
  4. 0 6
      changes/bug24393
  5. 0 3
      changes/bug24661
  6. 0 4
      changes/bug24953
  7. 0 7
      changes/bug25885
  8. 0 3
      changes/bug27707
  9. 0 5
      changes/bug27929
  10. 0 4
      changes/bug28518
  11. 0 3
      changes/bug28569
  12. 0 4
      changes/bug28591
  13. 0 3
      changes/bug28654
  14. 0 5
      changes/bug28895
  15. 0 6
      changes/bug28920
  16. 0 4
      changes/bug28938
  17. 0 5
      changes/bug28989
  18. 0 5
      changes/bug28995
  19. 0 3
      changes/doc28560
  20. 0 4
      changes/doc28805
  21. 0 2
      changes/document_version
  22. 0 5
      changes/feature27244
  23. 0 4
      changes/feature27367
  24. 0 7
      changes/prop297
  25. 0 6
      changes/subsystems
  26. 0 3
      changes/ticket24805
  27. 0 6
      changes/ticket24838
  28. 0 4
      changes/ticket26360
  29. 0 8
      changes/ticket26770
  30. 0 11
      changes/ticket27167
  31. 0 5
      changes/ticket27225
  32. 0 4
      changes/ticket27325
  33. 0 3
      changes/ticket27359
  34. 0 10
      changes/ticket27402
  35. 0 6
      changes/ticket27490
  36. 0 3
      changes/ticket27549
  37. 0 3
      changes/ticket27620
  38. 0 4
      changes/ticket27625
  39. 0 4
      changes/ticket27914
  40. 0 3
      changes/ticket27993
  41. 0 3
      changes/ticket28006
  42. 0 3
      changes/ticket28007
  43. 0 3
      changes/ticket28008
  44. 0 3
      changes/ticket28009
  45. 0 3
      changes/ticket28010
  46. 0 3
      changes/ticket28011
  47. 0 3
      changes/ticket28012
  48. 0 2
      changes/ticket28058
  49. 0 3
      changes/ticket28077
  50. 0 3
      changes/ticket28100
  51. 0 10
      changes/ticket28142
  52. 0 5
      changes/ticket28179
  53. 0 3
      changes/ticket28180
  54. 0 10
      changes/ticket28266
  55. 0 7
      changes/ticket28335
  56. 0 6
      changes/ticket28362
  57. 0 3
      changes/ticket28551
  58. 0 5
      changes/ticket28624
  59. 0 6
      changes/ticket28669
  60. 0 5
      changes/ticket28757
  61. 0 4
      changes/ticket28768
  62. 0 3
      changes/ticket28839
  63. 0 3
      changes/ticket28840
  64. 0 3
      changes/ticket28843
  65. 0 3
      changes/ticket28846
  66. 0 3
      changes/ticket28847
  67. 0 4
      changes/ticket28852
  68. 0 3
      changes/ticket28853
  69. 0 3
      changes/ticket28856

+ 319 - 0
ChangeLog

@@ -1,3 +1,322 @@
+Changes in version 0.4.0.1-alpha - 2019-01-18
+  blurb blurb blurb
+
+  o Major features (battery management, client, dormant mode):
+    - When Tor is running as a client, and it is unused for a long time,
+      it can now enter a "dormant" state. When Tor is dormant, it avoids
+      network activity and CPU wakeups until it is reawoken either by a
+      user request or by a controller command. For more information, see
+      the configuration options starting with "Dormant". Implements
+      tickets 2149 and 28335.
+    - The client's memory of whether it is "dormant", and how long it
+      has spend idle, persists across invocations. Implements
+      ticket 28624.
+    - There is a DormantOnFirstStartup option that integrators can use
+      if they expect that in many cases, Tor will be installed but
+      not used.
+
+  o Major features (bootstrap):
+    - Report the first connection to a relay as the earliest phases of
+      bootstrap progress, regardless of whether it's a connection for
+      building application circuits. This allows finer-grained reporting
+      of early progress than previously possible with the improvements
+      of ticket 27169. Closes tickets 27167 and 27103. Addresses
+      ticket 27308.
+    - Separately report the intermediate stage of having connected to a
+      proxy or pluggable transport, versus succesfully using that proxy
+      or pluggable transport to connect to a relay. Closes tickets 27100
+      and 28884.
+
+  o Major features (circuit padding):
+    - Implement preliminary support for the circuit padding portion of
+      Proposal 254. The implementation supports Adaptive Padding (aka
+      WTF-PAD) state machines for use between experimental clients and
+      relays. Support is also provided for APE-style state machines that
+      use probability distributions instead of histograms to specify
+      inter-packet delay. At the moment, Tor does not provide any
+      padding state machines that are used in normal operation -- this
+      feature exists solely for experimentation in this release. Closes
+      ticket 28142.
+
+  o Major features (refactoring):
+    - Tor now uses an explicit list of its own subsystems when
+      initializing and shutting down. Previously, these systems were
+      managed implicitly though various places throughout the codebase.
+      (There still some subsystems using the old system.) Closes
+      ticket 28330.
+
+  o Minor feature (bootstrap):
+    - When reporting bootstrap progress, stop distinguishing between
+      situations where it seems that only internal paths are available
+      and situations where it seems that external paths are available.
+      Previously, tor would often erroneously report that it had only
+      internal paths. Closes ticket 27402.
+
+  o Minor features (Continuous Integration):
+    - Log Python version during each Travis CI job. Resolves
+      issue 28551.
+
+  o Minor features (controller):
+    - Add a DROPOWNERSHIP command to undo the effects of TAKEOWNERSHIP.
+      Implements ticket 28843.
+
+  o Minor features (developer tooling):
+    - Provide a git hook script to prevent "fixup!" and "squash!"
+      commits from ending up in master. Closes ticket 27993.
+
+  o Minor features (directory authority):
+    - Directory authorities support a new consensus algorithm, under
+      which microdescriptor entries are encoded in a canonical form.
+      This improves their compressibility in transit and on the client.
+      Closes ticket 28266; implements proposal 298.
+
+  o Minor features (directory authority, relay):
+    - Authorities now vote on a "StaleDesc" flag to indicate that a
+      relay's descriptor is so old that the relay should upload again
+      soon. Relays understand this flag, and treat it as a signal to
+      upload a new descriptor. This flag will eventually let us remove
+      the 'published' date from routerstatus entries, and save a great
+      deal of space in our consensus diffs. Closes ticket 26770;
+      implements proposal 293.
+
+  o Minor features (fallback directory mirrors):
+    - Update the fallback whitelist based on operator opt-ins and opt-
+      outs. Closes ticket 24805, patch by Phoul.
+    - Accept fallbacks that deliver reasonably live consensuses.
+      (Consensuses that will become valid less than 24 hours in the
+      future, or that expired less than 24 hours ago.) Closes
+      ticket 28768.
+    - Accept relays that are a fuzzy match to a fallback whitelist
+      entry. If a relay matches at least one fingerprint, IPv4 address,
+      or IPv6 address in the fallback whitelist, it can become a
+      fallback. This reduces the work required to keep the list up to
+      date. Closes ticket 24838.
+
+  o Minor features (FreeBSD):
+    - Warn relay operators if the "net.inet.ip.random_id" sysctl (IP ID
+      randomization) is disabled on their relay if it is running on
+      FreeBSD based operating systems. Closes ticket 28518.
+
+  o Minor features (HTTP standards compliance):
+    - Don't send Content-Type: application/octet-stream for transparently
+      compressed documents, which confused browsers. Closes ticket 28100.
+
+  o Minor features (ipv6):
+    - We add an option ClientAutoIPv6ORPort which makes clients randomly
+      prefer a node's IPv4 or IPv6 ORPort. The random preference is set
+      every time a node is loaded from a new consensus or bridge config.
+      Closes ticket 27490. Patch by Neel Chauhan.
+    - When using addrs_in_same_network_family(), check IPv6 subnets as
+      well as IPv4 ones where possible when a client chooses circuit
+      paths. Previously, we used this function only for IPv4 subnets.
+      Closes ticket 24393. Patch by Neel Chauhan.
+
+  o Minor features (log messages):
+    - Improve log message in HSv3 service that could print out negative
+      revision counters. Closes ticket 27707. Patch by "ffmancera".
+
+  o Minor features (memory usage):
+    - Store microdescriptor family lists with a more compact
+      representation to save memory. Closes ticket 27359.
+    - Tor clients no longer need to keep the full text of a consensus in
+      memory in order to parse it, or apply a diff to it. Instead, they
+      use mmap() to read the consensus files from disk. Closes
+      ticket 27244.
+
+  o Minor features (parsing):
+    - Directory authorities now validate that router descriptors and
+      ExtraInfo documents are in a valid subset of UTF-8, and reject
+      them if not. Closes ticket 27367.
+
+  o Minor features (performance):
+    - Avoid parsing the same protocol-versions string over and over in
+      summarize_protover_flags(). This should save us a huge number of
+      malloc calls on startup, and may reduce memory fragmentation with
+      some allocators. Closes ticket 27225.
+    - Remove a needless memset() call from get_token_arguments, thereby
+      speeding up the tokenization of directory objects by about 20%.
+      Closes ticket 28852.
+    - Replace parse_short_policy() with a faster implementation, to
+      improve microdescriptor parsing time. Closes ticket 28853.
+    - Speed up directory parsing a little by avoiding use of the non-
+      inlined strcmp_len() function. Closes ticket 28856.
+    - Speed up microdesriptor parsing by about 30%, to help improve
+      startup time. Closes ticket 28839.
+
+  o Minor features (pluggable transports):
+    - Add support for emitting STATUS updates to Tor's control port from
+      a pluggable transport process. Closes ticket 28846.
+    - Add support for logging to Tor's logging subsystem from a
+      pluggable transport process. Closes ticket 28180
+
+  o Minor features (process management):
+    - Add new Process API for handling child processes. This new API
+      allows Tor to have bi-directional communication with child
+      processes on both Unix and Windows. Closes ticket 28179.
+    - Use the subsystem module to initialize and shut down the process
+      module. Closes ticket 28847.
+
+  o Minor features (relay):
+    - When listing relay families, list them in canonical form including
+      the relay's own identity, and try to give a more useful set of
+      warnings. Part of ticket 28266 and proposal 298.
+
+  o Minor features (required protocols):
+    - Tor no longer exits if it is missing a required protocol, if the
+      consensus that requires the protocol predates the release date of
+      the version of Tor. This change prevents Tor releases from exiting
+      because of an old cached consensus, on the theory that a newer
+      cached consensus might not require the protocol. Implements
+      proposal 297; closes ticket 27735.
+
+  o Minor features (testing):
+    - Allow HeartbeatPeriod of less than 30 minutes in testing Tor
+      networks. Closes ticket 28840, patch by robgjansen
+
+  o Minor bugfixes (client, bootstrap):
+    - When Tor's clock is behind the clocks on the authorities, allow
+      Tor to bootstrap successfully. Fixes bug 28591; bugfix
+      on 0.2.0.9-alpha.
+
+  o Minor bugfixes (client, guard selection):
+    - When Tor's consensus has expired, but is still reasonably live,
+      use it to select guards. Fixes bug 24661; bugfix on 0.3.0.1-alpha.
+
+  o Minor bugfixes (compilation):
+    - Fix missing headers required for proper detection of OpenBSD. Fixes
+      bug 28938; bugfix on 0.3.5.1-alpha. Patch from Kris Katterjohn.
+
+  o Minor bugfixes (directory clients):
+    - Mark outdated dirservers when Tor only has a reasonably live
+      consensus. Fixes bug 28569; bugfix on 0.3.2.5-alpha.
+
+  o Minor bugfixes (directory mirror):
+    - When Tor's clock is behind the clocks on the authorities, allow
+      Tor to serve future consensuses. Fixes bug 28654; bugfix
+      on 0.3.0.1-alpha.
+
+  o Minor bugfixes (DNS):
+    - Gracefully handle empty or absent resolve.conf file by falling
+      back to using localhost DNS service and hoping it works. Fixes bug
+      21900; bugfix on 0.2.1.10-alpha.
+
+  o Minor bugfixes (fallback scripts):
+    - In updateFallbackDirs.py, call the filter file a "fallback list"
+      instead of a "whitelist" in check_existing mode. Fixes bug 24953;
+      bugfix on 0.3.0.3-alpha.
+
+  o Minor bugfixes (guards):
+    - In count_acceptable_nodes(), check if we have at least one bridge
+      or guard node, and two non-guard nodes for a circuit. Previously,
+      we have added up the sum of all nodes with a descriptor, but that
+      could cause us to build circuits that fail if we had either too
+      many bridges, or not enough guard nodes. Fixes bug 25885; bugfix
+      on 0.3.6.1-alpha. Patch by Neel Chauhan.
+
+  o Minor bugfixes (IPv6):
+    - Fix tor_ersatz_socketpair on IPv6-only systems. Previously, the
+      IPv6 socket was bound using an address family of AF_INET instead
+      of AF_INET6. Fixes bug 28995; bugfix on 0.3.5.1-alpha. Patch from
+      Kris Katterjohn.
+
+  o Minor bugfixes (logging):
+    - Rework rep_hist_log_link_protocol_counts() to iterate through all
+      link protocol versions when logging incoming/outgoing connection
+      counts. Tor no longer skips version 5 and we don't have to
+      remember to update this function when new link protocol version is
+      developed. Fixes bug 28920; bugfix on 0.2.6.10.
+
+  o Minor bugfixes (networking):
+    - Introduce additional checks into tor_addr_parse() to reject
+      certain incorrect inputs that previously were not detected. Fixes
+      bug 23082; bugfix on 0.2.0.10-alpha.
+
+  o Minor bugfixes (onion service v3, client):
+    - Avoid a BUG() stacktrace in case a SOCKS connection is found
+      waiting for the descriptor while we do have it in the cache. There
+      is a rare case when this can happen. Now, tor will recover and
+      retry the descriptor. Fixes bug 28669; bugfix on 0.3.2.4-alpha.
+
+  o Minor bugfixes (periodic events):
+    - Refrain from calling routerlist_remove_old_routers() from
+      check_descriptor_callback(). Instead, create a new periodic event
+      that will run once every hour even if Tor is not configured as
+      onion router. Fixes bug 27929; bugfix on 0.2.8.1-alpha.
+
+  o Minor bugfixes (pluggable transports):
+    - Make sure that data is continously read from standard out and
+      error of the PT child-process to avoid deadlocking when the pipes'
+      buffer is full. Fixes bug 26360; bugfix on 0.2.3.6-alpha.
+
+  o Minor bugfixes (unit tests):
+    - Instead of relying on hs_free_all() to clean up all onion service
+      objects we created in test_build_descriptors(), deallocate them
+      one by one. This lets Coverity know that we are not leaking memory
+      here and fixes CID 1442277. Fixes bug 28989; bugfix
+      on 0.3.5.1-alpha.
+
+  o Minor bugfixes (usability):
+    - Stop saying "Your Guard ..." in pathbias_measure_{use,close}_rate()
+      as that confusingly suggests that mentioned guard node is under
+      control and responsibility of end user, which it is not. Fixes bug
+      28895; bugfix on Tor 0.3.0.1-alpha.
+
+  o Code simplification and refactoring:
+    - Reimplement NETINFO cell parsing and generation to rely on
+      trunnel-generated wire format handling code. Closes ticket 27325.
+    - Remove unnecessarily unsafe code from the rust macro cstr!. Closes
+      ticket 28077.
+    - Rework SOCKS wire format handling to rely on trunnel-generated
+      parsing/generation code. Resolves ticket 27620.
+    - Split out bootstrap progress reporting from control.c into a
+      separate file. Part of ticket 27402.
+    - The .may_include files that we use to describe our directory-by-
+      directory dependency structure now describe a noncircular
+      dependency graph over the directories that they cover. Our
+      checkIncludes.py tool now enforces this. Closes ticket 28362.
+
+  o Documentation:
+    - Mention that you cannot add new Onion Service if Tor is already
+      running with Sandbox enabled. Closes ticket 28560.
+    - Improve ControlPort description in tor manpage to mention that it
+      accepts address/port pair, and can be used multiple times. Closes
+      ticket 28805.
+    - Document the exact output of "tor --version". Closes ticket 28889.
+
+  o Removed features:
+    - Stop responding to 'GETINFO status/version/num-concurring' and
+      'GETINFO status/version/num-versioning' control port commands, as
+      those were deprecated back in 0.2.0.30. Also stop listing them in
+      output of 'GETINFO info/names'. Resolves ticket 28757.
+    - The scripts used to generate and maintain the list of fallback
+      directories have been extracted into a new "fallback-scripts"
+      repository. Closes ticket 27914.
+
+  o Testing:
+    - Run shellcheck for stuff in scripts/ directory. Closes
+      ticket 28058.
+    - Write some unit tests for tokenize_string() and get_next_token()
+      functions. Resolves ticket 27625.
+
+  o Code simplification and refactoring (onion service v3):
+    - Consolidate the authorized client descriptor cookie computation
+      code from client and service into one function. Closes
+      ticket 27549.
+
+  o Code simplification and refactoring (shell scripts):
+    - Cleanup scan-build.sh to silence shellcheck warnings. Closes
+      ticket 28007.
+    - Fix issues that shellcheck found in chutney-git-bisect.sh.
+      Resolves ticket 28006.
+    - Fix issues that shellcheck found in updateRustDependencies.sh.
+      Resolves ticket 28012.
+    - Fix shellcheck warnings in cov-diff script. Resolves issue 28009.
+    - Fix shellcheck warnings in run_calltool.sh. Resolves ticket 28011.
+    - Fix shellcheck warnings in run_trunnel.sh. Resolves issue 28010.
+    - Fix shellcheck warnings in scripts/test/coverage. Resolves
+      issue 28008.
+
+
 Changes in version 0.3.3.11 - 2018-01-07
 Changes in version 0.3.3.11 - 2018-01-07
   Tor 0.3.3.11 backports numerous fixes from later versions of Tor.
   Tor 0.3.3.11 backports numerous fixes from later versions of Tor.
   numerous fixes, including an important fix for anyone using OpenSSL
   numerous fixes, including an important fix for anyone using OpenSSL

+ 0 - 4
changes/bug21900

@@ -1,4 +0,0 @@
-  o Minor bugfixes (DNS):
-    - Gracefully handle empty or absent resolve.conf file by falling
-      back to using localhost DNS service and hoping it works. Fixes
-      bug 21900; bugfix on 0.2.1.10-alpha.

+ 0 - 4
changes/bug23082

@@ -1,4 +0,0 @@
-  o Minor bugfixes (networking):
-    - Introduce additional checks into tor_addr_parse() to
-      reject certain incorrect inputs that previously were
-      not detected. Fixes bug 23082; bugfix on 0.2.0.10-alpha.

+ 0 - 6
changes/bug24393

@@ -1,6 +0,0 @@
-  o Minor features (ipv6):
-    - When using addrs_in_same_network_family(), check IPv6 subnets as well as
-      IPv4 ones where possible when a client chooses circuit paths. Previously,
-      we used this function only for IPv4 subnets. Closes ticket 24393. Patch
-      by Neel Chauhan.
-

+ 0 - 3
changes/bug24661

@@ -1,3 +0,0 @@
-  o Minor bugfixes (client, guard selection):
-    - When Tor's consensus has expired, but is still reasonably live, use it
-      to select guards. Fixes bug 24661; bugfix on 0.3.0.1-alpha.

+ 0 - 4
changes/bug24953

@@ -1,4 +0,0 @@
-  o Minor bugfixes (fallback scripts):
-    - In updateFallbackDirs.py, call the filter file a "fallback list"
-      instead of a "whitelist" in check_existing mode.
-      Fixes bug 24953; bugfix on 0.3.0.3-alpha.

+ 0 - 7
changes/bug25885

@@ -1,7 +0,0 @@
-  o Minor bugfixes (guards):
-    - In count_acceptable_nodes(), check if we have at least one bridge
-      or guard node, and two non-guard nodes for a circuit. Previously,
-      we have added up the sum of all nodes with a descriptor, but that
-      could cause us to build circuits that fail if we had either too
-      many bridges, or not enough guard nodes. Fixes bug 25885; bugfix
-      on 0.3.6.1-alpha. Patch by Neel Chauhan.

+ 0 - 3
changes/bug27707

@@ -1,3 +0,0 @@
-  o Minor features (log messages):
-    - Improve log message in HSv3 service that could print out negative
-      revision counters. Closes ticket 27707. Patch by "ffmancera".

+ 0 - 5
changes/bug27929

@@ -1,5 +0,0 @@
-  o Minor bugfixes (periodic events):
-    - Refrain from calling routerlist_remove_old_routers() from
-      check_descriptor_callback(). Instead, create a new periodic
-      event that will run once every hour even if Tor is not configured
-      as onion router. Fixes bug 27929; bugfix on 0.2.8.1-alpha.

+ 0 - 4
changes/bug28518

@@ -1,4 +0,0 @@
-  o Minor features (FreeBSD):
-    - Warn relay operators if the "net.inet.ip.random_id" sysctl (IP ID
-      randomization) is disabled on their relay if it is running on FreeBSD
-      based operating systems. Closes ticket 28518.

+ 0 - 3
changes/bug28569

@@ -1,3 +0,0 @@
-  o Minor bugfixes (unit tests, directory clients):
-    - Mark outdated dirservers when Tor only has a reasonably live consensus.
-      Fixes bug 28569; bugfix on 0.3.2.5-alpha.

+ 0 - 4
changes/bug28591

@@ -1,4 +0,0 @@
-  o Minor bugfixes (client, bootstrap):
-    - When Tor's clock is behind the clocks on the authorities, allow Tor to
-      bootstrap successfully. Fixes bug 28591; bugfix on 0.2.0.9-alpha.
-

+ 0 - 3
changes/bug28654

@@ -1,3 +0,0 @@
-  o Minor bugfixes (directory mirror):
-    - When Tor's clock is behind the clocks on the authorities, allow Tor to
-      serve future consensuses. Fixes bug 28654; bugfix on 0.3.0.1-alpha.

+ 0 - 5
changes/bug28895

@@ -1,5 +0,0 @@
-  o Minor bugfixes (usability):
-    - Stop saying "Your Guard ..." in pathbias_measure_{use,close}_rate()
-      as that confusingly suggests that mentioned guard node is under control
-      and responsibility of end user, which it is not. Fixes bug 28895;
-      bugfix on Tor 0.3.0.1-alpha.

+ 0 - 6
changes/bug28920

@@ -1,6 +0,0 @@
-  o Minor bugfixes (logging):
-    - Rework rep_hist_log_link_protocol_counts() to iterate through all link
-      protocol versions when logging incoming/outgoing connection counts. Tor
-      no longer skips version 5 and we don't have to remember to update this
-      function when new link protocol version is developed. Fixes bug 28920;
-      bugfix on 0.2.6.10.

+ 0 - 4
changes/bug28938

@@ -1,4 +0,0 @@
-  o Minor bugfixes (compilation):
-    - Fix missing headers required for proper detection of
-      OpenBSD.  Fixes bug 28938; bugfix on 0.3.5.1-alpha.
-      Patch from Kris Katterjohn.

+ 0 - 5
changes/bug28989

@@ -1,5 +0,0 @@
-  o Minor bugfixes (unit tests):
-    - Instead of relying on hs_free_all() to clean up all onion service
-      objects we created in test_build_descriptors(), deallocate
-      them one by one. This lets Coverity know that we are not leaking memory
-      here and fixes CID 1442277. Fixes bug 28989; bugfix on 0.3.5.1-alpha.

+ 0 - 5
changes/bug28995

@@ -1,5 +0,0 @@
-  o Minor bugfix (IPv6):
-    Fix tor_ersatz_socketpair on IPv6-only systems.  Previously,
-    the IPv6 socket was bound using an address family of AF_INET
-    instead of AF_INET6.  Fixes bug 28995; bugfix on 0.3.5.1-alpha.
-    Patch from Kris Katterjohn.

+ 0 - 3
changes/doc28560

@@ -1,3 +0,0 @@
-  o Documentation (hidden service manpage, sandbox):
-    - Mention that you cannot add new Onion Service if Tor is already
-      running with Sandbox enabled. Closes ticket 28560.

+ 0 - 4
changes/doc28805

@@ -1,4 +0,0 @@
-  o Documentation (manpage):
-    - Improve ControlPort description in tor manpage to mention that it
-      accepts address/port pair, and can be used multiple times. Closes ticket
-      28805.

+ 0 - 2
changes/document_version

@@ -1,2 +0,0 @@
-  o Documentation:
-    - Document the exact output of "tor --version". Closes ticket 28889.

+ 0 - 5
changes/feature27244

@@ -1,5 +0,0 @@
-  o Minor features (memory usage):
-    - Tor clients no longer need to keep the full text of a consensus in
-      memory in order to parse it, or apply a diff to it. Instead, they
-      use mmap() to read the consensus files from disk. Closes ticket
-      27244.

+ 0 - 4
changes/feature27367

@@ -1,4 +0,0 @@
-  o Minor features (parsing):
-    - Directory authorities now validate that router descriptors and ExtraInfo
-      documents are in a valid subset of UTF-8, and reject them if not.
-      Closes ticket 27367.

+ 0 - 7
changes/prop297

@@ -1,7 +0,0 @@
-  o Minor features (required protocols):
-    - Tor no longer exits if it is missing a required protocol, if the
-      consensus that requires the protocol predates the release date of the
-      version of Tor. This change prevents Tor releases from exiting because
-      of an old cached consensus, on the theory that a newer cached
-      consensus might not require the protocol.  Implements proposal 297;
-      closes ticket 27735.

+ 0 - 6
changes/subsystems

@@ -1,6 +0,0 @@
-  o Major features (refactoring):
-    - Tor now uses an explicit list of its own subsystems when initializing
-      and shutting down.  Previously, these systems were managed implicitly
-      though various places throughout the codebase.  (There still some
-      subsystems using the old system.)
-      Closes ticket 28330.

+ 0 - 3
changes/ticket24805

@@ -1,3 +0,0 @@
-  o Minor features (fallback directory list):
-    - Update the fallback whitelist based on operator opt-ins and opt-outs.
-      Closes ticket 24805, patch by Phoul.

+ 0 - 6
changes/ticket24838

@@ -1,6 +0,0 @@
-  o Minor features (fallback directory mirrors):
-    - Accept relays that are a fuzzy match to a fallback whitelist entry.
-      If a relay matches at least one fingerprint, IPv4 address, or IPv6
-      address in the fallback whitelist, it can become a fallback. This
-      reduces the work required to keep the list up to date.
-      Closes ticket 24838.

+ 0 - 4
changes/ticket26360

@@ -1,4 +0,0 @@
-  o Minor bugfixes (pluggable transports):
-    - Make sure that data is continously read from standard out and error of the
-      PT child-process to avoid deadlocking when the pipes' buffer is full.
-      Fixes bug 26360; bugfix on 0.2.3.6-alpha.

+ 0 - 8
changes/ticket26770

@@ -1,8 +0,0 @@
-  o Minor features (directory authority, relay):
-    - Authorities now vote on a "StaleDesc" flag to indicate that a relay's
-      descriptor is so old that the relay should upload again soon.  Relays
-      understand this flag, and treat it as a signal to upload a new
-      descriptor.  This flag will eventually let us remove the 'published'
-      date from routerstatus entries, and save a great deal of space in our
-      consensus diffs. Closes ticket 26770; implements proposal 293.
-

+ 0 - 11
changes/ticket27167

@@ -1,11 +0,0 @@
-  o Major features (bootstrap):
-    - Report the first connection to a relay as the earliest phases of
-      bootstrap progress, regardless of whether it's a connection for
-      building application circuits.  This allows finer-grained
-      reporting of early progress than previously possible with the
-      improvements of ticket 27169.  Closes tickets 27167 and 27103.
-      Addresses ticket 27308.
-    - Separately report the intermediate stage of having connected to
-      a proxy or pluggable transport, versus succesfully using that
-      proxy or pluggable transport to connect to a relay.  Closes
-      tickets 27100 and 28884.

+ 0 - 5
changes/ticket27225

@@ -1,5 +0,0 @@
-  o Minor features (performance):
-    - Avoid parsing the same protocol-versions string over and over
-      in summarize_protover_flags(). This should save us a huge number
-      of malloc calls on startup, and may reduce memory fragmentation with
-      some allocators. Closes ticket 27225.

+ 0 - 4
changes/ticket27325

@@ -1,4 +0,0 @@
-  o Code simplification and refactoring:
-    - Reimplement NETINFO cell parsing and generation to rely on
-      trunnel-generated wire format handling code. Closes ticket
-      27325.

+ 0 - 3
changes/ticket27359

@@ -1,3 +0,0 @@
-  o Minor features (memory usage):
-    - Store microdescriptor family lists with a more compact representation
-      to save memory.  Closes ticket 27359.

+ 0 - 10
changes/ticket27402

@@ -1,10 +0,0 @@
-  o Minor feature (bootstrap):
-    - When reporting bootstrap progress, stop distinguishing between
-      situations where it seems that only internal paths are available
-      and situations where it seems that external paths are available.
-      Previously, tor would often erroneously report that it had only
-      internal paths.  Closes ticket 27402.
-
-  o Code simplification and refactoring:
-    - Split out bootstrap progress reporting from control.c into a
-      separate file.  Part of ticket 27402.

+ 0 - 6
changes/ticket27490

@@ -1,6 +0,0 @@
-  o Minor features (ipv6):
-    - We add an option ClientAutoIPv6ORPort which makes clients randomly
-      prefer a node's IPv4 or IPv6 ORPort. The random preference is set
-      every time a node is loaded from a new consensus or bridge config.
-      Closes ticket 27490. Patch by Neel Chauhan.
-

+ 0 - 3
changes/ticket27549

@@ -1,3 +0,0 @@
-  o Code simplification and refactoring (hidden service v3):
-    - Consolidate the authorized client descriptor cookie computation code
-      from client and service into one function. Closes ticket 27549.

+ 0 - 3
changes/ticket27620

@@ -1,3 +0,0 @@
-  o Code simplification and refactoring:
-    - Rework SOCKS wire format handling to rely on trunnel-generated
-      parsing/generation code. Resolves ticket 27620.

+ 0 - 4
changes/ticket27625

@@ -1,4 +0,0 @@
-  o Testing:
-    - Write some unit tests for tokenize_string() and
-      get_next_token() functions. Resolves ticket 27625.
-

+ 0 - 4
changes/ticket27914

@@ -1,4 +0,0 @@
-  o Removed features:
-    - The scripts used to generate and maintain the list of fallback
-      directories have been extracted into a new "fallback-scripts"
-      repository. Closes ticket 27914.

+ 0 - 3
changes/ticket27993

@@ -1,3 +0,0 @@
-  o Minor features (developer tooling):
-    - Provide git hook script to prevent "fixup!" and "squash!" commits from
-      ending up in master. Closes ticket 27993.

+ 0 - 3
changes/ticket28006

@@ -1,3 +0,0 @@
-  o Code simplification and refactoring:
-    - Fix issues that shellcheck found in chutney-git-bisect.sh.
-      Resolves ticket 28006.

+ 0 - 3
changes/ticket28007

@@ -1,3 +0,0 @@
-  o Code simplification and refactoring:
-    - Cleanup scan-build.sh to silence shellcheck warnings.
-      Closes ticket 28007.

+ 0 - 3
changes/ticket28008

@@ -1,3 +0,0 @@
-  o Code simplification and refactoring:
-    - Fix shellcheck warnings in scripts/test/coverage. Resolves issue
-      28008.

+ 0 - 3
changes/ticket28009

@@ -1,3 +0,0 @@
-  o Code simplification and refactoring:
-    - Fix shellcheck warnings in cov-diff script. Resolves issue
-      28009.

+ 0 - 3
changes/ticket28010

@@ -1,3 +0,0 @@
-  o Code simplification and refactoring:
-    - Fix shellcheck warnings in run_trunnel.sh. Resolves issue
-      28010.

+ 0 - 3
changes/ticket28011

@@ -1,3 +0,0 @@
-  o Code simplification and refactoring:
-    - Fix shellcheck warnings in run_calltool.sh. Resolves
-      ticket 28011.

+ 0 - 3
changes/ticket28012

@@ -1,3 +0,0 @@
-  o Code simplification and refactoring:
-    - Fix issues that shellcheck found in updateRustDependencies.sh.
-      Resolves ticket 28012.

+ 0 - 2
changes/ticket28058

@@ -1,2 +0,0 @@
-  o Testing:
-    - Run shellcheck for stuff in scripts/ directory. Closes ticket 28058.

+ 0 - 3
changes/ticket28077

@@ -1,3 +0,0 @@
-  o Code simplification and refactoring:
-    - Remove unnecessarily unsafe code from the rust macro cstr!. Closes
-      ticket 28077.

+ 0 - 3
changes/ticket28100

@@ -1,3 +0,0 @@
-  o Minor features (HTTP standards compliance):
-    - Don't send Content-Type: application/octet-stream for transparently
-      compressed documents, which confused browsers. Closes ticket 28100.

+ 0 - 10
changes/ticket28142

@@ -1,10 +0,0 @@
-  o Major features (circuit padding):
-    - Implement preliminary support for the circuit padding portion of
-      Proposal 254. The implementation supports Adaptive Padding (aka
-      WTF-PAD) state machines for use between experimental clients and
-      relays. Support is also provided for APE-style state machines that
-      use probability distributions instead of histograms to specify
-      inter-packet delay. At the moment, Tor does not provide any padding
-      state machines that are used in normal operation -- this feature
-      exists solely for experimentation in this release. Closes
-      ticket 28142.

+ 0 - 5
changes/ticket28179

@@ -1,5 +0,0 @@
-  o Minor features (process):
-    - Add new Process API for handling child processes. This
-      new API allows Tor to have bi-directional
-      communication with child processes on both Unix and Windows.
-      Closes ticket 28179.

+ 0 - 3
changes/ticket28180

@@ -1,3 +0,0 @@
-  o Minor features (pluggable transports):
-    - Add support for logging to Tor's logging subsystem from a pluggable
-      transport process. Closes ticket 28180

+ 0 - 10
changes/ticket28266

@@ -1,10 +0,0 @@
-  o Minor features (directory authority):
-    - Directory authorities support a new consensus algorithm,
-      under which microdescriptor entries are encoded in a canonical
-      form. This improves their compressibility in transit and on the client.
-      Closes ticket 28266; implements proposal 298.
-
-  o Minor features (relay):
-    - When listing relay families, list them in canonical form including the
-      relay's own identity, and try to give a more useful set of warnings.
-      Part of ticket 28266 and proposal 298.

+ 0 - 7
changes/ticket28335

@@ -1,7 +0,0 @@
-  o Major features (client):
-    - When Tor is running as a client, and it is unused for a long time, it
-      can now enter a "dormant" state.  When Tor is dormant, it avoids
-      network activity and CPU wakeups until it is reawoken either by a user
-      request or by a controller command.  For more information, see
-      the configuration options starting with "Dormant". Implements tickets
-      2149 and 28335.

+ 0 - 6
changes/ticket28362

@@ -1,6 +0,0 @@
-  o Code simplification and refactoring:
-    - The .may_include files that we use to describe our
-      directory-by-directory dependency structure now describe a noncircular
-      dependency graph over the directories that they cover.
-      Our checkIncludes.py tool now enforces this.
-      Closes ticket 28362.

+ 0 - 3
changes/ticket28551

@@ -1,3 +0,0 @@
-  o Minor features (Continuous Integration):
-    - Log Python version during each Travis CI job. Resolves issue
-      28551.

+ 0 - 5
changes/ticket28624

@@ -1,5 +0,0 @@
-  o Minor features (battery management, client, dormant mode):
-    - The client's memory of whether it is "dormant", and how long it has
-      spend idle, persists across invocations.  Implements ticket 28624.
-    - There is a  DormantOnFirstStartup option that integrators can use if
-      they expect that in many cases, Tor will be installed but not used.

+ 0 - 6
changes/ticket28669

@@ -1,6 +0,0 @@
-  o Minor bugfix (hidden service v3, client):
-    - Avoid a BUG() stacktrace in case a SOCKS connection is found waiting for
-      the descriptor while we do have it in the cache. There is a rare case
-      when this can happen. Now, tor will recover and retry the descriptor.
-      Fixes bug 28669; bugfix on 0.3.2.4-alpha.
-    

+ 0 - 5
changes/ticket28757

@@ -1,5 +0,0 @@
-  o Removed features:
-    - Stop responding to 'GETINFO status/version/num-concurring' and
-      'GETINFO status/version/num-versioning' control port commands, as those
-      were deprecated back in 0.2.0.30. Also stop listing them in output of
-      'GETINFO info/names'. Resolves ticket 28757.

+ 0 - 4
changes/ticket28768

@@ -1,4 +0,0 @@
-  o Minor features (fallback directory mirrors):
-    - Accept fallbacks that deliver reasonably live consensuses.
-      (Consensuses that will become valid less than 24 hours in the future,
-      or that expired less than 24 hours ago.) Closes ticket 28768.

+ 0 - 3
changes/ticket28839

@@ -1,3 +0,0 @@
-  o Minor features (performance):
-    - Speed up microdesriptor parsing by about 30%, to help
-      improve startup time.  Closes ticket 28839.

+ 0 - 3
changes/ticket28840

@@ -1,3 +0,0 @@
-  o Minor features (testing):
-    - Allow HeartbeatPeriod of less than 30 minutes in testing Tor networks.
-      Closes ticket 28840, patch by robgjansen

+ 0 - 3
changes/ticket28843

@@ -1,3 +0,0 @@
-  o Minor features (controller):
-    - Add a DROPOWNERSHIP command to undo the effects of TAKEOWNERSHIP.
-      Implements ticket 28843.

+ 0 - 3
changes/ticket28846

@@ -1,3 +0,0 @@
-  o Minor features (pluggable transports):
-    - Add support for emitting STATUS updates to Tor's control port from a
-      pluggable transport process. Closes ticket 28846.

+ 0 - 3
changes/ticket28847

@@ -1,3 +0,0 @@
-  o Minor features (process):
-    - Use the subsystem module to initialize and shut down the process module.
-      Closes ticket 28847.

+ 0 - 4
changes/ticket28852

@@ -1,4 +0,0 @@
-  o Minor features (performance):
-    - Remove a needless memset() call from get_token_arguments,
-      thereby speeding up the tokenization of directory objects by about
-      20%. Closes ticket 28852.

+ 0 - 3
changes/ticket28853

@@ -1,3 +0,0 @@
-  o Minor features (performance):
-    - Replace parse_short_policy() with a faster implementation, to improve
-      microdescriptor parsing time. Closes ticket 28853.

+ 0 - 3
changes/ticket28856

@@ -1,3 +0,0 @@
-  o Minor features (performance):
-    - Speed up directory parsing a little by avoiding use of the
-      non-inlined strcmp_len() function. Closes ticket 28856.