4

FFmpeg Devs Boast of Up To 94x Performance Boost After Implementing Handwritten AVX-512 Assembly Code

Anton Shilov reports via Tom's Hardware: FFmpeg is an open-source video decoding project developed by volunteers who contribute to its codebase, fix bugs, and add new features. The project is led by a small group of core developers and maintainers who oversee its direction and ensure that contributions meet certain standards. They coordinate the project's development and release cycles, merging contributions from other developers. This group of developers tried to implement a handwritten AVX512 assembly code path, something that has rarely been done before, at least not in the video industry. The developers have created an optimized code path using the AVX-512 instruction set to accelerate specific functions within the FFmpeg multimedia processing library. By leveraging AVX-512, they were able to achieve significant performance improvements -- from three to 94 times faster -- compared to standard implementations. AVX-512 enables processing large chunks of data in parallel using 512-bit registers, which can handle up to 16 single-precision FLOPS or 8 double-precision FLOPS in one operation. This optimization is ideal for compute-heavy tasks in general, but in the case of video and image processing in particular. The benchmarking results show that the new handwritten AVX-512 code path performs considerably faster than other implementations, including baseline C code and lower SIMD instruction sets like AVX2 and SSSE3. In some cases, the revamped AVX-512 codepath achieves a speedup of nearly 94 times over the baseline, highlighting the efficiency of hand-optimized assembly code for AVX-512.

Read more of this story at Slashdot.




4

America's First Sodium-Ion Battery Gigafactory Announced. Cost: $1.4 Billion

Sodium-ion batteries are cheaper than lithium-ion batteries — and they're also more environmentally friendly. And "In the past few years, sodium-ion battery production has increased in the United States," reports the Washington Post, with a new factory planned to manufacture them "in the same way as lithium-ion batteries, just with different ingredients. Instead of using expensive materials like lithium, nickel and cobalt, these will be made of sodium, iron and manganese..." Last month, sodium-ion battery manufacturer Natron Energy announced it would open a "gigafactory" in North Carolina that would produce 24 gigawatt hours of batteries annually, enough energy to charge 24,000 electric vehicles. But sodium-ion batteries are still early in their development compared with lithium-ion, and they have yet to hit the market on a massive scale. "It's unlikely sodium-ion could displace lithium-ion anytime soon," said Keith Beers, polymer science and materials chemistry principal engineer at technical consultancy firm Exponent... The biggest limitation of sodium-ion batteries is their weight. Sodium weighs nearly three times as much as lithium, and it cannot store the same amount of energy. As a result, sodium-ion batteries tend to be larger. Jens Peters, an economics professor at the University of Alcalá in Madrid, said the energy density could be improved over time in sodium-ion batteries. But, he added, "what we found out so far in our assessments is that it is not a game changer." Sodium-ion batteries are touted to be the environmentally friendly alternative to their lithium-ion counterparts, thanks to their raw materials. Sodium, iron and manganese are all abundant elements on the planet, so they require less energy to extract and cost less... Sodium-ion batteries also last longer than lithium-ion ones because they can withstand more charge cycles, said Wendell Brooks, co-CEO of Natron Energy. "Our product can have millions of cycles," said Brooks, "where lithium-ion would have three to five thousand cycles and wear out a lot faster...." Sodium-ion batteries aren't the best fit for smartphones or electric vehicles, which need to store lots of energy. However, one advantage is their low cost. And they could be a good candidate in situations where the size of the battery isn't a concern, like energy storage. "When something is built out to support grid or backup storage, it doesn't need to be very dense. It's staying put," Beers said. Natron will invest nearly $1.4 billion in the factory "to meet the rapidly expanding demand for critical power, industrial and grid energy storage solutions," according to their announcement. "Natron's high-performance sodium-ion batteries outperform lithium-ion batteries in power density and recharging speed, do not require lithium, cobalt, copper, or nickel, and are non-flammable... Natron's batteries are the only UL-listed sodium-ion batteries on the market today, and will be delivered to a wide range of customer end markets in the industrial power space, including data centers, mobility, EV fast charging, microgrids, and telecom, among others."

Read more of this story at Slashdot.







4

What Will Happen In 2024

As we enter 2024, the capital markets have found their footing and are moving higher. The Fed has taken interest rates as far as they want at this time and inflation has come down. It seems that a “soft landing” is likely. That is good news for the innovation economy because healthy capital markets are […]




4

Community News: Latest PECL Releases (09.10.2024)

Latest PECL Releases:

  • opentelemetry 1.1.0beta3
    See https://github.com/open-telemetry/opentelemetry-php-instrumentation/releases/tag/1.1.0beta3

  • xpass 1.0.0
    - first GA release
  • mongodb 1.19.4
    ## What's Changed * Use full-report convenience action for SSDLC reports by @alcaeus in https://github.com/mongodb/mongo-php-driver/pull/1589 * PHPC-2381: Allow releasing pre-release versions through the release automation by @alcaeus in https://github.com/mongodb/mongo-php-driver/pull/1590 * Revamp evergreen builds and add tags for pull requests by @alcaeus in https://github.com/mongodb/mongo-php-driver/pull/1593 * Add tag checks aliases by @alcaeus in https://github.com/mongodb/mongo-php-driver/pull/1596 * PHPC-2409: Update to libmongoc 1.27.4 by @alcaeus in https://github.com/mongodb/mongo-php-driver/pull/1600 * PHPC-2405: Update to libmongocrypt 1.10.1 by @alcaeus in https://github.com/mongodb/mongo-php-driver/pull/1602 * Reduce amount of evergreen config includes by @alcaeus in https://github.com/mongodb/mongo-php-driver/pull/1612 * PHPC-2422: Update libmongoc to 1.27.5 by @alcaeus in https://github.com/mongodb/mongo-php-driver/pull/1619 * PHPC-2420: Compare Int64 instances without casting by @alcaeus in https://github.com/mongodb/mongo-php-driver/pull/1617 * PHPC-2429: Fix UTCDateTime with negative timestamps by @alcaeus in https://github.com/mongodb/mongo-php-driver/pull/1623 * Update to libmongoc 1.27.6 by @alcaeus in https://github.com/mongodb/mongo-php-driver/pull/1627 * Update GitHub Actions job names by @alcaeus in https://github.com/mongodb/mongo-php-driver/pull/1632

    Full Changelog: https://github.com/mongodb/mongo-php-driver/compare/1.19.3...1.19.4

  • datadog_trace 1.3.1
    ## Tracer

    Fixed

    • Fix DD_AUTOLOAD_NO_COMPILE #2833
    • Loader: Use the same version number as for other extensions #2838
    • Consider ifunc symbols also defined Datadog/libdatadog#609
    • Fix crash with double parent key in tracestate #2837
    • Fix #2831: Failure with LTO #2839

    Internal

    • Avoid using non-bundled rust git dependencies #2827
  • timezonedb 2024.2
    Updated to version 2024.2 (2024b)
  • phpy 1.0.8
    - Added argument_as_object configuration item - Add Helper::printTraceback() - Support windows platform - Support Python class as parent class of PHP class
  • opentelemetry 1.1.0beta2
    See https://github.com/open-telemetry/opentelemetry-php-instrumentation/releases/tag/1.1.0beta2
  • xlswriter 1.5.7
    - Fix: insertDate memory leak.
  • rpminfo 1.1.1
    - display author and license in phpinfo - drop support for librpm < 4.13
  • ev 1.2.0
    - Support for PHP versions older than 8 has been dropped. Maintaining compatibility with multiple PHP versions (5, 7, and 8) has become increasingly difficult. Recent changes in PHP 8.3 have further complicated the build scripts. Additionally, as PHP releases older than 8.1 are now officially unsupported, it has become challenging to continue supporting PHP 5 and 7. - Fixed #51: Building statically with PHP 8.3.10 fails with an "unknown" PHP version.




