Highlights
Import and Export support in @medusajs/file-local
The file plugin, @medusajs/file-local,
used for local development, now supports uploads and downloads via streaming, making it possible to import products right after setting up a project, among other things.
New Search UI in Medusa Documentation
You can now filter the search results to view specific results such as plugins, API reference, UI, and other areas of the documentation.
Check it out here.
Breaking changes
Reading and writing streams with file plugins now default to a private bucket across all providers.
The file plugin streaming API to upload to public/private buckets has been updated to be consistent across all providers.
// before
// MinIO
fileService.getUploadStreamDescriptor({..., usePrivateBucket: false})
// S3 & Spaces
fileService.getUploadStreamDescriptor({..., acl: "public-read"})
// after
fileService.getUploadStreamDescriptor({..., isPrivate: true}) // private bucket (default)
fileService.getUploadStreamDescriptor({..., isPrivate: false}) // public bucket
The following method signatures in the Price List and Product import strategies have been updated:
// before
downloadImportOpsFile(batchJobId: string, op: OperationType)
deleteOpsFiles(batchJobId: string)
// after
downloadImportOpsFile(batchJob: BatchJob, op: OperationType)
deleteOpsFiles(batchJob: BatchJob)
The following types specific to file services have moved from @medusajs/medusa
to @medusajs/types
:
export type FileServiceUploadResult = {
url: string
key: string
}
export type FileServiceGetUploadStreamResult = {
writeStream: stream.PassThrough
promise: Promise<any>
url: string
fileKey: string
[x: string]: unknown
}
export type GetUploadedFileType = {
fileKey: string
isPrivate?: boolean
[x: string]: unknown
}
export type DeleteFileType = {
fileKey: string
[x: string]: unknown
}
export type UploadStreamDescriptorType = {
name: string
ext?: string
isPrivate?: boolean
[x: string]: unknown
}
Features
- feat(api-reference): Add rewrite to UI docs by @kasperkristensen in #4791
- feat(medusa-file-local): implement missing streaming methods by @fPolic in #4788
- feat(medusa):
PriceListImportStrategy
descriptive errors by @fPolic in #4842
Bugs
- fix(medusa-interfaces, medusa-file-*): flag for streaming to a private bucket by @fPolic in #4771
- fix(utils,product): mikro orm connection loader by @carlos-r-l-rodrigues in #4825
- fix(medusa-telemetry): added missing babel dependencies by @shahednasser in #4817
- fix(admin-ui): Fix sign out in admin panel not redirecting correctly by @StephixOne in #4837
- fix(admin-ui): Fix variant creation when no stock locations provided by @StephixOne in #4843
- fix(admin-ui): Typo for should in the "Create Region" form by @ vfrunza in #4854
Docs
- docs: added beta features documentation by @shahednasser in #4859
- docs,api-ref: added search filters by @shahednasser in #4830
Full Changelog: v1.14.0...v1.15.0