Browse Source

Initial changelog draft for 0.4.1.1-alpha (mostly automated)

Nick Mathewson 4 years ago
parent
commit
aa4f2f7397
98 changed files with 432 additions and 396 deletions
  1. 432 0
      ChangeLog
  2. 0 7
      changes/bug17357
  3. 0 7
      changes/bug22210
  4. 0 4
      changes/bug22781
  5. 0 7
      changes/bug23576
  6. 0 5
      changes/bug23588
  7. 0 4
      changes/bug24338
  8. 0 5
      changes/bug24490
  9. 0 7
      changes/bug28269
  10. 0 8
      changes/bug28636
  11. 0 5
      changes/bug29018
  12. 0 4
      changes/bug29061
  13. 0 2
      changes/bug29063
  14. 0 4
      changes/bug29085
  15. 0 4
      changes/bug29204
  16. 0 5
      changes/bug29221
  17. 0 4
      changes/bug29231
  18. 0 3
      changes/bug29243
  19. 0 6
      changes/bug29298
  20. 0 5
      changes/bug29613
  21. 0 4
      changes/bug29640
  22. 0 3
      changes/bug29805
  23. 0 5
      changes/bug29823
  24. 0 2
      changes/bug29926
  25. 0 4
      changes/bug29939
  26. 0 2
      changes/bug30002
  27. 0 3
      changes/bug30109
  28. 0 4
      changes/bug30148
  29. 0 5
      changes/bug30151
  30. 0 4
      changes/bug30189
  31. 0 3
      changes/bug30190
  32. 0 3
      changes/bug30236
  33. 0 3
      changes/bug30309
  34. 0 3
      changes/bug30452
  35. 0 4
      changes/bug30475
  36. 0 12
      changes/bugs28693+30173+29203
  37. 0 4
      changes/coverity_falsepos
  38. 0 4
      changes/feature29532
  39. 0 4
      changes/geoip-2019-05-13
  40. 0 5
      changes/pubsub
  41. 0 4
      changes/ticket25110
  42. 0 4
      changes/ticket25417
  43. 0 3
      changes/ticket25614
  44. 0 2
      changes/ticket26069
  45. 0 6
      changes/ticket26288
  46. 0 4
      changes/ticket27251
  47. 0 3
      changes/ticket27821
  48. 0 10
      changes/ticket28634
  49. 0 3
      changes/ticket28780
  50. 0 4
      changes/ticket28816
  51. 0 4
      changes/ticket28837
  52. 0 4
      changes/ticket28913
  53. 0 3
      changes/ticket29059
  54. 0 2
      changes/ticket29060
  55. 0 3
      changes/ticket29062
  56. 0 2
      changes/ticket29064
  57. 0 3
      changes/ticket29065
  58. 0 3
      changes/ticket29067
  59. 0 2
      changes/ticket29068
  60. 0 2
      changes/ticket29070
  61. 0 3
      changes/ticket29071
  62. 0 5
      changes/ticket29108
  63. 0 3
      changes/ticket29391
  64. 0 3
      changes/ticket29434
  65. 0 4
      changes/ticket29436
  66. 0 9
      changes/ticket29536
  67. 0 3
      changes/ticket29537
  68. 0 7
      changes/ticket29542
  69. 0 5
      changes/ticket29553
  70. 0 4
      changes/ticket29588
  71. 0 3
      changes/ticket29635
  72. 0 5
      changes/ticket29660
  73. 0 5
      changes/ticket29662
  74. 0 5
      changes/ticket29732
  75. 0 3
      changes/ticket29756
  76. 0 4
      changes/ticket29894
  77. 0 4
      changes/ticket29913
  78. 0 5
      changes/ticket29984
  79. 0 3
      changes/ticket30007
  80. 0 4
      changes/ticket30033
  81. 0 5
      changes/ticket30051
  82. 0 3
      changes/ticket30075
  83. 0 2
      changes/ticket30076
  84. 0 2
      changes/ticket30077
  85. 0 3
      changes/ticket30078
  86. 0 3
      changes/ticket30079
  87. 0 4
      changes/ticket30091
  88. 0 3
      changes/ticket30114
  89. 0 3
      changes/ticket30149
  90. 0 4
      changes/ticket30176
  91. 0 3
      changes/ticket30213
  92. 0 2
      changes/ticket30234
  93. 0 4
      changes/ticket30261
  94. 0 5
      changes/ticket30293
  95. 0 4
      changes/ticket30307
  96. 0 5
      changes/ticket30308
  97. 0 3
      changes/ticket30345
  98. 0 3
      changes/ticket30414

+ 432 - 0
ChangeLog

