npm @medusajs/medusa 1.15.0
v1.15.0

latest releases: 1.20.6-snapshot-20240924132405, 1.20.6-snapshot-20240924113146, 1.20.6-snapshot-20240924111034...
13 months ago

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

Full Changelog: v1.14.0...v1.15.0

Don't miss a new medusa release

NewReleases is sending notifications on new releases.