changelogs.md


masumsoft/express-cassandra

Repository  -  API  -  Source

2.5.0

October 8, 2020

Added

  • Added support for per partition limit operator

Security

  • Upgraded package dependencies to resolve vulnerability in a dependent package

2.4.0

July 27, 2020

Changed

  • Allow additional control in janusgraph configuration

Fixed

  • Unset primary key error thrown for non primary keys when key is a substring of the primary key

Security

  • Upgraded package dependencies to resolve vulnerability in a dependent package

2.3.2

September 20, 2019

Fixed

  • schema mismatch for materialized views with multiple filters
  • generated query clauses contained extra spaces

2.3.1

September 20, 2019

Fixed

  • ttl queries were not prepared properly

Security

  • Upgraded package dependencies to resolve vulnerability

2.3.0

December 29, 2018

Added

  • Support for group by queries

Fixed

  • Improved error message to contain which field has an invalid type
  • Improved documentation with usage example of NetworkTopologyStrategy

2.2.4

October 4, 2018

Fixed

  • Field type validation message display undefined value when invalid type is used

Security

  • Upgraded locked package dependencies to resolve vulnerability in a dependent package

2.2.3

July 10, 2018

Fixed

  • Auto timestamp and version fields are not working properly if used in index and materialized views

2.2.2

June 17, 2018

Fixed

  • UDF and UDA with multiple parameters not parsed correctly and behaves like select *
  • Virtual fields that set value of another field does not work while creating model instance

2.2.1

June 17, 2018

Fixed

  • Frozen set collections that uses UDTs are not normalized properly and throws schemamismatch error

2.2.0

February 3, 2018

Changed

  • Separate index per table for elassandra instead of a single index for the whole keyspace. This fixes conflicts where the same fieldname with different datatypes exists in different tables. The index names are now of the format: keyspaceName_tableName

2.1.1

January 5, 2018

Fixed

  • Reserved keywords not quoted in materialized view where query
  • Some query options were missing in options normalizer

2.1.0

December 13, 2017

Added

  • Support for materialized view filters added in cassandra 3.10.

Changed

  • SyncDB callback now informs whether any db schema was updated. It returns true if any db schema was updated and false if no schema change was detected.

Fixed

  • Unexpected pause behaviour in fixture import json streamer

2.0.0

November 10, 2017

Breaking

  • Hooks api has some major changes about how it works. Hooks are no longer asynchronous functions. Instead of callback based error or success to control the corresponding operation, it now requires to return true or false instead. This API change helped us to eliminate some major issues related to hooks and hope to prevent future inconsistencies with it.
  • Custom schema load and sync has been decoupled and the api changed significantly for good. You can now load the schema and syncDB seperately. You have complete control over loading a schema instance and syncing the schema with cassandra. Also calling the init function is now optional.

Added

  • Support for automatic elasticsearch index management and search analytics for Elassandra users
  • Support for automatic graph management and gremlin graph traversals for JanusGraph users
  • Support for auto timestamp and versioning fields. This enables automatic creation and management of versionKey, createdAt and updatedAt fields in cassandra against a schema
  • Support for export/import of data from cassandra to fixture json files
  • Added get_table_name function for model instances
  • Added docs and tests for db_function support

Changed

  • Signifant performance improvement in ORM batches and importer
  • Major refactoring to organise the codebase to keep it maintainable.
  • Upgraded eslint to version 4
  • try-catch instead of try-require for optional modules
  • createTable, createKeyspace are now optional and defaults to true

Fixed

  • Buggy alter logic for materialized views, fixes migration hang issues
  • Unable to query indexed map with multiple entries
  • CamelCased frozen typeDef for UDT incorrectly detect schema mismatch

1.10.0

September 6, 2017

Changed

  • Removing dse-driver due to license issues. Datastax enterprise users now need to install dse-driver along with express-cassandra to work with datastax enterprise. The dse-driver will be used by express-cassandra if present, otherwise it will fallback to the default cassandra-driver.

Fixed

  • Altering/adding field to UDT fails if out of order

1.9.1

August 28, 2017

Fixed

  • Patch to support working with tables containing elassandra indexes

1.9.0

June 11, 2017

Added

  • Support for query operators for light weight transactions
  • Doc to clarify usage of connection policies

1.8.3

April 28, 2017

Fixed

  • Order by does not work for multiple clustering columns with different order

1.8.2

April 21, 2017

Added

  • Support for nested directory models

Fixed

  • Semantic versioning issue with dse-driver, uses wrong protocol version