@@ -1,3 +1,435 @@
+Changes in version 0.4.1.1-alpha - 2019-05-??
+  This is the first alpha in the 0.4.1.x series. It introduces
+  lightweight circuit padding to make some onion-service circuits harder
+  to distinguish, includes a new "authenticated SENDME" feature to make
+  certain denial-of-service attacks more difficult, and improves
+  performance in several areas.
+
+  o Major features (Circuit padding):
+    - Onion service clients will now add padding cells to the initial
+      portions of their INTRODUCE and RENDEZVOUS circuits, to make those
+      circuits' traffic patterns look more like general purpose Exit
+      traffic. The overhead for this is 2 extra cells in each direction
+      for RENDEZVOUS circuits, and 1 extra upstream cell and 10
+      downstream cells for INTRODUCE circuits. This will only be enabled
+      if the circuit's middle node supports this feature, too. (Clients
+      may specify fixed middle nodes with the MiddleNodes torrc
+      directive, and may force-disable this feature with the
+      CircuitPadding torrc directive). Closes ticket 28634.
+
+  o Major features (code organization):
+    - Tor now includes a generic publish-subscribe message-passing
+      subsystem that we can use to organize intermodule dependencies. We
+      hope to use this to reduce dependencies between modules that don't
+      need to be related, and to generally simplify our codebase. Closes
+      ticket 28226.
+
+  o Major features (controller protocol):
+    - Controller commands are now parsed using a generalized parsing
+      subsystem. Previously, each controller command was responsible for
+      parsing its own input. Closes ticket 30091.
+
+  o Major features (flow control):
+    - Implement authenticated SENDMEs detailed in proposal 289. A SENDME
+      cell now includes the digest of the last cell received so once the
+      end point receives the SENDME, it can confirm the other side's
+      knowledge of the previous cells that were sent. This behavior is
+      controlled by two new consensus parameters, see proposal for more
+      details. Fixes ticket 26288.
+
+  o Major features (performance):
+    - Update our node selection algorithm to exclude nodes in linear
+      time. Previously, the algorithm was quadratic, which could slow
+      down heavily used onion services. Closes ticket 30307.
+
+  o Minor feature (circuit padding):
+    - We now use a fast RNG when scheduling circuit padding. Part of
+      ticket 28636.
+
+  o Minor feature (maintenance scripts):
+    - Add to scripts/maint/ helper maintainer scripts used for git
+      maintenance. Closes ticket 29391.
+
+  o Minor features (circuit padding):
+    - Allow the padding machine designer to pick the edges of their
+      histogram instead of trying to compute them automatically using an
+      exponential formula. Resolves some undefined behavior in the case
+      of small histograms and allows greater flexibility on machine
+      design. Closes ticket 29298; bugfix on 0.4.0.1-alpha.
+    - Provide the ability for circuit padding machines to hold a circuit
+      open until they are done padding it. Closes ticket 28780.
+
+  o Minor features (compile-time modules):
+    - Add a --list-modules command to print a list of which compile-time
+      modules are enabled. Closes ticket 30452.
+
+  o Minor features (continuous integration):
+    - Remove sudo configuration lines from .travis.yml as they are no
+      longer needed with current Travis build environment. Resolves
+      issue 30213.
+
+  o Minor features (controller):
+    - Add onion service version 3 support to HSFETCH. Previously, only
+      version 2 onion services were supported. Closes ticket 25417.
+      Patch by Neel Chauhan
+
+  o Minor features (debugging):
+    - Introduce tor_assertf() and tor_assertf_nonfatal() to enable
+      logging of additional information during assert failure. Now we
+      can use format strings to include pieces of information that are
+      relevant for trouble shooting. Resolves ticket 29662.
+
+  o Minor features (defense in depth):
+    - In smartlist_remove_keeporder(), set any pointers that become
+      unused to NULL, in case a bug causes them to be used later. Closes
+      ticket 30176. Patch from Tobias Stoeckmann.
+    - Tor now uses a fast cryptographically strong PRNG even for
+      decisions that we do not believe are security-sensitive.
+      Previously, for performance reasons, we had used a trivially
+      predictable linear congruential generator algorithm for certain
+      load-balancing and statistical sampling decisions. Now we use our
+      fast RNG in those cases. Closes ticket 29542.
+
+  o Minor features (developer tooling):
+    - Call practracker from pre-push and pre-commit git hooks to let a
+      developer know if they made any code style violations in their
+      last commit. This should help preventing code style violations
+      appearing upstream. Closes ticket 30051.
+    - Call pre-commit git hook from pre-push hook to make sure we're
+      running documentation and code style checks before pushing to
+      remote git repository. Implements feature 30033.
+    - Modify git pre-push hook script to disallow pushing branches other
+      than master, release-* and maint-* to origin remote. Implements
+      feature 29532.
+
+  o Minor features (developer tools):
+    - Add a script to check that each header has a well-formed and
+      unique guard marco. Closes ticket 29756.
+    - Introduce a post-merge git hook script to check if we're pulling
+      in any changes to our git workspace management scripts from
+      upstream. Resolves issue 29588.
+
+  o Minor features (development tools):
+    - Tor's test scripts now check for files and functions that seem too
+      long and complicated. Existing overlong functions and files are
+      accepted for now, but should eventually be refactored. Closes
+      ticket 29221.
+
+  o Minor features (geoip):
+    - Update geoip and geoip6 to the May 13 2019 Maxmind GeoLite2
+      Country database. Closes ticket 30522.
+
+  o Minor features (git scripts):
+    - In git-pull-all.sh, also fetch the latest tor-github pull
+      requests. Implements ticket 30114.
+
+  o Minor features (HTTP tunnel):
+    - Return an informative web page when the HTTPTunnelPort is used as
+      an HTTP proxy. Closes ticket 27821, patch by "eighthave".
+
+  o Minor features (IPv6, v3 onion services):
+    - Make v3 onion services put IPv6 addresses in service descriptors.
+      Before this change, service descriptors only contained IPv4
+      addressesd. Implements 26992.
+
+  o Minor features (modularity):
+    - The --disable-module-dirauth compile-time option now disables even
+      more dirauth-only code. Closes ticket 30345.
+
+  o Minor features (performance):
+    - Use OpenSSL's implementations of SHA3 when available (in OpenSSL
+      1.1.1 and later), since they tend to be faster than tiny-keccak.
+      Closes ticket 28837.
+
+  o Minor features (performance, RNG):
+    - Tor now constructs a fast secure pseudorandom number generator for
+      each thread, to use for cases where performance is critical. This
+      PRNG is based on AES-CTR, using a buffering construction similar
+      to libottery and the (newer) OpenBSD arc4random() code. It
+      outperforms OpenSSL 1.1.1a's CSPRNG by roughly a factor of 100 for
+      small outputs. Although we believe it to be cryptographically
+      strong, we are only using it when necessary for reasonable
+      performance. Implements tickets 29023 and 29536.
+
+  o Minor features (testing):
+    - Tor's unit test code now contains a standard set of functions to
+      replace the PRNG with a deterministic or reproducible version for
+      testing. Previously, various tests implemented this in various
+      ways. Implements ticket 29732.
+    - We now have a script, cov-test-determinism.sh, to identify places
+      where our unit test coverage has become nondeterministic. Closes
+      ticket 29436.
+
+  o Minor bugfixes (bridge authority):
+    - We set bridges as running when we dump the bridge status to a
+      file. Previously, we set bridges as running in a GETINFO
+      controller, but these shouldn't modify vital data structures.
+      Fixes bug 24490; bugfix on 0.2.0.13-alpha. Patch by Neel Chauhan
+
+  o Minor bugfixes (Channel padding statistics):
+    - Channel padding write totals and padding-enabled totals are now
+      counted properly in relay extrainfo descriptors. Fixes bug 29231;
+      bugfix on 0.3.1.1-alpha
+
+  o Minor bugfixes (circuit padding):
+    - Add a torrc option to disable circuit padding. Fixes bug 28693;
+      bugfix on 0.4.0.1-alpha.
+    - Allow circuit padding machines to specify that they do not
+      contribute much overhead, and provide consensus flags and torrc
+      options to force clients to only use low overhead machines. Fixes
+      bug 29203; bugfix on 0.4.0.1-alpha.
+    - Provide consensus parameter to fully disable circuit padding, to
+      be used in emergency network overload situations. Fixes bug 30173;
+      bugfix on 0.4.0.1-alpha.
+    - The circuit padding subsystem does not schedule padding if dormant
+      mode is enabled. Fixes bug 28636; bugfix on 0.4.0.1-alpha.
+
+  o Minor bugfixes (circuitpadding):
+    - Inspect circuit-level cell queue before sending padding, to avoid
+      sending padding while too much data is queued. Fixes bug 29204;
+      bugfix on 0.4.0.1-alpha.
+
+  o Minor bugfixes (compilation, unusual configuration):
+    - Avoid failures when building with ALL_BUGS_ARE_FAILED due to
+      missing declarations of abort(), and prevent other such failures
+      in the future. Fixes bug 30189; bugfix on 0.3.4.1-alpha.
+
+  o Minor bugfixes (controller protocol):
+    - Teach the controller parser to correctly distinguish an object
+      preceded by an argument list from one without. Previously, it
+      couldn't distinguish an argument list from the first line of a
+      multiline object. Fixes bug 29984; bugfix on 0.2.3.8-alpha.
+
+  o Minor bugfixes (developer tools):
+    - Update our pre-commit.git-hook script to work correctly on older
+      Tor branches and release branches without any changes files, and
+      to actually exit when something fails. Fixes bug 29553; bugfix
+      on 0.4.0.2-alpha.
+
+  o Minor bugfixes (dirauth, ipv6):
+    - If we are a durauth with IPv6 and are marking relays as running,
+      mark ourselves as reachable on IPv6. Fixes bug 24338; bugfix on
+      0.4.0.2-alpha. Patch by Neel Chauhan
+
+  o Minor bugfixes (documentation):
+    - Improve the documentation for MapAddress .exit. Fixes bug 30109;
+      bugfix on 0.1.0.1-rc.
+    - Improve the monotonic time module and function documentation.
+      Explain what "monotonic" actually means, and document some results
+      that have surprised people. Fixes bug 29640; bugfix
+      on 0.2.9.1-alpha.
+
+  o Minor bugfixes (documentation, manpage):
+    - Use proper formatting when providing an example on quoting options
+      that contain whitespace. Fixes bug 29635; bugfix on 0.2.3.18-rc.
+
+  o Minor bugfixes (lib):
+
+  o Minor bugfixes (logging):
+    - Do not log a warning for OpenSSL versions that should be
+      compatible. Fixes bug 30190; bugfix on 0.2.4.2-alpha
+
+  o Minor bugfixes (logging, configuration):
+    - Warn operators when MyFamily option is set but ContactInfo is
+      missing, as the latter should be set too. Fixes bug 25110; bugfix
+      on 0.3.3.1-alpha.
+
+  o Minor bugfixes (memory leak):
+    - Avoid a minor memory leak that could occur on relays when creating
+      a keys directory failed. Fixes bug 30148; bugfix on 0.3.3.1-alpha.
+
+  o Minor bugfixes (onion services):
+    - Avoid a GCC 9.1.1 warning (and possible crash depending on libc
+      implemenation) when failing to load an onion service client
+      authorization file. Fixes bug 30475; bugfix on 0.3.5.1-alpha.
+    - If we are launching repeated HSFETCH queries and are rate-limited,
+      we introduce a new controller response QUERY_RATE_LIMITED instead
+      of QUERY_NO_HSDIR, while keeping the latter for when onion service
+      directories are missing a descriptor. Previously, we returned
+      QUERY_NO_HSDIR for both cases. Fixes bug 28269; bugfix on
+      0.3.1.1-alpha. Patch by Neel Chauhan
+    - If we are relaunching a circuit to a rendevous service in
+      rend_service_relaunch_rendezvous() and
+      hs_service_requires_uptime_circ() is true, the
+      CIRCLAUNCH_NEED_UPTIME flag is added to the circuit. Previously,
+      we only set this flag when we received a INTRODUCE2 cell in
+      rend_service_receive_introduction(). Fixes bug 17357; bugfix on
+      0.4.0.2-alpha. Patch by Neel Chauhan
+
+  o Minor bugfixes (onion services, performance):
+    - If we are building circuits to onion services, in
+      circuit_is_acceptable() we only call tor_addr_parse() in places
+      where we use the returned family and address values from this
+      function. Previously, we called tor_addr_parse() in
+      circuit_is_acceptable() even if it wasn't used. This change will
+      improve performance when building circuits. Fixes bug 22210;
+      bugfix on 0.2.8.12. Patch by Neel Chauhan
+
+  o Minor bugfixes (performance):
+    - When checking a node for bridge status, use a fast check to make
+      sure that its identity is set. Previously, we used a constant-time
+      check, which is not necessary when verifying a BUG() condition that
+      causes a stack trace. Fixes bug 30308; bugfix on 0.3.5.1-alpha.
+
+  o Minor bugfixes (pluggable transports):
+    - Tor now sets TOR_PT_EXIT_ON_STDIN_CLOSE=1 for client transports as
+      well as servers. Fixes bug 25614; bugfix on 0.2.7.1-alpha.
+
+  o Minor bugfixes (probability distributions):
+    - Refactor and improve parts of the probability distribution code
+      that made Coverity complain. Fixes bug 29805; bugfix
+      on 0.4.0.1-alpha.
+
+  o Minor bugfixes (python):
+    - Stop assuming that /usr/bin/python3 exists. For scripts that work
+      with python2, use /usr/bin/python. Otherwise, use /usr/bin/env
+      python3. Fixes bug 29913; bugfix on 0.2.5.3-alpha.
+
+  o Minor bugfixes (relay):
+    - If we are are a relay and have IPv6Exit to 1 while ExitRelay is
+      auto, we act as if ExitRelay is 1. Previously, we ignored IPv6Exit
+      if ExitRelay was 0 or auto. Fixes bug 29613; bugfix on
+      0.3.5.1-alpha. Patch by Neel Chauhan.
+
+  o Minor bugfixes (stats):
+    - When ExtraInfoStatistics is 0, stop including bandwidth usage
+      statistics, GeoIPFile hashes, ServerTransportPlugin lines, and
+      bridge statistics by country in extra-info documents. Fixes bug
+      29018; bugfix on 0.2.4.1-alpha.
+
+  o Minor bugfixes (testing):
+    - Call setrlimit() to disable core dumps in test_bt_cl.c instead of
+      using `ulimit -c` in test_bt.sh, which violates POSIX shell
+      compatibility. Fixes bug 29061; bugfix on 0.3.5.1-alpha.
+
+  o Minor bugfixes (testing, v3 onion services):
+    - Fix some incorrect code in the v3 onion service unit tests. Fixes
+      bug 29243; bugfix on 0.3.2.1-alpha.
+
+  o Minor bugfixes (tor-resolve):
+    - Fix a memory leak in tor-resolve that could happen if Tor gave it
+      a malformed SOCKS response. (Memory leaks in tor-resolve don't
+      actually matter, but it's good to fix them anyway.) Fixes bug
+      30151; bugfix on 0.4.0.1-alpha.
+
+  o Minor bugfixes (unit tests):
+    - In the "routerkeys/*" tests, check the return values of mkdir()
+      for possible failures. Fixes bug 29939; bugfix on 0.2.7.2-alpha.
+      Found by Coverity as CID 1444254.
+    - Split test_utils_general() to several smaller test functions in
+      test_utils_general(). This makes it easier to perform resource
+      deallocation on assert failure and fixes Coverity warnings CID
+      1444117 and CID 1444118. Fixes bug 29823; bugfix on 0.2.9.1-alpha.
+
+  o Minor bugfixes (v3 onion services):
+    - Stop ignoring IPv6 link specifiers sent to v3 onion services. v3
+      onion service IPv6 support is still incomplete, see 23493 for
+      details. Fixes bug 23588; bugfix on 0.3.2.1-alpha. Patch by
+      Neel Chauhan.
+
+  o Code simplification and refactoring:
+    - Abstract out the low-level formatting of replies on the control
+      port. Implements ticket 30007.
+    - Add several assertions in an attempt to fix some Coverity
+      warnings. Closes ticket 30149.
+    - Introduce a connection_dir_buf_add() helper function that checks
+      for compress_state of dir_connection_t and automatically writes a
+      string to directory connection with or without compression.
+      Resolves issue 28816.
+    - Make the base32_decode() API return the number of bytes written,
+      for consistency with base64_decode(). Closes ticket 28913.
+    - Move most relay-only periodic events out of mainloop.c into the
+      relay subsystem. Closes ticket 30414.
+    - Refactor and encapsulate parts of the codebase that manipulate
+      crypt_path_t objects. Resolves issue 30236.
+    - Refactor several places in our code that coverity incorrectly
+      believed that we might have memory leaks, so that we can analyze
+      our software more easily. Closes ticket 30147.
+    - Remove redundant return values in crypto_format, and the
+      associated return value checks elsewhere in the code. Make the
+      implementations in crypto_format consistent, and remove redundant
+      code. Resolves ticket 29660.
+    - Rename tor_mem_is_zero() to fast_mem_is_zero(), to emphasize that
+      it is not a constant-time function. Closes ticket 30309.
+    - Replace hs_desc_link_specifier_t with link_specifier_t, and remove
+      all hs_desc_link_specifier_t-specific code. Fixes bug 22781;
+      bugfix on 0.3.2.1-alpha.
+    - Simplify v3 onion service link specifier handling code. Fixes bug
+      23576; bugfix on 0.3.2.1-alpha.
+    - Split crypto_digest.c into three parts: 1) general code that does
+      not depend on either NSS or OpenSSL (stays in crypto_digest.c); 2)
+      code that depends on NSS API (moved to crypto_digest_nss.c); 3)
+      code that depends on OpenSSL API (moved to
+      crypto_digest_openssl.c). Resolves ticket 29108.
+    - Split up the control.c file into several submodules, in
+      preparation for distributing its current responsibilities
+      throughout the codebase. Closes ticket 29894.
+    - Start move responsibility for knowing about periodic events to the
+      appropriate subsystems, so that the mainloop doesn't need to know
+      all the periodic events in the rest of the codebase. Implements
+      tickets 30293 and 30294.
+
+  o Documentation:
+    - Document how to find git commits and tags for bug fixes in
+      CodingStandards.md. And update some changes file documentation.
+      Closes ticket 30261.
+
+  o Removed features:
+    - Remove linux-tor-prio.sh script from contrib/operator-tools
+      directory. Resolves issue 29434.
+    - Remove obsolete OpenSUSE initscript. Resolves issue 30076.
+    - Remove the obsolete script at contrib/dist/tor.sh.in. Resolves
+      issue 30075.
+
+  o Testing:
+    - Check that representative subsets of values of `int` and `unsigned
+      int` can be represented by `void *`. Resolves issue 29537.
+
+  o Code simplification and refactoring (circuit padding):
+    - Avoid calling monotime_absolute_usec() in circuit padding machines
+      that do not use token removal or circuit RTT estimation. Fixes bug
+      29085; bugfix on 0.4.0.1-alpha.
+
+  o Code simplification and refactoring (shell scripts):
+    - Cleanup autogen.sh to silence shellcheck warnings. Closes
+      ticket 26069.
+    - Cleanup test_keygen.sh to silence all shellcheck warnings. Closes
+      ticket 29062.
+    - Cleanup test_switch_id.sh to silence shellcheck warnings. Closes
+      ticket 29065.
+    - Fix issues shellcheck found in test_rebind.sh. Resolves
+      issue 29063.
+    - Fix shellcheck warning SC2006 in src/test/fuzz/minimize.sh.
+      Resolves issue 30079.
+    - Fix shellcheck warning in test_rust.sh. Fixes issue 29064.
+    - Fix shellcheck warning in torify script. Resolves issue 29070.
+    - Fix shellcheck warnings in asciidoc-helper.sh. Resolves
+      issue 29926.
+    - Fix shellcheck warnings in fuzz_multi.sh. Resolves issue 30077.
+    - Fix shellcheck warnings in fuzz_static_testcases.sh. Resolves
+      ticket 29059.
+    - Fix shellcheck warnings in nagios-check-tor-authority-cert script.
+      Resolves issue 29071.
+    - Fix shellcheck warnings in src/test/fuzz/fixup_filenames.sh.
+      Resolves issue 30078.
+    - Fix shellcheck warnings in test-network.sh. Resolves issue 29060.
+    - Fix shellcheck warnings in test_key_expiration.sh. Resolves
+      issue 30002.
+    - Fix shellcheck warnings in zero_length_keys.sh. Resolves
+      issue 29068.
+    - Fix test_workqueue_*.sh scripts to silence shellcheck SC2086
+      warnings. Fixes issue 29067.
+
+  o Testing (chutney):
+    - In "make test-network-all", test IPv6-only v3 single onion
+      services, using the chutney network single-onion-v23-ipv6-md. This
+      test will not pass until 23588 has been merged. Closes
+      ticket 27251.
+
+  o Testing (continuous integration):
+    - In Travis, show stem's tor log after failure. Closes ticket 30234.
+
+
 Changes in version 0.4.0.5 - 2019-05-02
   This is the first stable release in the 0.4.0.x series. It contains
   improvements for power management and bootstrap reporting, as well as