4

Community News: Latest PECL Releases (09.17.2024)

Latest PECL Releases:

  • win32service 1.1.0beta2
    * Add object Win32ServiceRightInfo

    • Add function win32_read_right_access_service()
    • Add function win32_read_all_rights_access_service()
    • Add function win32_add_right_access_service()
    • Add function win32_remove_right_access_service()
    • Add function win32_add_service_env_var()
    • Add function win32_remove_service_env_var()
    • Add function win32_get_service_env_vars()
    • Add function win32_set_service_pause_resume_state()
    • Some function are now disabled if PHP not run in Windows service context. See PHP Information.
    • Use the gen_stub.php to generate arginfo header.

    The binary is also available here: https://github.com/win32service/win32service/releases/tag/v1.1.0-beta1

  • win32service 1.1.0beta1
    * Add object Win32ServiceRightInfo * Add function win32_read_right_access_service() * Add function win32_read_all_rights_access_service() * Add function win32_add_right_access_service() * Add function win32_remove_right_access_service() * Add function win32_add_service_env_var() * Add function win32_remove_service_env_var() * Add function win32_get_service_env_vars() * Add function win32_set_service_pause_resume_state() * Some function are now disabled if PHP not run in Windows service context. See PHP Information. * Use the `gen_stub.php` to generate arginfo header.

    The binary is also available here: https://github.com/win32service/win32service/releases/tag/v1.1.0-beta1

  • xpass 1.1.0RC1
    - add crypt_gensalt(?string $prefix = null, int $count = 0): ?string {} - add crypt_preferred_method(): ?string {} - add crypt_checksalt(string $salt): int {} - add CRYPT_PREFIX_* and CRYPT_SALT_* constants
  • protobuf 4.28.1
    * See github.com/protocolbuffers/protobuf/releases/tag/v28.1 for release notes.




4

Community News: Latest PECL Releases (09.24.2024)

