Skip to content

Release 1.7.2 #226

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 21 commits into from
Mar 5, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
414e76e
__version__ is a string
a-detiste Nov 24, 2024
29d36c4
Remove unused theme option from doc configuration
rhpvorderman Nov 25, 2024
63eb305
Merge pull request #217 from pycompression/fixdocs
rhpvorderman Nov 25, 2024
4e39334
Merge branch 'develop' into develop
rhpvorderman Nov 25, 2024
9f776aa
Fix length typo
rhpvorderman Nov 25, 2024
e8d4edf
Merge branch 'develop' of github.com:pycompression/python-isal into d…
rhpvorderman Nov 25, 2024
3657f68
Merge branch 'develop' into develop
rhpvorderman Nov 25, 2024
d7a6074
Merge pull request #216 from a-detiste/develop
rhpvorderman Nov 25, 2024
5116343
Update internal isa-l version to 2.31.1
rhpvorderman Jan 8, 2025
5fbac30
Merge pull request #220 from pycompression/isal2.31.1
rhpvorderman Jan 8, 2025
9760722
Use tagged version of 2.31.1
rhpvorderman Jan 10, 2025
80bdfe5
uint16_t is 2 bytes wide - only read 2 bytes from mem
ellert Mar 1, 2025
3bb00e4
Reverse the order of copied bytes on big-endian
ellert Mar 1, 2025
44959b4
Enable building on GNU/Hurd platforms
ellert Mar 1, 2025
8fe07ba
Merge pull request #222 from ellert/big-endian-fixes
rhpvorderman Mar 5, 2025
d087011
Merge branch 'develop' into support-gnu-hurd
rhpvorderman Mar 5, 2025
614226e
Merge pull request #223 from ellert/support-gnu-hurd
rhpvorderman Mar 5, 2025
55dd794
Update actions to latest and greatest
rhpvorderman Mar 5, 2025
d08003e
Test on released python 3.13
rhpvorderman Mar 5, 2025
b112bea
Merge pull request #224 from pycompression/CIfixes
rhpvorderman Mar 5, 2025
9af69cf
Set changelog to stable version
rhpvorderman Mar 5, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 12 additions & 12 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
with:
submodules: recursive
- name: Set up Python 3.8
uses: actions/setup-python@v2.2.1
uses: actions/setup-python@v5
with:
python-version: 3.8
- name: Install tox
Expand All @@ -37,7 +37,7 @@ jobs:
with:
submodules: recursive
- name: Set up Python 3.8
uses: actions/setup-python@v2.2.1
uses: actions/setup-python@v5
with:
python-version: 3.8
- name: Install isal
Expand All @@ -59,7 +59,7 @@ jobs:
- "3.10"
- "3.11"
- "3.12"
- "3.13-dev"
- "3.13"
- "pypy-3.9"
- "pypy-3.10"
os: ["ubuntu-latest"]
Expand All @@ -75,7 +75,7 @@ jobs:
with:
submodules: recursive
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2.2.1
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install tox and upgrade setuptools
Expand All @@ -89,10 +89,10 @@ jobs:
run: brew install nasm
if: runner.os == 'macOS'
- name: Set MSVC developer prompt
uses: ilammy/msvc-dev-cmd@v1.6.0
uses: ilammy/msvc-dev-cmd@v1
if: runner.os == 'Windows'
- name: Install nasm (Windows)
uses: ilammy/setup-nasm@v1.2.0
uses: ilammy/setup-nasm@v1
if: runner.os == 'Windows'
- name: Run tests
run: tox
Expand All @@ -110,7 +110,7 @@ jobs:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: uraimo/run-on-arch-action@v2.5.0
- uses: uraimo/run-on-arch-action@v3
name: Build & run test
with:
arch: none
Expand Down Expand Up @@ -151,7 +151,7 @@ jobs:
- name: Install requirements (universal)
run: conda install isa-l ${{ matrix.python_version}} tox
- name: Set MSVC developer prompt
uses: ilammy/msvc-dev-cmd@v1.6.0
uses: ilammy/msvc-dev-cmd@v1
if: runner.os == 'Windows'
- name: Run tests (dynamic link)
run: tox
Expand Down Expand Up @@ -194,22 +194,22 @@ jobs:
with:
submodules: recursive
fetch-depth: 0 # Fetch everything to get accurately versioned tag.
- uses: actions/setup-python@v2
- uses: actions/setup-python@v5
name: Install Python
- name: Install cibuildwheel twine wheel
run: python -m pip install cibuildwheel twine wheel
- name: Install build dependencies (Macos)
run: brew install nasm
if: runner.os == 'macOS'
- name: Set MSVC developer prompt
uses: ilammy/msvc-dev-cmd@v1.6.0
uses: ilammy/msvc-dev-cmd@v1
if: runner.os == 'Windows'
- name: Install nasm (Windows)
uses: ilammy/setup-nasm@v1.2.0
uses: ilammy/setup-nasm@v1
if: runner.os == 'Windows'
- name: Set up QEMU
if: ${{runner.os == 'Linux' && matrix.cibw_archs_linux == 'aarch64'}}
uses: docker/setup-qemu-action@v1.0.1
uses: docker/setup-qemu-action@v3
with:
platforms: arm64
- name: Build wheels
Expand Down
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
[submodule "src/isal/isa-l"]
path = src/isal/isa-l
url = https://github.com/rhpvorderman/isa-l.git
url = https://github.com/intel/isa-l.git
9 changes: 9 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,15 @@ Changelog
.. This document is user facing. Please word the changes in such a way
.. that users understand how the changes affect the new version.