+ 0 - 7
changes/bug17357

@@ -1,7 +0,0 @@
-  o Minor bugfixes (onion services):
-    - If we are relaunching a circuit to a rendevous service in
-      rend_service_relaunch_rendezvous() and hs_service_requires_uptime_circ()
-      is true, the CIRCLAUNCH_NEED_UPTIME flag is added to the circuit.
-      Previously, we only set this flag when we received a INTRODUCE2
-      cell in rend_service_receive_introduction(). Fixes bug 17357;
-      bugfix on 0.4.0.2-alpha. Patch by Neel Chauhan

+ 0 - 7
changes/bug22210

@@ -1,7 +0,0 @@
-  o Minor bugfixes (onion services, performance):
-    - If we are building circuits to onion services, in circuit_is_acceptable()
-      we only call tor_addr_parse() in places where we use the returned
-      family and address values from this function. Previously, we called
-      tor_addr_parse() in circuit_is_acceptable() even if it wasn't used.
-      This change will improve performance when building circuits. Fixes
-      bug 22210; bugfix on 0.2.8.12. Patch by Neel Chauhan

+ 0 - 4
changes/bug22781

@@ -1,4 +0,0 @@
-  o Code simplification and refactoring:
-    - Replace hs_desc_link_specifier_t with link_specifier_t,
-      and remove all hs_desc_link_specifier_t-specific code.
-      Fixes bug 22781; bugfix on 0.3.2.1-alpha.

