dflydev/fig-cookies
Cookies for PSR-7 HTTP Message Interface.
v3.2.0
9.3M downloads/mo
#1955 most downloaded on Packagist
dflydev/dflydev-fig-cookies
What this package is like to depend on
Last release 11 months ago
03 Sep 2025
Ships fairly regularly
a new release about every 1.5 years
Most releases are documented
notes for 6 of 10 stable releases
Nothing withdrawn
no release was ever pulled
11 years old
10 releases · first in 2015
1 release in the last 12 months
see the full history below
Release timeline
10 releases · Jun 2015 to Sep 2025Releases
latest 10-
v3.2.003 Sep 2025Release notes
Open source →What's Changed
- Updates CI to run on PHP 8.3 through 8.5-dev by @gsteel in #63
- Adds support for CHIPS partitioned cookies by @battis in #62
Partitioned cookies can be created by callingwithPartitionedon the cookie instance, for example:For further information, see MDN DocsSetCookie::create('someCookie')->withPartitioned();
New Contributors
Full Changelog: v3.1.0...v3.2.0
-
v3.1.018 Jul 2023Release notes
Open source →What's Changed
- CI Fixes by @franzliedke in #46
-
Deprecate cookie expiry facades
The methodsFigResponseCookies::expire()andSetCookie::createExpired()have been deprecated. In order to expire a cookie, create aSetCookieinstance with properties that match the existing cookie and callexpire, passing the newSetCookieinstance toFigResponseCookies::set().
by @franzliedke in #45 -
Documentation Fix
Fix minor grammatical error in the README by @settermjd in #49 -
Allow psr/http-message ^2
Expands composer constraint forpsr/http-messageto^1 || ^2
by @gsteel in #60
New Contributors
- @settermjd made their first contribution in #49
- @gsteel made their first contribution in #60
Full Changelog: v3.0.0...v3.1.0
-
v3.0.022 Jan 2021 -
v2.0.307 Dec 2020Release notes
Open source →Fix potential issue with malformed cookies causing catastrophic errors instead of simply returning a cookie with no value. #42
-
v2.0.204 Dec 2020Release notes
Open source →Merge pull request #40 from weierophinney/security/do-not-decode-cook…
…ie-names
Do not decode cookie names, just values
-
v2.0.102 Jan 2020Nothing published for this version
-
v2.0.011 Jul 2018Release notes
Open source →Added
-
#32 all public API of the
project now has extensive parameter and return type declarations.
If you are using the library withdeclare(strict_types=1);in your codebase, you
will need to run static analysis against your code to find possible type incompatibilities
in method calls.
If you are inheriting any of your code from this library, you will need to check
that your type signatures respect variance and covariance with the symbols you are
inheriting from. Here is a full list of the changes:[BC] CHANGED: The parameter $name of Dflydev\FigCookies\Cookie#__construct() changed from no type to a non-contravariant string [BC] CHANGED: The parameter $value of Dflydev\FigCookies\Cookie#__construct() changed from no type to a non-contravariant ?string [BC] CHANGED: The parameter $name of Dflydev\FigCookies\Cookie#__construct() changed from no type to string [BC] CHANGED: The parameter $value of Dflydev\FigCookies\Cookie#__construct() changed from no type to ?string [BC] CHANGED: The return type of Dflydev\FigCookies\Cookie#getName() changed from no type to string [BC] CHANGED: The return type of Dflydev\FigCookies\Cookie#getValue() changed from no type to ?string [BC] CHANGED: The return type of Dflydev\FigCookies\Cookie#withValue() changed from no type to Dflydev\FigCookies\Cookie [BC] CHANGED: The parameter $value of Dflydev\FigCookies\Cookie#withValue() changed from no type to a non-contravariant ?string [BC] CHANGED: The parameter $value of Dflydev\FigCookies\Cookie#withValue() changed from no type to ?string [BC] CHANGED: The return type of Dflydev\FigCookies\Cookie#__toString() changed from no type to string [BC] CHANGED: The return type of Dflydev\FigCookies\Cookie::create() changed from no type to Dflydev\FigCookies\Cookie [BC] CHANGED: The parameter $name of Dflydev\FigCookies\Cookie::create() changed from no type to a non-contravariant string [BC] CHANGED: The parameter $value of Dflydev\FigCookies\Cookie::create() changed from no type to a non-contravariant ?string [BC] CHANGED: The parameter $name of Dflydev\FigCookies\Cookie::create() changed from no type to string [BC] CHANGED: The parameter $value of Dflydev\FigCookies\Cookie::create() changed from no type to ?string [BC] CHANGED: The return type of Dflydev\FigCookies\Cookie::listFromCookieString() changed from no type to array [BC] CHANGED: The parameter $string of Dflydev\FigCookies\Cookie::listFromCookieString() changed from no type to a non-contravariant string [BC] CHANGED: The parameter $string of Dflydev\FigCookies\Cookie::listFromCookieString() changed from no type to string [BC] CHANGED: The return type of Dflydev\FigCookies\Cookie::oneFromCookiePair() changed from no type to Dflydev\FigCookies\Cookie [BC] CHANGED: The parameter $string of Dflydev\FigCookies\Cookie::oneFromCookiePair() changed from no type to a non-contravariant string [BC] CHANGED: The parameter $string of Dflydev\FigCookies\Cookie::oneFromCookiePair() changed from no type to string [BC] CHANGED: The return type of Dflydev\FigCookies\FigRequestCookies::get() changed from no type to Dflydev\FigCookies\Cookie [BC] CHANGED: The parameter $name of Dflydev\FigCookies\FigRequestCookies::get() changed from no type to a non-contravariant string [BC] CHANGED: The parameter $value of Dflydev\FigCookies\FigRequestCookies::get() changed from no type to a non-contravariant ?string [BC] CHANGED: The parameter $name of Dflydev\FigCookies\FigRequestCookies::get() changed from no type to string [BC] CHANGED: The parameter $value of Dflydev\FigCookies\FigRequestCookies::get() changed from no type to ?string [BC] CHANGED: The return type of Dflydev\FigCookies\FigRequestCookies::set() changed from no type to Psr\Http\Message\RequestInterface [BC] CHANGED: The return type of Dflydev\FigCookies\FigRequestCookies::modify() changed from no type to Psr\Http\Message\RequestInterface [BC] CHANGED: The parameter $name of Dflydev\FigCookies\FigRequestCookies::modify() changed from no type to a non-contravariant string [BC] CHANGED: The parameter $modify of Dflydev\FigCookies\FigRequestCookies::modify() changed from no type to a non-contravariant callable [BC] CHANGED: The parameter $name of Dflydev\FigCookies\FigRequestCookies::modify() changed from no type to string [BC] CHANGED: The parameter $modify of Dflydev\FigCookies\FigRequestCookies::modify() changed from no type to callable [BC] CHANGED: The return type of Dflydev\FigCookies\FigRequestCookies::remove() changed from no type to Psr\Http\Message\RequestInterface [BC] CHANGED: The parameter $name of Dflydev\FigCookies\FigRequestCookies::remove() changed from no type to a non-contravariant string [BC] CHANGED: The parameter $name of Dflydev\FigCookies\FigRequestCookies::remove() changed from no type to string [BC] CHANGED: The return type of Dflydev\FigCookies\SetCookies#has() changed from no type to bool [BC] CHANGED: The parameter $name of Dflydev\FigCookies\SetCookies#has() changed from no type to a non-contravariant string [BC] CHANGED: The parameter $name of Dflydev\FigCookies\SetCookies#has() changed from no type to string [BC] CHANGED: The return type of Dflydev\FigCookies\SetCookies#get() changed from no type to ?Dflydev\FigCookies\SetCookie [BC] CHANGED: The parameter $name of Dflydev\FigCookies\SetCookies#get() changed from no type to a non-contravariant string [BC] CHANGED: The parameter $name of Dflydev\FigCookies\SetCookies#get() changed from no type to string [BC] CHANGED: The return type of Dflydev\FigCookies\SetCookies#getAll() changed from no type to array [BC] CHANGED: The return type of Dflydev\FigCookies\SetCookies#with() changed from no type to Dflydev\FigCookies\SetCookies [BC] CHANGED: The return type of Dflydev\FigCookies\SetCookies#without() changed from no type to Dflydev\FigCookies\SetCookies [BC] CHANGED: The parameter $name of Dflydev\FigCookies\SetCookies#without() changed from no type to a non-contravariant string [BC] CHANGED: The parameter $name of Dflydev\FigCookies\SetCookies#without() changed from no type to string [BC] CHANGED: The return type of Dflydev\FigCookies\SetCookies#renderIntoSetCookieHeader() changed from no type to Psr\Http\Message\ResponseInterface [BC] CHANGED: The return type of Dflydev\FigCookies\SetCookies::fromSetCookieStrings() changed from no type to self [BC] CHANGED: The parameter $setCookieStrings of Dflydev\FigCookies\SetCookies::fromSetCookieStrings() changed from no type to a non-contravariant array [BC] CHANGED: The parameter $setCookieStrings of Dflydev\FigCookies\SetCookies::fromSetCookieStrings() changed from no type to array [BC] CHANGED: The return type of Dflydev\FigCookies\SetCookies::fromResponse() changed from no type to Dflydev\FigCookies\SetCookies [BC] CHANGED: The return type of Dflydev\FigCookies\StringUtil::splitOnAttributeDelimiter() changed from no type to array [BC] CHANGED: The parameter $string of Dflydev\FigCookies\StringUtil::splitOnAttributeDelimiter() changed from no type to a non-contravariant string [BC] CHANGED: The parameter $string of Dflydev\FigCookies\StringUtil::splitOnAttributeDelimiter() changed from no type to string [BC] CHANGED: The return type of Dflydev\FigCookies\StringUtil::splitCookiePair() changed from no type to array [BC] CHANGED: The parameter $string of Dflydev\FigCookies\StringUtil::splitCookiePair() changed from no type to a non-contravariant string [BC] CHANGED: The parameter $string of Dflydev\FigCookies\StringUtil::splitCookiePair() changed from no type to string [BC] CHANGED: The return type of Dflydev\FigCookies\SetCookie#getName() changed from no type to string [BC] CHANGED: The return type of Dflydev\FigCookies\SetCookie#getValue() changed from no type to ?string [BC] CHANGED: The return type of Dflydev\FigCookies\SetCookie#getExpires() changed from no type to int [BC] CHANGED: The return type of Dflydev\FigCookies\SetCookie#getMaxAge() changed from no type to int [BC] CHANGED: The return type of Dflydev\FigCookies\SetCookie#getPath() changed from no type to ?string [BC] CHANGED: The return type of Dflydev\FigCookies\SetCookie#getDomain() changed from no type to ?string [BC] CHANGED: The return type of Dflydev\FigCookies\SetCookie#getSecure() changed from no type to bool [BC] CHANGED: The return type of Dflydev\FigCookies\SetCookie#getHttpOnly() changed from no type to bool [BC] CHANGED: The return type of Dflydev\FigCookies\SetCookie#withValue() changed from no type to self [BC] CHANGED: The parameter $value of Dflydev\FigCookies\SetCookie#withValue() changed from no type to a non-contravariant ?string [BC] CHANGED: The parameter $value of Dflydev\FigCookies\SetCookie#withValue() changed from no type to ?string [BC] CHANGED: The return type of Dflydev\FigCookies\SetCookie#withExpires() changed from no type to self [BC] CHANGED: The return type of Dflydev\FigCookies\SetCookie#rememberForever() changed from no type to self [BC] CHANGED: The return type of Dflydev\FigCookies\SetCookie#expire() changed from no type to self [BC] CHANGED: The return type of Dflydev\FigCookies\SetCookie#withMaxAge() changed from no type to self [BC] CHANGED: The parameter $maxAge of Dflydev\FigCookies\SetCookie#withMaxAge() changed from no type to a non-contravariant ?int [BC] CHANGED: The parameter $maxAge of Dflydev\FigCookies\SetCookie#withMaxAge() changed from no type to ?int [BC] CHANGED: The return type of Dflydev\FigCookies\SetCookie#withPath() changed from no type to self [BC] CHANGED: The parameter $path of Dflydev\FigCookies\SetCookie#withPath() changed from no type to a non-contravariant ?string [BC] CHANGED: The parameter $path of Dflydev\FigCookies\SetCookie#withPath() changed from no type to ?string [BC] CHANGED: The return type of Dflydev\FigCookies\SetCookie#withDomain() changed from no type to self [BC] CHANGED: The parameter $domain of Dflydev\FigCookies\SetCookie#withDomain() changed from no type to a non-contravariant ?string [BC] CHANGED: The parameter $domain of Dflydev\FigCookies\SetCookie#withDomain() changed from no type to ?string [BC] CHANGED: Default parameter value for for parameter $secure of Dflydev\FigCookies\SetCookie#withSecure() changed from NULL to true [BC] CHANGED: The return type of Dflydev\FigCookies\SetCookie#withSecure() changed from no type to self [BC] CHANGED: The parameter $secure of Dflydev\FigCookies\SetCookie#withSecure() changed from no type to a non-contravariant bool [BC] CHANGED: The parameter $secure of Dflydev\FigCookies\SetCookie#withSecure() changed from no type to bool [BC] CHANGED: Default parameter value for for parameter $httpOnly of Dflydev\FigCookies\SetCookie#withHttpOnly() changed from NULL to true [BC] CHANGED: The return type of Dflydev\FigCookies\SetCookie#withHttpOnly() changed from no type to self [BC] CHANGED: The parameter $httpOnly of Dflydev\FigCookies\SetCookie#withHttpOnly() changed from no type to a non-contravariant bool [BC] CHANGED: The parameter $httpOnly of Dflydev\FigCookies\SetCookie#withHttpOnly() changed from no type to bool [BC] CHANGED: The return type of Dflydev\FigCookies\SetCookie#__toString() changed from no type to string [BC] CHANGED: The return type of Dflydev\FigCookies\SetCookie::create() changed from no type to self [BC] CHANGED: The parameter $name of Dflydev\FigCookies\SetCookie::create() changed from no type to a non-contravariant string [BC] CHANGED: The parameter $value of Dflydev\FigCookies\SetCookie::create() changed from no type to a non-contravariant ?string [BC] CHANGED: The parameter $name of Dflydev\FigCookies\SetCookie::create() changed from no type to string [BC] CHANGED: The parameter $value of Dflydev\FigCookies\SetCookie::create() changed from no type to ?string [BC] CHANGED: The return type of Dflydev\FigCookies\SetCookie::createRememberedForever() changed from no type to self [BC] CHANGED: The parameter $name of Dflydev\FigCookies\SetCookie::createRememberedForever() changed from no type to a non-contravariant string [BC] CHANGED: The parameter $value of Dflydev\FigCookies\SetCookie::createRememberedForever() changed from no type to a non-contravariant ?string [BC] CHANGED: The parameter $name of Dflydev\FigCookies\SetCookie::createRememberedForever() changed from no type to string [BC] CHANGED: The parameter $value of Dflydev\FigCookies\SetCookie::createRememberedForever() changed from no type to ?string [BC] CHANGED: The return type of Dflydev\FigCookies\SetCookie::createExpired() changed from no type to self [BC] CHANGED: The parameter $name of Dflydev\FigCookies\SetCookie::createExpired() changed from no type to a non-contravariant string [BC] CHANGED: The parameter $name of Dflydev\FigCookies\SetCookie::createExpired() changed from no type to string [BC] CHANGED: The return type of Dflydev\FigCookies\SetCookie::fromSetCookieString() changed from no type to self [BC] CHANGED: The parameter $string of Dflydev\FigCookies\SetCookie::fromSetCookieString() changed from no type to a non-contravariant string [BC] CHANGED: The parameter $string of Dflydev\FigCookies\SetCookie::fromSetCookieString() changed from no type to string [BC] CHANGED: The return type of Dflydev\FigCookies\FigResponseCookies::get() changed from no type to Dflydev\FigCookies\SetCookie [BC] CHANGED: The parameter $name of Dflydev\FigCookies\FigResponseCookies::get() changed from no type to a non-contravariant string [BC] CHANGED: The parameter $value of Dflydev\FigCookies\FigResponseCookies::get() changed from no type to a non-contravariant ?string [BC] CHANGED: The parameter $name of Dflydev\FigCookies\FigResponseCookies::get() changed from no type to string [BC] CHANGED: The parameter $value of Dflydev\FigCookies\FigResponseCookies::get() changed from no type to ?string [BC] CHANGED: The return type of Dflydev\FigCookies\FigResponseCookies::set() changed from no type to Psr\Http\Message\ResponseInterface [BC] CHANGED: The return type of Dflydev\FigCookies\FigResponseCookies::expire() changed from no type to Psr\Http\Message\ResponseInterface [BC] CHANGED: The parameter $cookieName of Dflydev\FigCookies\FigResponseCookies::expire() changed from no type to a non-contravariant string [BC] CHANGED: The parameter $cookieName of Dflydev\FigCookies\FigResponseCookies::expire() changed from no type to string [BC] CHANGED: The return type of Dflydev\FigCookies\FigResponseCookies::modify() changed from no type to Psr\Http\Message\ResponseInterface [BC] CHANGED: The parameter $name of Dflydev\FigCookies\FigResponseCookies::modify() changed from no type to a non-contravariant string [BC] CHANGED: The parameter $modify of Dflydev\FigCookies\FigResponseCookies::modify() changed from no type to a non-contravariant callable [BC] CHANGED: The parameter $name of Dflydev\FigCookies\FigResponseCookies::modify() changed from no type to string [BC] CHANGED: The parameter $modify of Dflydev\FigCookies\FigResponseCookies::modify() changed from no type to callable [BC] CHANGED: The return type of Dflydev\FigCookies\FigResponseCookies::remove() changed from no type to Psr\Http\Message\ResponseInterface [BC] CHANGED: The parameter $name of Dflydev\FigCookies\FigResponseCookies::remove() changed from no type to a non-contravariant string [BC] CHANGED: The parameter $name of Dflydev\FigCookies\FigResponseCookies::remove() changed from no type to string [BC] CHANGED: The return type of Dflydev\FigCookies\Cookies#has() changed from no type to bool [BC] CHANGED: The parameter $name of Dflydev\FigCookies\Cookies#has() changed from no type to a non-contravariant string [BC] CHANGED: The parameter $name of Dflydev\FigCookies\Cookies#has() changed from no type to string [BC] CHANGED: The return type of Dflydev\FigCookies\Cookies#get() changed from no type to ?Dflydev\FigCookies\Cookie [BC] CHANGED: The parameter $name of Dflydev\FigCookies\Cookies#get() changed from no type to a non-contravariant string [BC] CHANGED: The parameter $name of Dflydev\FigCookies\Cookies#get() changed from no type to string [BC] CHANGED: The return type of Dflydev\FigCookies\Cookies#getAll() changed from no type to array [BC] CHANGED: The return type of Dflydev\FigCookies\Cookies#with() changed from no type to Dflydev\FigCookies\Cookies [BC] CHANGED: The return type of Dflydev\FigCookies\Cookies#without() changed from no type to Dflydev\FigCookies\Cookies [BC] CHANGED: The parameter $name of Dflydev\FigCookies\Cookies#without() changed from no type to a non-contravariant string [BC] CHANGED: The parameter $name of Dflydev\FigCookies\Cookies#without() changed from no type to string [BC] CHANGED: The return type of Dflydev\FigCookies\Cookies#renderIntoCookieHeader() changed from no type to Psr\Http\Message\RequestInterface [BC] CHANGED: The return type of Dflydev\FigCookies\Cookies::fromCookieString() changed from no type to self [BC] CHANGED: The parameter $string of Dflydev\FigCookies\Cookies::fromCookieString() changed from no type to a non-contravariant string [BC] CHANGED: The parameter $string of Dflydev\FigCookies\Cookies::fromCookieString() changed from no type to string [BC] CHANGED: The return type of Dflydev\FigCookies\Cookies::fromRequest() changed from no type to Dflydev\FigCookies\Cookies -
#31 A new abstraction was
introduced to supportSameSite=LaxandSameSite=StrictSet-Cookieheader modifiers.
Deprecated
- Nothing.
Removed
- Nothing.
Fixed
-
-
v1.0.228 Mar 2016Nothing published for this version
-
v1.0.103 Jun 2015Nothing published for this version
-
v1.0.003 Jun 2015Nothing published for this version