Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: etr/libhttpserver
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: feature/v2.0
Choose a base ref
...
head repository: etr/libhttpserver
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 5 commits
  • 11 files changed
  • 2 contributors

Commits on Jul 23, 2026

  1. v2.0: Modernization (M1-M6, 44 tasks) (#374)

    v2.0: Modernization (M1-M6, 44 tasks)
    etr authored Jul 23, 2026
    Configuration menu
    Copy the full SHA
    ded4203 View commit details
    Browse the repository at this point in the history
  2. fix(dist,build): make the release tarball self-contained and link gnu…

    …tls on mingw
    
    The 2.0.0 release workflow is the first to build the `make dist` tarball and
    verify it on Linux/macOS/Windows, which surfaced several latent packaging gaps
    plus a Windows-only link failure. All fixes below; none change library behavior.
    
    Dist packaging (verify-dist failed at configure/build/check from the tarball):
    - Add `doc` to SUBDIRS/DIST_SUBDIRS so doc/Makefile.in ships (config.status
      could not find it -> the original CI failure on all three platforms).
    - Add the internal headers detail/http_field_validation.hpp, detail/method_utils.hpp
      and detail/path_normalize.hpp to src noinst_HEADERS (build-from-tarball missed them).
    - Add test/integ/log_capture.hpp to test noinst_HEADERS.
    - Ship the cmake module via dist_cmakemodule_DATA (plain _DATA is installed but
      not distributed).
    - Ship LICENSE, RELEASE_NOTES.md, CONTRIBUTING.md and CODE_OF_CONDUCT.md in EXTRA_DIST.
    - Gate the README / release-notes / hooks-doc / doxygen check-local gates on the
      presence of specs/ so `make check` from an unpacked tarball runs the test suite
      plus the header/example/lint gates but skips the source-only doc gates (README
      links into specs/ and docs/architecture/, which stay dev-only and are not shipped).
    
    Windows / mingw link fix:
    - Link -lgnutls when HAVE_GNUTLS is set. The library calls gnutls_* directly in
      http_request_impl_tls.cpp; Linux/macOS resolve it transitively through
      libmicrohttpd, but the mingw microhttpd import lib does not re-export those
      symbols, so the DLL link failed with undefined references once MSYS2 started
      shipping gnutls and configure enabled it.
    
    Verified: `make distcheck` green end-to-end (all 113 tests pass from the tarball,
    install/uninstall clean, archives ready for distribution).
    
    Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_015tAodxYJMEY4VxCX4dk62e
    etr and claude committed Jul 23, 2026
    Configuration menu
    Copy the full SHA
    ab72a98 View commit details
    Browse the repository at this point in the history
  3. ci: retire the check-parallel-install v1+v2 coexistence gate

    The gate (TASK-044/TASK-089) built `origin/master` as the "v1" side and
    asserted a v1-style libhttpserver.so.0/.1 co-installs beside v2's
    libhttpserver.so.2.0.0. Now that v2.0 has landed on master, origin/master IS
    v2.0.0, so the gate installs libhttpserver.so.2.0.0 as the "v1" side and fails
    with "no v1-style library file found". Since v1.x is end-of-life the day v2.0
    ships (DR-011, PRD §1), v1+v2 co-installation is no longer a supported scenario
    worth testing, so retire the gate rather than pin it to an ancient v1 tag that
    no longer builds under a modern toolchain.
    
    Removed:
    - verify-build.yml: the `parallel-install: check` matrix opt-in, the master-ref
      fetch and `make check-parallel-install` steps, and the structural lane gate.
    - Makefile.am: the check-parallel-install target, lint-parallel-install-skip-contract
      (dropped from check-local) and lint-parallel-install-lane targets, their
      EXTRA_DIST script entries, and the now-orphaned scripts/lib/skip-or-fail.sh.
    - scripts/{check-parallel-install,check-parallel-install-lane,test_check_parallel_install,test_check_parallel_install_lane}.sh
      and scripts/lib/skip-or-fail.sh.
    
    The SOVERSION-based lnability itself is unchanged (still real via standard
    SONAME mechanics; check-soversion still runs); only the automated coexistence
    gate that assumed a buildable v1 master is retired. scripts/lib/resolve-prefix.sh
    is kept — check-soversion.sh still uses it.
    
    Verified: autoreconf clean, make check 113/113, verify-build.yml valid YAML.
    
    Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_015tAodxYJMEY4VxCX4dk62e
    etr and claude committed Jul 23, 2026
    Configuration menu
    Copy the full SHA
    767416f View commit details
    Browse the repository at this point in the history
  4. Set GitHub Sponsors username in FUNDING.yml

    Updated GitHub Sponsors username for funding.
    etr authored Jul 23, 2026
    Configuration menu
    Copy the full SHA
    f7dd05a View commit details
    Browse the repository at this point in the history
  5. docs(readme): point sponsor links to GitHub Sponsors instead of Ko-fi

    Both the badge at the top and the funding link at the bottom now point to
    https://github.com/sponsors/etr (matching the new .github/FUNDING.yml), replacing
    the Ko-fi links.
    
    Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_015tAodxYJMEY4VxCX4dk62e
    etr and claude committed Jul 23, 2026
    Configuration menu
    Copy the full SHA
    02bf41c View commit details
    Browse the repository at this point in the history
Loading