+ 0 - 7
changes/bug23576

@@ -1,7 +0,0 @@
-  o Minor features (IPv6, v3 onion services):
-    - Make v3 onion services put IPv6 addresses in service
-      descriptors. Before this change, service descriptors only
-      contained IPv4 addressesd. Implements 26992.
-  o Code simplification and refactoring:
-    - Simplify v3 onion service link specifier handling code.
-      Fixes bug 23576; bugfix on 0.3.2.1-alpha.

+ 0 - 5
changes/bug23588

@@ -1,5 +0,0 @@
-  o Minor bugfixes (v3 onion services):
-    - Stop ignoring IPv6 link specifiers sent to v3 onion services.
-      v3 onion service IPv6 support is still incomplete, see 23493 for
-      details. Fixes bug 23588; bugfix on 0.3.2.1-alpha.
-      Patch by Neel Chauhan.

+ 0 - 4
changes/bug24338

@@ -1,4 +0,0 @@
-  o Minor bugfixes (dirauth, ipv6):
-    - If we are a durauth with IPv6 and are marking relays as running, mark
-      ourselves as reachable on IPv6. Fixes bug 24338; bugfix on 0.4.0.2-alpha.
-      Patch by Neel Chauhan

+ 0 - 5
changes/bug24490

@@ -1,5 +0,0 @@
-  o Minor bugfixes (bridge authority):
-    - We set bridges as running when we dump the bridge status to a file.
-      Previously, we set bridges as running in a GETINFO controller, but
-      these shouldn't modify vital data structures. Fixes bug 24490;
-      bugfix on 0.2.0.13-alpha. Patch by Neel Chauhan