version 1.7.2
-----------------
+ Use upstream ISA-L version 2.31.1 which includes patches to make
installation on MacOS ARM64 possible.
+ Fix a bug where bytes were copied in the wrong order on big endian
architectures. Fixes test failures on s390x.
+ Enable building on GNU/Hurd platforms.

version 1.7.1
-----------------
+ Fix a bug where flushing files when writing in threaded mode did not work
Expand Down
3 changes: 0 additions & 3 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,6 @@
# a list of builtin themes.
#
html_theme = 'sphinx_rtd_theme'
html_theme_options = dict(
display_version=True,
)

# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
Expand Down
1 change: 1 addition & 0 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
sys.platform.startswith("netbsd"))
SYSTEM_IS_UNIX = (sys.platform.startswith("linux") or
sys.platform.startswith("darwin") or
sys.platform.startswith("gnu") or
SYSTEM_IS_BSD)
SYSTEM_IS_WINDOWS = sys.platform.startswith("win")

Expand Down
2 changes: 1 addition & 1 deletion src/isal/_version.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@
# This file is part of python-isal which is distributed under the
# PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2.

__version__: int
__version__: str
2 changes: 1 addition & 1 deletion src/isal/isa-l
Submodule isa-l updated 159 files
7 changes: 7 additions & 0 deletions src/isal/isal_shared.h
Original file line number Diff line number Diff line change
Expand Up @@ -207,8 +207,15 @@ static int bitbuffer_copy(struct inflate_state *state, char *to, size_t n){
int remainder = bits_in_buffer % 8;
// Shift the 8-byte bitbuffer read_in so that the bytes are aligned.
uint64_t remaining_bytes = state->read_in >> remainder;
#if PY_BIG_ENDIAN
char *remaining_buffer = (char *)&remaining_bytes;
for (int i = 0; i < n; ++i) {
to[i] = remaining_buffer[7-i];
}
#else
// memcpy works because of little-endianness
memcpy(to, &remaining_bytes, n);
#endif
return 0;
}

Expand Down
4 changes: 2 additions & 2 deletions src/isal/isal_zlibmodule.c
Original file line number Diff line number Diff line change
Expand Up @@ -266,7 +266,7 @@ PyDoc_STRVAR(isal_zlib_crc32_combine__doc__,
" crc2\n"
" the second crc32 checksum\n"
" crc2_length\n"
" the lenght of the data block crc2 was calculated from\n"
" the length of the data block crc2 was calculated from\n"
);


Expand Down Expand Up @@ -1643,7 +1643,7 @@ static inline uint32_t load_u32_le(void *address) {
static inline uint16_t load_u16_le(void *address) {
#if PY_BIG_ENDIAN
uint8_t *mem = address;
return mem[0] | (mem[1] << 8) | (mem[2] << 16) | (mem[3] << 24);
return mem[0] | (mem[1] << 8);
#else
return *(uint16_t *)address;
#endif
Expand Down