- raised minimum required PHP version to 8.2
- removed classes and methods deprecated since 7.0.0
stubbles\input\Param
stubbles\input\ValueReader::forParam()
stubbles\input\broker\param\ParamBroker::procureParam()
stubbles\input\broker\param\CustomDatespanParamBroker::procureParam()
stubbles\input\broker\param\ultipleSourceParamBroker::procureParam()
stubbles\input\filter\range\StringLength::truncate()
now throws an\ValueError
instead of an\InvalidArgumentException
- added more phpstan related type hints
- fixed minor bugs due to type offenses
- Fixed problem that setting
stubbles.locale
to something likede_DE
didn't fall back to using messages withde_*
- raised minimum required PHP version to 7.3
stubbles\input\broker\RequestBroker::procure()
doesn't return the given and procured object instance any morestubbles\input\filter\range\StringLength
doesn't support instances ofstubbles\values\Secret
any morestubbles\input\ValueReader::asSecret()
doesn't take astubbles\input\filter\range\StringLength
any more butstubbles\input\filter\range\SecretMinLength
@Request[Secret]
doesn't support themaxLength
attribute any more@Request[OneOf]
will throw an exception when callback specified withallowedSource
doesn't exist or isn't callable
- raised minimum required PHP version to 7.0.0
- introduced scalar type hints and strict type checking
- renamed
stubbles\input\AbstractRequest
tostubbles\input\ParamRequest
- removed methods deprecated in 6.0.0
stubbles\input\ValueReader::asSecureString()
, usestubbles\input\ValueReader::asSecret()
insteadstubbles\input\ValueReader::ifSatisfiesRegex()
, usestubbles\input\ValueReader::ifMatches()
insteadstubbles\input\ValueValidator::satisfiesRegex()
, usestubbles\input\ValueValidator::matches()
instead
- removed support for
@Request[SecureString]
, use@Request[Secret]
instead, was deprecates in 6.0.0 stubbles\input\Filter
is now an abstract class, not an interfacestubbles\input\Filter::apply()
now acceptsstubbles\values\Value
instead ofstubbles\input\Param
and must return anarray
- fixed bug that
stubbles\input\ValueReader::asSecret()
removed some characters - added optional parameter
$checkdnsrr
forstubbles\input\ValueReader::asExistingHttpUri()
to influence which function is used for dns checks
- Raised minimum required PHP version to 5.6
- deprecated
stubbles\input\ValueReader::asSecureString()
, usestubbles\input\ValueReader::asSecret()
instead, will be removed with 7.0.0 - deprecated
@Request[SecureString]
, use@Request[Secret]
instead, will be removed with 7.0.0 - removed
stubbles\input\ValueReader::asEnum()
- deprecated
stubbles\input\ValueReader::ifSatisfiesRegex()
, usestubbles\input\ValueReader::ifMatches()
instead, will be removed with 7.0.0 - deprecated
stubbles\input\ValueValidator::satisfiesRegex()
, usestubbles\input\ValueValidator::matches()
instead, will be removed with 7.0.0 - removed support for
@Request[File]
and@Request[Directory]
- removed
stubbles\input\ValueReader::ifIsFile()
andstubbles\input\ValueReader::ifIsDirectory()
- moved
stubbles\input\console\ConsoleRequest
tostubbles\console\input\ConsoleRequest
in stubbles/console - moved
stubbles\input\console\BaseConsoleRequest
tostubbles\console\input\BaseConsoleRequest
in stubbles/console
stubbles\input\ValueReader::asJson()
now allows to specify the allowed maximum length of the JSON input- added proper error message texts for JSON filter errors
JSON_INPUT_TOO_BIG
,JSON_INVALID
andJSON_SYNTAX_ERROR
stubbles\input\broker\RequestBroker::procure()
now returns the procured object
- allow retrieval from code source for @Request[OneOf] with new attribute
allowedSource
- added
stubbles\input\errors\ParamError::details()
- removed
stubbles\input\web
, deprecated since 4.4.0 - upgrade stubbles/core to 6.0
- added
stubbles\input\filter\EnumFilter
- added
stubbles\input\ValueReader::asEnum()
- added
stubbles\input\broker\param\EnumParamBroker
- allowed serialization of param errors to JSON
- added
stubbles\input\filter\WeekFilter
- added
stubbles\input\ValueReader::asWeek()
- added
stubbles\input\broker\param\WeekParamBroker
- deprecated
stubbles\input\web
, use request implementation in stubbles/webapp-core instead, will be removed with 5.0.0
- added
stubbles\input\ValueValidator::containsAnyOf()
- added
stubbles\input\broker\param\MonthParamBroker
- added
stubbles\input\broker\param\DatespanParamBroker
- added
stubbles\input\ValueReader::asDatespan()
- upgraded stubbles/core to 5.3
- upgraded stubbles/date to 5.2
- added
stubbles\input\web\WebRequest::id()
which reads the value of an X-Request-ID header or generates a random value in case the header is missing or invalid stubbles\input\web\WebRequest::uri()
now passes thestubbles\peer\MalformedUriException
instead of turning it into a\RuntimeException
- implemented #66: Add warning when user agent injection is used
- upgraded stubbles/core to 5.1
- fixed issue #68: message of RuntimeException in WebRequest::uri() should contain exception message of catched exception
- implemented issue #65
- added
stubbles\input\web\WebRequest::userAgent()
- deprecated user agent injection using
stubbles\input\web\useragent\UserAgentProvider
, will be removed with 5.0.0
- added
- updated bot signatures
- dropped DotBot
- added Bing
- added Pingdom
- added Yandex
- removed all classes, methods and functions deprecated with 3.0.0
- changed all thrown stubbles/core exceptions to those recommended with stubbles/core 5.0.0
- change of annotation value names in request broker:
name
must now beparamName
group
must now beparamGroup
description
must now beparamDescription
option
must now bevalueDescription
- upgraded stubbles/core to 5.0.0
stubbles\input\broker\RequestBroker
is now officially part of the API- casting
stubbles\input\web\useragent\UserAgent
to string now returns the actual user agent string
- upgraded stubbles/date to 5.0.0
- added
stubbles\input\web\WebRequest::hasRedirectHeader()
- added shortcuts for accessing headers where a redirect version must be preferred over the changed version
- added
stubbles\input\web\WebRequest::validateRedirectHeader()
- added
stubbles\input\web\WebRequest::readRedirectHeader()
- added
- fixed bug that
requiresValue
of request broker annotations was not true after upgrade of stubbles/core to 4.1.x
- fixed doc comments that yielded incorrect results for code completion hints
- removed namespace prefix
net
, base namespace is nowstubbles\input
only - usage of date and datespan filters now requires stubbles/date, using applications must require stubbles/date explicitly
net\stubbles\input\ValueReader::asDate()
net\stubbles\input\ValueReader::asDay()
net\stubbles\input\ValueReader::asMonth()
- removed
net\stubbles\input\Param::addErrorWithId()
, deprecated since 2.3.3 - removed
net\stubbles\input\ParamErrors::add()
, deprecated since 2.3.3 - removed
net\stubbles\input\ParamErrors::get()
, deprecated since 2.3.3 - changed how default values are set in
net\stubbles\input\ValueReader
- a default value can now be set via
net\stubbles\input\ValueReader::defaultingTo()
- all default parameters on
as*()
andifIs*()
methods have been removed - default values for
as*()
methods are now type checked, i.e. they must fit to the type later requested with the accordingas*()
method stubbles\input\ValueReader::asBool()
now returnsnull
instead offalse
when no param value set, usestubbles\input\ValueReader::defaultingTo(false)->asBool()
to retain the old behavior
- a default value can now be set via
net\stubbles\input\ValueReader::asPassword()
does not accept single config values any more, but an instance ofnet\stubbles\input\filter\PasswordChecker
- all instances that filter passwords now return an instance of
stubbles\lang\SecureString
instead of a basic stringstubbles\input\ValueReader::asPassword()
stubbles\input\filter\PasswordFilter::apply()
stubbles\input\broker\param\PasswordParamBroker::procure()
stubbles\input\broker\param\PasswordParamBroker::procureParam()
stubbles\input\ValueReader::applyFilter()
is not public any more, usestubbles\input\ValueReader::withFilter()
instead- api rework:
- deprecated
stubbles\input\Param::getName()
, usestubbles\input\Param::name()
instead, will be removed with 4.0.0 - deprecated
stubbles\input\Param::getValue()
, usestubbles\input\Param::value()
instead, will be removed with 4.0.0 - deprecated
stubbles\input\Param::getErrors()
, usestubbles\input\Param::errors()
instead, will be removed with 4.0.0 - deprecated
stubbles\input\Request::cancel()
, will be removed with 4.0.0 - deprecated
stubbles\input\Request::isCancelled()
, will be removed with 4.0.0 - deprecated
stubbles\input\Request::getMethod()
, usestubbles\input\Request::method()
instead, will be removed with 4.0.0 - deprecated
stubbles\input\ValueReader::withFunction()
, usestubbles\input\ValueReader::withCallable()
instead, will be removed with 4.0.0 - deprecated
stubbles\input\console\ConsoleRequest::getEnvNames()
, usestubbles\input\console\ConsoleRequest::envNames()
instead, will be removed with 4.0.0 - deprecated
stubbles\input\web\WebRequest::getProtocolVersion()
, usestubbles\input\web\WebRequest::protocolVersion()
instead, will be removed with 4.0.0 - deprecated
stubbles\input\web\WebRequest::getUri()
, usestubbles\input\web\WebRequest::uri()
instead, will be removed with 4.0.0 - deprecated
stubbles\input\web\WebRequest::getHeaderNames()
, usestubbles\input\web\WebRequest::headerNames()
instead, will be removed with 4.0.0 - deprecated
stubbles\input\web\WebRequest::getCookieNames()
, usestubbles\input\web\WebRequest::cookieNames()
instead, will be removed with 4.0.0 - deprecated
stubbles\input\web\useragent\UserAgent::getName()
usestubbles\input\web\useragent\UserAgent::name()
instead, will be removed with 4.0.0 - deprecated
stubbles\input\Validator
and all of its implementations:- in general use predicates delivered by stubbles/core instead
- for
stubbles\input\validator\ContainsValidator
usestubbles\predicate\Contains
- for
stubbles\input\validator\DirectoryValidator
usestubbles\predicate\IsExistingDirectory
- for
stubbles\input\validator\EqualValidator
usestubbles\predicate\Equals
- for
stubbles\input\validator\FileValidator
usestubbles\predicate\IsExistingFile
- for
stubbles\input\validator\HttpUriValidator
usestubbles\predicate\IsHttpUri
- for
stubbles\input\validator\IpV4Validator
usestubbles\predicate\IsIpV4Address
- for
stubbles\input\validator\IpV6Validator
usestubbles\predicate\IsIpV6Address
- for
stubbles\input\validator\IpValidator
usestubbles\predicate\IsIpAddress
- for
stubbles\input\validator\MailValidator
usestubbles\predicate\IsMailAddress
- for
stubbles\input\validator\PreSelectValidator
usestubbles\predicate\IsOneOf
- for
stubbles\input\validator\RegexValidator
usestubbles\predicate\Regex
- deprecated
stubbles\input\web\WebRequest::protocolVersion()
now returns an instance ofstubbles\peer\http\HttpVersion
- upgraded to stubbles/core 4.x
- added
net\stubbles\input\ValueReader::asSecureString()
- added
net\stubbles\input\filter\SecureStringFilter
net\stubbles\input\filter\range\StringLength
can also work with instances ofstubbles\lang\SecureString
- request broker now supports turning param values into instances of
stubbles\lang\SecureString
with@Request[SecureString]
- added
net\stubbles\input\filter\PasswordChecker
- request broker annotation
@Request[Password]
now supportsminLength
attribute, default value is 8 - request broker annotation
@Request[OneOf]
now throws an exception when list of allowed values is missing in annotation - changed
stubbles\input\web\WebRequest::protocolVersion()
to always report the protocol version when it can be detected, not just supported ones - added
stubbles\input\web\WebRequest::originatingIpAddress()
- added
net\stubbles\input\ValueReader::asMonth()
- raised minimum PHP version to 5.4.0
- the following methods now except anything that can be casted to an instance of
net\stubbles\lang\types\Date
vianet\stubbles\lang\types\Date::castFrom()
net\stubbles\input\ValueReader::asDate()
net\stubbles\input\filter\range\DateRange::__construct()
net\stubbles\input\filter\range\DatespanRange::__construct()
- implemented #49:
net\stubbles\input\filter\BoolFilter
should allow yes and no
- upgraded to stubbles-core 3.4.0
- fixed #45 ParamBrokerMap should work with lowercase versions of built-in types as well
- fixed #46 possibility to add param errors without creating a ParamError instance
- added
net\stubbles\input\Param::add()
now also accepts an error id instead of a ParamError instance only - added
net\stubbles\input\ParamErrors::append()
, replacesnet\stubbles\input\ParamErrors::add()
- deprecated
net\stubbles\input\ParamErrors::add()
, will be removed with 2.4.0 - deprecated
net\stubbles\input\Param::addErrorWithId()
, will be removed with 2.4.0 - added
net\stubbles\input\ParamErrors::asList()
, replacesnet\stubbles\input\ParamErrors::get()
- deprecated
net\stubbles\input\ParamErrors::get()
, will be removed with 2.4.0
- added
- fixed bug when port is also in
$_SERVER['HTTP_HOST']
because user agent sent according host header
- added
net\stubbles\input\filter\range\StringLength::truncate()
- upgraded stubbles/core to ~3.0
- change dependency to stubbles/core from 2.1.* to ~2.1
- implemented issue #33: allow usage of closures for filtering and validating
- added
net\stubbles\input\ValueReader::withFunction()
- added
net\stubbles\input\ValueValidator::withFunction()
- added
- raised stubbles-core to 2.1.*
- added
net\stubbles\input\web\BaseWebRequest::getProtocolVersion()
- added
net\stubbles\input\filter\AcceptFilter
- Initial release.