+ 0 - 7
changes/bug28269

@@ -1,7 +0,0 @@
-  o Minor bugfixes (onion services):
-    - If we are launching repeated HSFETCH queries and are rate-limited,
-      we introduce a new controller response QUERY_RATE_LIMITED instead
-      of QUERY_NO_HSDIR, while keeping the latter for when onion service
-      directories are missing a descriptor. Previously, we returned
-      QUERY_NO_HSDIR for both cases. Fixes bug 28269; bugfix on
-      0.3.1.1-alpha. Patch by Neel Chauhan

+ 0 - 8
changes/bug28636

@@ -1,8 +0,0 @@
-  o Minor bugfixes (circuit padding):
-    - The circuit padding subsystem does not schedule padding if dormant mode
-      is enabled. Fixes bug 28636; bugfix on 0.4.0.1-alpha.
-
-  o Minor feature (circuit padding):
-    - We now use a fast RNG when scheduling circuit padding. Part of ticket
-      28636.
-

+ 0 - 5
changes/bug29018

@@ -1,5 +0,0 @@
-  o Minor bugfixes (stats):
-    - When ExtraInfoStatistics is 0, stop including bandwidth usage statistics,
-      GeoIPFile hashes, ServerTransportPlugin lines, and bridge statistics
-      by country in extra-info documents. Fixes bug 29018;
-      bugfix on 0.2.4.1-alpha.

+ 0 - 4
changes/bug29061

@@ -1,4 +0,0 @@
-  o Minor bugfixes (testing):
-    - Call setrlimit() to disable core dumps in test_bt_cl.c instead of
-      using `ulimit -c` in test_bt.sh, which violates POSIX shell
-      compatibility. Fixes bug 29061; bugfix on 0.3.5.1-alpha.

+ 0 - 2
changes/bug29063

@@ -1,2 +0,0 @@
-  o Code simplification and refactoring (shell scripts):
-    - Fix issues shellcheck found in test_rebind.sh. Resolves issue 29063.

+ 0 - 4
changes/bug29085

@@ -1,4 +0,0 @@
-  o Code simplification and refactoring (circuit padding):
-    - Avoid calling monotime_absolute_usec() in circuit padding machines
-      that do not use token removal or circuit RTT estimation. Fixes bug
-      29085; bugfix on 0.4.0.1-alpha.

+ 0 - 4
changes/bug29204

@@ -1,4 +0,0 @@
-  o Minor bugfixes (circuitpadding):
-    - Inspect circuit-level cell queue before sending padding, to avoid
-      sending padding while too much data is queued. Fixes bug 29204;
-      bugfix on 0.4.0.1-alpha.

+ 0 - 5
changes/bug29221

@@ -1,5 +0,0 @@
-  o Minor features (development tools):
-    - Tor's test scripts now check for files and functions that seem
-      too long and complicated.  Existing overlong functions and files are
-      accepted for now, but should eventually be refactored. Closes
-      ticket 29221.

+ 0 - 4
changes/bug29231

@@ -1,4 +0,0 @@
-  o Minor bugfixes (Channel padding statistics):
-    - Channel padding write totals and padding-enabled totals are now
-      counted properly in relay extrainfo descriptors. Fixes bug 29231;
-      bugfix on 0.3.1.1-alpha

+ 0 - 3
changes/bug29243

@@ -1,3 +0,0 @@
-  o Minor bugfixes (testing, v3 onion services):
-    - Fix some incorrect code in the v3 onion service unit tests.
-      Fixes bug 29243; bugfix on 0.3.2.1-alpha.

+ 0 - 6
changes/bug29298

@@ -1,6 +0,0 @@
-  o Minor features (circuit padding):
-    - Allow the padding machine designer to pick the edges of their histogram
-      instead of trying to compute them automatically using an exponential
-      formula. Resolves some undefined behavior in the case of small histograms
-      and allows greater flexibility on machine design. Closes ticket 29298;
-      bugfix on 0.4.0.1-alpha.

+ 0 - 5
changes/bug29613

@@ -1,5 +0,0 @@
-  o Minor bugfixes (relay):
-    - If we are are a relay and have IPv6Exit to 1 while ExitRelay is
-      auto, we act as if ExitRelay is 1. Previously, we ignored IPv6Exit
-      if ExitRelay was 0 or auto. Fixes bug 29613; bugfix on 0.3.5.1-alpha.
-      Patch by Neel Chauhan.

+ 0 - 4
changes/bug29640

@@ -1,4 +0,0 @@
-  o Minor bugfixes (documentation):
-    - Improve the monotonic time module and function documentation. Explain
-      what "monotonic" actually means, and document some results that have
-      surprised people. Fixes bug 29640; bugfix on 0.2.9.1-alpha.

+ 0 - 3
changes/bug29805

@@ -1,3 +0,0 @@
-  o Minor bugfixes (probability distributions):
-    - Refactor and improve parts of the probability distribution code that made
-      Coverity complain. Fixes bug 29805; bugfix on 0.4.0.1-alpha.

+ 0 - 5
changes/bug29823

@@ -1,5 +0,0 @@
-  o Minor bugfixes (unit tests):
-    - Split test_utils_general() to several smaller test functions in
-      test_utils_general(). This makes it easier to perform resource
-      deallocation on assert failure and fixes Coverity warnings CID 1444117
-      and CID 1444118. Fixes bug 29823; bugfix on 0.2.9.1-alpha.

+ 0 - 2
changes/bug29926

@@ -1,2 +0,0 @@
-  o Code simplification and refactoring (shell scripts):
-    - Fix shellcheck warnings in asciidoc-helper.sh. Resolves issue 29926.

+ 0 - 4
changes/bug29939

@@ -1,4 +0,0 @@
-  o Minor bugfixes (unit tests):
-    - In the "routerkeys/*" tests, check the return values of mkdir() for
-      possible failures. Fixes bug 29939; bugfix on 0.2.7.2-alpha. Found by
-      Coverity as CID 1444254.

+ 0 - 2
changes/bug30002

@@ -1,2 +0,0 @@
-  o Code simplification and refactoring (shell scripts):
-    - Fix shellcheck warnings in test_key_expiration.sh. Resolves issue 30002.

+ 0 - 3
changes/bug30109

