Skip to content

Commit 1140aa1

Browse files
akhumphreyalquercithirschthePanzTybaze
authored
NTO-180 merged upstream changes (#10)
* Add docker compose * Add apcu for PHP 5.5+ * Disable APC on PHP 7+ as APCu 5 is not supported * Add ability to use a custom test runtime Co-authored-by: Thomas <th@it-solutions-hirsch.de> * Use GitHub actions for Continuous Integration tests Remove TravisCI integration * Fix test for /bin/ls file mimetype guessing, using application/x-pie-executable * PHP 8.1 > internal_method_return_types https://wiki.php.net/rfc/internal_method_return_types PHP 8.0 added return type for abstract methods on Iterator, ArrayAccess, Countable, IteratorAggregate PHP 8.1 made non implementation as a Deprecated Warning PHP 9.0 (no release date at this moment) will drop the support. Temporary Fix : adding this Attribute Will drop the Deprecated warning. Adding return type will break compatibility before PHP 7.4, Return type has been added on PHP 7.0, but "mixed" special type is required, and it has been added on PHP 7.4. In order to be compatible with future PHP 9.0, once it will be release, we will have to drop the support to PHP Version before 7.4 Currently a lot of Unix distribution in LTS are running a PHP Version older than 7.4 so moving to the final solution of "add return type" should break a lot of setup for the moment. * PHP 8.1 > Serializable Phase Out https://wiki.php.net/rfc/phase_out_serializable PHP 7.4 add a new Serialize mecanism PHP 8.1 made old method, "Serializable implementation" deprecated PHP 9.0 (no release date at this moment) will drop the support. Temporary Fix: Adding both method serialize/unserialize and __serialize/__unserialize In order to be compatible with future PHP 9.0, once it will be release, we will have to drop the support to PHP Version before 7.4. Currently a lot of Unix distribution in LTS are running a PHP Version older than 7.4 so moving to the final solution of "add return type" should break a lot of setup for the moment. Each class has been serialized/unserialized and compared on PHP 8.1.2 and 5.6.30 * PHP 8.0 & 8.1 > Deprecated of null to non-nullable internal function parameters Mainly ensure use of string instead of null / false by casting the variable into (string) Also fix method/function arguments with default value must be at the end. Thanks to @teymour FriendsOfSymfony1@cba71a4 * PHP 8.1 > strftime deprecated. 2 possible workaround, use partial implementation with php date method or use IntlDateFormatter. As symfony1 is not intended to evolve, it should not rely on currently unused PHP-Extension (nor update composer.json). I propose a fix to replace "strftime" by "date", with a translation of format for PHP 8.1+ It will lose the ability of translating date of logs (does anybody use it ?) and it will deprecated a few strftime format (probably not used) Performances should remains OK I only tested it with a few formats (the default one and a few others) If you need some missing strftime formats, please add them. * PHP 8.1 > Unit Test sfException> fileExcerpt file can be null, and PHP 8.1 do not allow null on is_readable() sfBrowser> Move sf_test conf before getContext, because getContext can throw some sfException, which will raise some printStackTrace, hidden by another Exception "header already sent ..." lime.php> some trace can have no "file" (internal methods call) lime.php> handle_exception can handle Error/Throwable, not avaialble under php7.2: remove typing sfTestFunctionalBase> can throw exception Fix Select Unit test NewActivePendingExpired. DomDocument on recent php return a list of values, not concatened ones. Fix SessionStorage UnitTest. sfSessionStorage could not be restarted. Flag $sessionStarted as false when shutdown to avoid error during unit test which can start several sfSessionStorage Storage need to be shutdown to avoid: PHP Warning: session_name(): Session name cannot be changed when a session is active * Fix lime message: "An uncaught exception has been thrown" do not have "error" value uncaught exception does not populate error field * PHP 8.1 > uasort(): Returning bool from comparison function is deprecated, return an integer less than, equal to, or greater than zero * Fix ValueError: DOMDocument::loadHTML(): Argument #1 ($source) must not be empty * PHP 8.0 > fread()/count() behavior ValueError: fread(): Argument #2 ($length) must be greater than 0 TypeError: count(): Argument #1 ($value) must be of type Countable|array Foo Given Use Symfony Polyfill symfony/polyfill@d330c00 TypeError: count(): Argument #1 ($value) must be of type Countable|array, string given Do not use Symfony pollyfill, is_array is enought * Fix Declaration of sfPearRestTest::downloadHttp($url, $lastmodified = null, $accept = false) must be compatible with sfPearRest::downloadHttp($url, $lastmodified = null, $accept = false, $channel = false) * PHP 8.0 > mktime update 8.0.0 hour is no longer optional. 8.0.0 minute, second, month, day and year are nullable now. * Fix sfWebResponse->getContentType() return a string not an array * Fix sfDoctrineTester, string cannot be accessed as array * PHP 8.0 > Fix is_numeric behavior with trailing empty char Numeric strings ending with whitespace ("42 ") will now return true. Previously, false was return instead. Use same fix has main maintened Yaml lib : symfony/yaml@4152e36 + performance improvement symfony/yaml@2b5f2ae * PHP 8.0 > String to Number Comparison. When $previousIndent was equal to 0, and $matches['indent'] = " " PHP(before 8.0)> (0 != " ") ==> false PHP8.0+ > (0 != " ") ==> true In order to keep "false" value we avoid "0" as a valid value. More details here why here: https://www.php.net/manual/en/migration80.incompatible.php * PHP 8.1 > Change support to PHP 8.1 * Fix UnitTest application/x-sharedlib /bin/ls can be reported as: - application/x-sharedlib - application/x-executable - application/x-pie-executable * PHP 8.1 > mysqli_report revert to off https://php.watch/versions/8.1/mysqli-error-mode * Refactor code and apply Coding Style fixes * PHP 8.1 > Better MYSQLI_REPORT_OFF implementations for php8.1 compat Thanks @mentalstring * PHP 8.1 > remove full_path from uploads added on PHP v8.1 * Fix use of null on string parameter on multiple classes * Github Actions: enable testing on PHP v8.0 and v8.1 (for PRs too) * test environment for php 8.2 * PHP 8.2 > Using ${var} in strings is deprecated, use {$var} instead. * PHP 8.2 > Creation of dynamic property Class::$property is deprecated * PHP 8.0 > Uncaught ArgumentCountError: Too few arguments to function * PHP 8.0 > Trying to access array offset on value of type bool * PHP 8.0 > Passing null to parameter #1 ($haystack) of type string is deprecated * set symfony version to 1.5.15-dev * PHP 8.0 > Class name must be a valid object or a string in case the controller does not exist. * PHP 8.0 > Fix undefined array key * PHP 8.1 > Fix some more null on string parameter * Prepared release 1.5.15 * Add(changelog) Add v1.5.15 release date to Changelog file * Add(versioning) Add v1.5.16-dev as next release * Fix(deprecations) Fix deprecations in sfMessageSource_Aggregate (FriendsOfSymfony1#277) * Fix(deprecations) Fix deprecations in sfMessageSource_Aggregate, add return types from implemented sfIMessageSource * Add(linting) Add code linting to GitHub workflow, use php-cs-fixer * Fix(php-cs) Fix php-cs styles according to configuration * Add(gitattributes) Add .gitattributes to repository * imported upstream php-cs-fixer configuration * initial pass of php-cs-fixer * updated config * updated config * updated config * updated config * imported routing fixes from `master` * removed `7.4` and `8.0` test targets * fixed `long_to_shorthand_operator` warnings * temporarily disabled testing * removed route caching * fixed coding standards issues * re-fixed more coding standards issues * Fix: avoid creating dynamic property $options in sfViewCacheManager (FriendsOfSymfony1#290) Dynamic properties are deprecated since PHP8.2 * Update(github) Update github workflows, include cache for composer install * Fix(php-cs-fixer) Fix php-cs-fixer warnings, according to new checks * add php8.3 * Fix(php-cs-fix) fix php-cs-fix single_space_around_construct warning * Fix(php-cs-fixer) Fix php-cs-fixer to v3.45 and apply code fixes * Fix(deprecation) preg_match_all requires string parameter (FriendsOfSymfony1#298) * Fix APC cache tests - Using negative TTLs to force the immediate expiration of keys, while convenient in tests, doesn't work consistently with APC and is an undocumented feature. Using a low TTL and sleep() is what guarantees that it works for APC. See krakjoe/apcu#184 - The setting apc.use_request_time interferes with key expiration when running on the CLI. Making sure it always has a sensible value for running the tests. See krakjoe/apcu#392 * Add APCu support Support for the APCu extension (through sfAPCuCache) as an alternative to APC, which no longer works with recent versions of PHP. * Fix sfCacheSessionStorageTest with PHP>=7.2 From PHP 7.2 onward, session functions are stricter and may not work if output/headers have already been sent out. Using output buffering prevents this issue. * Remove test dependency on APC Replace the use of sfAPCCache with sfFileCache in sfCacheSessionStorageTest so that it doesn't depend on APC being available. * Fix deprecation on stropos() usage on sfDebug::shortenFilePath (FriendsOfSymfony1#299) Fix PHP v8.x deprecation on strpos() usage with `null` as first parameter * Fix strpos() deprecation on sfCacheSessionStorage check for cookie * Fix setrawcookie() deprecation on null parameter (FriendsOfSymfony1#304) * Fix str_replace() deprecated null parameter on sfNumberFormat * Declare $params var * Replace default with 0 * removed some automated testing for old php versions * updated `php-cs-fixer` config * Update README Fix build badge, update supported PHP version and other minor tweaks. * Fix link to GitHub pipeline badge * fix(config) sfCacheConfigHandler: There is no fourth argument. Nice catch phpstan! * Fix PHP8.1 sfForm - Unsupported operand types: array + null on sfForm::updateValues() Avoid error: Fatal error: Uncaught TypeError: Unsupported operand types: array + null in lib\form\sfForm.class.php:319 Step to reproduce : $form = new sfForm(); $form->updateValues(array('foo' => 'value')); PHP 5.3 coding style May use sfForm::getValues(), but as sfForm::updateValues() is a hack, it could be used before bind ($this->isBound = true); * fix(phpdoc) remove html code from throws phpdoc. phpstan don't like this * fix(phpdoc) remove version tag * applied php-cs-fixer * added missing properties * PHP 8.3 deprecated errors fixed (FriendsOfSymfony1#320) * Update min PHP requirement to v7.4 or v8.1 * Remove PHP v8.0 from CI workflow * Updated gh workflow to use latest actions * Backported display_errors-handling to sf1 * removed duplicate class properties * Set min versions of swiftmailer to 5.4.13 and 6.2.5 and updated swiftmailer submodule (FriendsOfSymfony1#331) * Update min versions of swiftmailer to v5.4.13 or v6.2.5 * Update swiftmailer code on submodule to v5.4.13 * Sync changelog with latest releases (FriendsOfSymfony1#337) * Sync changelog with latest releases * Remove(legacy): Remove unsupported PHP docker images * Remove(legacy): drop sfAPCCache cache as apc extension does not exist anymore Please use sfAPCUCache instead * Fix(docblock): fix typo in check_configuration.php docblock * Update(check-config): use PHP constant for version check on check_configuration.php file * Remove(legacy): delete checks for 'magic_quotes_gpc' and 'register_globals' ini settings, as removed on PHP v5.4 * Remove(legacy): delete EAccelerator cache, the extension is not existing for php v7.4 See: https://github.com/eaccelerator/eaccelerator, where the following message is shown: > This project is deprecated and does not work with anything newer than PHP 5.3. > Please use a recent version of PHP with OPcache instead! * Remove(legacy): drop XCache support, as the extension is not available for PHP >= 7.4 * Remove(legacy): delete check for PHP < 5.2 in tests for mime_content_type bug * Remove(legacy): drop PHP v5.3 check for SQLite version match * Remove(legacy): drop PHP v5.4 check and compatibility layer on sfWebRequest * Remove(legacy): drop PHP v5.3 check on sfRoute This removes a preliminary fix for a legacy PHP 5.3. issue with regexp excaping PHP bug reference: http://bugs.php.net/bug.php?id=47229 * Update: Update php-cs-fixer to v3.51 Apply rule fixes * Update: php-cs-fixer, enable short array syntax * Update: move php-cs-fixer cache under .cache folder * Update: run php-cs-fixer on PHP v7.4 as min supported version * Update: GitHub actions to run php-cs-fixer only on relevant changed files * Hotfix: Add type checking for deserialized data in sfParameterHolder and sfNamespacedParameterHolder (CVE-2024-28861) * Update php-cs-fixer to v3.52 * Remove(legacy): drop sf*Cache implementations for APC, XCache and EAccelerator extensions * Phpstan: fix warnings on sfAPCiCache implementation, add docblocks and returns * Phpstan: fix warnings on sfFileCache and sfMemcache implementation, add missing returns * Phpstan: fix missing sfTask* return statement * [widget] fix return statement missing (FriendsOfSymfony1#349) * [validator] fix return statement missing (FriendsOfSymfony1#352) * [view] fix return statement missing on ParamHolder and CacheManager (FriendsOfSymfony1#350) * [task] Fix return statement missing on some tasks (FriendsOfSymfony1#353) * [util] fix missing return statement and docblock on sfContext class (FriendsOfSymfony1#351) * applied upstream php-cs-fixer configuration * corrected json format * use `php8.2` when linting * don't build php8.1 * reverted many changes back to upstream equivalents * removed upstream submodule * replaced submodule with our fork * updated tests to match custom functionality * only test php82 * corrected number of expected tests * only use php8.2 for github actions * explicitly apply `nullable_type_declaration_for_default_null_value` * attributes don't use `\` * corrected method signatures --------- Co-authored-by: Alexandre Quercia <alquerci@email.com> Co-authored-by: Thomas <th@it-solutions-hirsch.de> Co-authored-by: Emanuele Panzeri <thepanz@gmail.com> Co-authored-by: Tybaze <tybaze@users.noreply.github.com> Co-authored-by: Paulo Magalhaes <mentalstring@gmail.com> Co-authored-by: Thomas A. Hirsch <thomas.hirsch@vema-eg.de> Co-authored-by: Karoly Gossler <connor@connor.hu> Co-authored-by: Vincent Mariani <541354+vimar@users.noreply.github.com> Co-authored-by: iricketson <iricketson@users.noreply.github.com> Co-authored-by: Ian Ricketson <ian@trackops.com> Co-authored-by: Sergei Miami <miami@blackcrystal.net> Co-authored-by: darkpills <>
1 parent a9546b2 commit 1140aa1

File tree

954 files changed

+69293
-75641
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

954 files changed

+69293
-75641
lines changed

.docker/Dockerfile

+68
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
ARG PHP_VERSION
2+
FROM php:${PHP_VERSION}-cli
3+
4+
RUN docker-php-ext-install pdo
5+
RUN docker-php-ext-install pdo_mysql
6+
7+
# Install mbstring PHP extension
8+
#
9+
RUN set -eux; \
10+
apt-get update; \
11+
apt-get install -y --no-upgrade --no-install-recommends \
12+
libonig-dev \
13+
; \
14+
\
15+
apt-get clean; \
16+
rm -rf /var/lib/apt/lists/*; \
17+
\
18+
docker-php-ext-install mbstring
19+
20+
# Install APCu PHP extension
21+
#
22+
ARG APCU_VERSION
23+
RUN set -eux; \
24+
\
25+
test x"" = x"${APCU_VERSION}" || { \
26+
pecl install apcu-${APCU_VERSION}; \
27+
docker-php-ext-enable apcu; \
28+
\
29+
rm -r /tmp/pear; \
30+
}
31+
32+
# Install memcache PHP extension
33+
#
34+
ARG MEMCACHE_VERSION
35+
RUN set -eux; \
36+
buildDeps=' \
37+
libzip-dev \
38+
'; \
39+
apt-get update; \
40+
apt-get install -y --no-upgrade --no-install-recommends \
41+
$buildDeps \
42+
; \
43+
\
44+
pecl install memcache-${MEMCACHE_VERSION}; \
45+
docker-php-ext-enable memcache; \
46+
\
47+
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=true \
48+
$buildDeps \
49+
; \
50+
apt-get clean; \
51+
rm -rf /var/lib/apt/lists/*; \
52+
rm -r /tmp/pear
53+
54+
# For consistent mime type file guesser
55+
RUN set -eux; \
56+
distFilePath=`which file`; \
57+
\
58+
mv ${distFilePath} ${distFilePath}.dist; \
59+
{ \
60+
echo '#! /bin/sh -eu'; \
61+
echo ''; \
62+
echo "${distFilePath}"'.dist "$@" | sed -e s,application/x-pie-executable,application/x-executable,g'; \
63+
} | tee ${distFilePath}; \
64+
\
65+
chmod +x ${distFilePath}; \
66+
\
67+
file /bin/ls --mime | grep application/x-executable; \
68+
:;

.editorconfig

+5-1
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,15 @@ root = true
22

33
[*]
44
indent_style = space
5-
indent_size = 2
5+
indent_size = 4
66
end_of_line = lf
77
charset = utf-8
88
trim_trailing_whitespace = true
99
insert_final_newline = true
1010

1111
[*.md]
1212
trim_trailing_whitespace = false
13+
14+
[.github/**.yml]
15+
indent_size = 2
16+
indent_style = space

.env.dist

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#
2+
# Environment variables used by docker-compose for test.
3+
#
4+
# Copy to `.env` in order to use it.
5+
#

.gitattributes

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
.docker/ export-ignore
2+
.editorconfig export-ignore
3+
.env.dist export-ignore
4+
.gitattributes export-ignore
5+
.github/ export-ignore
6+
.gitignore export-ignore
7+
.php-cs-fixer.dist.php export-ignore
8+
docker-compose.yml export-ignore
9+
phpstan.neon export-ignore
10+
phpunit.xml export-ignore
11+
tests/ export-ignore
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
name: "Continuous Integration"
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
pull_request:
8+
9+
env:
10+
fail-fast: true
11+
12+
jobs:
13+
tests:
14+
name: "Symfony1 Tests"
15+
runs-on: "ubuntu-latest"
16+
17+
strategy:
18+
matrix:
19+
php-version:
20+
- "8.2"
21+
memcached-version:
22+
- "1.6"
23+
24+
services:
25+
memcached:
26+
image: "memcached:${{ matrix.memcached-version }}"
27+
28+
steps:
29+
- name: Checkout
30+
uses: actions/checkout@v4
31+
with:
32+
submodules: "true"
33+
34+
- name: Install PHP
35+
uses: shivammathur/setup-php@v2
36+
with:
37+
php-version: "${{ matrix.php-version }}"
38+
extensions: apcu
39+
ini-values: apc.enable_cli=1
40+
41+
- name: Get composer cache directory
42+
id: composer-cache
43+
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
44+
45+
- name: Cache dependencies
46+
uses: actions/cache@v4
47+
with:
48+
path: ${{ steps.composer-cache.outputs.dir }}
49+
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }}
50+
restore-keys: ${{ runner.os }}-composer-
51+
52+
- name: Install dependencies
53+
run: composer install --prefer-dist
54+
55+
- name: Run Check configuration
56+
run: php data/bin/check_configuration.php
57+
58+
- name: Run Tests
59+
run: php data/bin/symfony symfony:test --trace

.github/workflows/lint.yml

+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
name: "Code Linting"
2+
on:
3+
push:
4+
paths:
5+
- .php-cs-fixer.dist.php
6+
- autoload.php
7+
- lib/**
8+
- data/**
9+
- tests/**
10+
branches:
11+
- master
12+
pull_request:
13+
paths:
14+
- .php-cs-fixer.dist.php
15+
- autoload.php
16+
- lib/**
17+
- data/**
18+
- tests/**
19+
20+
jobs:
21+
php-cs-fixer:
22+
name: 'PHP-CS-Fixer'
23+
runs-on: 'ubuntu-latest'
24+
steps:
25+
- uses: actions/checkout@v4
26+
27+
- name: Setup PHP
28+
uses: shivammathur/setup-php@v2
29+
with:
30+
php-version: 8.2
31+
tools: php-cs-fixer:3.52, cs2pr
32+
33+
- uses: actions/cache@v4
34+
with:
35+
path: '.php-cs-fixer.cache'
36+
key: ${{ github.repository }}-8.2-phpcsfixer-${{ github.ref_name }}
37+
restore-keys: |
38+
${{ github.repository }}-8.2-phpcsfixer-master
39+
${{ github.repository }}-8.2-phpcsfixer-
40+
41+
- name: Run PHP-CS-Fixer
42+
# Using cs2pr settings, see: https://github.com/shivammathur/setup-php#tools-with-checkstyle-support
43+
run: 'php-cs-fixer fix --dry-run --format=checkstyle | cs2pr'

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
.cache/
2+
13
/test/functional/fixtures/cache
24
/test/functional/fixtures/log
35
/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/lib/*/doctrine/base/

.gitmodules

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[submodule "lib/vendor/swiftmailer"]
2-
path = lib/vendor/swiftmailer
3-
url = https://github.com/swiftmailer/swiftmailer.git
4-
branch = 5.x
2+
path = lib/vendor/swiftmailer
3+
url = https://github.com/FriendsOfSymfony1/swiftmailer.git
4+
branch = 5.x
55
[submodule "lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine"]
6-
path = lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine
7-
url = https://github.com/FriendsOfSymfony1/doctrine1.git
6+
path = lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine
7+
url = https://github.com/JamesAndJamesFulfilment/doctrine1.git

.php-cs-fixer.dist.php

+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
<?php
2+
3+
$finder = PhpCsFixer\Finder::create()
4+
->ignoreVCSIgnored(true)
5+
->in(__DIR__.'/lib')
6+
->in(__DIR__.'/data/bin')
7+
->in(__DIR__.'/test')
8+
->append([__FILE__])
9+
// Exclude PHP classes templates/generators, which are not valid PHP files
10+
->exclude('task/generator/skeleton/')
11+
->exclude('plugins/sfDoctrinePlugin/data/generator/')
12+
->exclude('plugins/sfDoctrinePlugin/test/functional/fixtures/')
13+
14+
// Exclude sub-modules folders
15+
->exclude('plugins/sfDoctrinePlugin/lib/vendor/doctrine')
16+
17+
// Exclude generated files (whole directories)
18+
->exclude('functional/fixtures/cache')
19+
->exclude('functional/fixtures/log')
20+
21+
// Exclude generated files (single files)
22+
->notPath('unit/config/fixtures/sfDefineEnvironmentConfigHandler/prefix_result.php')
23+
->notPath('unit/config/fixtures/sfFilterConfigHandler/result.php')
24+
;
25+
26+
$config = new PhpCsFixer\Config();
27+
$config
28+
->setRules([
29+
'@PhpCsFixer' => true,
30+
'@Symfony' => true,
31+
'array_syntax' => ['syntax' => 'short'],
32+
'nullable_type_declaration_for_default_null_value' => true,
33+
])
34+
->setCacheFile('.cache/php-cs-fixer.cache')
35+
->setFinder($finder)
36+
;
37+
38+
return $config;

.travis.yml

-56
This file was deleted.

CHANGELOG.md

+65
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,71 @@
11
CHANGELOG
22
=========
33

4+
=======
5+
6+
xx/xx/xxxx: Version 1.5.xx
7+
--------------------------
8+
9+
* Remove sfXCacheCache as the extension is not available on PHP v7.4 anymore.
10+
* Remove sfEAcceleratorCache as the extension is not available on PHP v7.4 anymore.
11+
* Remove sfAPCCache as it uses the `apc` extension, which is not available on PHP v7.4 anymore.
12+
**[BC-Break]** Use `sfAPCuCache` class instead, available from Symfony1 v1.5.16
13+
14+
28/02/2024: Version 1.5.18
15+
--------------------------
16+
17+
* Set min versions of swiftmailer to 5.4.13 and 6.2.5 and updated swiftmailer submodule by @thirsch in #331
18+
19+
23/02/2024: Version 1.5.17
20+
--------------------------
21+
22+
* Update min PHP requirement to v7.4 or v8.1 by @thePanz in #325
23+
* Updated gh workflow to use latest actions by @thirsch in #330
24+
* Backported display_errors-handling to sf1 by @thirsch in #328
25+
26+
15/02/2024: Version 1.5.16
27+
--------------------------
28+
29+
* Fix(deprecations) Fix deprecations in sfMessageSource_Aggregate, by @thePanz in #277
30+
* Add(linting) Add code linting to GitHub workflow, use php-cs-fixer by @thePanz in #283
31+
* Add(gitattributes) Add .gitattributes to repository by @thePanz in #287
32+
* fix: avoid creating dynamic property $options by @vimar in #290
33+
* Update(github) Update github workflows by @thePanz in #292
34+
* php8.3 in the party by @connorhu in #294
35+
* Fix(php-cs-fixer) Fix php-cs-fixer to v3.45 and apply code fixes by @thePanz in #300
36+
* 8.3 compat/string to array by @iricketson in #298
37+
* Fix APC tests and add APCu support by @mentalstring in #267
38+
* [8.x Compatiblity] sfDebug::shortenFilePath by @iricketson in #299
39+
* Fix strpos() deprecation on sfCacheSessionStorage check for cookie by @thePanz in #303
40+
* Fix setrawcookie() deprecation on null parameter by @thePanz in #304
41+
* Fix str_replace() deprecated null parameter on sfNumberFormat by @thePanz in #305
42+
* [PHP] Replace default $flags variable with 0 by @iricketson in #307
43+
* [PHP8] Declare sfDoctrineFormGenerator $params property by @iricketson in #306
44+
* Update README by @mentalstring in #310
45+
* minor fix: remove fourth argument by @connorhu in #308
46+
* Fix PHP8.1 sfForm - Unsupported operand types: array + null on sfForm by @Tybaze in #281
47+
* Fix link to GitHub pipeline badge by @thePanz in #311
48+
* fix(phpdoc) remove html code from throws phpdoc. phpstan don't like this by @connorhu in #309
49+
* fix(phpdoc) remove version tag by @connorhu in #313
50+
51+
12/01/2023: Version 1.5.15
52+
--------------------------
53+
54+
* Add support for PHP 8.2 by @thirsch in #274
55+
* More adjustments for PHP 8.0 & 8.1 by @thirsch in #272
56+
57+
25/11/2022: Version 1.5.14
58+
--------------------------
59+
60+
* Update composer.json to automatically remove lexpress/symfony1 package by @spirit-q2 in #241
61+
* Updated lexpress to fos1 in the submodules. by @thirsch in #238
62+
* Compat for Swiftmailer 6 but preserve compatibility with Swiftmailer 5. by @thirsch in #240
63+
* Update PHPDoc for `sfWebController::redirect()` func by @cmdeviant in #246
64+
* Fixing Issue #234 by @pathumhdes in #235
65+
* Add consistent local environment for testing with docker and docker-compose by @alquerci in #262
66+
* Use GitHub actions for Continuous Integration tests by @thePanz in #268
67+
* Add support for PHP 8.0 & 8.1 by @Tybaze in #266
68+
469
08/06/2020: Version 1.5.13
570
--------------------------
671

0 commit comments

Comments
 (0)