1.8.1

April 15, 2017

Fixed

  • isModified not working properly for some corner cases

1.8.0

April 11, 2017

Added

  • Support for custom model instance methods
  • Support for isModified model instance method

1.7.5

March 2, 2017

Fixed

  • Hook functions are not called on orm batch

1.7.4

February 21, 2017

Fixed

  • All clients are not properly shutdown on close

1.7.2

January 17, 2017

Added

  • Truncate table support for cassandra

1.7.1

January 16, 2017

Added

  • Codeclimate for improving coding standards

Changed

  • Default prepare for prototype batch
  • Safer arguments handling in the prototype.doBatch
  • Updating eslint and fixing new code linting errors

1.7.0

December 26, 2016

Added

  • Multiple validator support in schema
  • Error message reference in docs

1.6.5

December 22, 2016

Changed

  • Making rule validator function optional

Fixed

  • Required fields without a validator is not allowed

1.6.4

December 22, 2016

Fixed

  • Default options are completely overwritten by user provided options in batch query

1.6.3

December 22, 2016

Changed

  • Validate query_segment instead of parameter

Fixed

  • Empty strings with $in clause throwing errors

1.6.2

December 3, 2016

Fixed

  • Ignoring dse solr_query index to fix model sync

1.6.1

November 30, 2016

Fixed

  • Resolved loadSchema callback and promise issue

1.6.0

November 30, 2016

Added

  • Support for builtin promises in all APIs

1.5.0

November 26, 2016

Added

  • Support for solr_query and index expression
  • Support for datastax enterprise cassandra

Changed

  • Upgraded to cassandra driver 3.1.6
  • Upgraded travis build cassandra to 3.9

Fixed

  • Proper handling of batches having less than 2 queries
  • Counter update doc with datatype conversions

1.4.2

September 28, 2016

Fixed

  • Handling typeof null values properly
  • Doc confusions regarding null and unset

1.4.1

September 5, 2016

Changed

  • Upgraded to cassandra driver 3.1.3

1.4.0

September 4, 2016

Added

  • Support for hook functions before and after save, update, delete operations
  • Option for disabling tty confirmation on migrations

1.3.3

September 2, 2016

Fixed

  • Camel cased udts not handled properly

1.3.2

August 29, 2016

Fixed

  • Whitelist file extensions for modelsync

1.3.1

August 29, 2016

Fixed

  • Streaming queries ignore materialized_view option
  • Nodejs 4.x error for missing babel-register module

1.3.0

August 27, 2016

Added

  • Implemented require validator for schema rules
  • Tests for utility functions and require validator

Changed

  • Major refactoring to es2015 with eslint and babel
  • Refactored utility functions seperating concerns

1.2.1

August 12, 2016

Changed

  • Improving docs with readthedocs build

1.2.0

August 11, 2016

Added

  • Migrations support without fixture (Experimental)

Changed

  • Refactor using strict mode for all js files
  • Typo in variable name on uda errors

1.1.2

July 30, 2016

Fixed

  • Tablename issue in alternate model loader

1.1.1

July 25, 2016

Changed

  • Doc updates for custom sasi indexes
  • Doc reorganization and $like query clarifications

1.1.0

July 25, 2016

Added

  • Support for sasi and multiple custom indexes

Changed

  • Doc update Long datatype reference link

1.0.3

June 28, 2016

Added

  • Implemented 'toJSON' model instance method

1.0.2

June 23, 2016

Changed

  • Making datatypes accessible from within model definitions

1.0.1

May 24, 2016

Changed

  • Doc update for connecting to cassandra using authProvider

1.0.0

May 17, 2016

Breaking

  • Consistent data types validation. All datatypes are now cassandra-driver compliant. Such as bigint, counter, uuid etc now use Long, UUID etc classes exposed by the cassandra-driver. Dealing with non javascript compatible datatypes from cassandra now follows the cassandra-driver datatype conversion standards.

Added

  • Support for frozen keyword and tuple data type
  • Support for User defined types, functions and aggregates
  • Support for streaming queries
  • Support for cassandra shared static columns
  • Support for $prepend and $replace operators for collections
  • Support for querying indexed collections
  • Support for altering keyspace replication

0.8.2

May 7, 2016

Added

  • Support for cassandra authProvider option
  • Support for all cassandra-driver connection options

0.8.1

April 26, 2016

Added

  • Support for select * in materialized views
  • Support for test coverage

0.8.0

April 17, 2016

Added

  • Support for composite data types add/remove element

Changed

  • Using database limit for findOne queries

