Skip to content

4.0.0

Compare
Choose a tag to compare
@maxime-beguin maxime-beguin released this 04 May 07:38
· 191 commits to master since this release

4.0.0 / 2017-05-04

BREAKING CHANGES

  • Database previously exposed on require('@openveo/api').Database is now exposed through a database namespace (e.g. require('@openveo/api').database.Database)
  • Plugin previously exposed on require('@openveo/api').Plugin is now exposed through a plugin namespace (e.g. require('@openveo/api').plugin.Plugin)
  • EntityModel previously exposed on require('@openveo/api').EntityModel is now exposed through a models namespace (e.g. require('@openveo/api').models.EntityModel)
  • ContentModel previously exposed on require('@openveo/api').ContentModel is now exposed through a models namespace (e.g. require('@openveo/api').models.ContentModel)
  • EntityProvider previously exposed on require('@openveo/api').EntityProvider is now exposed through a providers namespace (e.g. require('@openveo/api').providers.EntityProvider)
  • require('@openveo/api').applicationStorage has been removed. Use process.api instead
  • require('@openveo/api').i18n has been removed. Use process.api instead
  • Most of the properties of exposed classes are now unalterable
  • Drop support for Node.js <7.4.0
  • Drop support for NPM <4.0.5
  • logger.get does not create a logger anymore, use logger.add instead
  • logger.add without configuration still creates a logger but without Console transport. Consequently it is no longer possible to create a logger with a simple console transport stream.
  • ContentModel.isUserAdmin and ContentModel.isUserOwner now expect the user as parameter
  • Models extending ContentModel need to implement getSuperAdminId and getAnonymousId methods
  • Controllers extending EntityController (or ContentController by extension) does not need to specify the model and provider constructors when calling the super constructor but need to implement the getModel method
  • MongoDatabase search page parameter now starts at 0 instead of 1

NEW FEATURES

  • A new namespace "socket" has been added to expose tools to create socket servers and socket namespaces
  • A new namespace "emitters" has been added to expose extensions of Node.js events.EventEmitter
  • A new namespace "grunt" has been added to expose grunt tasks
  • A rename grunt task has been added to rename a source (file or directory)
  • A remove grunt task has been added to remove resources (files or directories)
  • A generic Provider has been added for all providers (e.g. require('@openveo/api').providers.Provider)
  • A generic Model has been added for all models (e.g. require('@openveo/api').models.Model)
  • Add file validation to the util.shallowValidateObject function. Actually supported files are PNG, GIF and JPG.
  • util.shallowValidateObject is now capable to validate a timestamp as a string for a date
  • Add require('@openveo/api').fileSystem.readdir function to get resources of a directory and all its sub directories

BUG FIXES

  • Fix util.shallowValidateObject when using gt, lt, gte or lte at 0. Validation always succeeded, ignoring gt, lt, gte and lte.
  • Fix util.shallowValidateObject when validating an undefined number. Validating an undefined number was failing even if not required. It now throws an error only if not defined and required.

DEPENDENCIES

  • tar-fs has been updated from 1.13.2 to 1.15.0
  • grunt has been updated from 0.4.5 to 1.0.1
  • grunt-eslint has been updated from 18.1.0 to 19.0.0
  • grunt-gh-pages has been updated from 1.1.0 to 2.0.0
  • grunt-mocha-test has been updated from 0.12.7 to 0.13.2
  • mocha has been updated from 2.4.5 to 3.2.0
  • pre-commit has been updated from 1.1.2 to 1.2.2
  • grunt-extend-config has been removed
  • grunt-init has been removed
  • glob has been removed