@@ -1,3 +0,0 @@
-  o Minor bugfixes (documentation):
-    - Improve the documentation for MapAddress .exit.
-      Fixes bug 30109; bugfix on 0.1.0.1-rc.

+ 0 - 4
changes/bug30148

@@ -1,4 +0,0 @@
-  o Minor bugfixes (memory leak):
-    - Avoid a minor memory leak that could occur on relays when
-      creating a keys directory failed. Fixes bug 30148; bugfix on
-      0.3.3.1-alpha.

+ 0 - 5
changes/bug30151

@@ -1,5 +0,0 @@
-  o Minor bugfixes (tor-resolve):
-    - Fix a memory leak in tor-resolve that could happen if Tor gave it a
-      malformed SOCKS response.  (Memory leaks in tor-resolve don't actually
-      matter, but it's good to fix them anyway.)  Fixes bug 30151; bugfix on
-      0.4.0.1-alpha.

+ 0 - 4
changes/bug30189

@@ -1,4 +0,0 @@
-  o Minor bugfixes (compilation, unusual configuration):
-    - Avoid failures when building with ALL_BUGS_ARE_FAILED due to
-      missing declarations of abort(), and prevent other such failures
-      in the future. Fixes bug 30189; bugfix on 0.3.4.1-alpha.

+ 0 - 3
changes/bug30190

@@ -1,3 +0,0 @@
-  o Minor bugfixes (lib):
-    do not log a warning for OpenSSL versions that should be compatible
-    Fixes bug 30190; bugfix on 0.2.4.2-alpha

+ 0 - 3
changes/bug30236

@@ -1,3 +0,0 @@
-  o Code simplification and refactoring:
-    - Refactor and encapsulate parts of the codebase that manipulate
-      crypt_path_t objects. Resolves issue 30236.

+ 0 - 3
changes/bug30309

@@ -1,3 +0,0 @@
-  o Code simplification and refactoring:
-    - Rename tor_mem_is_zero() to fast_mem_is_zero(), to emphasize that
-      it is not a constant-time function. Closes ticket 30309.

+ 0 - 3
changes/bug30452

@@ -1,3 +0,0 @@
-  o Minor features (compile-time modules):
-    - Add a --list-modules command to print a list of which compile-time
-      modules are enabled. Closes ticket 30452.

+ 0 - 4
changes/bug30475

@@ -1,4 +0,0 @@
-  o Minor bugfixes ():
-    - Avoid a GCC 9.1.1 warning (and possible crash depending on libc
-      implemenation) when failing to load a hidden service client authorization
-      file.  Fixes bug 30475; bugfix on 0.3.5.1-alpha.

+ 0 - 12
changes/bugs28693+30173+29203

@@ -1,12 +0,0 @@
-  o Minor bugfixes (circuit padding):
-    - Add a torrc option to disable circuit padding. Fixes bug 28693; bugfix
-      on 0.4.0.1-alpha.
-  o Minor bugfixes (circuit padding):
-    - Provide consensus parameter to fully disable circuit padding, to be used
-      in emergency network overload situations. Fixes bug 30173; bugfix on
-      0.4.0.1-alpha.
-  o Minor bugfixes (circuit padding):
-    - Allow circuit padding machines to specify that they do not contribute
-      much overhead, and provide consensus flags and torrc options to force
-      clients to only use low overhead machines. Fixes bug 29203; bugfix on
-      0.4.0.1-alpha.

+ 0 - 4
changes/coverity_falsepos

@@ -1,4 +0,0 @@
-  o Code simplification and refactoring:
-    - Refactor several places in our code that coverity incorrectly believed
-      that we might have memory leaks, so that we can analyze our software
-      more easily.  Closes ticket 30147.

+ 0 - 4
changes/feature29532

@@ -1,4 +0,0 @@
-  o Minor features (developer tooling):
-    - Modify git pre-push hook script to disallow pushing branches other than
-      master, release-* and maint-* to origin remote. Implements feature
-      29532.

+ 0 - 4
changes/geoip-2019-05-13

@@ -1,4 +0,0 @@
-  o Minor features (geoip):
-    - Update geoip and geoip6 to the May 13 2019 Maxmind GeoLite2
-      Country database. Closes ticket 30522.
-

+ 0 - 5
changes/pubsub

@@ -1,5 +0,0 @@
-  o Major features (code organization):
-    - Tor now includes a generic publish-subscribe message-passing subsystem
-      that we can use to organize intermodule dependencies.  We hope to use
-      this to reduce dependencies between modules that don't need to be
-      related, and to generally simplify our codebase. Closes ticket 28226.

+ 0 - 4
changes/ticket25110

@@ -1,4 +0,0 @@
-  o Minor bugfixes (logging, configuration):
-    - Warn operators when MyFamily option is set but ContactInfo
-      is missing, as the latter should be set too.
-      Fixes bug 25110; bugfix on 0.3.3.1-alpha.

+ 0 - 4
changes/ticket25417

@@ -1,4 +0,0 @@
-  o Minor features (controller):
-    - Add onion service version 3 support to HSFETCH. Previously, only
-      version 2 onion services were supported. Closes ticket 25417.
-      Patch by Neel Chauhan

+ 0 - 3
changes/ticket25614

@@ -1,3 +0,0 @@
-  o Minor bugfixes (pluggable transports):
-    - Tor now sets TOR_PT_EXIT_ON_STDIN_CLOSE=1 for client transports as
-      well as servers. Fixes bug 25614; bugfix on 0.2.7.1-alpha.

+ 0 - 2
changes/ticket26069

@@ -1,2 +0,0 @@
-  o Code simplification and refactoring (shell scripts):
-    - Cleanup autogen.sh to silence shellcheck warnings. Closes ticket 26069.

+ 0 - 6
changes/ticket26288

@@ -1,6 +0,0 @@
-  o Major features (flow control):
-    - Implement authenticated SENDMEs detailed in proposal 289. A SENDME cell
-      now includes the digest of the last cell received so once the end point
-      receives the SENDME, it can confirm the other side's knowledge of the
-      previous cells that were sent. This behavior is controlled by two new
-      consensus parameters, see proposal for more details. Fixes ticket 26288.

+ 0 - 4
changes/ticket27251

@@ -1,4 +0,0 @@
-  o Testing (chutney):
-    - In "make test-network-all", test IPv6-only v3 single onion services,
-      using the chutney network single-onion-v23-ipv6-md. This test will
-      not pass until 23588 has been merged. Closes ticket 27251.

+ 0 - 3
changes/ticket27821

@@ -1,3 +0,0 @@
-  o Minor features (HTTP tunnel):
-    - Return an informative web page when the HTTPTunnelPort is used as an
-      HTTP proxy. Closes ticket 27821, patch by "eighthave".

+ 0 - 10
changes/ticket28634

@@ -1,10 +0,0 @@
-  o Major features (Circuit padding):
-    - Onion service clients will now add padding cells to the initial portions
-      of their INTRODUCE and RENDEZVOUS circuits, to make those circuits'
-      traffic patterns look more like general purpose Exit traffic. The
-      overhead for this is 2 extra cells in each direction for RENDEZVOUS
-      circuits, and 1 extra upstream cell and 10 downstream cells for INTRODUCE
-      circuits. This will only be enabled if the circuit's middle node supports
-      this feature, too. (Clients may specify fixed middle nodes with the MiddleNodes
-      torrc directive, and may force-disable this feature with the CircuitPadding
-      torrc directive). Closes ticket 28634.

+ 0 - 3
changes/ticket28780

@@ -1,3 +0,0 @@
-  o Minor features (circuit padding):
-    - Provide the ability for circuit padding machines to hold a circuit open
-      until they are done padding it. Closes ticket 28780.

+ 0 - 4
changes/ticket28816

@@ -1,4 +0,0 @@
-  o Code simplification and refactoring:
-    - Introduce a connection_dir_buf_add() helper function that checks for
-      compress_state of dir_connection_t and automatically writes a string to
-      directory connection with or without compression. Resolves issue 28816.

+ 0 - 4
changes/ticket28837

@@ -1,4 +0,0 @@
-  o Minor features (performance):
-    - Use OpenSSL's implementations of SHA3 when available (in OpenSSL 1.1.1
-      and later), since they tend to be faster than tiny-keccak. Closes
-      ticket 28837.