Latest PECL Releases:

  • redis 6.1.0RC2
    Sponsors

    Audiomack - https://audiomack.com Open LMS - https://openlms.net Avtandil Kikabidze - https://github.com/akalongman Ty Karok - https://github.com/karock Object Cache Pro for WordPress - https://objectcache.pro

    --- 6.1.0RC2 ---

    Fixed:

    • Fixed a SIGABRT error in PHP 8.4 [a75a7e5a] (Michael Grunder)
    • Clean up code for unsupported versions of PHP [37cebdd7] (Remi Collet)
    • Add SessionHelpers.php to package.xml[e9474b80] (Remi Collet)
    • 8.4 implicit null fix, bump version [bff3a22e, 30c8f90c] [Remi Collet]

    Changed:

    • Raised minimum supported PHP version to 7.4 [8b519423] (Michael Grunder)

    Removed:

    • Removed erroneously duplicated changelog entries [40c89736] (Michael Grunder)

    Tests/CI:

    • Move to upload artifacts v4 [9d380500] (Michael Grunder)

    Added:

    • Added composer.json to support PIE (PHP Installer for Extensions) [b59e35a6] (James Titcumb)

    --- 6.1.0RC1 ---

    Fixed:

    • Fix random connection timeouts with Redis Cluster. [eb7f31e7] (Jozsef Koszo)
    • Fix argument count issue in HSET with associative array [6ea5b3e0] (Viktor Djupsjobacka)
    • SRANDMEMBER can return any type because of serialization. [6673b5b2] (Michael Grunder)
    • Fix HRANDFIELD command when WITHVALUES is used. [99f9fd83] (Michael Grunder)
    • Allow context array to be nullable [50529f56] (Michael Grunder)
    • Fix a macOS (M1) compiler warning. [7de29d57] (Michael Grunder)
    • GETEX documentation/updates and implentation in RedisCluster [981c6931] (Michael Grunder)
    • Refactor redis_script_cmd and fix to flush subcommand. [7c551424] (Pavlo Yatsukhnenko)
    • Update liveness check and fix PHP 8.4 compilation error. [c139de3a] (Michael Grunder)
    • Rework how we declare ZSTD min/max constants. [34b5bd81] (Michael Grunder)
    • Fix memory leak if we fail in ps_open_redis. [0e926165] (Michael Grunder)
    • Fix segfault and remove redundant macros [a9e53fd1] (Pavlo Yatsukhnenko)
    • Fix PHP 8.4 includes [a51215ce] (Michael Grunder)
    • Handle arbitrarily large SCAN cursors properly. [2612d444, e52f0afa] (Michael Grunder)
    • Improve warning when we encounter an invalid EXPIRY in SET [732e466a] (Michael Grunder)
    • Fix Arginfo / zpp mismatch for DUMP command [50e5405c] (Pavlo Yatsukhnenko)
    • RedisCluster::publish returns a cluster_long_resp [14f93339] (Alexandre Choura)
    • Fix segfault when passing just false to auth. [6dc0a0be] (Michael Grunder)
    • the VALUE argument type for hSetNx must be the same as for hSet [df074dbe] (Uladzimir Tsykun)
    • Other fixes [e18f6c6d, 3d7be358, 2b555c89, fa1a283a, 37c5f8d4] (Michael Grunder, Viktor Szepe)

    Added:

    • Compression support for PHP sessions. [da4ab0a7] (bitactive)
    • Support for early_refresh in Redis sessions to match cluster behavior [b6989018] (Bitactive)
    • Implement WAITAOF command. [ed7c9f6f] (Michael Grunder)

    Removed:

    • PHP 7.1, 7.2, and 7.3 CI jobs [d68c30f8, dc39bd55] (Michael Grunder)

    Changed:

    • Fix the time unit of retry_interval [3fdd52b4] (woodong)

    Documentation:

    • Many documentation fixes. [eeb51099] (Michael Dwyer)
    • fix missing code tags [f865d5b9] (divinity76)
    • Mention Valkey support [5f1eecfb] (PlavorSeol)
    • Mention KeyDB support in README.md [37fa3592] (Tim Starling)
    • Remove mention of pickle [c7a73abb] (David Baker)
    • Add session.save_path examples [8a39caeb] (Martin Vancl)
    • Tighter return types for Redis::(keys|hKeys|hVals|hGetAll) [77ab62bc] (Benjamin Morel)
    • Update stubs [4d233977, ff305349, 12966a74, a4a283ab, 8f8ff72a] (Michael Grunder, Takayasu Oyama, Pavlo Yatsukhnenko)
    • Fix config.m4 when using custom dep paths [ece3f7be] (Michael Grunder)
    • Fix retry_internal documentation [142c1f4a] (SplotyCode)
    • Fix anchor link [9b5cad31] (Git'Fellow)
    • Fix typo in link [bfd379f0] (deiga)
    • Fix Fedora package url [60b1ba14, 717713e1] (Dmitrii Kotov)
    • Update Redis Sentinel documentation to reflect changes to constructor in 6.0 release [dc05d65c] (Pavlo Yatsukhnenko)

    Tests/CI:

    • Avoid fatal error in test execution. [57304970] (Michael Grunder)
    • Refactor unit test framework. [b1771def] (Michael Grunder)
    • Get unit tests working in php-cgi. [b808cc60] (Michael Grunder)
    • Switch to ZEND_STRL in more places. [7050c989, f8c762e7] (Michael Grunder)
    • Workaround weird PHP compiler crash. [d3b2d87b] (Michael Grunder)
    • Refactor tests (formatting, modernization, etc). [dab6a62d, c6cd665b, 78b70ca8, 3c125b09, 18b0da72, b88e72b1, 0f94d9c1, 59965971, 3dbc2bd8, 9b90c03b, c0d6f042] (Michael Grunder)
    • Spelling fixes [0d89e928] (Michael Grunder)
    • Added Valkey support. [f350dc34] (Michael Grunder)
    • Add a test for session compression. [9f3ca98c] (Michael Grunder)
    • Test against valkey [a819a44b] (Michael Grunder)
    • sessionSaveHandler injection. [9f8f80ca] (Pavlo Yatsukhnenko)
    • KeyDB addiions [54d62c72, d9c48b78] (Michael Grunder)
    • Add PHP 8.3 to CI [78d15140, e051a5db] (Robert Kelcak, Pavlo Yatsukhnenko)
    • Use newInstance in RedisClusterTest [954fbab8] (Pavlo Yatsukhnenko)
    • Use actions/checkout@v4 [f4c2ac26] (Pavlo Yatsukhnenko)
    • Cluster nodes from ENV [eda39958, 0672703b] (Pavlo Yatsukhnenko)
    • Ensure we're talking to redis-server in our high ports test. [7825efbc] (Michael Grunder)
    • Add missing option to installation example [2bddd84f] (Pavlo Yatsukhnenko)
    • Fix typo in link [8f6bc98f] (Timo Sand)
    • Update tests to allow users to use a custom class. [5f6ce414] (Michael Grunder)
  • APCu 5.1.24
    - Make compatible with PHP 8.4. - apc.php: Preserve search parameter when deleting entry. - apc.PHP: Allow arbitrary search regex.
  • gRPC 1.67.0RC1
    - gRPC Core 1.67.0 update
  • protobuf 4.27.5
    * See github.com/protocolbuffers/protobuf/releases/tag/v27.5 for release notes.
  • protobuf 3.25.5
    * See github.com/protocolbuffers/protobuf/releases/tag/v25.5 for release notes.
  • protobuf 4.28.2
    * See github.com/protocolbuffers/protobuf/releases/tag/v28.2 for release notes.




4

Community News: Latest PECL Releases (10.01.2024)

Latest PECL Releases:

  • protobuf 4.29.0RC1
    * See github.com/protocolbuffers/protobuf/releases/tag/v29.0-rc-1 for release notes.

  • datadog_trace 1.3.2
    ## Tracer

    Fixed

    • Fix crash with git metadata injection
  • xpass 1.1.0
    - add crypt_gensalt(?string $prefix = null, int $count = 0): ?string {} - add crypt_preferred_method(): ?string {} - add crypt_checksalt(string $salt): int {} - add CRYPT_PREFIX_* and CRYPT_SALT_* constants
  • zip 1.22.4
    - compatibility with 8.4 - add ZipArchive::ER_TRUNCATED_ZIP added in libzip 1.11
  • msgpack 3.0.0
    * Add support for PHP-8.1 Enums * merges #173 * fixes #171 * Add support for APCu * merges #162, #93 * Add OPT_ASSOC for roundtrip serialization of map. * merges #58
  • mongodb 1.20.0
    ## What's Changed * Master is now 1.20-dev by @alcaeus in https://github.com/mongodb/mongo-php-driver/pull/1550 * Merge v1.19 into master by @mongodb-php-bot in https://github.com/mongodb/mongo-php-driver/pull/1553 * Merge v1.19 into master by @mongodb-php-bot in https://github.com/mongodb/mongo-php-driver/pull/1554 * PHPC-2386: Fix build config output without libmongocrypt by @jmikola in https://github.com/mongodb/mongo-php-driver/pull/1557 * Merge v1.19 into master by @mongodb-php-bot in https://github.com/mongodb/mongo-php-driver/pull/1563 * Merge v1.19 into master by @mongodb-php-bot in https://github.com/mongodb/mongo-php-driver/pull/1564 * Merge v1.19 into master by @mongodb-php-bot in https://github.com/mongodb/mongo-php-driver/pull/1566 * Bump mongodb-labs/drivers-github-tools from 1 to 2 by @dependabot in https://github.com/mongodb/mongo-php-driver/pull/1568 * Merge v1.19 into master by @mongodb-php-bot in https://github.com/mongodb/mongo-php-driver/pull/1569 * Merge v1.19 into master by @mongodb-php-bot in https://github.com/mongodb/mongo-php-driver/pull/1570 * Revert "Bump mongodb-labs/drivers-github-tools from 1 to 2" by @alcaeus in https://github.com/mongodb/mongo-php-driver/pull/1571 * Merge v1.19 into master by @mongodb-php-bot in https://github.com/mongodb/mongo-php-driver/pull/1574 * Merge v1.19 into master by @mongodb-php-bot in https://github.com/mongodb/mongo-php-driver/pull/1576 * Merge v1.19 into master by @mongodb-php-bot in https://github.com/mongodb/mongo-php-driver/pull/1578 * PHPC-2395: Fetch Atlas connectivity URIs from AWS Secrets Manager by @jmikola in https://github.com/mongodb/mongo-php-driver/pull/1579 * Merge v1.19 into master by @alcaeus in https://github.com/mongodb/mongo-php-driver/pull/1581 * Merge v1.19 into master by @mongodb-php-bot in https://github.com/mongodb/mongo-php-driver/pull/1580 * Merge v1.19 into master by @mongodb-php-bot in https://github.com/mongodb/mongo-php-driver/pull/1585 * PHPC-2398: Use server_id methods for libmongoc 1.28+ by @jmikola in https://github.com/mongodb/mongo-php-driver/pull/1582 * PHPC-2401: Support QEv2 range protocol by @jmikola in https://github.com/mongodb/mongo-php-driver/pull/1583 * Merge v1.19 into master by @mongodb-php-bot in https://github.com/mongodb/mongo-php-driver/pull/1588 * PHPC-2254: Relax server selection timeout error message pattern by @jmikola in https://github.com/mongodb/mongo-php-driver/pull/1587 * Merge v1.19 into master by @mongodb-php-bot in https://github.com/mongodb/mongo-php-driver/pull/1591 * Merge v1.19 into master by @mongodb-php-bot in https://github.com/mongodb/mongo-php-driver/pull/1592 * Merge v1.19 into master by @mongodb-php-bot in https://github.com/mongodb/mongo-php-driver/pull/1594 * Merge v1.19 into master by @mongodb-php-bot in https://github.com/mongodb/mongo-php-driver/pull/1597 * PHPC-2376: Test against MongoDB 8.0 by @alcaeus in https://github.com/mongodb/mongo-php-driver/pull/1598 * Fix version computation for libmongoc development versions by @alcaeus in https://github.com/mongodb/mongo-php-driver/pull/1599 * Merge v1.19 into master by @mongodb-php-bot in https://github.com/mongodb/mongo-php-driver/pull/1601 * Merge v1.19 into master by @mongodb-php-bot in https://github.com/mongodb/mongo-php-driver/pull/1603 * PHPC-1489: Deprecate integer readPreference constants by @alcaeus in https://github.com/mongodb/mongo-php-driver/pull/1604 * PHPC-2347: Deprecate BSON functions by @alcaeus in https://github.com/mongodb/mongo-php-driver/pull/1607 * Fix failing tests on x86 systems by @alcaeus in https://github.com/mongodb/mongo-php-driver/pull/1609 * PHPC-2349, PHPC-2411: Deprecate unused exception classes by @alcaeus in https://github.com/mongodb/mongo-php-driver/pull/1608 * PHPC-2414, PHPC-2415: Update wire versions for MongoDB 8.0 compatibility by @alcaeus in https://github.com/mongodb/mongo-php-driver/pull/1610 * Merge v1.19 into master by @mongodb-php-bot in https://github.com/mongodb/mongo-php-driver/pull/1613 * PHPC-2286 Implement `UTCDateTime::toDateTimeImmutable` by @GromNaN in https://github.com/mongodb/mongo-php-driver/pull/1611 * PHPC-1957 Add tests for out-of-range `UTCDateTime` values by @GromNaN in https://github.com/mongodb/mongo-php-driver/pull/1614 * Use drivers-evergreen-tools for Windows testing by @alcaeus in https://github.com/mongodb/mongo-php-driver/pull/1615 * Merge v1.19 into master by @mongodb-php-bot in https://github.com/mongodb/mongo-php-driver/pull/1620 * Merge v1.19 into master by @mongodb-php-bot in https://github.com/mongodb/mongo-php-driver/pull/1621 * PHPC-2421, PHPC-2428: Update bundled dependencies by @alcaeus in https://github.com/mongodb/mongo-php-driver/pull/1622 * PHPC-2434: Add PHP 8.4 to GitHub Actions by @alcaeus in https://github.com/mongodb/mongo-php-driver/pull/1625 * PHPC-2420: Initial composer.json for pie support by @alcaeus in https://github.com/mongodb/mongo-php-driver/pull/1624 * Merge v1.19 into master by @mongodb-php-bot in https://github.com/mongodb/mongo-php-driver/pull/1626 * Merge v1.19 into master by @mongodb-php-bot in https://github.com/mongodb/mongo-php-driver/pull/1629 * PHPC-2403: Remove optional sparsity and trimFactor options by @alcaeus in https://github.com/mongodb/mongo-php-driver/pull/1628 * Merge v1.19 into v1.20 by @mongodb-php-bot in https://github.com/mongodb/mongo-php-driver/pull/1633 * PHPC-2412: Deprecate CursorId class by @alcaeus in https://github.com/mongodb/mongo-php-driver/pull/1616 * Fix exception message expectation on MongoDB latest by @alcaeus in https://github.com/mongodb/mongo-php-driver/pull/1637 * Validate composer.json as part of CI workflows by @alcaeus in https://github.com/mongodb/mongo-php-driver/pull/1636 * Update merge-up config by @alcaeus in https://github.com/mongodb/mongo-php-driver/pull/1641 * PHPC-2443: Deprecate string argument and accept Int64 instances in UTCDateTime constructor by @alcaeus in https://github.com/mongodb/mongo-php-driver/pull/1643 * PHPC-2413: Use new distros for RHEL ppc and Z by @alcaeus in https://github.com/mongodb/mongo-php-driver/pull/1647 * PHPC-2442: Deprecate getServer, add getHost and getPort to APM events by @jmikola in https://github.com/mongodb/mongo-php-driver/pull/1644 * Merge v1.19 into v1.20 by @mongodb-php-bot in https://github.com/mongodb/mongo-php-driver/pull/1649 * PHPC-2350: Implement JSON methods for PackedArray by @alcaeus in https://github.com/mongodb/mongo-php-driver/pull/1645 * Update archive names for Windows builds by @alcaeus in https://github.com/mongodb/mongo-php-driver/pull/1655 * Remove usage of deprecated E_STRICT by @alcaeus in https://github.com/mongodb/mongo-php-driver/pull/1668 * PHPC-2448: Update to libmongoc 1.28.0 by @alcaeus in https://github.com/mongodb/mongo-php-driver/pull/1673 * PHPC-2452: Warn if --with-openssl-dir is used by @jmikola in https://github.com/mongodb/mongo-php-driver/pull/1677 * PHPC-2453: Deprecation notice for Query "modifiers" option by @jmikola in https://github.com/mongodb/mongo-php-driver/pull/1680 * Drop RHEL 7.6 from evergreen testing by @alcaeus in https://github.com/mongodb/mongo-php-driver/pull/1682 * PHPC-2456: Correctly dereference arrays in type maps by @alcaeus in https://github.com/mongodb/mongo-php-driver/pull/1683

    Full Changelog: https://github.com/mongodb/mongo-php-driver/compare/1.19.4...1.20.0




4

Community News: Latest PECL Releases (10.08.2024)

Latest PECL Releases:

  • uuid 1.2.1
    - MacOS support (Sean Molenaar)

    • fix for util-linux/libuuid 2.40 and uuid_time64
  • yaml 2.2.4
    Bugs Fixed: - #85: PHP 8.4.0 beta4 test yaml_parse_file_002.phpt fails (andypost) - emit.c: fix -Wsign-compare (bd808) - #75: yaml_parse_file does not set &$ndoc as expected (tomterl) - Fix [-Wincompatible-pointer-types] warning (remicollet)
  • redis 6.1.0
    Sponsors

    Audiomack - https://audiomack.com Open LMS - https://openlms.net Avtandil Kikabidze - https://github.com/akalongman Ty Karok - https://github.com/karock Object Cache Pro for WordPress - https://objectcache.pro

    --- 6.1.0 ---

    NOTE: There were no changes to C code between 6.1.0RC2 and 6.1.0

    Documentation:

    • Update package.xml to make it clearer that we support many key-value stores [52e69ede] (Remi Collet)
    • Fix redis.io urls [0bae4bb0] (Vincent Langlet)

    Tests/CI:

    • Fix 2 tests with redis 6.2 [cc1be322] (Remi Collet)

    --- 6.1.0RC2 ---

    Fixed:

    • Fixed a SIGABRT error in PHP 8.4 [a75a7e5a] (Michael Grunder)
    • Clean up code for unsupported versions of PHP [37cebdd7] (Remi Collet)
    • Add SessionHelpers.php to package.xml[e9474b80] (Remi Collet)
    • 8.4 implicit null fix, bump version [bff3a22e, 30c8f90c] [Remi Collet]

    Changed:

    • Raised minimum supported PHP version to 7.4 [8b519423] (Michael Grunder)

    Removed:

    • Removed erroneously duplicated changelog entries [40c89736] (Michael Grunder)

    Tests/CI:

    • Move to upload artifacts v4 [9d380500] (Michael Grunder)

    Added:

    • Added composer.json to support PIE (PHP Installer for Extensions) [b59e35a6] (James Titcumb)

    --- 6.1.0RC1 ---

    Fixed:

    • Fix random connection timeouts with Redis Cluster. [eb7f31e7] (Jozsef Koszo)
    • Fix argument count issue in HSET with associative array [6ea5b3e0] (Viktor Djupsjobacka)
    • SRANDMEMBER can return any type because of serialization. [6673b5b2] (Michael Grunder)
    • Fix HRANDFIELD command when WITHVALUES is used. [99f9fd83] (Michael Grunder)
    • Allow context array to be nullable [50529f56] (Michael Grunder)
    • Fix a macOS (M1) compiler warning. [7de29d57] (Michael Grunder)
    • GETEX documentation/updates and implentation in RedisCluster [981c6931] (Michael Grunder)
    • Refactor redis_script_cmd and fix to flush subcommand. [7c551424] (Pavlo Yatsukhnenko)
    • Update liveness check and fix PHP 8.4 compilation error. [c139de3a] (Michael Grunder)
    • Rework how we declare ZSTD min/max constants. [34b5bd81] (Michael Grunder)
    • Fix memory leak if we fail in ps_open_redis. [0e926165] (Michael Grunder)
    • Fix segfault and remove redundant macros [a9e53fd1] (Pavlo Yatsukhnenko)
    • Fix PHP 8.4 includes [a51215ce] (Michael Grunder)
    • Handle arbitrarily large SCAN cursors properly. [2612d444, e52f0afa] (Michael Grunder)
    • Improve warning when we encounter an invalid EXPIRY in SET [732e466a] (Michael Grunder)
    • Fix Arginfo / zpp mismatch for DUMP command [50e5405c] (Pavlo Yatsukhnenko)
    • RedisCluster::publish returns a cluster_long_resp [14f93339] (Alexandre Choura)
    • Fix segfault when passing just false to auth. [6dc0a0be] (Michael Grunder)
    • the VALUE argument type for hSetNx must be the same as for hSet [df074dbe] (Uladzimir Tsykun)
    • Other fixes [e18f6c6d, 3d7be358, 2b555c89, fa1a283a, 37c5f8d4] (Michael Grunder, Viktor Szepe)

    Added:

    • Compression support for PHP sessions. [da4ab0a7] (bitactive)
    • Support for early_refresh in Redis sessions to match cluster behavior [b6989018] (Bitactive)
    • Implement WAITAOF command. [ed7c9f6f] (Michael Grunder)

    Removed:

    • PHP 7.1, 7.2, and 7.3 CI jobs [d68c30f8, dc39bd55] (Michael Grunder)

    Changed:

    • Fix the time unit of retry_interval [3fdd52b4] (woodong)

    Documentation:

    • Many documentation fixes. [eeb51099] (Michael Dwyer)
    • fix missing code tags [f865d5b9] (divinity76)
    • Mention Valkey support [5f1eecfb] (PlavorSeol)
    • Mention KeyDB support in README.md [37fa3592] (Tim Starling)
    • Remove mention of pickle [c7a73abb] (David Baker)
    • Add session.save_path examples [8a39caeb] (Martin Vancl)
    • Tighter return types for Redis::(keys|hKeys|hVals|hGetAll) [77ab62bc] (Benjamin Morel)
    • Update stubs [4d233977, ff305349, 12966a74, a4a283ab, 8f8ff72a] (Michael Grunder, Takayasu Oyama, Pavlo Yatsukhnenko)
    • Fix config.m4 when using custom dep paths [ece3f7be] (Michael Grunder)
    • Fix retry_internal documentation [142c1f4a] (SplotyCode)
    • Fix anchor link [9b5cad31] (Git'Fellow)
    • Fix typo in link [bfd379f0] (deiga)
    • Fix Fedora package url [60b1ba14, 717713e1] (Dmitrii Kotov)
    • Update Redis Sentinel documentation to reflect changes to constructor in 6.0 release [dc05d65c] (Pavlo Yatsukhnenko)

    Tests/CI:

    • Avoid fatal error in test execution. [57304970] (Michael Grunder)
    • Refactor unit test framework. [b1771def] (Michael Grunder)
    • Get unit tests working in php-cgi. [b808cc60] (Michael Grunder)
    • Switch to ZEND_STRL in more places. [7050c989, f8c762e7] (Michael Grunder)
    • Workaround weird PHP compiler crash. [d3b2d87b] (Michael Grunder)
    • Refactor tests (formatting, modernization, etc). [dab6a62d, c6cd665b, 78b70ca8, 3c125b09, 18b0da72, b88e72b1, 0f94d9c1, 59965971, 3dbc2bd8, 9b90c03b, c0d6f042] (Michael Grunder)
    • Spelling fixes [0d89e928] (Michael Grunder)
    • Added Valkey support. [f350dc34] (Michael Grunder)
    • Add a test for session compression. [9f3ca98c] (Michael Grunder)
    • Test against valkey [a819a44b] (Michael Grunder)
    • sessionSaveHandler injection. [9f8f80ca] (Pavlo Yatsukhnenko)
    • KeyDB addiions [54d62c72, d9c48b78] (Michael Grunder)
    • Add PHP 8.3 to CI [78d15140, e051a5db] (Robert Kelcak, Pavlo Yatsukhnenko)
    • Use newInstance in RedisClusterTest [954fbab8] (Pavlo Yatsukhnenko)
    • Use actions/checkout@v4 [f4c2ac26] (Pavlo Yatsukhnenko)
    • Cluster nodes from ENV [eda39958, 0672703b] (Pavlo Yatsukhnenko)
    • Ensure we're talking to redis-server in our high ports test. [7825efbc] (Michael Grunder)
    • Add missing option to installation example [2bddd84f] (Pavlo Yatsukhnenko)
    • Fix typo in link [8f6bc98f] (Timo Sand)
    • Update tests to allow users to use a custom class. [5f6ce414] (Michael Grunder)
  • memcached 3.3.0RC1
    - Add #515 option to locally enforce payload size limit - Add #539 zstd support - Add #540 compression_level option - Mark password as a sensitive param for PHP 8.2 - Fix Windows PHP 8 compatibility - Fix #518 Windows msgpack support - Fix #522 signed integer overflow - Fix #523 incorrect PHP reflection type for Memcached::cas $cas_token - Fix #546 don't check key automatically, unless client-side verify_key is enabled - Fix #555 incompatible pointer types (32-bit)
  • xdebug 3.4.0beta1
    Fri, Oct 04, 2024 - Xdebug 3.4.0beta1

    = Fixed bugs:

    • Fixed issue #2261: Send control socket location in init packet
    • Fixed issue #2281: PHP 8.4 support
  • mailparse 3.1.8
    - PHP 8.4 compatibility
  • mailparse 3.1.7
    - PHP 8.4 compatibility
  • opentelemetry 1.1.0
    See https://github.com/open-telemetry/opentelemetry-php-instrumentation/releases/tag/1.1.0




4

Community News: Latest PECL Releases (10.15.2024)

Latest PECL Releases:

  • datadog_trace 1.4.1
    ## Tracer

    Fixed

    • Fix: MongoDBIntegration condition typo #2884
    • Fix crash in profiler when span stack switch causes GC run #2885
    • Support build with disabled zend signals #2886
    • Send git tags via remote config #2890
    • Fix memory leak with sidecar trace sender #2875

    Profiling

    Fixed

    • Fix profiler ZTS build on alpine #2887

    Application Security Management

    Fixed

    • AppSec: improve behavior with empty DD_SERVICE/DD_ENV #2888
  • datadog_trace 1.4.0
    ## Tracer

    The default value for datadog.trace.cli_enabled is now set to true (except for composer), meaning that CLI processes will be traced by default.

    Added

    • Dynamic configuration #2796
    • Dynamic instrumentation #2796
      • Can be enabled with datadog.dynamic_instrumentation.enabled=1.
    • Exception replay #2796
      • Can be enabled with datadog.exception_replay_enabled=1.
    • Track peak memory usage in root span metrics #2840

    Changed

    • Enable sidecar trace sender on PHP 8.3 #2729
    • Optimize sending traces via sidecar Datadog/libdatadog#598
    • Add new ini config datadog.crashtracking_enabled #2850
    • Add ionCube to the list of incompatible extensions + add INI setting to ignore incompatible extensions #2858
    • Enable CLI by default #2871

    Fixed

    • Crashtracker: fix a use-after-free error #2843
    • Fix curl integration race condition #2847
    • Fix memory leak with sidecar trace sender #2875
    • OpenTelemetry: Missing addLink method and Fiber handling #2849
    • Mongodb: Deprecated exception in v1.20+ #2870
    • Fix leaking sidecar sessions Datadog/libdatadog#642
    • Implement deadlock watchdog for sidecar Datadog/libdatadog#647

    Internal

    • Fix testsuite flakiness #2841, #2846, #2848, #2867
    • Fix telemetry metric name Datadog/libdatadog#666

    SSI Loader changes

    • Add SSI requirements.json file #2813
    • Disable the tracer in case of a potential incompatibility (extension/jit) #2853

    Profiling

    Internal

    • bump to Rust 1.76 #2876

    Application Security Management

    Changed

    • Move helper to sidecar remote config #2864

    Fixed

    • Fix improper symbol exports in appsec ext/helper #2854
    • Remove gid from socket/lock path of helper #2855
    • appsec ext: retry on connection refused #2860
    • Fix orderly helper appsec shutdown #2859

    Internal changes

    • Add appsec benchmarks #2791
  • selinux 0.6.1
    - fix implicit nullable parameters
  • oauth 2.0.9
    * Fix PHP-8.3 deprecations * Fix PHP-8.4 compatibility




4

Community News: Latest PECL Releases (10.22.2024)

Latest PECL Releases:

  • swoole 5.1.5
    - Fix the need to use zend_ini_parse_quantity to parse string numbers for PHP versions greater than 8.2. @matyhtf

    • Fix an occasional resource unavailability issue when coroutineizing pdo_pgsql. @NathanFreeman
    • Fix header file reference issues when coroutineizing pdo_pgsql. @NathanFreeman
    • Fix incorrect relative path checks to avoid bypassing path validation. @matyhtf
    • Fix incorrect concurrency count caused by process restarts in high-concurrency environments. @matyhtf
    • Sync some related code for php8.3 curl. @NathanFreeman
    • Fix core test errors in the process module. @NathanFreeman
    • In SWOOLE_BASE mode, all connections should be closed during the PHP RSHUTDOWN phase. @matyhtf
    • Optimize kernel code. @matyhtf
  • datadog_trace 1.4.2
    ## Tracer

    Changed

    • Disable sidecar sending on lambda #2904

    Fixed

    • Fix exception property offset computation for PHP 8.1+ #2901
    • Prevent Laravel Queue hooks from stacking up #2899
    • Fix crash with missing name in span in debug mode #2893
    • Restrict remote config path to a definite 31 chars DataDog/libdatadog#676

    Application Security Management

    Changed

    • Update event obfuscation regex #2897

    Fixed

    • Fix abort() call on appsec helper unload #2900
  • pinpoint_php 0.6.0
    ## 0.6.0 2024-10-21 - release asynchronous version
  • awscrt 1.2.7
    pick up release from upstreams
  • memcached 3.3.0
    - Add #515 option to locally enforce payload size limit - Add #539 zstd support - Add #540 compression_level option - Mark password as a sensitive param for PHP 8.2 - Upgrade Windows libmemcached to v1.1.4 - Fix Windows PHP 8 compatibility - Fix #518 Windows msgpack support - Fix #522 signed integer overflow - Fix #523 incorrect PHP reflection type for Memcached::cas $cas_token - Fix #546 don't check key automatically, unless client-side verify_key is enabled - Fix #555 incompatible pointer types (32-bit)
  • gRPC 1.67.0
    - gRPC Core 1.67.0 update
  • imap 1.0.3
    - Build fixes for PHP 8.4. - Report extension version in phpinfo() output.




4

Community News: Latest PECL Releases (10.29.2024)

Latest PECL Releases:

  • win32service 1.1.0beta3
    * Fix memory leak on Win32ServiceRightInfo username and domain.

    The binary is also available here: https://github.com/win32service/win32service/releases/tag/v1.1.0-beta3

  • rdkafka 6.0.4
    ## Improvements - Added OAUTHBEARER support. New methods: RdKafkaConf::setOauthbearerTokenRefreshCb(), RdKafka::oauthbearerSetToken(), RdKafka::oauthbearerSetTokenFailure() (#546, #547, @cb-freddysart, @scorgn) - Added incremental rebalance support. New methods: RdKafkaKafkaConsumer::incrementalAssign(), RdKafkaKafkaConsumer::incrementalUnassign() (#541, @ikeberlein) - Added RdKafka::getControllerId() (#554, @qkdreyer)

    Bugfixes

    • Add private constructor on Metadata classes (#531, @arnaud-lb)

    Other Changes

    • Improve KafkaErrorException message (#555, @arnaud-lb)
  • protobuf 4.29.0RC2
    * See github.com/protocolbuffers/protobuf/releases/tag/v29.0-rc-2 for release notes.
  • pinpoint_php 0.6.1
    ## 0.6.1 2024-10-23 - release asynchronous version https://github.com/pinpoint-apm/pinpoint-c-agent/pull/692
  • couchbase 4.2.4
    Enhancements ============
    • PCBC-832: Management API - Analytics Management (#177).

    • Core updated to 1.0.3. Release notes: https://docs.couchbase.com/cxx-sdk/current/project-docs/sdk-release-notes.html#version-1-0-3-22-october-2024

    Fixes

    • PCBC-1009: do not use IS_RESOURCE in function signatures.

    • PCBC-1010: use explicit nullable types where applicable to avoid deprecation warning in PHP 8.4.

    • Fix SearchQuery API docs link in API reference.

  • protobuf 4.28.3
    * See github.com/protocolbuffers/protobuf/releases/tag/v28.3 for release notes.




4

Community News: Latest PECL Releases (11.05.2024)

Latest PECL Releases:

  • parallel 1.2.5
    - fix memleaks and crashes with PHP 8.2, 8.3 and 8.4 (still crashes in 8.1) - thanks Arnaud Le Blanc

    • fix refcounts to make develop branch stable again - thanks to Arnaud Le Blanc
    • fix double runs in CI
  • rdkafka 6.0.5
    ## Bug fixes - Fix php 7.0 build (#563, @arnaud-lb) - Fix x32 build (#565, @arnaud-lb) - Fix segmentation fault in setOauthbearerTokenRefreshCb when sasl.oauthbearer.config is unset (#568, @scorgn)
  • ibm_db2 2.2.2
    - Support for PHP 8.4 - Update header version




4

Community News: Latest PECL Releases (11.12.2024)

Latest PECL Releases:

  • xlswriter 1.5.8
    - Fix: insertDate format.

    • Feat: format rotation.
  • brotli 0.15.2
    - fix: argument format of type - fix: incompatible pointer type
  • gRPC 1.68.0RC1
    - gRPC Core 1.68.0 update
  • zstd 0.14.0
    - feat: output handler (PHP 8.0+) - feat: minimum system libzstd library version to 1.4.0 - update: built-in zstd library to 1.5.6
  • brotli 0.15.1
    - fix: output handler




4

PABCO Expands Class 4 Impact Resistance to Full Signature Cut Line

PABCO Roofing’s entire Signature Cut line, including Paramount, Cascade, and Paramount Advantage, has earned UL 2218 Class 4 impact resistance, offering enhanced durability and aesthetic appeal.




4

Texas Roofing Contractor Named 2024 International Torch Awards for Ethics Winner

The BBB International Torch Awards for Ethics recognize businesses that maintain outstanding dedication to upholding ethical business practices and promoting trust in the marketplace.  




4

Owens Corning Named ‘100 Best Corporate Citizens’ of 2024

3BL has ranked Owens Corning fourth in its 2024 100 Best Corporate Citizens list, recognizing the company's transparency and performance in ESG factors, marking its seventh top-10 appearance.




4

RC's 2024 Young Guns Invest in the Industry's Future

Meet the 2024 Young Guns, a group of roofing contractors and industry professionals under 40 who are leaving their mark and make a difference in various ways.




4

ABC Supply to Celebrate 40th Anniversary and Showcase Enhancements to myABCsupply at 2022 International Roofing Expo in New Orleans

The 2022 IRE kicks off ABC Supply’s 40th anniversary celebration happening throughout 2022.




4

Feazel Donates $400,000 to Children’s Organizations

The team at Feazel raised $400,000 for children’s charities at its second annual Chip in Fore the Kids golf tournament.




4

2024 International Roofing Expo Returns with New Dates to Las Vegas

The 2024 IRE is expected to cover more than 180,000 square feet of exhibit space, hosting over 600 companies, and features eight educational tracks covering 45 topics across over 100 sessions.




4

IRE 2024: Roofing's Return to Las Vegas

The International Roofing Expo is back in Las Vegas, and it is gearing up to be the industry's largest event yet.




4

International Roofing Expo 2024 Champions Hispanic Roofing Community Through Strategic Partnerships

This year’s International Roofing Expo emphasizes the many outreach efforts dedicated to supporting the Hispanic roofing community for its 2024 event next month in Las Vegas.




4

2024 International Roofing Expo Featuring Two Keynotes, Philanthropic Efforts

The International Roofing Expo returns to Las Vegas Feb. 6-8, 2024. Take a sneak peek into what's in store for attendees returning to the 'Entertainment Capital of the World.'




4

2024 IIBEC International Convention and Trade Show Registration is Open

Registration is now open for the 2024 IIBEC Convention in Phoenix, featuring awards, educational sessions, and networking opportunities. 




4

VIDEO: Win the Storm 2024 Has a New Direction

The 2024 Win the Storm event March 14-16 in Dallas heads in a new direction under the leadership including Josey Parks. Here’s an exclusive preview




4

Tesla Gives Vague Update on Solar Business in Q1 2024 Report

Tesla boasted record highs for its energy storage in Q1 2024 but remained fairly silent about its solar business.




4

2024 Storm Season Starts with Intense Storms, Tornado Outbreaks

The 2024 storm season has seen a surge in severe weather events, with tornadoes and hailstorms wreaking havoc across multiple states, highlighting the growing intensity of supercell storms and their devastating impacts.




4

Castagra Products Accepting Applications for 2024 Roofing Scholarship Program

Students pursuing a post-secondary education in college or vocational programs in roofing or a similar field are encouraged to apply for the annual scholarship program.




4

RC’s 2024 Technology Special Section

Stay on top of tech trends with our 2024 Technology Special Section, featuring Q&As with experts, products and more.




4

OSHA's Safe + Sound Week Aug. 12-18 2024

See how roofing contractors can get involved in OSHA's 2024 Safe + Sound Week campaign. 




4

Top 10 Most Dangerous Jobs in the U.S., 2024

Safety professionals in every industry should analyze the most dangerous jobs and calculate the risks their employees face.




4

J. J. Keller Reveals 2024 Safety Professional of the Year

Discover some safety takeaways from J.J. Keller's 2024 Safety Professional of the Year (SPOTY) Award winners, including driving and risk assessment.




4

Join RC’s 2024 State of the Industry Webinar Feb. 15

Time is running out to register for RC’s exclusive 2024 State of the Industry webinar. Walk through RC’s exclusive annual survey data from roofing contractors around the country with the experts.




4

IRE 2024 Session Preview: The State of the Roofing Industry 2024

Roofing contractors nationwide shared their insights on sales, new technology, workforce and other industry challenges in our exclusive survey. Our experts break
down the data on the industry’s biggest stage.




4

Roofing Trends in 2024

Owner preferences, new legislation and emerging technologies all need to be on a roofer's radar this year.




4

Join RC’s 2024 Homeowner Survey Webinar with ROOFLE May 23

Walk through RC’s exclusive annual survey data from homeowners and roofing contractors around the country with insight from the experts at ROOFLE Technologies.




4

Roofing and Perseverance in 2024

RC Publisher Jill Bloom talks about finding life's 'happy balance' between home and work life as the roofing industry closes a busy year and looks forward to 2024.




4

Atlas Roofing Relaunches StormMaster Shake Shingles at IRE 2024

Atlas Roofing’s latest innovation offers a Class4 impact rating, giving customers in hail markets access to possible insurance discounts. 




4

Devri Pieratt Named NWiR’s 2024 WORLD Award Veteran

She couldn't be there, but her voice roared: Meet the "badasses" who are shattering glass ceilings in the roofing industry as NWiR's 2024 WORLD Award winners.




4

PABCO Roofing Products Celebrates 40 Years of Innovation

Family-owned PABCO Roofing Products is celebrating a rich history of creating high-quality shingles during the 2024 International Roofing Expo.




4

PHOTOS: National Women in Roofing at IRE 2024

View just a few of the images captured during the seventh annual NWiR Days, held Feb. 4-5 in Las Vegas.




4

PHOTO GALLERY: Day 1 at the 2024 International Roofing Expo

View some of the images Roofing Contractor captured on Day 1 of this year's International Roofing Expo. Did you make it into this year's gallery?




4

PHOTOS: Highlighting Latino Roofers at IRE 2024

The number of Latino roofing contractors is on the rise and showed up in force at the 2024 International Roofing Expo.




4

PHOTOS: The 2024 International Roofing Expo in Las Vegas

View images captured during the 2024 International Roofing Expo, held Feb. 6-8 at the Las Vegas Convention Center.