NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #4923 most downloaded on npm
Data-Mapper ORM for TypeScript and ES2023+. Supports MySQL/MariaDB, PostgreSQL, MS SQL Server, Oracle, SAP HANA, SQLite, MongoDB databases.
Last release today
04 Oct 2026
Ships on a steady schedule
a new release about every 8 days
Nearly every release is documented
notes for 59 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
10 years old
1295 releases · first in 2016
Nothing published for this version
Nothing published for this version
UpdateEvent now returns with contains updatedColumns and updatedRelations
UpdateEvent now returns with contains updatedColumns and updatedRelationsOne column per quarter.
Nothing published for this version
added support for specifying isolation levels in transactions
Nothing published for this version
added support for rowversion type for mssql
fixed wrong aggregate and count methods signature in mongodb
added support for enum arrays in postgres
fixed bug with relation id loader queries not working with self-referencing relations
fixed bug with selecting default values after persistence when initialized properties defined
fixed bug in mysql schema synchronization
fixed bug with lazy relations inside transactions
breaking change on how array parameters work in queries - now instead of (:param) new syntax must be used (:...param). This fixed various issues on ho…
cascadeRemove option from relation options.cascadeAll with cascade: true syntax from relation options.cascadeInsert with cascade: ["insert"] syntax from relation options.cascadeUpdate with cascade: ["update"] syntax from relation options.null instead of undefined property as before.Post { @ManyToOne(type => Tag) tag: Tag|number } with post.tag = 1 usage.@OneToMany(type => Post, post => tag, { persistence: false }). This can dramatically improve entity save performance.loadAllRelationIds method of QueryBuilder now accepts list of relation paths that needs to be loaded, also disableMixedMap option is now by default set to false, but you can enable it via new method parameter optionsreturning and output statements of InsertQueryBuilder support array of columns as argumentnull all items from that relation are removed, just like it would be set to empty arrayCURRENT_TIMESTAMP as a default value)InsertQueryBuilder, UpdateQueryBuilder and DeleteQueryBuilder automatically update entities after execution.
This only happens if real entity objects are passed.
Some databases (like mysql and sqlite) requires a separate query to perform this operation.
If you want to disable this behavior use queryBuilder.updateEntity(false) method.
This feature is convenient for users who have uuid, create/update date, version columns or columns with DEFAULT value set.InsertQueryBuilder, UpdateQueryBuilder and DeleteQueryBuilder call subscribers and listeners.
You can disable this behavior by setting queryBuilder.callListeners(false) method.Repository and EntityManager method .findOneById is deprecated and will be removed in next 0.3.0 version.
Use findOne(id) method instead now.InsertQueryBuilder now returns InsertResult which contains extended information and metadata about runned queryUpdateQueryBuilder now returns UpdateResult which contains extended information and metadata about runned queryDeleteQueryBuilder now returns DeleteResult which contains extended information and metadata about runned queryuseTransaction(true) method of the QueryBuilder.insert, update and delete methods of QueryRunner now use InsertQueryRunner, UpdateQueryRunner and DeleteQueryRunner insideremoveById, removeByIds methodsdeleteById method - use delete(id) method instead nowupdateById method - use update(id) method instead nowsnakeCase utility - check table names after upgradingsave and remove operationssave and remove operations@SingleEntityChild has been renamed to @ChildEntity@DiscriminatorValue has been removed, instead parameter in @ChildEntity must be used, e.g. @ChildEntity("value")@DiscriminatorColumn decorator has been removed, use @TableInheritance options instead nowskipSync in entity options has been renamed to synchronize. Now if it set to false schema synchronization for the entity will be disabled.
By default its true.@ClosureEntity decorator has been removed. Instead @Entity + @Tree("closure-table") must be used@Unique decorator. Accepts custom unique constraint name and columns to be unique. Used only on as
composite unique constraint, on table level. E.g. @Unique("uq_id_name", ["id", "name"])@Check decorator. Accepts custom check constraint name and expression. Used only on as
composite check constraint, on table level. E.g. @Check("chk_name", "name <> 'asd'")Oracle issues, now it will be fully maintained as other driversmigrations:create, migrations:generate, migrations:revert and migrations:run to migration:create, migration:generate, migration:revert and migration:runid column with auto-generated keys, you need to re-create migrations table or add new column manually.@Index decorator now accepts synchronize option. This option need to avoid deleting custom indices which is not created by TypeORM{ persistence: false }. You can use it to prevent any extra queries for relations checksUNSIGNED and ZEROFILL column attributes in MySQLON UPDATE column option in MySQLSPATIAL and FULLTEXT index options in MySQLhstore and enum column types support in Postgres{ "supportBigNumbers": true, "bigNumberStrings": true } options by default for node-mysqlwidth option instead of lengthonDelete: "CASCADE" attribute on their foreign keysancestor and descendant columns in ClosureTable marked as primary keysManyToOne and OneToOne relationsNothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
fixed bug in InsertQueryBuilder
- fixed timestamp issues
fixed issue with entity order by applied to update query builder
- security and bug fixes
Your coding agent can read these notes before it upgrades. Set up the MCP server →