-
v1.5.2 March 21, 2013
- Backbone peerDependency now supports any version
- Tested again Backbone.js v1.0.0
- Re-compiled with CoffeeScript 1.6.2 from 1.4.0
-
v1.5.1 January 24, 2013
- Support for Backbone v0.9.10
- Closes pull request #21 thanks to Nicholas Firth-McCoy
- Added backbone as a peerDependency
- Support for Backbone v0.9.10
-
v1.5.0 December 14, 2012
- Removed backbone dependency, should now be handled by the parent project
- Added support for Backbone v0.9.9 - backbone issue #1922 broke it
-
v1.4.1 December 14, 2012
- Changed backbone dependency version from
0.9.x
to0.9.2
due to the b/c break
- Changed backbone dependency version from
-
v1.4.0 November 5, 2012
- Speed improvements
- We now do compiled queries
- Got rid of underscore dependency (still used in tests)
- Backbone dependency is now optional on the client side
- Backbone is required for the
QueryCollection
class
- Backbone is required for the
Criteria
changes:- Constructor now accepts criteria options
applyCriteria
renamed toapplyCriteriaOptions
- Added
extractCriteriaOptions(criteriaOptions)
queryEngine
changes:- Added
setQuerySelector(selectorId, selectorObject)
so you can add your own custom query selectors - Added
testModels(models,criteriaOptions)
so you can query standard javascript objects without backbone
- Added
-
v1.3.1 October 29, 2012
- Fixed searching for
false
- Thanks to Andrew Shults for pull request #17
- Fixed searching for
-
v1.3.0 October 29, 2012
- Memory improvements
- Speed improvements
- Moved query criteria out of
QueryCollection
into newCriteria
classQueryCollection
injects theCriteria
prototype methods to stay backwards compatible- Introduced
Criteria::testModels
which is the same asquery
but returns the results instead of applying them
QueryCollection
changes:findAll
,findAllLive
,findOne
andquery
can now accept aCriteria
object in addition to what they could accept before- Added
queryModels
andqueryArray
that accept the same arguments asfindAll
,findAllLive
andfindOne
- Updated dependencies:
- underscore 1.4.x from 1.3.x
- Updated dev dependencies:
- coffee-script 1.4.x from 1.3.x
- joe 1.1.x from 1.0.x
-
v1.2.7 August 10, 2012
- Re-added markdown files to npm distribution as they are required for the npm website
-
v1.2.6 July 24, 2012
- When a pill value receives
true
,false
, ornull
as a string we will convert it to the non-string equivalent safeRegex
will now handle the non-string values oftrue
,false
andnull
properly
- When a pill value receives
-
v1.2.5 July 24, 2012
- Query Engine now handles
null
values correctly
- Query Engine now handles
-
v1.2.4 July 23, 2012
- Fixed trickling of change events from parent collection to child collections
- Before if a distant parent collection had a change event that removed or added the model from that event, that change would not be reflected in a distant child collection
- Fixed trickling of change events from parent collection to child collections
-
v1.2.3 July 18, 2012
- Fixed strings in some environments being split into arrays when using
$has
and$in
- Fixed strings in some environments being split into arrays when using
-
v1.2.2 June 21, 2012
- Added
$like
,$likeSensitive
,$bt
,$bte
,$eq
,$mod
, and$not
queries - Added paging
- Added
-
v1.2.1 June 21, 2012
- Added
QueryCollection::findAllLive(query,[comparator])
shortcut forQueryCollection::createLiveChildCollection().setQuery('find',query).setComparator(comparator).query()
QueryCollection::findAll
andQueryCollection::findOne
now support an optionalcomparator
argument as the second argument- QueryEngine comparators are now supported for
- comparators passed through options
- comparator prototype property on your own custom
QueryCollection
instance
- Added
-
v1.2.0 June 16, 2012
- You can now pass the standard
models
, andoptions
arguments toQueryCollection::createChildCollection
andQueryCollection::createLiveChildCollection
- If
options.collection
is specified when creating a child collection, it will be used as the child collectiont type - Restructured directories and files
- Cleaned up demos and added two new demos: search and visual search
- Updated search string syntax to be compliant with Visual Search's search string syntax
- Adds support for quotes when using pills, e.g.
user:"Benjamin Lupton"
- Adds support for using pills of the same name multiple times, e.g.
tag:node tag:query
- Whether this ORs or ANDs is customisable via the pill's
logicalOperator
which can beAND
orOR
(defaults toOR
)
- Whether this ORs or ANDs is customisable via the pill's
- Adds support for quotes when using pills, e.g.
- Moved tests from Mocha to Joe
- Added browser tests
- You can now pass the standard
-
v1.1.14 June 5, 2012
- Fixed using arrays in
queryEngine.generateComparator
- Fixed using arrays in
-
v1.1.13 May 30, 2012
- Made the query source code a bit more readable
- Fixed
$nor
,$or
, and$and
queries- They also now support objects (instead of just arrays) as their values
- Added
queryEngine.toArrayGroup
which returns an array, with an array item for each key-value pair in the object
-
v1.1.12 May 17, 2012
- You can now specify the
collection
property inside your custom collection classes- If specified, it will be used as the class for child collections
- You can now specify the
-
v1.1.11 May 17, 2012
- We now throw errors if
QueryCollection::setFilter
,QueryCollection::setQuery
, andQueryCollection::setPill
are called without both arguments
- We now throw errors if
-
v1.1.10 May 17, 2012
- Added sorting on change events if the collection is live
- Fixed sorting by a value that could be 0
-
v1.1.9 May 17, 2012
- Added
queryEngine.generatorComparator
QueryCollection::setComparator
QueryCollection::sortCollection
- When creating a child collection, the parent collection's comparator will now be copied over
- Comparators can now be arrays of comparators too
- Added
-
v1.1.8 May 15, 2012
- Fixed boolean comparison
- Now uses CoffeeScripts
extends
rather thanBackbone.extend
-
v1.1.6 May 8, 2012
- Cleaned the code up a little bit
- Aliases
$beginsWith
with$startsWith
, and$endsWith
with$finishesWith
- Which all now support array values, e.g.
something: $beginsWith: ['a','b','c']
- Which all now support array values, e.g.
- Exposes the used Backbone.js module through
queryEngine.Backbone
- You should use this instead of including your own backbone module due to this bug in Backbone.js
-
v1.1.4 and v1.1.5
- Bugfixes
-
v1.1.3 April 19, 2012
- For development, we've added CoffeeScript as a
devDependency
and addedmake dev
to keep the compiled Query-Engine up to date using it - Query-Engine for Node now includes the compiled Query-Engine code, rather than the source CoffeeScript version
- This means you no longer have to
require('coffee-script')
just to use Query-Engine with Node
- This means you no longer have to
- Thanks to Farid Neshat for the pull requests
- For development, we've added CoffeeScript as a
-
v1.1.2 April 6, 2012
- Fixed
reset
on a parent collection not triggering the appropriate handler for a live child collection- Thanks to Nicholas Firth-McCoy
- Updated the demo with better styling and horizontal columns now instead of vertical
- Added way more unit tests for live parent collections and live events
- Added
createLiveChildCollection
toQueryCollection
- Fixed
-
v1.1.1 April 2, 2012
- Fixed the ability to specify filters, queries and pills via
options
- Fixed an issue with pills and searching
- Fixed the ability to specify filters, queries and pills via
-
v1.1.0 April 2, 2012
- Upgraded Mocha to v1.0.0 from v0.14.0
- Updated Backbone.js to 0.9.2 from 0.9.1
- Merged
BaseCollection
andLiveCollection
intoQueryCollection
- Added
live([true/false])
toQueryCollection
- Use this to subscribe to events on your collection and parent collection
- Renamed
createLiveCollection
tocreateChildCollection
onQueryCollection
- Renamed
find
tofindAll
onQueryCollection
to not conflict with Backbone's find command
-
v1.0.0 March 14, 2012
- Large rewrite, and backwards compatibility breaking release
- Introduces the dependencies:
- Introduces these features:
- Live Collections
- Live Collections, instead of re-querying everything when something changes, instead we test a model when it is added or changed. This means that our live collections are always in the correct state, and update dynamicly.
- They also support binding to a parent collection
- Queries
- These are the v0.x NoSQL type queries
- Filters
- These are custom functions that will fire and test the models
- Searching
- You can now do text based searches against collections, the search string is passed to the filters
- Pills
- For text based searches we allow for the concept of pills, e.g.
user:ben status:awesome
- For text based searches we allow for the concept of pills, e.g.
- Live Collections
- Other changes:
- New demo page allows you to modify the actual code that performs the query, instead of just the query itself
-
v0.6.0 February 11, 2012
-
v0.5.4 January 26, 2012
- Fixed
$nin
- Added
$beginsWith
and$endsWith
- Fixed
-
v0.5.3 November 2, 2011
$in
and$all
have had considerable improvements and fixes- Fixed npm web to url warnings
- Fixed demo
-
v0.5.2 September 5, 2011
- Array prototype is no longer extended by default. Introduces
queryEngine.Hash
as the extender.
- Array prototype is no longer extended by default. Introduces
-
v0.5.1 August 14, 2011
- Fixed date comparisons and added some date tests
-
v0.5.0 August 13, 2011
- Added client side demo
- Added
queryEngine.Collection
class so it doesn't extend the object prototype by default- If you would like to still extend the object prototype you can call
queryEngine.extendNatives()
- If you would like to still extend the object prototype you can call
-
v0.4.0 August 13, 2011
- Find will now return a ID associated object always
- Before it was only doing it when the object we were finding was an ID associated object
- Now supports
$and
,$or
and$nor
, as well as$type
- Find will now return a ID associated object always
-
v0.3.0 August 11, 2011
- Now supports models as well as native javascript objects
- This was done by checking if the record has a
get
function, if it does then we use that instead of directly accessing the field from the object
- This was done by checking if the record has a
- Now supports models as well as native javascript objects
-
v0.2 July 6, 2011
- Added toArray, sort, findOne, remove, forEach
-
v0.1 July 6, 2011
- Initial commit