Releases: libgraviton/rql-parser
Releases · libgraviton/rql-parser
v3.0.1
v3.0.0
This repository has been moved to the libgraviton organization - as it was initially created for https://github.com/libgraviton/graviton. Its license has been changed to MIT.
We are not quite aware how much usage this package has. It is possible that this packaged will be abandoned and merged with https://github.com/libgraviton/php-rql-parser in order to fulfill our needs and to ease maintenance.
If you don't want this, please create an issue so we are aware that outside users are actually using this. Please tell why you don't want the merge.
Features in this release
- Minimum PHP requirement raised to 7.2.*
- Implement
toRql()
on allAbstractNode
objects. This allows to go backwards and create a fully valid RQL query string from aQuery
instance. - Allow for timezone aware
DateTime
queries - Timezones passed in Queries will now be correctly reflected in the resultingDateTime
instance.
Breaking changes
- The namespace has been changed. It now lives in
Graviton\RqlParser
. If you used the package before, you can just replaceXiag\Rql\Parser
withGraviton\RqlParser
- All custom
AbstractNode
implementations need to implement the newtoRql()
function - the RQL string that equals to the Node generated.
v2.0.0
The main goal of this release is to make the parser more flexible and more extendable.
The new parser is not compatible with the 1.x
versions. So please make sure you don't use *
in your composer.json
.
Breaking changes
Xiag\Rql\Parser\Node\Query\LogicOperator
namespace has been renamed toXiag\Rql\Parser\Node\Query\LogicalOperator
Xiag\Rql\Parser\TokenParser
namespace has been renamed toXiag\Rql\Parser\NodeParser
Xiag\Rql\Parser\Parser::createDefault()
has been removed in favor of the default constructornew Xiag\Rql\Parser\Parser()
Xiag\Rql\Parser\Parser\DataType\DateTime
has been removed in favor of\DateTime
true
,false
,null
type guessing has been removed. Use the values functions instead- Date type (without time) has been removed. Use dateime
YYYY-MM-DD\Thh:mm:ss\Z
instead (here's an example how to add it) - The minimal PHP version has been increased to 5.5
New features
Lexer
andParser
have become more flexible. Look at the examplesglob
parsing has been completely rewritten (#1, #7)- New
Advanced usage
examples
Bugfixes
- Fixed the bug with
glob
ineq
operator (#1)