+ 0 - 4
changes/ticket28913

@@ -1,4 +0,0 @@
-  o Code simplification and refactoring:
-    - Make the base32_decode() API return the number of bytes written,
-      for consistency with base64_decode().
-      Closes ticket 28913.

+ 0 - 3
changes/ticket29059

@@ -1,3 +0,0 @@
-  o Code simplification and refactoring (shell scripts):
-    - Fix shellcheck warnings in fuzz_static_testcases.sh. Resolves ticket
-      29059.

+ 0 - 2
changes/ticket29060

@@ -1,2 +0,0 @@
-  o Code simplification and refactoring (shell scripts):
-    - Fix shellcheck warnings in test-network.sh. Resolves issue 29060.

+ 0 - 3
changes/ticket29062

@@ -1,3 +0,0 @@
-  o Code simplification and refactoring (shell scripts):
-    - Cleanup test_keygen.sh to silence all shellcheck warnings. Closes
-      ticket 29062.

+ 0 - 2
changes/ticket29064

@@ -1,2 +0,0 @@
-  o Code simplification and refactoring (shell scripts):
-    - Fix shellcheck warning in test_rust.sh. Fixes issue 29064.

+ 0 - 3
changes/ticket29065

@@ -1,3 +0,0 @@
-  o Code simplification and refactoring (shell scripts):
-    - Cleanup test_switch_id.sh to silence shellcheck warnings. Closes
-      ticket 29065.

+ 0 - 3
changes/ticket29067

@@ -1,3 +0,0 @@
-  o Code simplification and refactoring (shell scripts):
-    - Fix test_workqueue_*.sh scripts to silence shellcheck SC2086
-      warnings. Fixes issue 29067.

+ 0 - 2
changes/ticket29068

@@ -1,2 +0,0 @@
-  o Code simplification and refactoring (shell scripts):
-    - Fix shellcheck warnings in zero_length_keys.sh. Resolves issue 29068.

+ 0 - 2
changes/ticket29070

@@ -1,2 +0,0 @@
-  o Code simplification and refactoring (shell scripts):
-    - Fix shellcheck warning in torify script. Resolves issue 29070.

+ 0 - 3
changes/ticket29071

@@ -1,3 +0,0 @@
-  o Code simplification and refactoring (shell scripts):
-    - Fix shellcheck warnings in nagios-check-tor-authority-cert script.
-      Resolves issue 29071.

+ 0 - 5
changes/ticket29108

@@ -1,5 +0,0 @@
-  o Code simplification and refactoring:
-    - Split crypto_digest.c into three parts: 1) general code that does not
-      depend on either NSS or OpenSSL (stays in crypto_digest.c); 2) code that
-      depends on NSS API (moved to crypto_digest_nss.c); 3) code that depends
-      on OpenSSL API (moved to crypto_digest_openssl.c). Resolves ticket 29108.

+ 0 - 3
changes/ticket29391

@@ -1,3 +0,0 @@
-  o Minor feature (maintenance scripts):
-    - Add to scripts/maint/ helper maintainer scripts used for git maintenance.
-      Closes ticket 29391.

+ 0 - 3
changes/ticket29434

@@ -1,3 +0,0 @@
-  o Removed features:
-    - Remove linux-tor-prio.sh script from contrib/operator-tools directory.
-      Resolves issue 29434.

+ 0 - 4
changes/ticket29436

@@ -1,4 +0,0 @@
-  o Minor features (testing):
-    - We now have a script, cov-test-determinism.sh, to identify places
-      where our unit test coverage has become nondeterministic.
-      Closes ticket 29436.

+ 0 - 9
changes/ticket29536

@@ -1,9 +0,0 @@
-  o Minor features (performance, RNG):
-    - Tor now constructs a fast secure pseudorandom number generator for
-      each thread, to use for cases where performance is critical. This PRNG
-      is based on AES-CTR, using a buffering construction similar to
-      libottery and the (newer) OpenBSD arc4random() code.  It outperforms
-      OpenSSL 1.1.1a's CSPRNG by roughly a factor of 100 for small outputs.
-      Although we believe it to be cryptographically strong, we are only
-      using it when necessary for reasonable performance. Implements tickets
-      29023 and 29536.

+ 0 - 3
changes/ticket29537

@@ -1,3 +0,0 @@
-  o Testing:
-    - Check that representative subsets of values of `int` and `unsigned int`
-      can be represented by `void *`. Resolves issue 29537.

+ 0 - 7
changes/ticket29542

@@ -1,7 +0,0 @@
-  o Minor features (defense in depth):
-    - Tor now uses a fast cryptographically strong PRNG even for decisions
-      that we do not believe are security-sensitive.  Previously, for
-      performance reasons, we had used a trivially predictable linear
-      congruential generator algorithm for certain load-balancing and
-      statistical sampling decisions. Now we use our fast RNG in those cases.
-      Closes ticket 29542.

+ 0 - 5
changes/ticket29553

@@ -1,5 +0,0 @@
-  o Minor bugfixes (developer tools):
-    - Update our pre-commit.git-hook script to work correctly on older Tor
-      branches and release branches without any changes files,
-      and to actually exit when something fails.  Fixes bug 29553; bugfix on
-      0.4.0.2-alpha.

+ 0 - 4
changes/ticket29588

@@ -1,4 +0,0 @@
-  o Minor features (developer tools):
-    - Introduce a post-merge git hook script to check if we're pulling in any
-      changes to our git workspace management scripts from upstream. Resolves
-      issue 29588.

+ 0 - 3
changes/ticket29635

@@ -1,3 +0,0 @@
-  o Minor bugfixes (documentation, manpage):
-    - Use proper formatting when providing an example on quoting options that
-      contain whitespace. Fixes bug 29635; bugfix on 0.2.3.18-rc.

+ 0 - 5
changes/ticket29660

@@ -1,5 +0,0 @@
-  o Code simplification and refactoring:
-    - Remove redundant return values in crypto_format, and the associated
-      return value checks elsewhere in the code. Make the implementations in
-      crypto_format consistent, and remove redundant code.
-      Resolves ticket 29660.

