Skip to content

2.3.0 - #1455

Merged
UlisesGascon merged 1 commit into
mainfrom
release/2.3.0
Aug 28, 2026
Merged

2.3.0#1455
UlisesGascon merged 1 commit into
mainfrom
release/2.3.0

Conversation

@UlisesGascon

@UlisesGascon UlisesGascon commented Aug 25, 2026

Copy link
Copy Markdown
Member

What's included in the CHANGELOG.md

## 2.3.0

- Fix [CVE-2026-77078](https://www.cve.org/CVERecord?id=CVE-2026-77078) ([GHSA-wc9g-mqfw-jrwm](https://github.com/expressjs/multer/security/advisories/GHSA-wc9g-mqfw-jrwm))
- Fix [CVE-2026-77037](https://www.cve.org/CVERecord?id=CVE-2026-77037) ([GHSA-qfvm-cv95-jqjf](https://github.com/expressjs/multer/security/advisories/GHSA-qfvm-cv95-jqjf))
- Fix [CVE-2026-77063](https://www.cve.org/CVERecord?id=CVE-2026-77063) ([GHSA-qvfw-j98x-7q72](https://github.com/expressjs/multer/security/advisories/GHSA-qvfw-j98x-7q72))
- Fix [CVE-2026-82333](https://www.cve.org/CVERecord?id=CVE-2026-82333) ([GHSA-535w-7cp7-47q4](https://github.com/expressjs/multer/security/advisories/GHSA-535w-7cp7-47q4))
- Add `MulterError` codes `INVALID_FIELD_NAME` and `STREAM_DESTROYED`
- Add opt-in `limits.fieldArrayIndexLimit` to bound numeric array indexes in field names ([#1438](https://github.com/expressjs/multer/pull/1438))
- Accept files whose size is exactly `limits.fileSize` ([#1407](https://github.com/expressjs/multer/pull/1407))
- Preserve the caller's async context (`AsyncLocalStorage`) when calling `next()` ([#1124](https://github.com/expressjs/multer/pull/1124))
- Decode WHATWG-escaped characters (`%0A`, `%0D`, `%22`) in `file.originalname` ([#1421](https://github.com/expressjs/multer/pull/1421))
- Do not crash when `fileFilter` invokes its callback more than once ([#1427](https://github.com/expressjs/multer/pull/1427))
- Use a fallback message for `MulterError` codes without a mapping ([#1448](https://github.com/expressjs/multer/pull/1448))
- Docs: clarify `preservePath` and `parts`, use `crypto.randomBytes` in the `DiskStorage` example ([#1414](https://github.com/expressjs/multer/pull/1414), [#1430](https://github.com/expressjs/multer/pull/1430), [#1436](https://github.com/expressjs/multer/pull/1436))
- Docs: add Indonesian, Japanese and Tamil translations and refresh all translations from the current README ([#1431](https://github.com/expressjs/multer/pull/1431), [#1354](https://github.com/expressjs/multer/pull/1354), [#1462](https://github.com/expressjs/multer/pull/1462))
- Internal: run the test suite on Windows ([#1334](https://github.com/expressjs/multer/pull/1334))

What's Changed

New Contributors

Full Changelog: v2.2.0...main

@coveralls

coveralls commented Aug 25, 2026

Copy link
Copy Markdown

Coverage Status

coverage: 99.717%. remained the same — release/2.3.0 into main

@UlisesGascon

Copy link
Copy Markdown
Member Author

Note: the patch for the CI failures is included in the security patches

@bjohansebas bjohansebas left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

go ahaead!

@kilisamemarisaaa

Copy link
Copy Markdown
Contributor

Hi @UlisesGascon — regarding the Windows CI failures on this release PR (windows-latest x Node 10-21): the root cause is the orphan-file-cleanup test added in 9c801c7 (GHSA-3p4h-7m6x-2hcm). On Windows with Node <= 21 the abort path cannot unlink the partial file because the write stream keeps the file handle open (EPERM), and the test's fixed 500ms wait + bare rimraf are also sensitive to that platform. That file has not been touched on main since it was introduced, so the fix is not in main yet.

I opened #1456 ('fix: release write stream handle on aborted uploads'), which destroys the destination write stream on premature close and replaces the fixed 500ms waits with poll-until-empty. CI for that branch is fully green, including the previously failing windows Node 10-21 legs.

@UlisesGascon
UlisesGascon force-pushed the release/2.3.0 branch 2 times, most recently from 95746dc to 4417e5b Compare August 28, 2026 18:16
@UlisesGascon
UlisesGascon force-pushed the main branch 2 times, most recently from 2ad8b68 to eef7444 Compare August 28, 2026 18:44
@UlisesGascon UlisesGascon changed the title Release: 2.3.0 2.3.0 Aug 28, 2026
@UlisesGascon
UlisesGascon merged commit 4e8edf5 into main Aug 28, 2026
40 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants