Skip to content
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

🤖 Update dependency zlib-ng to v2.1.6 - autoclosed #162

Closed
wants to merge 1 commit into from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Jun 7, 2023

Mend Renovate

This PR contains the following updates:

Package Type Update Change
zlib-ng http_archive minor 2.0.7 -> 2.1.6

Release Notes

zlib-ng/zlib-ng (zlib-ng)

v2.1.6

Compare Source

This is a stable release, with several minor improvements and one corruption fix for inflateCopy().
This release also improves on the functable implementation, and also moves its initialization to happen in deflateInit() and inflateInit(). We also have some optimizations for RVV and ARM.

Notes for packagers:

  • FAR macro has been added back to zlib-compat mode in this release, please remember to remove downstream patches that add it.
  • Please consider removing CMake INSTALL_LIB_DIR workarounds, this should not be needed since v2.0.2 (2021), but packagers seem to keep copying the workaround from each other. Please see cmake/detect-install-dirs.cmake.

Changes

  • Fix inflateCopy corruption caused by change in 2.1.4 #​1628
    • This is a regression caused by a change introduced in 2.1.4

  • Functable

    • Initialize functable without TLS, using atomics #​1609
    • Initialize functable early, during DeflateInit and InflateInit #​1613
  • API

    • Add FAR macro to zlib-compat headers to improve compatibility #​1637
  • ARM

    • Improve performance of crc32_acle on 32-bit ARM #​1397
    • Add support for attribute((target(...))) to overcome limitations of -march=native #​1620
    • Remove tab character in ACLE uqsub16 assembly #​1627
  • RVV

    • Optimize adler32_fold_copy using RVV #​1597
  • x86

    • Simplify AVX2 and AVX512 adler32_fold_copy by removing templates #​1599
  • Buildsystem

    • Don't attempt ARMv6 detection on AARCH64 #​1617
    • Prevent tests writing into source directory #​1604
    • CMake: Fix clang-cl warnings #​1591
    • CMake: Export cmake target #​1601 #​1611
    • CMake: Remove duplicate enable tests option #​1610
    • CMake: Fix reading version information from zlib.h.in #​1614
    • CMake: Check whether compiler supports -march=native or -mcpu=native #​1618
    • CMake: Always run compiler feature tests without LTO #​1622
    • CMake: Make sure uqsub16 check doesn't get optimized away with LTO #​1619
    • CMake: Update to GoogleTest 1.12.1 #​1623
    • CI: Add linter workflow for whitespace errors #​1625 #​1632
    • CI: Cancel outdated running CI jobs for PR or branch #​1629
    • CI: Added CI instance for WITH_NATIVE_INSTRUCTIONS #​1634
    • Tests: Fix buffer overflow in compare256_rle benchmark #​1612
  • Misc

    • Update copyright to sync with zlib 1.3 #​1615

v2.1.5

Compare Source

This is a hotfix release, fixing an issue where certain applications would fail with a checksum error during inflate (decompression).
A few minor fixes and improvements are also included.

  • Fix bug with Z_FINISH handling with no window. #​1602

    • This was detected by libgit2 unit tests Issue #​1600
  • Added unit test for inflate with Z_FINISH and no window #​1603

  • Fix CMake handling of CMAKE_INSTALL_INCLUDEDIR #​1593

  • Fix pkgconfig support for WITH_GZFILEOP #​1595 #​1598

  • Github Actions update #​1590

  • Readme Update #​1594

v2.1.4

Compare Source

This is a stable release, with several minor improvements and one fix for a possible buffer overrun while using inflateCopy().
Zlib-ng's zlib-compat mode is now targeting zlib 1.3 compatibility.
Of note, we have new optimizations for ARM and Risc-V RVV, and a lot of fixes and improvements to the buildsystem.

  • Fix: inflateCopy() allocate window with padding #​1583

  • Pull zlib 1.3 changes #​1563

  • API

    • Deprecate ZLIBNG_VER_STATUS, use ZLIBNG_VER_STATUSH #​1581
  • MacOS

    • Relocatable pkg config files, @​rpath/ install name on macOS #​1546
  • MinGW

  • ARM

    • Optimize slide_hash for ARMv6 #​1538
    • Handle ARM64EC #​1539
    • Remove inert check for HAVE_ACLE_FLAG in check_acle_compiler_flag #​1554
    • Clean up ARM detection and allow ACLE on all ARM archs #​1567
  • Loongarch

  • PowerPC

    • Fix building benchmarks on 32-bit PowerPC #​1588
  • RVV

  • x86

    • Move the AVX compatibility functions into a separate file #​1540
    • Clean up SSE4.2 support, fixes compile issues under docker/VM #​1542
  • Buildsystem

    • Improve intrinsics detection: ensure intrinsics are not optimized out #​1562
    • CMake: Fix cross-compiling benchmarks and libpng #​1589
    • CMake: Fix examining value of GENERATOR_IS_MULTI_CONFIG #​1575
    • CMake: Fix Match CMAKE_GENERATOR_TOOLSET #​1577
    • CMake: Cleanup handling of march=native #​1544 #​1578
    • CMake: Add CPack capability #​1556 #​1579
    • Configure: Remove march=native support #​1555
    • Configure: use dash not bash #​1561
    • Configure: Fix disabling deflate_quick and deflate_medium #​1545
    • Configure: Fix distclean #​1530
  • Misc

Thanks to all the contributors this release looks to be the best and most stable one so far. 🎉

v2.1.3

Compare Source

This is a stable release, with several minor improvements and one fix for a possible endless loop during inflate.
The endless loop bug was detected using unpigz, and is likely a rare corner case that was exposed by pigz threading.
We also have optimizations for the upcoming Risc-V RVV instruction set.

Changes since 2.1.2:

  • Fix endless loop bug in chunkcopy_safe. #​1526

  • Support using distro-supplied Gtest #​1519

  • Minor code cleanup of deflate.c #​1500

  • ARM

    • Improve buildsystem detection of ARM Cortex #​1521
  • MacOS

  • PowerPC

  • Risc-V

v2.1.2

Compare Source

This is the first stable release of the 2.1.x branch.
The changes since beta2 are minor, no changes to code, only buildsystem and tests.

Changes since 2.1.0-Beta2:

  • Stop using COMMAND_ECHO in ctests, it is not supported in older than CMake 3.15.
  • Add MIPS/MIPS64 CI tests.
  • Fix make distclean command with configure/Makefile.
  • Fix using configure/Makefile on architecture without a directory under arch.

Full release notes for the first 2.1 stable release:

This release contains two years of development and improvements to zlib-ng, as well as fixes and changes inherited from zlib.

The 2.1.x version series has new targeted minumum buildsystem versions, as detailed on the Wiki https://github.com/zlib-ng/zlib-ng/wiki

Buildsystem:

  • Many improvements to the CMake scripts.
  • Improved support for detecting memory alignment functions.
  • Improved support for unaligned access by letting the compiler promote code to unaligned if supported by the CPU.
  • Remove x86 cpu feature detection for TZCNT, safely fallback to BSF.
  • Enable using AVX512 intrinsics with GCC <9.

Optimizations and Enhancements:

  • Decompression is a lot faster (56% faster measured on AVX2-capable x86-64)
  • Compresson is improved for Level 9, at the cost of a little performance.
  • Compression is improved for Level 3, by switching from deflate_fast to deflate_medium.
  • Levels 3 and 4 have been reconfigured to provide a better gradual tradeoff for speed/compression between levels 2 and 5.
  • Deflate_quick (Level 1) has been improved to default to a bigger windowsize and support changing the window size like the other levels.
  • Deflate_rle has been optimized with its own compare_256 implementation.