0.7.2

April 5, 2016

Fixed

  • Instance delete for composite partition keys not working

0.7.1

April 3, 2016

Added

  • Support for index expressions in find query

Fixed

  • Resolved models.doBatch error when using options

0.7.0

March 25, 2016

Changed

  • Consistent datatypes handling using nodejs driver params

0.6.4

March 8, 2016

Changed

  • Clarifying custom index documentation
  • Updated doc for token with composite keys

Fixed

  • Token operator fix for composite partition keys

0.6.3

March 2, 2016

Added

  • Support for async custom model loading
  • Support for multiple orm connections

0.6.1

February 22, 2016

Added

  • Support for aggregate functions

0.6.0

February 17, 2016

Added

  • Support for cassandra 3.x
  • Support for materialized views

0.5.4

January 5, 2016

Fixed

  • Long types in where clause throws invalidop error

0.5.3

December 22, 2015

Added

  • Support for maxTimeuuid & minTimeuuid in timeuuid generator

Changed

  • Refactored error messages to be more specific

0.5.2

December 12, 2015

Added

  • Support for clustering order in primary key definition
  • Support for SELECT DISTINCT through options
  • Option for avoiding keyspace creation

Fixed

  • Uppercase keyspace names not handled properly

0.5.1

December 3, 2015

Fixed

  • Table not synced for map typeDef changes
  • DB value expression for timestamp columns not consistent
  • Counter columns type handling not consistent
  • Default value for composite types throws errors

0.5.0

November 21, 2015

Added

  • Support for ORM batch operations

0.4.12

November 21, 2015

Fixed

  • Instance delete query escaped twice

0.4.11

November 21, 2015

Added

  • Support for uuid and timeuuid types in where query
  • Added test cases for uuid types

0.4.10

November 15, 2015

Added

  • Support for nodejs 4 in tests
  • Added uuidFromString() util function

Changed

  • Test cases for timeuuid

Fixed

  • Map types not working with timestamps

0.4.9

October 18, 2015

Added

  • Support for counter column operations

0.4.8

October 13, 2015

Fixed

  • Proper handling of undefined values

0.4.7

October 4, 2015

Changed

  • Exposing function for closing connections

Fixed

  • Instance delete not working consistently

0.4.6

October 4, 2015

Fixed

  • Instance delete not working consistently

0.4.5

October 4, 2015

Fixed

  • Instance delete not working properly

0.4.4

September 29, 2015

Fixed

  • Properly escape composite datatype values

0.4.3

September 26, 2015

Fixed

  • Virtual fields treated similarly to db fields in some cases

0.4.2

September 22, 2015

Added

  • Option for setting prepare to false in queries

0.4.1

September 9, 2015

Added

  • Support for raw client driver interface

0.4.0

September 8, 2015

Added

  • Support for token pagination operators
  • Support for comparison query operators

0.3.8

September 6, 2015

Changed

  • Doc update for supported frameworks and minor adjustments

0.3.7

September 1, 2015

Added

  • FindOne query for single object retrieval

Changed

  • Doc clarify use case of save function

0.3.6

August 28, 2015

Fixed

  • Find query with $in operator bug

0.3.5

August 25, 2015

Changed

  • Validation errors are now passed as error on save function callback instead of raising exceptions
  • Refactored codebase for consistent error messages

Fixed

  • Model validations for update operation

0.3.4

August 25, 2015

Changed

  • Doc clarifications and updates

0.3.3

August 24, 2015

Added

  • Travis integration for automated tests and build status

0.3.2

August 24, 2015

Added

  • Mocha test framework and initial test cases

Fixed

  • Proper composite type validations
  • Proper field value expressions for composite types

0.3.1

August 23, 2015

Fixed

  • Camel cased field names not handled properly

0.3.0

August 21, 2015

Added

  • Support for composite map, list and set datatypes

0.2.5

June 6, 2015

Added

  • Support for custom indexes

Changed

  • Refactored code to include modified apollo orm

0.2.4

June 3, 2015

Added

  • Warning for schema mismatch

0.2.3

June 2, 2015

Added

  • Support for partial selects in find operations

0.2.2

June 2, 2015

Added

  • License file

0.2.1

June 1, 2015

Added

  • Doc for batch query interface

Fixed

  • Build models even if cassandra is not available

0.2.0

May 31, 2015

Added

  • Initial featureset and documentation
  • Basic ODM with CRUD support
  • Support for virtual fields
  • Support for schema validators
  • Support for auto loading of model schema from directory