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: pycompression/python-zlib-ng
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: rhpvorderman-patch-1
Choose a base ref
...
head repository: pycompression/python-zlib-ng
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: develop
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 8 commits
  • 3 files changed
  • 2 contributors

Commits on Oct 20, 2026

  1. Fix gzip_ng_threaded writers at level 1 for bytes 144 to 255

    In the bundled zlib-ng, level 1 uses deflate_quick(), which codes all
    data with the fixed Huffman codes and never falls back to stored blocks.
    Bytes 144 to 255 take 9 bits in these codes, so data made of them with
    no repeats grows by 12.5%. Each compressor had an output buffer only
    about 10% larger than the block size, so compress_and_crc() raised
    OverflowError. At level 1, make the buffer the block size plus an
    eighth plus 500 bytes, because no input byte takes more than 9 bits.
    ptweezy committed Oct 20, 2026
    Configuration menu
    Copy the full SHA
    06bcbef View commit details
    Browse the repository at this point in the history
  2. Raise write errors in gzip_ng_threaded instead of waiting forever

    When raw.write() raised an error in the thread that writes the
    compressed blocks, that thread exited without calling task_done(). As a
    result, flush() waited forever, and so did closing the file object that
    gzip_ng_threaded.open() returns. write() blocked forever when an input
    queue was full.
    
    The thread now stores the error and drops later blocks until stop()
    ends it, so write(), flush(), and close() can raise the error in the
    calling thread. After an error, close() closes raw only if closefd is
    true, so it no longer closes a file object passed to
    gzip_ng_threaded.open().
    
    close() now calls flush() before it writes the trailer, as python-isal's
    close() has done since pycompression/python-isal@5ef868b, so the trailer
    always comes after the queued blocks.
    
    This ports pycompression/python-isal#275.
    ptweezy committed Oct 20, 2026
    Configuration menu
    Copy the full SHA
    42384b1 View commit details
    Browse the repository at this point in the history

Commits on Oct 21, 2026

  1. Merge pull request #86 from pycompression/rhpvorderman-patch-1

    Update to latest actions
    rhpvorderman authored Oct 21, 2026
    Configuration menu
    Copy the full SHA
    67cf679 View commit details
    Browse the repository at this point in the history
  2. Use the level 1 output buffer size at every level

    Review feedback: one buffer size for all levels is simpler, and the
    extra 2.5% of headroom at the other levels doesn't matter.
    ptweezy committed Oct 21, 2026
    Configuration menu
    Copy the full SHA
    8998171 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    c8d73b1 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    aeb96be View commit details
    Browse the repository at this point in the history

Commits on Oct 23, 2026

  1. Merge pull request #85 from ptweezy/threaded-level-1

    Fix `gzip_ng_threaded` writers that raise `OverflowError` at compression level 1
    rhpvorderman authored Oct 23, 2026
    Configuration menu
    Copy the full SHA
    9db4612 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #84 from ptweezy/threaded-write-error

    Raise write errors of `gzip_ng_threaded` writers instead of waiting forever
    rhpvorderman authored Oct 23, 2026
    Configuration menu
    Copy the full SHA
    42c6118 View commit details
    Browse the repository at this point in the history
Loading