New instruction set optimizations:

  • Adler32 implementation using AVX512, AVX512-VNNI, VMX.
  • CRC32-B implementation using VPCLMULQDQ & IBM-Z.
  • Slide hash implementation using VMX.
  • Compare256 implementations using SSE2, Neon, & POWER9.
  • Inflate chunk copying using SSSE3 & VSX.

Compatibility and Porting:

  • CRC-32 computation changes from madler/zlib. zlib-ng/zlib-ng#a6155234
  • Compatible and up-to-date with zlib 1.2.13.
  • Removed the usage of macros in zlib-ng.h, making life easier for languages that want to call the C functions without having the C preprocessor (Python, etc).

Improved support more environments:

  • Apple M1
  • vcpkg
  • Emscripten

Testing:

  • Tests have been converted to use GTest. Many new tests have also been added.
  • Gbench support has been added to easily benchmark changes to performance-critical functions.
  • Many new tests added

Misc:

  • Several pieces of core code has been restructured or rewritten.
  • Too many changes to list here, see the git commit log for the full list of changes.

Deprecations:

  • Configure no longer has the full range of tests.
  • NMake is no longer actively supported and tested, it is now community supported.
  • See the wiki for minimum build system versions and deprecations https://github.com/zlib-ng/zlib-ng/wiki

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

@renovate renovate bot force-pushed the renovate/zlib-ng-2.x branch 3 times, most recently from c7777a6 to cdb6522 Compare June 13, 2023 11:22
@renovate renovate bot force-pushed the renovate/zlib-ng-2.x branch 4 times, most recently from cf39fb0 to 3b5ef0c Compare June 26, 2023 17:31
@renovate renovate bot changed the title 🤖 Update dependency zlib-ng to v2.1.2 🤖 Update dependency zlib-ng to v2.1.3 Jun 29, 2023
@renovate renovate bot force-pushed the renovate/zlib-ng-2.x branch 2 times, most recently from 22f4db7 to 12ab416 Compare July 4, 2023 03:16
@renovate renovate bot force-pushed the renovate/zlib-ng-2.x branch 5 times, most recently from d18546a to 940ceee Compare July 18, 2023 07:26
@renovate renovate bot force-pushed the renovate/zlib-ng-2.x branch from 940ceee to 049372a Compare August 4, 2023 15:42
@renovate renovate bot changed the title 🤖 Update dependency zlib-ng to v2.1.3 🤖 Update dependency zlib-ng to v2.1.4 Oct 19, 2023
@renovate renovate bot force-pushed the renovate/zlib-ng-2.x branch from 049372a to 18696dc Compare October 19, 2023 20:22
@renovate renovate bot changed the title 🤖 Update dependency zlib-ng to v2.1.4 🤖 Update dependency zlib-ng to v2.1.5 Nov 27, 2023
@renovate renovate bot force-pushed the renovate/zlib-ng-2.x branch 2 times, most recently from cd30504 to a95ebbd Compare November 29, 2023 12:19
@renovate renovate bot force-pushed the renovate/zlib-ng-2.x branch from a95ebbd to 6bc19ea Compare January 11, 2024 00:43
@renovate renovate bot changed the title 🤖 Update dependency zlib-ng to v2.1.5 🤖 Update dependency zlib-ng to v2.1.6 Jan 11, 2024
@renovate renovate bot force-pushed the renovate/zlib-ng-2.x branch 4 times, most recently from 0b0c5b1 to 6b69960 Compare April 5, 2024 02:00
@renovate renovate bot force-pushed the renovate/zlib-ng-2.x branch from 6b69960 to 79440a1 Compare April 8, 2024 15:05
@renovate renovate bot changed the title 🤖 Update dependency zlib-ng to v2.1.6 🤖 Update dependency zlib-ng to v2.1.6 - autoclosed Apr 28, 2024
@renovate renovate bot closed this Apr 28, 2024
@renovate renovate bot deleted the renovate/zlib-ng-2.x branch April 28, 2024 14:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants