Skip to content

Releases: telepat-io/telepat-models

0.4.4

05 Jul 11:24
Compare
Choose a tag to compare
  • Updated apn package which uses the new HTTP/2 protocol which should make much more reliable and faster
  • The array containing the devices' subscription in the device object have been moved to a dedicated redis key
  • Implemented configuration manager used for validating the config file
  • Subscription elements in the redis key now contain the device ID
  • Implemented Subscription.removeAllSubscriptionsFromDevice
  • Subscription.getAllDevices device identifier changed to "device.id|device.token"
  • Subscription.remove accepts token as an optional argument
  • User.update now returns the updated user object
  • Subscription methods should take device.volatile.active into account when adding/removing subscriptions
  • BUGFIX: utils.testObject has been rewritten and should be bug free now
  • BUGFIX: fixed incomplete filters when a complex filter contained the AND connector
  • BUGFIX: fixed object updates if an object field's contain " or ' characters
  • BUGFIX: fixed Subscription.add when device.persistent is missing
  • BUGFIX: Removed count LOCK key in redis if transaction fails

0.4.3

05 Jul 10:09
Compare
Choose a tag to compare
  • ES adapter updateObjects implemented with retry-on-conflict strategy
  • Fixed bug when updating multiple fields

0.4.2

09 Sep 11:00
Compare
Choose a tag to compare
  • Fixed ES 'like' filter
  • Fixed ES geolocation sorting
  • Implemented System messages
  • Support for multi-sort
  • fixed model.GetFiltersFromChannel when 'and' 'or' operators are direct parents/children

0.4.1

01 Sep 13:36
Compare
Choose a tag to compare
  • added default subscribe limit to Model.search
  • Bugfix: error handling when device is invalid
  • Implemented like filter
  • TelepatIndexedLists.get now returns the object if it's found
  • Bugfix: search no longer fails when an object has no mapping in ES
  • Bugfix: User() filters
  • ExpiredAuthorizationToken error status code should be 401

0.4

28 Apr 15:18
Compare
Choose a tag to compare
0.4
  • Major performance improvements
  • AMQP messages are now compressed using LZ4
  • TelepatIndexedLists is a data structure on redis used to rapidly search
    for members
  • Simpliefied the database adapter, now they can be used in bulk operations
  • Device IDs are no longer stored in subscriptions, instead their tokens
    are stored in order to avoid retrieving the device object everytime
  • Filter builder is used by database adapters in order to form filters
    for querying the database
  • Moved some of the logic from the old adapter's functions to functions
    in Admin/Context/Model/etc

0.3

14 Mar 15:38
Compare
Choose a tag to compare
0.3
  • Performance fix: AMQP queues/exchanges are only asserted once
  • Devices are created in an inactive keyspace. They should be activated
    when a client connects to a volatile transport
  • Implemented methods to activate/deactivate devices
  • Performance fix: incresed maxSockets for ElasticSearch
  • Performance fix: used agentKeepAlive for elasticSearch SDK
  • Ability to connect to multiple ES nodes, or just one if you want to
    use auto-discovery
  • Messaging clients has the exclusive flag making them have one queue
    per client
  • Implemented offset/limit for some methods
  • Implemented userMetadata use only by their respectiv owners
  • Replaced syslog_logger with Winston
  • Fixed a bug where updating objects with a field of type object would
    make the operation to merge the fields instead of replacing the whole
    object
  • Implemented caching for count queries

0.2.8

16 Dec 12:55
Compare
Choose a tag to compare
  • Bugfix: Channel.isValid when mask is invalid
  • Bugfix: Channel when used with parent objects
  • Bugfix: applicationHasContext in elasticSearch adapter returns false instead of an error in callback
  • Bugfix: modelCountByChannel in elasticSearch adapter, context is optional
  • Bugfix: modelCountByChannel should now work with filters
  • LoginProviderNotConfigured error transformed into a more generic error ServerNotConfigured
  • Added support for aggregating results in modelCountByChannel
  • Added supoprt for object sort in modelSearch

0.2.7

06 Nov 14:53
Compare
Choose a tag to compare
  • Fixed some bugs and crashes
  • Redis keys are being scanned untill cursor returns 0
  • Changed email property of user to username
  • Added ExpiredAuthorizationToken error

0.2.6

06 Nov 14:53
Compare
Choose a tag to compare
  • User.get can now be called with an object containing ID or email
  • Fixed bug in AMQP message client which created unintended queues
  • applicationDeleteModelSchema now deletes all model siblings
  • Implemented removeAllSubscriptionsFromDevice
  • Fixed handling of errors on Application.loadAllApllications
  • Correct stack trace generation on TelepatError
  • Subscription and Device keys now contain the applicationID in them
  • Implemented removeDevice
  • Implemented TelepatLogger used for logging purposes
    • syslogger
    • console_logger
  • Fixed kafka/AzureSB crash

0.2.5

09 Oct 14:43
Compare
Choose a tag to compare
  • Fixed various bugs
  • 2 New message queue clients: Azure ServiceBus and AMQP (RabbitMQ)
  • ElasticSearch should refresh its index on create/delete
  • Configuration variables for ElasticSearch adapter get/subscribe result limit + paginated results for subscribe
  • Model.countByChannel fixed
  • Rewored how loadedAppModels work: every package should populate this at boot up. App.get loads from redis (cached)
  • All message queue clients now have a broadcast method which broadcasts messages to all consumers on a channel/topic