Releases: crazywhalecc/static-php-cli
Releases · crazywhalecc/static-php-cli
2.3.0
Update Notes
The main content of this update is the pre-built dependency library. For common extension combinations and dependencies, using prebuilt libraries can save 40-50% of build time, just need to add --prefer-pre-built
option for download
🚀 !
🤖 CI Updates
- feat: Add
prefer-pre-built
option for manual triggered build actions - chore: Speed-up CI build tests
- feat: Add pack lib CI (https://github.com/static-php/static-php-cli-hosted/blob/master/.github/workflows/pack-libs.yml)
- feat: Add
spc-max
for windows build
🔨 Framework Updates
- chore: Adjust
bin/spc-alpine-docker
, addpkgroot
for Dockerfile - feat: Add config
pre-built.json
- feat: Add method
LibraryBase->setup(bool $force = false)
- feat: Add method
LibraryBase->getName()
(same as$lib::NAME
) - feat: Add method
LibraryBase->beforePack()
- feat: Add method
LibraryBase->install()
- chore: Now we extract libs before building each of libs instead of all libs
- fix:
--ignore-cache-source
always working even if not specified - feat: Add
--prefer-pre-built
fordownload
command - feat: Add command
dev:pack-lib
(build and pack library as pre-built release) - chore: Disable some redundant log outputs
- feat: Add method
Config::getPreBuilt(string $name)
- feat: Update method
Downloader::getLatestGithubRelease(string $name, array $source, bool $match_result = true)
- chore: Add
$lock_as
for download method - chore: Remove
suffix
for LicenseDumper
📚 Dependency, PHP and Extension Updates
- fix: opcache not compiling on Windows
- feat: Add pre-built libraries:
brotli,bip2,gmp,icu,libargon2,libavif,libcares,libevent,libiconv,liblz4,libpng,libsodium,libtiff,libwebp,libyaml,ncurses,onig,openssl,pkg-config,readline,sqlite,unixodbc,xz,zlib
- fix: openssl build bug for PHP 8.0
- fix: swoole confict with libevent
- chore: Simplify and fix
icu,brotli,libargon2,libevent,libiconv,liblz4,ncurses,openssl
build files for pre-built libs - chore: Change patch pkgconfig prefix to
${pcfiledir}/../..
- fix: Newer version of libavif build failed bug #503
- chore: Use xz instead of gz for faster php-src download
- fix: sqlite build for windows not supporting different visual studio version
⚠️ Breaking Changes
All breaking changes in this version only affect the API and internal functions, and do not affect the default command line behavior. Feel free to upgrade in your CI workflow and projects.
- Constant rename:
BUILD_STATUS_xxx
->LIB_STATUS_xxx
- Constant rename:
BUILD_STATUS_FAILED
->LIB_STATUS_BUILD_FAILED
- Add new constant:
LIB_STATUS_INSTALL_FAILED
- Patch point:
before-libs-extract
->before-lib[{lib_name}]-extract
- Patch point:
after-libs-extract
->after-lib[{lib_name}]-extract
BuilderBase->buildLibs()
->BuilderBase->setupLibs()
CustomSourceBase->fetch(bool $force = false)
->CustomSourceBase->fetch(bool $force = false, ?array $config = null, int $lock_as = SPC_LOCK_SOURCE)
What's Changed (PR)
- Increase memory_limit size by @crazywhalecc in #485
- Add multiple extensions for Windows by @crazywhalecc in #488
- Add extension swow for Windows by @crazywhalecc in #489
- Add
prefer-stable
option,dev:lib-ver
anddev:ext-ver
commands by @crazywhalecc in #491 - Merge docs into static-php-cli repo by @crazywhalecc in #492
- Update xz version to 5.4.7 by @DimitriyB in #493
- docs: Add php-src modifications & Release SPC enhancement by @crazywhalecc in #494
- fix: xz download by @dunglas in #495
- Fix libyaml patch slashes by @crazywhalecc in #499
- Fix prefer-stable negative result in ghtar by @crazywhalecc in #500
- Add spx extension support by @crazywhalecc in #501
- Add pre-built lib feature, and more bugfix for 2.3 by @crazywhalecc in #502
🧑🤝🧑 New Contributors
- @DimitriyB made their first contribution in #493
Full Changelog: 2.2.4...2.3.0
2.2.4
What's Changed
- replace ext-zend-opcache with ext-opcache for spc extension list by @DubbleClick in #475
- Add phpmicro win32 mode support by @crazywhalecc in #478
- fix: error when building libtiff by @dunglas in #481
- Update GMP ver, using official 6.3.0 version by @crazywhalecc in #483
- Add full gd support on Windows by @crazywhalecc in #484
Full Changelog: 2.2.3...2.2.4
2.2.3
What's Changed
- Fix xlswriter with openssl conflict bug by @crazywhalecc in #472
- Ignore passed internal extensions by @crazywhalecc in #473
- Remove mongodb notes by @crazywhalecc in #474
Full Changelog: 2.2.2...2.2.3
2.2.2
What's Changed
- Add gen-ext-docs command by @crazywhalecc in #462
- Add libxml extension wrapper for composer compatibility by @crazywhalecc in #463
- Fix macOS --no-strip opposite bug by @crazywhalecc in #467
- Fix several patches & newer phpmicro support(fix zend_mm_heap corrupted bug) by @crazywhalecc in #470
- Prevent use building uv on 7.4 by @crazywhalecc in #471
Full Changelog: 2.2.1...2.2.2
2.2.1
What's Changed
- Add extension parallel support by @crazywhalecc in #444
- Fix php74 upx bug by @crazywhalecc in #450
- Put extension and library compatibility checks before compilation by @crazywhalecc in #451
- Add compression for spc.phar and spc.exe by @crazywhalecc in #452
- Add xattr command to prevent macOS GateKeeper block by @crazywhalecc in #453
- Add comomand:
switch-php-version
by @crazywhalecc in #457 - Add extension version and env check method by @crazywhalecc in #458
- Remove dll before sanity check by @crazywhalecc in #459
Full Changelog: 2.2.0...2.2.1
2.2.0
2.2.0 Released !
Major updates:
- Add environment variable manager
- Add Windows build actions
- Fix multiple general deps build bug for macOS, Linux and Windows
What's Changed
- Add Archlinux doctor support by @crazywhalecc in #412
- Add env variable manager by @crazywhalecc in #403
- fix: use C++ 17 compiler for ICU by @dunglas in #414
- Fix windows nghttp2 dynamic linking bug by @crazywhalecc in #422
- Fix windows UPX_EXEC env var missing bug by @crazywhalecc in #423
- Fix linux imagick openmp linking issue by @crazywhalecc in #424
- Fix FreeBSD pkg-config linking issue by @crazywhalecc in #426
- Fix Intel Mac build action by @simonhamp in #427
- Update actions by @simonhamp in #428
- Fix ncurses pkg-config bug temporarily by @crazywhalecc in #432
- Windows build GitHub Action by @simonhamp in #420
- Add linux env var: SPC_NO_MUSL_PATH by @crazywhalecc in #437
- Fix xz build on macOS and Linux by @crazywhalecc in #438
- Fix ncurses 6.5 build by @crazywhalecc in #439
- Fix micro upx compress bug by @crazywhalecc in #440
- Fix dependency util suggest calculate bug by @crazywhalecc in #441
Full Changelog: 2.1.7...2.2.0
2.1.7
What's Changed
- Cmake version check by @crazywhalecc in #400
- Add extension ds support by @crazywhalecc in #401
- Add extension simdjson support by @crazywhalecc in #402
- fix openssl build with corrupted pkg-config file by @crazywhalecc in #406
- Add ext yac by @crazywhalecc in #407
- add qdbm for dba by @crazywhalecc in #409
- Add macOS brew arch check for doctor by @crazywhalecc in #410
- Fix libuuid build source by @crazywhalecc in #411
Full Changelog: 2.1.6...2.1.7
2.1.6
What's Changed
- fix pkg-config build for macOS sonoma by @crazywhalecc in #391
- use old xz mirror, fix CVE-2024-3094 by @crazywhalecc in #399
Full Changelog: 2.1.5...2.1.6
2.1.5
What's Changed
- Add pdo_sqlsrv for macOS and Linux by @crazywhalecc in #374
- Add --retry for download command by @crazywhalecc in #375
- Fix install-pkg different arch cache bug by @crazywhalecc in #383
- fix: false postive with binutils-gold by @dunglas in #387
- Fix latest libsodium compatibility by @crazywhalecc in #388
Full Changelog: 2.1.4...2.1.5
2.1.4
What's Changed
- Fix swoole compile bug on Linux by @crazywhalecc in #367
- Fix windows curl build by @crazywhalecc in #368
- Fix libxml2 build on RHEL/CentOS bug by @crazywhalecc in #371
- Fix/libxml rhel build by @crazywhalecc in #372
- Enhancement for download command by @crazywhalecc in #373
Full Changelog: 2.1.3...2.1.4