Medusa v1.11.0. Source highlight: In 1.10.0, we changed the mechanism for loading relations in Typeorm from `join` to `query`, which meant that instead of firing one large query with joins, we fire separate queries for each requested relation. This was added to improve performance and eliminate an issue with heavy memory usage. Read
Check the source notes against the package and APIs you use before upgrading.
๐ Product & Engineering Leads
Use the documented changes to assess relevance to your product; release frequency alone is not a quality measure.
โ๏ธ DevOps & Security
Verify the target version, runtime requirements and rollback procedure in the official documentation.
โจ New Features & Capabilities (3)
feat(medusa,utils): Add support for multiple where condition on the same column
feat(medusa): Cart custom query strategy
feat(medusa): Product custom query strategy by @adrien2p and @riqwan in https://github.com/medusajs/medusa/pull/4084
๐ง Bug Fixes & Patches (1)
fix(medusa-oas-cli): Add separator after tmpdir base
๐ View Raw Release Notes (Original Developer Log)
<!--

# Version 1.11.0
This version extends general filtering capabilities to allow you to narrow search results with more granularity.
CMS_BREAK -->
### Features
In 1.10.0, we changed the mechanism for loading relations in Typeorm from `join` to `query`, which meant that instead of firing one large query with joins, we fire separate queries for each requested relation. This was added to improve performance and eliminate an issue with heavy memory usage. Read more about it in [the release notes for 1.10.0](https://github.com/medusajs/medusa/releases/tag/v1.10.0).
Unfortunately, we found the `query` strategy to come with unexpected issues related to database connection management. In short, it turned out the `query` strategy obtains a new database connection for each separate query โ instead of reusing the already established connection โ leading to a drained connection pool and eventually unresponsive applications.
To eliminate these issues (and potential future ones), we've decided to ditch the query strategy. Instead, we are bringing back our (own) custom query strategies for Carts, Products, and Orders to maintain highly performant APIs while mitigating the risk of unexpected memory and/or database connection problems.
This also means we'll be moving away from our Typeorm fork, as the fix related to the query strategy is now irrelevant. You should update your project to use the official Typeorm package.
In your `package.json`, replace our forked version with the latest from Typeorm:
```
"typeorm": "^0.3.16"
```
This is in addition to bumping all you Medusa-related packages to their latest versions.
* feat(medusa,utils): Add support for multiple where condition on the same column by @adrien2p in https://github.com/medusajs/medusa/pull/4046
* feat(medusa): Cart custom query strategy by @olivermrbl in https://github.com/medusajs/medusa/pull/4083
* feat(medusa): Product custom query strategy by @adrien2p and @riqwan in https://github.com/medusajs/medusa/pull/4084
### Bugs
* fix(medusa-oas-cli): Add separator after tmpdir base by @pevey in https://github.com/medusajs/medusa/pull/3924
### Chores
* chore(medusa): Expose `ioredis` options by @olivermrbl in https://github.com/medusajs/medusa/pull/4073
* chore: Revert to official Typeorm package by @olivermrbl in https://github.com/medusajs/medusa/pull/4072
**Full Changelog**: https://github.com/medusajs/medusa/compare/v1.10.1...v1.11.0