MikroORM v3.0.0-rc Release Notes

Release Date: 2019-11-20 // over 4 years ago
  • ๐Ÿ› Bug Fixes

    • core: allow persisting 1:1 from inverse side (a1320ba), closes #210
    • core: allow object constructor parameters in entities (967f239), closes #166
    • core: always init collections when creating entity via em.create() (2500cf3)
    • core: always query inverse side of 1:1 association (5a77a39)
    • core: ignore inverse side of 1:1 when computing change set (a2768dd), closes #183
    • core: auto-wire 1:1 owner to inverse side (b11d316), closes #151
    • core: disable auto flushing by default [BC] (#79) (3258c50), closes #63
    • core: do not use request context in transactional/user forks (a2d7cbb), closes #182
    • core: fix querying by m:n primary keys (cb568ee), closes #234
    • core: make em.find() where parameter required (3393d52)
    • core: make sure constructor params are sniffer from the constructor (fdd157c)
    • deps: update dependency ts-morph to v4 (#162) (b6dd073)
    • generator: fixed default values and types for nullable properties (#191) (1cdccd3)
    • mapping: do not override user defined nullable value in m:1 and 1:1 (b22567d)
    • mapping: remove deprecated fk option from 1:m and m:1 decorators (#87) (99b436a)
    • mapping: remove obsolete parameter in UnderscoreNamingStrategy (#134) (8afa9a7)
    • ๐Ÿ“‡ metadata: fix lookup of path to entity file on windows with tslib (a3c2900), closes #194
    • ๐Ÿ— query-builder: fix malformed query when populate and join are used (244db67)
    • schema: do not make FK fields nullable if not needed (9c0ffc1), closes #218
    • schema: prefer user-defined collection names in naming strategy (28f59ec), closes #111
    • serializing: add check for circular references in toObject() (f7eaabb), closes #205
    • serializing: do not ignore already visited collection items (ee4b50b), closes #222
    • sql: support self-referencing m:n in pivot tables (3157572)

    ๐Ÿ”‹ Features

    • cli: add basic CLI tool (#102) (d20db41), closes #101
    • cli: add debug command to help with setting up the CLI (7919071), closes #136
    • cli: add database:import command to run external sql dumps (aea3614)
    • cli: add cache:generate command to warm up production cache (9b4f8b6), closes #225
    • core: add support for bundling with Webpack (#200) (9db3633), closes #196
    • core: add support for enums via @Enum() decorator (#232) (82ca105), closes #215
    • core: add support for filtering and ordering of Collection items (672bf3b), closes #195
    • core: add support for migrations via umzug (#209) (38ec973)
    • core: add @Repository decorator (e4ca716)
    • core: add em.findAndCount() method (1be8eb1), closes #123
    • core: add Reference<T> wrapper to allow improved type safety (#117) (cdd44da), closes #107
    • core: add findOneOrFail method to entity manager and repository (#142) (0d57b7b), closes #133
    • core: add support for deep nested conditions with operators (#185) (0fa78e6), closes #172
    • core: add support for eager loading (93a875d), closes #168
    • core: add support for read connections (#116) (bc66fd6), closes #77
    • core: add support for virtual property getters (#93) (f413b41), closes #82
    • core: allow assigning PK to undefined/null (72167bd), closes #166
    • core: allow empty where condition in em.count() (ee62b3e), closes #163
    • core: allow filtering and sorting by nested query (bc2b91f), closes #157
    • core: allow populating all relations via populate: true (1012420), closes #160
    • core: allow whitelisting entity fields in em.find() (881b114), closes #176
    • core: do not require entity attribute in collection decorators (#207) (89bbeb0)
    • core: improve logging - add namespaces, colors and highlighting (#109) (64376ec), closes #108
    • core: propagate nested where and orderBy when populating (226af1c), closes #195
    • core: simplify entity definition and rework typings of FilterQuery (#193) (a343763), closes #124 #171
    • core: use composite PK in many to many relations (#204) (e73bbdb), closes #121
    • core: use knex to generate sql + enable connection pooling [BC] (#76) (6d79e57), closes #64
    • drivers: allow passing additional driver options (1ceb0c1)
    • drivers: add native UUID postgres type (#188) (8fd89fd)
    • drivers: add support for MariaDB (#120) (833834b), closes #110
    • hooks: add onInit hook fired after entity is created (#92) (64e68ed), closes #83
    • hooks: add onInit hook fired after entity is created (#92) (fd31214), closes #83
    • ๐ŸŒฒ logging: allow logging full query including params (#155) (6050dbf)
    • mapping: add EntityCaseNamingStrategy (fc6da6b), closes #135
    • mapping: add type-safe way to define relationships (423bb33), closes #146 #158
    • mapping: allow overriding getClassName() in NamingStrategy (#88) (b6700b6), closes #15
    • mapping: auto-wire missing references from owner to inverse side (fc61be9), closes #149
    • ๐Ÿ“‡ metadata: auto-detect optional properties (cff0dd4)
    • ๐Ÿ“‡ metadata: create instance of metadata instead of static one [BC] (#91) (e4acef0)
    • ๐Ÿ“‡ metadata: improve validation during metadata discovery (1bd1899), closes #114
    • ๐Ÿ“‡ metadata: add ReflectMetadataProvider, rename the ts-morph one (#240) (d740eb3), closes #235
    • mongo: improve query logging, use inspect instead of stringify (da842a3)
    • postgres: use timestamps with time zone by default (bd48124), closes #161
    • ๐Ÿ— query-builder: allow mapping to entities directly via getResult() (beca08e)
    • schema: add basic entity generator (#98) (cc48b52), closes #78
    • schema: add basic schema update (#97) (9bff976)
    • schema: use knex in schema generator (#81) (31bc56e)
    • schema: add support for create/drop database (#237) (6e58332)
    • schema: allow dropping migrations table via schema:drop cli cmd (36402b9), closes #220
    • sql: support multiple conditions in JOINs (#94) (60b6885), closes #70
    • sqlite: ensure the directory with database exists (908aba2)
    • validation: validate one to one relationship metadata (ce57a3c), closes #149
    • validation: warn when failing to get metadata of an entity (33ce7d3), closes #153

    ๐ŸŽ Performance Improvements

    • sql: use multi-insert when populating m:n collections (5ece088)

    ๐Ÿ’ฅ BREAKING CHANGES

    โฌ†๏ธ Please see the [upgrading guide](docs/upgrading-v2-to-v3.md).