Skip to content

Releases: WEBcodeX1/http-1.2

Release Version v0.1

27 Dec 20:34
a5483ac

Choose a tag to compare

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.

[v0.1] - 2025-12-27

In Progress - Active Milestones

Global CPU Binding (Milestone #15)

  • Issue #99: Globally Bind CPU(s) to Processes
    • Processes: Server Process (Client Handling), PythonAS, ResultProcessor (Threadhandler)
    • Implementation planned at global level, not Virtual Host level
    • Labels: global, priority high

HTTP/1.2 Draft / RFP (Milestone #9)

  • Issue #61: Finish "HTTP/1.2" Draft / RFP

    • Document must be rewritten completely
    • Labels: RFP
    • Assigned to: clauspruefer, Copilot
  • Issue #60: Finish "Exemplary HTTP Network Processing" Document

    • Also to be published on Der-IT-Pruefer.de
    • Labels: RFP
    • Assigned to: clauspruefer

Internal Library lib-http (Milestone #3)

  • Issue #16: Implement libhttp sub-component "net"
    • Small client library needed for performance tests and HTTP/1.2 request processing
    • Implementation using libevent in /lib/event
    • Labels: library, HTTP/1.2

[v0.1rc] - 2025-10-07

📦 Release 0.1rc (Milestone #17) - Completed

🐛 Fixed

  • Issue #150: Unix Domain Socket Connection Unstable

    • Fixed connection stability issues in Unix Domain Socket implementation
    • Assigned to: Copilot
  • Issue #149: Multiple IP Connections Unstable

    • Resolved instability with multiple IP connections
    • Assigned to: clauspruefer
  • Issue #147: Multiple Exceptions Stop Client Socket Processing / Crash

    • Fixed server crashes caused by multiple exceptions in client socket processing
    • Assigned to: Copilot
  • Issue #140: ResultProcessor Process Not Dropping Privileges

    • Security fix: ResultProcessor now properly drops privileges
    • Assigned to: clauspruefer

📋 Pull Requests Merged

  • PR #157: Fix Version v0.1rc
  • PR #155: Release Version v0.1rc
  • PR #156: Complete Sphinx documentation restructure
  • PR #153: Fix Unix Domain Socket Processing
  • PR #151: Fix Unix Domain Socket EAGAIN Handling in FD Passing Operations
  • PR #148: Fix Map Access Exceptions Causing Server Crashes On Invalid Requests

[v0.1.2] - 2025-08-03

📦 Release 0.1.2 (Milestone #16) - Completed

Added

  • Issue #119: Add Startup Scripts (High Priority)

    • Added systemd, OpenRC, and SysVinit startup scripts
    • Assigned to: clauspruefer, Copilot
  • Issue #100: Add PythonAS VirtualHost Configuration (High Priority)

    • Enhanced PythonAS with VirtualHost configuration support
    • Assigned to: clauspruefer
  • Issue #12: Add 304 (Not Modified) logic to Static Server Component (High Priority)

    • Implemented HTTP 304 response handling for static files
    • Assigned to: clauspruefer

🔄 Changed

  • Issue #117: Use JSON Configuration / JSON Parser

    • Migrated from XML to JSON-based configuration system
    • Labels: enhancement, config
  • Issue #101: Move C++ Source To /src (High Priority)

    • Reorganized source code structure for better maintainability
    • Assigned to: clauspruefer
  • Issue #102: Strip Binary On Installation (Non Debug Build) (High Priority)

    • Optimized production builds by stripping debug symbols
    • Labels: cosmetical

🐛 Fixed

  • Issue #132: Runtime Exception Thrown On Server Start

    • Fixed critical startup exception in core server initialization
    • Labels: bug, core
  • Issue #110: Fix / Test Termination Handling

    • Improved graceful shutdown and termination handling
    • Assigned to: clauspruefer, Copilot
  • Issue #104: Idiotic GET / POST Parsing

    • Fixed HTTP request parsing issues for GET/POST methods
    • Assigned to: clauspruefer
  • Issue #96: Result Processing Not Working Correctly (High Priority)

    • Resolved critical issues in result processing pipeline
    • Assigned to: clauspruefer

🧪 Testing

  • Issue #98: Implement ResultOrder Test (High Priority)
    • Added comprehensive testing for ResultOrder functionality
    • Labels: test

📚 Documentation

  • Issue #122: Correct README.md
    • Updated and corrected project documentation
    • Assigned to: clauspruefer

📋 Major Pull Requests

  • PR #133: Release Version v0.1.2
  • PR #129: Release Version v0.1.1
  • PR #127: Correct README.md
  • PR #118: Replace Python Config Processing
  • PR #115: Make GET / POST Requests Working
  • PR #107: Version 0.1rc1 Release Pull Request

Pending Features & Enhancements

High Priority

  • Issue #152: Think About Moving ResultProcessor Into Server Thread
    • Move processing logic into Server process as single thread
    • Would eliminate need for ClientFD passing via unix domain socket
    • Labels: enhancement, re-factor

Medium Priority

  • Issue #72: Implement MaxParallelExecutedThreads into ResultScheduler

    • Labels: enhancement
  • Issue #71: Add Limits Handling

    • Check limits at multiple positions
    • Labels: not done yet, priority low

Low Priority

  • Issue #45: Add Optional TCP-CORK / TCP-NODELAY Feature

    • Currently hardcoded TCP-NODELAY
    • TCP-CORK has 200ms latency but reduces TCP traffic
    • Labels: enhancement, priority low, config
  • Issue #28: Implement Continuous Integration

    • ✅ CodeQL building and build status implemented
    • ⏳ Evaluate additional CI possibilities
    • Labels: priority low

Recent Development Activity

Latest Commits (30 most recent)

Note: This changelog shows the latest 30 commits. For a complete commit history, visit the repository commits page.

Project Overview

This project is developing an HTTP/1.2 implementation with focus on:

  • High-performance network processing
  • XML-based HTTP/1.2 client library development
  • JSON-based configuration system
  • Multi-backend support (Python and Java)

Key Achievements

  • Release v0.1rc - Unix Domain Socket fixes and documentation improvements
  • 🚧 Active Development - HTTP/1.2 draft completion, CPU binding, and library enhancements

How to Contribute

Please follow the Keep a Changelog format when updating this file:

  • Added for new fe...
Read more

Version v0.1rc (Release Candidate)

07 Oct 13:43
34d1d68

Choose a tag to compare

Pre-release

[v0.1rc] - 2025-10-07

📦 Release 0.1rc (Milestone #17) - Completed

🐛 Fixed

  • Issue #150: Unix Domain Socket Connection Unstable

    • Fixed connection stability issues in Unix Domain Socket implementation
    • Assigned to: Copilot
  • Issue #149: Multiple IP Connections Unstable

    • Resolved instability with multiple IP connections
    • Assigned to: clauspruefer
  • Issue #147: Multiple Exceptions Stop Client Socket Processing / Crash

    • Fixed server crashes caused by multiple exceptions in client socket processing
    • Assigned to: Copilot
  • Issue #140: ResultProcessor Process Not Dropping Privileges

    • Security fix: ResultProcessor now properly drops privileges
    • Assigned to: clauspruefer

📋 Pull Requests Merged

  • PR #157: Fix Version v0.1rc
  • PR #155: Release Version v0.1rc
  • PR #156: Complete Sphinx documentation restructure
  • PR #153: Fix Unix Domain Socket Processing
  • PR #151: Fix Unix Domain Socket EAGAIN Handling in FD Passing Operations
  • PR #148: Fix Map Access Exceptions Causing Server Crashes On Invalid Requests

[v0.1.2] - 2025-08-03

📦 Release 0.1.2 (Milestone #16) - Completed

Added

  • Issue #119: Add Startup Scripts (High Priority)

    • Added systemd, OpenRC, and SysVinit startup scripts
    • Assigned to: clauspruefer, Copilot
  • Issue #100: Add PythonAS VirtualHost Configuration (High Priority)

    • Enhanced PythonAS with VirtualHost configuration support
    • Assigned to: clauspruefer
  • Issue #12: Add 304 (Not Modified) logic to Static Server Component (High Priority)

    • Implemented HTTP 304 response handling for static files
    • Assigned to: clauspruefer

🔄 Changed

  • Issue #117: Use JSON Configuration / JSON Parser

    • Migrated from XML to JSON-based configuration system
    • Labels: enhancement, config
  • Issue #101: Move C++ Source To /src (High Priority)

    • Reorganized source code structure for better maintainability
    • Assigned to: clauspruefer
  • Issue #102: Strip Binary On Installation (Non Debug Build) (High Priority)

    • Optimized production builds by stripping debug symbols
    • Labels: cosmetical

🐛 Fixed

  • Issue #132: Runtime Exception Thrown On Server Start

    • Fixed critical startup exception in core server initialization
    • Labels: bug, core
  • Issue #110: Fix / Test Termination Handling

    • Improved graceful shutdown and termination handling
    • Assigned to: clauspruefer, Copilot
  • Issue #104: Idiotic GET / POST Parsing

    • Fixed HTTP request parsing issues for GET/POST methods
    • Assigned to: clauspruefer
  • Issue #96: Result Processing Not Working Correctly (High Priority)

    • Resolved critical issues in result processing pipeline
    • Assigned to: clauspruefer

🧪 Testing

  • Issue #98: Implement ResultOrder Test (High Priority)
    • Added comprehensive testing for ResultOrder functionality
    • Labels: test

📚 Documentation

  • Issue #122: Correct README.md
    • Updated and corrected project documentation
    • Assigned to: clauspruefer

📋 Major Pull Requests

  • PR #133: Release Version v0.1.2
  • PR #129: Release Version v0.1.1
  • PR #127: Correct README.md
  • PR #118: Replace Python Config Processing
  • PR #115: Make GET / POST Requests Working
  • PR #107: Version 0.1rc1 Release Pull Request