+ 0 - 5
changes/ticket29662

@@ -1,5 +0,0 @@
-  o Minor features (debugging):
-    - Introduce tor_assertf() and tor_assertf_nonfatal() to enable logging of
-      additional information during assert failure. Now we can use format
-      strings to include pieces of information that are relevant for trouble
-      shooting. Resolves ticket 29662.

+ 0 - 5
changes/ticket29732

@@ -1,5 +0,0 @@
-  o Minor features (testing):
-    - Tor's unit test code now contains a standard set of functions to
-      replace the PRNG with a deterministic or reproducible version for
-      testing. Previously, various tests implemented this in various ways.
-      Implements ticket 29732.

+ 0 - 3
changes/ticket29756

@@ -1,3 +0,0 @@
-  o Minor features (developer tools):
-    - Add a script to check that each header has a well-formed and unique
-      guard marco. Closes ticket 29756.

+ 0 - 4
changes/ticket29894

@@ -1,4 +0,0 @@
-  o Code simplification and refactoring:
-    - Split up the control.c file into several submodules, in preparation
-      for distributing its current responsibilities throughout the codebase.
-      Closes ticket 29894.

+ 0 - 4
changes/ticket29913

@@ -1,4 +0,0 @@
-  o Minor bugfixes (python):
-    - Stop assuming that /usr/bin/python3 exists. For scripts that work with
-      python2, use /usr/bin/python. Otherwise, use /usr/bin/env python3.
-      Fixes bug 29913; bugfix on 0.2.5.3-alpha.

+ 0 - 5
changes/ticket29984

@@ -1,5 +0,0 @@
-  o Minor bugfixes (controller protocol):
-    - Teach the controller parser to correctly distinguish an object
-      preceded by an argument list from one without. Previously, it
-      couldn't distinguish an argument list from the first line of a
-      multiline object. Fixes bug 29984; bugfix on 0.2.3.8-alpha.

+ 0 - 3
changes/ticket30007

@@ -1,3 +0,0 @@
-  o Code simplification and refactoring:
-    - Abstract out the low-level formatting of replies on the control
-      port. Implements ticket 30007.

+ 0 - 4
changes/ticket30033

@@ -1,4 +0,0 @@
-  o Minor features (developer tooling):
-    - Call pre-commit git hook from pre-push hook to make sure we're
-      running documentation and code style checks before pushing to remote
-      git repository. Implements feature 30033.

+ 0 - 5
changes/ticket30051

@@ -1,5 +0,0 @@
-  o Minor features (developer tooling):
-    - Call practracker from pre-push and pre-commit git hooks to let a
-      developer know if they made any code style violations in their last
-      commit. This should help preventing code style violations appearing
-      upstream. Closes ticket 30051.

+ 0 - 3
changes/ticket30075

@@ -1,3 +0,0 @@
-  o Removed features:
-    - Remove the obsolete script at contrib/dist/tor.sh.in. Resolves issue
-      30075.

+ 0 - 2
changes/ticket30076

@@ -1,2 +0,0 @@
-  o Removed features:
-    - Remove obsolete OpenSUSE initscript. Resolves issue 30076.

+ 0 - 2
changes/ticket30077

@@ -1,2 +0,0 @@
-  o Code simplification and refactoring (shell scripts):
-    - Fix shellcheck warnings in fuzz_multi.sh. Resolves issue 30077.

+ 0 - 3
changes/ticket30078

@@ -1,3 +0,0 @@
-  o Code simplification and refactoring (shell scripts):
-    - Fix shellcheck warnings in src/test/fuzz/fixup_filenames.sh. Resolves
-      issue 30078.

+ 0 - 3
changes/ticket30079

@@ -1,3 +0,0 @@
-  o Code simplification and refactoring (shell scripts):
-    - Fix shellcheck warning SC2006 in src/test/fuzz/minimize.sh. Resolves
-      issue 30079.

+ 0 - 4
changes/ticket30091

@@ -1,4 +0,0 @@
-  o Major features (controller protocol):
-    - Controller commands are now parsed using a generalized parsing
-      subsystem. Previously, each controller command was responsible for
-      parsing its own input.  Closes ticket 30091.

+ 0 - 3
changes/ticket30114

@@ -1,3 +0,0 @@
-  o Minor features (git scripts):
-    - In git-pull-all.sh, also fetch the latest tor-github pull requests.
-      Implements ticket 30114.

+ 0 - 3
changes/ticket30149

@@ -1,3 +0,0 @@
-  o Code simplification and refactoring:
-    - Add several assertions in an attempt to fix some Coverity warnings.
-      Closes ticket 30149.

+ 0 - 4
changes/ticket30176

@@ -1,4 +0,0 @@
-  o Minor features (defense in depth):
-    - In smartlist_remove_keeporder(), set any pointers that become
-      unused to NULL, in case a bug causes them to be used later. Closes
-      ticket 30176.  Patch from Tobias Stoeckmann.

+ 0 - 3
changes/ticket30213

@@ -1,3 +0,0 @@
-  o Minor features (continuous integration):
-    - Remove sudo configuration lines from .travis.yml as they are no longer
-      needed with current Travis build environment. Resolves issue 30213.

+ 0 - 2
changes/ticket30234

@@ -1,2 +0,0 @@
-  o Testing (continuous integration):
-    - In Travis, show stem's tor log after failure. Closes ticket 30234.

+ 0 - 4
changes/ticket30261

@@ -1,4 +0,0 @@
-  o Documentation:
-    - Document how to find git commits and tags for bug fixes in
-      CodingStandards.md. And update some changes file documentation.
-      Closes ticket 30261.

+ 0 - 5
changes/ticket30293

@@ -1,5 +0,0 @@
-  o Code simplification and refactoring:
-    - Start move responsibility for knowing about periodic events to the
-      appropriate subsystems, so that the mainloop doesn't need to know all
-      the periodic events in the rest of the codebase.  Implements tickets
-      30293 and 30294.

+ 0 - 4
changes/ticket30307

@@ -1,4 +0,0 @@
-  o Major features (performance):
-    - Update our node selection algorithm to exclude nodes in linear time.
-      Previously, the algorithm was quadratic, which could slow down heavily
-      used onion services.  Closes ticket 30307.

+ 0 - 5
changes/ticket30308

@@ -1,5 +0,0 @@
-  o Minor bugfixes (performance):
-    - When checking a node for bridge status, use a fast check to make sure
-      that its identity is set. Previously, we used a constant-time check,
-      which is not necessary when verifying a BUG() condition that causes
-      a stack trace. Fixes bug 30308; bugfix on 0.3.5.1-alpha.

+ 0 - 3
changes/ticket30345

@@ -1,3 +0,0 @@
-  o Minor features (modularity):
-    - The --disable-module-dirauth compile-time option now disables
-      even more dirauth-only code. Closes ticket 30345.

+ 0 - 3
changes/ticket30414

@@ -1,3 +0,0 @@
-  o Code simplification and refactoring:
-    - Move most relay-only periodic events out of mainloop.c into the
-      relay subsystem. Closes ticket 30414.