Skip to content

Commit c6d86f2

Browse files
authored
Release v0.2.2 (#24)
* [BUGFIX] Fix Broken Release (#19) * fix: resolve Linux and macOS build failures, add CI build tests Build Fixes: - Add pthread.h include for Linux builds (network.c) Fixes missing PTHREAD_MUTEX_INITIALIZER and pthread function declarations - Remove duplicate _POSIX_C_SOURCE definition (http2_session_manager.c) Fixes redefinition warning and implicit usleep declaration The macro is already defined in internal.h with a newer POSIX standard - Fix -march=native flag for macOS ARM64 builds (setup.py) Refactored architecture detection to skip unsupported flags on ARM64 macOS * x86_64/AMD64: Use -march=native * ARM64 on Linux: Use -mcpu=native * ARM64 on macOS: Skip architecture flags (clang doesn't support them) CI Improvements: - Add build test jobs for Linux, macOS, and Windows to CI pipeline - Build and test all Python versions (3.8-3.14) on every push/PR - Align CI build workflow with release pipeline for consistency - Add build status reporting in CI summary These changes ensure builds succeed on all platforms and catch build failures early in the development process. * fix: skip C extension build on Read the Docs Read the Docs doesn't need C extensions to build documentation. Detect READTHEDOCS environment variable and skip Cython/C compilation when building on RTD infrastructure. This allows documentation builds to succeed without requiring vendor dependencies (nghttp2, BoringSSL) to be available. * chore: Fixed indentation in setup.py: - All Extension() constructor parameters are now properly indented - The build will now work correctly on Linux/macOS/Windows - Read the Docs will skip C extensions entirely (no compilation needed for docs) * fix: resolve Linux/macOS build failures and add CI build tests for all platforms * fix: Resolve Linux and macOS build failures - Add OpenSSL 1.0.x compatibility for old manylinux containers - Add TLS 1.3 guards for OpenSSL versions without TLS 1.3 support - Force static library linking on macOS to avoid Homebrew dylib version mismatches - Prioritize vendor-built libraries over system libraries on macOS * fix: Resolve Linux sign-compare warnings and macOS library linking issues - Fix sign-compare warnings in tls.c by using int instead of size_t for browser profile counts - Force static library linking on macOS to avoid Homebrew dylib version conflicts - Prioritize vendor-built libraries over system libraries on both Linux and macOS * fix: Resolve Python 3.8 setuptools compatibility and build issues - Constrain setuptools <75.4.0 for Python 3.8 (dropped support in 75.4.0) * fix: Resolve build and runtime failures across all platforms - Constrain setuptools <75.4.0 for Python 3.8 (dropped in 75.4.0) - Remove -march=native flags to fix "Illegal instruction" on Linux - Fix sign-compare warnings in tls.c (use int for profile counts) - Force static library linking on macOS to avoid Homebrew conflicts - Ensure portable wheels that work across different CPUs * fix: Resolve build failures across all platforms - Cap setuptools <75.4.0 for Python 3.8 compatibility - Remove -march=native to create portable wheels - Fix sign-compare warnings in tls.c - Force static library linking on macOS - Ensure wheels work across different CPUs and Python versions * fix: Add OpenSSL 1.0.x compatibility for manylinux builds - Add compatibility wrappers for OpenSSL 1.1.0+ APIs - Map TLS_client_method to SSLv23_client_method for 1.0.x - Add fallback for SSL_CTX_set_min/max_proto_version - Skip X25519 curve when not available in OpenSSL 1.0.x - Remove duplicate POSIX feature test macros - Ensure all builds work with OpenSSL 1.0.x (manylinux) and 1.1.0+ * fix: Add comprehensive OpenSSL 1.0.x and POSIX compatibility * fix: Fixed io_uring detection, added liburing static library support, and properly linked BoringSSL with C++ runtime support * [CHORE] Attribution and Version Bump to 0.2.1 (#20) * [CHORE] remove debug print on init (#23) Removed automatic debug output that was printed every time httpmorph was imported, making the library silent unless errors occur. This improves user experience by eliminating unnecessary stderr output.
1 parent e15802e commit c6d86f2

File tree

2 files changed

+1
-6
lines changed

2 files changed

+1
-6
lines changed

src/httpmorph/__init__.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@
66
Built from scratch in C with BoringSSL. No fallback implementations.
77
"""
88

9-
import sys
10-
119
# Read version from package metadata (single source of truth: pyproject.toml)
1210
try:
1311
from importlib.metadata import version as _get_version
@@ -64,8 +62,6 @@
6462
"python setup.py build_ext --inplace"
6563
)
6664

67-
print("[httpmorph] Using C extension with BoringSSL", file=sys.stderr)
68-
6965
# Import async client (C-level async I/O with kqueue/epoll)
7066
try:
7167
from httpmorph._async_client import AsyncClient, AsyncResponse

src/httpmorph/_client_c.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,7 @@
6868
else:
6969
raise ImportError("Could not create module spec")
7070

71-
except (ImportError, Exception) as e:
72-
print(f"WARNING: Failed to import _httpmorph: {e}", file=sys.stderr)
71+
except (ImportError, Exception):
7372
HAS_C_EXTENSION = False
7473
_httpmorph = None
7574

0 commit comments

Comments
 (0)