All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Path validation for JSON fields
- Helper function get current RedisJSON version + (abstraction)
- (dev) More unit tests
- (dev) Update PHP-CS-Fixer to version
3.12.0
- Documentation on paginated responses
- Throw custom exception is client is missing
- Add compatibility for Predis version 2.x
LOAD ALL
option on Aggregate command (RediSearch2.0.13
)- Profile command (RediSearch
2.2.0
) (Issue#4) - Vector feature (RediSearch
2.4.0
/2.4.2
) - Add
DIALECT
option (RediSearch2.4.3
) (Issue#35) - (dev) Add
make clean
to remove all generated files - (dev) Add code coverage to
\MacFJA\RediSearch\Index
- (dev) Add integration test for document insertion
- Missing default values on highlight option (Issue#38)
- Don't throw an exception if the result of the index definition is incorrect (Issue#46)
- Phpredis extension don't return raw response (Issue#46)
- Error with version reading if
MODULE LIST
command is protected (PR#42)
- Rework paginated responses
- Add warning for Predis commands initialization
- Lazy load RediSearch version and index information in
\MacFJA\RediSearch\Index
- Allow to provide RediSearch version manually to
\MacFJA\RediSearch\Index
- (dev) Remove deprecated
--no-suggest
option of Composer in theMakefile
- (dev) Update PHP-CS-Fixer version
\MacFJA\RediSearch\Redis\Response\AggregateResponseItem::getValue
(use\MacFJA\RediSearch\Redis\Response\AggregateResponseItem::getFieldValue
instead)
- Allow Phpredis raw command to have 0 arguments (Issue#39)
- (dev) Update version and rules of PHP-CS-Fixer and PHPStan
- Summarize Search option enabled by default (without possibility to disable it) (Issue#26)
- Highlight Search option enabled by default (without possibility to disable it) (Issue#26)
- Fix error when parsing response from Search with NOCONTENT flag
- Make PaginatedResponse
valid
iterator function work
- Support from JSON document (require RediSearch 2.2)
- (dev) GitHub Actions
- Protection against division by 0
- (dev) Code coverage with XDebug 3
- (dev) Defined list of allowed Composer plugins
- Fix
PaginatedResponse
index (now start at 0, and have a linear progression)
reset
method for builder (\MacFJA\RediSearch\IndexBuilder
and\MacFJA\RediSearch\Query\Builder
)- Allow PHP 8.0
- (dev) Allow
podman
(in addition todocker
) as container runner for integration test
APPLY
option of Aggregate command is now dependent of the last inserted option (if the option have a meaning forAPPLY
)- (dev) Update
phpstan
(from0.12
to1.2
)
- Fix the
APPLY
option of the Aggregate command
- (doc) Fix GPS coordinate (should be longitude first)
AmpRedisClient
pipeline not sequential
- Allow multiple connector for Redis (PR#17)
- Allow specific feature of RediSearch depending of its version (Issue#6)
- Add more language (Issue#5)
- Add more language (Issue#5)
- Add
SORTABLE
flag onGEO
field (Issue#5) - Add
CASESENSITIVE
flag on fields (Issue#5) - Add
UNF
flag on fields (Issue#5)
- Remove hard dependency on Predis (Issue#16)
- Full rework of the library
- Implementation of SLOP parameter (PR#8)
- Correctly handle Search result with NoContent flag (Issue#9, Issue#10, PR#13)
- Don't double % in fuzzy search (Issue#11, PR#14)
- Fix exact match not used inside text facet (Issue#12, PR#15)
- (dev) Fix missing
@uses
in Unit Test
- Shorthand for Reducer functions
- Add Deprecated section in
CHANGELOG.md
- Add Redis pipeline support
- Prefix properties name with
@
in Aggregation's SortBy (keep BC) - Add more unit tests (Aggregation options, Field creation, DataHelper, RedisHelper)
- (dev) Add mutation testing
- Allow
GROUPBY
with no properties - Allow
GROUPBY
with no reducers - (dev) Replace
php-parallel-lint
lib. - (dev) Add Php-Cs-Fixer on
tests/
- (dev) Improve Makefile
- Fix namespace of tests
- Aggregation result can now be an array
- Fix Index builder options not preserved (PR#3)
- Aggregation SortBy allow 0 (not limit) as value for Max
- Fix helper removing "nullish" values (
array_filter
is too lax by default) - Fix order in fields creation not being correct
- Don't allow empty facet in search query
MacFJA\RediSearch\Aggregate\Exception\NotEnoughPropertiesException
MacFJA\RediSearch\Aggregate\Exception\NotEnoughReducersException
- Bad copy/paste in the README file
- Allow
null
value in Aggregate result - Use correct namespace in the README file
- Detection of syntax error from Redis response
- Allow multiple level of fuzziness
- Escape values in the query builder
- Wrong output of the NumericFacet (Issue#2, PR#1)
- Missing Composer plugin
- Missing
getSeperator
method inTagField
- Missing total number of result
- Fix typo in search parameter (
RETURN
) - Fix prefixes data from index information
- Unit test on NumericFacet (PR#1)
- Index stats can return fields as object.
- Fields implements Comparable interface
- Paginate results.
- Syntax error detection in search.
- Rename
Index::addFromArray
toIndex::addDocumentFromArray
for consistency (Depreciation, keeping BC) - Rename namespace from
MacFJA\RedisSearch
toMacFJA\RediSearch
(Depreciation, keeping BC) - Uniformize Builder interface (Deprecation, keeping BC)
- The whole namespace
MacFJA\RedisSearch
(replaced byMacFJA\RediSearch
) MacFJA\RediSearch\Aggregate::aggregate
MacFJA\RediSearch\Index::addFromArray
MacFJA\RediSearch\Index\Builder::create
MacFJA\RediSearch\Search::search
1.0.0 - 2020-12-05
First version