Fetching contributors…
Cannot retrieve contributors at this time
220 lines (183 sloc) 10.7 KB


  • [DEPENDENCIES] upgraded most dependencies. most important: mysql was upgraded to 2.0.0-alpha-3
  • [REFACTORING] separated tests for dialects
  • [BUG] fixed wrong version in sequelize binary
  • [BUG] local options have higher priority than global options (thanks to guersam)
  • [FEATURE] added association prefetching for find and findAll
  • [FEATURE] it's now possible to use callbacks of async functions inside migrations (thanks to mphilpot)
  • [FEATURE] improved comfort of sequelize.query. just pass an sql string to it and wait for the result
  • [FEATURE] Migrations now understand NODE_ENV (thanks to gavri)
  • [FEATURE] Performance improvements (thanks to Mick-Hansen and janmeier from innofluence)
  • [FEATURE] Model.find and Model.findAll can now take a String with an ID. (thanks to ghernandez345)


  • [REFACTORING] use underscore functions for Utils.isHash (thanks to Mick-Hansen/innofluence)
  • [REFACTORING] removed the 'failure' event and replaced it with 'error'
  • [BUG] fixed booleans for sqlite (thanks to vlmonk)
  • [BUG] obsolete reference attribute for many-to-many associations are removed correctly
  • [BUG] associations can be cleared via passing null to the set method
  • [BUG] "fixed" quota handling (thanks to dgf)
  • [BUG] fixed destroy in postgresql (thanks to robraux)
  • [FEATURE] added possibility to set protocol and to remove port from postgresql connection uri (thanks to danielschwartz)
  • [FEATURE] added possibility to not use a junction table for many-to-many associations on the same table (thanks to janmeier/innofluence)
  • [FEATURE] results of the import method is now cached (thanks to janmeier/innofluence)
  • [FEATURE] added possibility to check if a specific object or a whole bunch of objects is currently associated with another object (thanks to janmeier/innofluence)
  • [FEATURE] added possibility to globally disable adding of NULL values to sql queries (thanks to janmeier/innofluence)
  • [FEATURE] Model.create can now also be used to specify values for mass assignment (thanks to janmeier/innofluence)
  • [FEATURE] QueryChainer will now provide the results of the added emitters in the order the emitters have been added (thanks to LaurentZuijdwijk and me ;))
  • [FEATURE] QueryChainer can now be initialized with serial items
  • [FEATURE] node 0.8 compatibility
  • [FEATURE] added options to hasMany getters (thanks to janmeier/innofluence)
  • [FEATURE] pooling option is now correctly passed to postgres (thanks to megshark)


  • [DEPRECATION] Added deprecation warning for node < v0.6.
  • [FEATURE] added selective saving of instances (thanks to kioopi)
  • [FEATURE] added command to binary for creating a migration skeleton with current timestamp
  • [FEATURE] added complete function for each finder method (thanks to sstoiana)
  • [BUG] fixed quotation for sqlite statements (thanks to vlmonk)
  • [BUG] fixed timestamp parsing in migratios (thanks to grn)
  • [FEATURE] added consistent logging behaviour to postgres (thanks to reacuna)


  • [BUG] fixed booleans in sqlite (thanks to alexstrat)
  • [BUG] fixed forced sync of many-to-many associations (thanks to SirUli)
  • [FEATURE] objects are now compatible to JSON.stringify. (thanks to grayt0r)
  • [FEATURE] When instantiating the sequelize object, you can now pass a function to logging. This allows you to customize the logging behavior. Default is now: console.log (thanks to kenperkins)
  • [BUG] The default logging is still console.log but is wrapped after initialization as it crashes node < 0.6.x.
  • [FEATURE] postgresql support. (thanks to swoodtke)
  • [FEATURE] connection-pooling for mysql. (thanks to megshark)
  • [FEATURE] added possibility to define NOW as default value for date data-types. Use Sequelize.NOW as defaultValue
  • [BUG] Fixed date handling in sqlite (thanks to iizukanao)


  • [BUG] fixed issue where multiple belongsTo or hasOne associations to the same table overwrite each other
  • [BUG] fixed memory leaks (thanks to megshark)


  • [BUG] don't update an existing updatedAt-attribute if timestamps option for a DAO is false


  • [BUG] fixed missed DAO renaming in migrations (thanks to nov)


  • [REFACTORING] renamed Model/ModelFactory/ModelFactoryManager to DAO/DAOFactory/DAOFactoryManager
  • [IMPROVEMENT] npm test will run the test suite (thanks to gabrielfalcao)
  • [IMPROVEMENT] documentation about setting up local development environment (thanks to gabrielfalcao)
  • [REFACTORING] removed updatedAt + createdAt from SequelizeMeta


  • [BUG] fixed sql-event emitter in all possible locations (thanks to megshark)


  • [FEATURE] sqlite is now emitting the 'sql'-event as well (thanks to megshark)


  • [REFACTORING] renamed ModelManager to ModelFactoryManager
  • [IMPROVEMENT] decreased delay of CustomEventEmitter execution from 5ms to 1ms
  • [IMPROVEMENT] improved performance of association handling (many-to-many) (thanks to magshark)
  • [FEATURE] added possibility to specify name of the join table (thanks to magshark)
  • [FEATURE] mysql is emitting a 'sql'-event when executing a query
  • [BUG] correctly delete existing SequelizeMeta entry from database after undoing migration
  • [BUG] fix path of migration files in executable (thanks to bcg)


  • [REFACTORING] Model#all is now a function and not a getter.
  • [REFACTORING] Renamed ModelDefinition to ModelFactory
  • [REFACTORING] Private method scoping; Attributes are still public
  • [REFACTORING] Use the new util module for node 0.6.2
  • [FEATURE] QueryChainer can now run serially
  • [FEATURE] Association definition is chainable: Person.hasOne(House).hasMany(Address)
  • [FEATURE] Validations (Thanks to hiddentao)
  • [FEATURE] jQuery-like event listeners: .success(callback) and .error(callback)
  • [FEATURE] aliasing for select queries: Model.find({ where: 'id = 1', attributes: ['id', ['name', 'username']] }) ==> will return the user's name as username
  • [FEATURE] cross-database support. currently supported: mysql, sqlite
  • [FEATURE] migrations
  • [TEST] removed all expresso tests and converted them to jasmine


  • [REFACTORING] renamed the global options for sync, query and define on sequelize; before: options.queryOptions; now: options.query
  • [FEATURE] allow definition of charset via global define option in sequelize or via charset option in sequelize.define
  • [FEATURE] allow definition of mysql engine via global define option in sequelize or via engine option in sequelize.define; default is InnoDB now
  • [FEATURE] find and findAll will now search in a list of values via: Model.findAll({where: { id: [1,2,3] }}); will return all models with id 1, 2 and 3
  • [TEST] force latin1 charset for travis


  • [FEATURE] min/max function for models, which return the min/max value in a column
  • [FEATURE] getModel for modelManager for getting a model without storing it in a variable; use it via sequelize.modelManager.getModel('User')
  • [TEST] test suite refactoring for jasmine


  • [BUG] tables with identical prefix (e.g. wp_) can now be used in many-to-many associations


  • [BUG] scoped options in model => a model can now have the attribute options
  • [FEATURE] added drop method for sequelize, that drops all currently registered tables


  • [BUG] prevent malfunction after being idle


  • [BUG] fixed memory leaks
  • [FEATURE] added query queueing (adjustable via maxConcurrentQueries in config; default: 50)


  • [BUG] defaultValue 0 is now working
  • [REMOVED] mysql-pool usage (will give it a new try later)
  • [CHORE] updated node-mysql to 0.9.4


  • [BUG] Fixed where clause generation for models with explicit primary keys (allanca)
  • [BUG] Set insertId for non-default auto increment fields (allanca)


  • [FEATURE] Added Model.count(callback), which returns the number of elements saved in the database
  • [BUG] Fixed self associations


  • complete rewrite
  • added new emitter syntax
  • sql injection protection
  • select now supports hash usage of where
  • select now supports array usage of where
  • added a lot of options to find/findAll
  • Wrapped queries correctly using foo
  • using expresso 0.7.2
  • moved config for test database into seperated config file
  • Added method for adding and deleting single associations


  • renamed loadAssociatedData to fetchAssociations
  • renamed Model#associatedData to fetchedAssociations
  • added fetchAssociations to finder methods
  • store data found by finder method in the associatedData hash + grep them from there if reload is not forced
  • added option to sequelize constructor for disabling the pluralization of tablenames: disableTableNameModification
  • allow array as value for chainQueries => Sequelize.chainQueries([save: [a,b,c]], callback)
  • remove the usage of an array => Sequelize.chainQueries({save: a}, {destroy: b}, callback)


  • fixed bugs from 0.4.1
  • added the model instance method loadAssociatedData which adds the hash Model#associatedData to an instance which contains all associated data




  • names of many-to-many-association-tables are chosen from passed association names

  • foreign keys are chosen from passed association name

  • added many-to-many association on the same model

  • added hasManyAndBelongsTo

  • added hasOneAndBelongsTo

  • nodejs-mysql-native 0.4.2


  • added error handling when defining invalid database credentials
  • Sequelize#sync, Sequelize#drop, model#sync, model#drop returns errors via callback
  • code is now located under lib/sequelize to use it with nDistro
  • added possibility to use non default mysql database (host/port)
  • added error handling when defining invalid database port/host
  • schema definitions can now contain default values and null allowance
  • database credentials can now also contain an empty / no password


  • added possibility to define class and instance methods for models
  • added import method for loading model definition from a file


  • refactored Sequelize to fit CommonJS module conventions


  • added BOOLEAN type
  • added FLOAT type
  • fixed DATE type issue
  • fixed npm package


  • fixed bug when using cross associated tables (many to many associations)


  • added latest mysql connection library
    • fixed id handling on save
    • fixed text handling (varchar > 255; text)
  • using the inflection library for naming tables more convenient
  • Sequelize.TEXT is now using MySQL datatype TEXT instead of varchar(4000)


  • released project as npm package


  • fixed date bug


  • added methods for setting associations
  • added method for chaining an arbitraty amount of queries


  • first stable version
  • implemented all basic functions
  • associations are working