Open Collective
Open Collective
Loading
Release of Sequelize v7.0.0-alpha.40
Published on April 11, 2024 by Sascha Depold

7.0.0-alpha.40 (2024-04-11)

Bug Fixes

  • parse the url option based on the dialect (#17252) (f05281c)

  • update bulkDeleteQuery supported options (#17191) (c53fd01)

  • feat(mssql)!: move mssql to the @sequelize/mssql package (#17206) (8631f5a), closes #17206

  • feat(ibmi)!: move ibmi to the @sequelize/ibmi package (#17209) (21772a5), closes #17209

  • feat(mysql)!: move mysql to the @sequelize/mysql package (#17202) (5c7830e), closes #17202

  • feat(mariadb)!: move mariadb to the @sequelize/mariadb package (#17198) (46ea159), closes #17198

Features

  • add ModelRepository#_UNSTABLE_bulkDestroy and manual ON DELETE handling (#17078) (45ac01a)
  • cli: add seed generate command (#17262) (b07ad40)
  • create @sequelize/cli as a replacement for sequelize-cli (#17195) (ec00aed)
  • db2: move db2 to the @sequelize/db2 package (#17197) (6aa4ced)
  • move postgres to the @sequelize/postgres package (#17190) (721d560)
  • mssql: upgrade to tedious 18 (#17137) (65e19a1)
  • re-add the ability to override the connector library (#17219) (b3c3362)
  • rename @sequelize/sqlite to @sequelize/sqlite3, @sequelize/ibmi to @sequelize/db2-ibmi, ban conflicting options (#17269) (1fb48a4)
  • type options per dialect, add "url" option, remove alternative Sequelize constructor signatures (#17222) (b605bb3)

BREAKING CHANGES

  • db2, ibmi, snowflake and sqlite do not accept the url option anymore
  • The sequelize constructor only accepts a single parameter: the option bag. All other signatures have been removed.
  • Setting the sequelize option to a string representing a URL has been replaced with the "url" option.
  • The dialectOptions option has been removed. All options that were previously in that object can now be set at the root of the option bag, like all other options.
  • All dialect-specific options changed. This includes at least some credential options that changed.
  • Which dialect-specific option can be used is allow-listed to ensure they do not break Sequelize
  • The sequelize pool is not on the connection manager anymore. It is now directly on the sequelize instance and can be accessed via sequelize.pool
  • The sequelize.config field has been removed. Everything related to connecting to the database has been normalized to sequelize.options.replication.write (always present) and sequelize.options.replication.read (only present if read-replication is enabled)
  • sequelize.options is now fully frozen. It is no longer possible to modify the Sequelize options after the instance has been created.
  • sequelize.options is a normalized list of option. If you wish to access the options that were used to create the sequelize instance, use sequelize.rawOptions
  • The default sqlite database is not ':memory:' anymore, but sequelize.sqlite in your current working directory.
  • Setting the sqlite database to a temporary database like ':memory:' or '' requires configuring the pool to behave like a singleton, and disallowed read replication
  • The match option is no longer supported by sequelize.sync. If you made use of this feature, let us know so we can design a better alternative.
  • The dialectModulePath has been fully removed to improve compatibility with bundlers.
  • The dialectModule option has been split into multiple options. Each option is named after the npm library that is being replaced. For instance, @sequelize/postgres now accepts pgModule. @sequelize/mssql now accepts tediousModule
  • Instead of installing the mssql package, users need to install @sequelize/mssql.
  • Instead of installing the odbc package, users need to install @sequelize/ibmi.
  • Instead of installing mysql2, users need to install @sequelize/mysql.
  • Instead of installing the mariadb package, users need to install @sequelize/mariadb.