      * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
      *                                                       *
      *  THIS RELEASE STREAM IS OPEN TO BUG FIXES.            *
      *                                                       *
      * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

This file tracks the status of releases in the 1.3.x line.

Status of 1.3.10:

Candidate changes:
==================

 * r1875937
   Fix test case against OpenSSL 1.1.1e+.
   [ NOTE: Superceded by the r1902208 fix. ]
   Justification:
     Serf should test cleanly against upstreams.
   Branch: ^/serf/branches/1.3.x-ssltest
   Votes:
     +1: jerenkrantz

 * r1775239-1781240
   Fix build with current LibreSSL and OpenSSL versions.
   Justification:
     Serf should compile out of the box.
   Branch: ^/serf/branches/1.3.x-sslbuild
   Votes:
     +1: stsp, astieger

 * r1712131, r1807594, r1811088, r1861036, r1909315, r1909316
   Add support for building with VS2017-VS2022, assuming a new enough scons.
   Votes:
     +1: kotkov
     +1: rhuijben (without r1861036, r1909315, r1909316)
     +1: astieger (without r1861036, r1909315, r1909316)

* r1901040
  Fix test_ssl_handshake() failure with OpenSSL 1.1.1i+.
  Justification:
    Serf should test cleanly against upstreams.
  Branch: ^/serf/branches/1.3.x-r1901040
  Votes:
    +1: kotkov

* r1901937
  Remove the use of ERR_GET_FUNC() to allow building against OpenSSL 3.
  Justification:
    Serf should work with OpenSSL 3.
  Branch: ^/serf/branches/1.3.x-r1901937
  Votes:
    +1: kotkov

* r1902208, r1902304
  Rework BIO control handlers to support BIO_CTRL_EOF and to properly respond
  to unknown control values.
  Justification:
    - Fixes "unexpected eof while reading" errors with OpenSSL 3, also observed
      in the test suite.
    - Fixes a user-reported issue with OpenSSL 3 where serf BIOs are incorrectly
      assumed to support KTLS:
      https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=253135
  Branch: ^/serf/branches/1.3.x-r1902208+r1902304
  Votes:
    +1: kotkov

Veto-blocked changes:
=====================

Approved changes:
=================
