Releases: axios/axios
v0.31.0
This release backports security fixes from v1.x, hardens the CI/CD supply chain with OIDC publishing and zizmor scanning, resolves TypeScript typing issues in AxiosInstance, and fixes a performance regression in isEmptyObject().
🔒 Security Fixes
-
Header Injection & Proxy Bypass: Backports v1 security hardening — sanitizes outgoing header values to strip invalid bytes, CRLF sequences, and boundary whitespace (including array values); adds proper
NO_PROXY/no_proxyenforcement covering wildcards, explicit ports, loopback aliases (localhost,127.0.0.1,::1), bracketed IPv6, and trailing-dot hostnames. Proxy bypass is now checked before the proxy URL is parsed, andparsed.hostis used for correct port and IPv6 handling. (#10688) -
CI Security: SHA-pins all actions and disables credential persistence in v0.x CI, introduces
zizmorsecurity scanning with SARIF upload to code scanning, adds an OIDC Trusted Publishing workflow with npm provenance attestations, and gates all publishes behind a requirednpm-publishGitHub Environment with configurable reviewer protections. (#10638, #10639, #10667)
🐛 Bug Fixes
-
TypeScript —
AxiosInstanceReturn Types: Fixes return types inAxiosInstancemethods to correctly resolve toPromise<R>(matchingAxiosPromise<T>semantics), and corrects the generic call signature so TypeScript properly enforces the response data type. TypeScript-only changes; no runtime impact. (#6253, #7328) -
Performance: Fixes a performance regression in
isEmptyObject()that caused excessive computation when the argument was a large string. (#6484)
🔧 Maintenance & Chores
- Versioning & CI Workflow: Adds an automated versioning flow for v0.x, renames the CI workflow for consistency with the v1.x naming convention, and corrects the branch name reference in CI config. (#10690, #10691, #10692)
🌟 New Contributors
We are thrilled to welcome our new contributors. Thank you for helping improve axios:
v1.15.0
This release delivers two critical security patches, adds runtime support for Deno and Bun, and includes significant CI hardening, documentation improvements, and routine dependency updates.
⚠️ Important Changes
- Deprecation:
url.parse()usage has been replaced to address Node.js deprecation warnings. If you are on a recent version of Node.js, this resolves console warnings you may have been seeing. (#10625)
🔒 Security Fixes
- Proxy Handling: Fixed a
no_proxyhostname normalisation bypass that could lead to Server-Side Request Forgery (SSRF). (#10661) - Header Injection: Fixed an unrestricted cloud metadata exfiltration vulnerability via a header injection chain. (#10660)
🚀 New Features
- Runtime Support: Added compatibility checks and documentation for Deno and Bun environments. (#10652, #10653)
🔧 Maintenance & Chores
- CI Security: Hardened workflow permissions to least privilege, added the
zizmorsecurity scanner, pinned action versions, and gated npm publishing with OIDC and environment protection. (#10618, #10619, #10627, #10637, #10666) - Dependencies: Bumped
serialize-javascript,handlebars,picomatch,vite, anddenoland/setup-denoto latest versions. Added a 7-day Dependabot cooldown period. (#10574, #10572, #10568, #10663, #10664, #10665, #10669, #10670, #10616) - Documentation: Unified docs, improved
beforeRedirectcredential leakage example, clarifiedwithCredentials/withXSRFTokenbehaviour, HTTP/2 support notes, async/await timeout error handling, header case preservation, and various typo fixes. (#10649, #10624, #7452, #7471, #10654, #10644, #10589) - Housekeeping: Removed stale files, regenerated lockfile, and updated sponsor scripts and blocks. (#10584, #10650, #10582, #10640, #10659, #10668)
- Tests: Added regression coverage for urlencoded
Content-Typecasing. (#10573)
🌟 New Contributors
We are thrilled to welcome our new contributors. Thank you for helping improve Axios:
v1.14.0
This release focuses on compatibility fixes, adapter stability improvements, and test/tooling modernisation.
⚠️ Important Changes
- Breaking Changes: None identified in this release.
- Action Required: If you rely on env-based proxy behaviour or CJS resolution edge-cases, validate your integration after upgrade (notably
proxy-from-envv2 alignment andmainentry compatibility fix).
🚀 New Features
- Runtime Features: No new end-user features were introduced in this release.
- Test Coverage Expansion: Added broader smoke/module test coverage for CJS and ESM package usage. (#7510)
🐛 Bug Fixes
- Headers: Trim trailing CRLF in normalised header values. (#7456)
- HTTP/2: Close detached HTTP/2 sessions on timeout to avoid lingering sessions. (#7457)
- Fetch Adapter: Cancel
ReadableStreamcreated during request-stream capability probing to prevent async resource leaks. (#7515) - Proxy Handling: Fixed env proxy behavior with
proxy-from-envv2 usage. (#7499) - CommonJS Compatibility: Fixed package
mainentry regression affecting CJS consumers. (#7532)
🔧 Maintenance & Chores
- Security/Dependencies: Updated
formidableand refreshed package set to newer versions. (#7533, #10556) - Tooling: Continued migration to Vitest and modernised CI/test harnesses. (#7484, #7489, #7498)
- Build/Lint Stack: Rollup, ESLint, TypeScript, and related dev-dependency updates. (#7508, #7509, #7522)
- Documentation: Clarified JSON parsing and adapter-related docs/comments. (#7398, #7460, #7478)
🌟 New Contributors
We are thrilled to welcome our new contributors. Thank you for helping improve Axios:
- @aviu16 (#7456)
- @NETIZEN-11 (#7460)
- @fedotov (#7457)
- @nthbotast (#7478)
- @veeceey (#7398)
- @penkzhou (#7515)
Full Changelog: v1.13.6...v1.14.0
v1.13.6
This release focuses on platform compatibility, error handling improvements, and code quality maintenance.
⚠️ Important Changes
- Breaking Changes: None identified in this release.
- Action Required: Users targeting React Native should verify their integration, particularly if relying on specific Blob or FormData behaviours, as improvements have been made to support these objects.
🚀 New Features
- React Native Blob Support: Axios now includes support for React Native Blob objects. Thanks to @moh3n9595 for the initial implementation. (#5764)
- Code Quality: Implemented prettier across the codebase and resolved associated formatting issues. (#7385)
🐛 Bug Fixes
-
Environment Compatibility:
-
Error Handling:
🔧 Maintenance & Chores
- Dependencies: Updated the development_dependencies group (5 updates). (#7432)
- Infrastructure: Migrated @rollup/plugin-babel from v5.3.1 to v6.1.0. (#7424)
- Documentation: Added missing JSDoc comments to utilities. (#7427)
🌟 New Contributors
We are thrilled to welcome our new contributors! Thank you for helping improve the project:
- @Gudahtt (#7386)
- @ybbus (#7392)
- @Shiwaangee (#7324)
- @skrtheboss (#7403)
- @Janaka66 (#7427)
- @moh3n9595 (#5764)
- @digital-wizard48 (#7424)
Full Changelog: v1.13.5...v1.13.6
Release notes - v0.30.3
This is a critical security maintenance release for the v0.x branch. It addresses a high-priority vulnerability involving prototype pollution that could lead to a Denial of Service (DoS).
Recommendation: All users currently on the 0.x release line should upgrade to this version immediately to ensure environment stability.
🛡️ Security Fixes
- Backport: Fix DoS via proto key in merge config
⚙️ Maintenance & CI
- CI Infrastructure Update
- Updated Continuous Integration workflows for the v0.x branch to maintain long-term support and build reliability. - by @jasonsaayman in PR #7407
⚠️ Breaking Changes
Configuration Merging Behavior:
As part of the security fix, Axios now restricts the merging of the proto key within configuration objects. If your codebase relies on unconventional deep-merging patterns that target the object prototype via Axios config, those operations will now be blocked. This is a necessary change to prevent prototype pollution.
Full Changelog: v0.30.2...v0.30.3
v1.13.5
Release 1.13.5
Highlights
- Security: Fixed a potential Denial of Service issue involving the
__proto__key inmergeConfig. (PR #7369) - Bug fix: Resolved an issue where
AxiosErrorcould be missing thestatusfield on and after v1.13.3. (PR #7368)
Changes
Security
- Fix Denial of Service via
__proto__key inmergeConfig. (PR #7369)
Fixes
Features / Improvements
Documentation
- Clarify object-check comment. (PR #7323)
- Fix deprecated
Bufferconstructor usage and README formatting. (PR #7371)
CI / Maintenance
- Chore: fix issues with YAML. (PR #7355)
- CI: update workflow YAMLs. (PR #7372)
- CI: fix run condition. (PR #7373)
- Dev deps: bump
karma-sourcemap-loaderfrom 0.3.8 to 0.4.0. (PR #7360) - Chore(release): prepare release 1.13.5. (PR #7379)
New Contributors
- @sachin11063 (first contribution — PR #7323)
- @asmitha-16 (first contribution — PR #7326)
Full Changelog: v1.13.4...v1.13.5
v1.13.4
Overview
The release addresses issues discovered in v1.13.3 and includes significant CI/CD improvements.
Full Changelog: v1.13.3...v1.13.4
What's New in v1.13.4
Bug Fixes
- fix: issues with version 1.13.3 (#7352) (ee90dfc)
- Fixed issues discovered in v1.13.3 release
- Cleaned up interceptor test files
- Improved workflow configurations
Infrastructure & CI/CD
-
refactor: ci and build (#7340) (8ff6c19)
- Major refactoring of CI/CD workflows
- Consolidated workflow files for better maintainability
- Added mise configuration for the development environment
- Improved sponsor block update automation
- Enhanced issue and PR templates
- Added automatic release notes generation
- Implemented workflow cancellation for concurrent runs
-
chore: codegen and some updates to workflows (76cf77b)
- Code generation improvements
- Workflow optimisations
Migration Notes
Breaking Changes
None in this release.
Deprecations
None in this release.
Contributors
Thank you to all contributors who made this release possible! Special thanks to:
- jasonsaayman - Release management and CI/CD improvements
Release v1.13.3
Release notes:
Bug Fixes
- http2: Use port 443 for HTTPS connections by default. (#7256) (d7e6065)
- interceptor: handle the error in the same interceptor (#6269) (5945e40)
- main field in package.json should correspond to cjs artifacts (#5756) (7373fbf)
- package.json: add 'bun' package.json 'exports' condition. Load the Node.js build in Bun instead of the browser build (#5754) (b89217e)
- silentJSONParsing=false should throw on invalid JSON (#7253) (#7257) (7d19335)
- turn AxiosError into a native error (#5394) (#5558) (1c6a86d)
- types: add handlers to AxiosInterceptorManager interface (#5551) (8d1271b)
- types: restore AxiosError.cause type from unknown to Error (#7327) (d8233d9)
- unclear error message is thrown when specifying an empty proxy authorization (#6314) (6ef867e)
Features
- add
undefinedas a value in AxiosRequestConfig (#5560) (095033c) - add automatic minor and patch upgrades to dependabot (#6053) (65a7584)
- add Node.js coverage script using c8 (closes #7289) (#7294) (ec9d94e)
- added copilot instructions (3f83143)
- compatibility with frozen prototypes (#6265) (860e033)
- enhance pipeFileToResponse with error handling (#7169) (88d7884)
- types: Intellisense for string literals in a widened union (#6134) (f73474d), closes /github.com/microsoft/TypeScript/issues/33471#issuecomment-1376364329
Reverts
- Revert "fix: silentJSONParsing=false should throw on invalid JSON (#7253) (#7…" (#7298) (a4230f5), closes #7253 #7 #7298
- deps: bump peter-evans/create-pull-request from 7 to 8 in the github-actions group (#7334) (2d6ad5e)
Contributors to this release
Ashvin Tiwari
Nikunj Mochi
Anchal Singh
jasonsaayman
Julian Dax
Akash Dhar Dubey
Madhumita
Tackoil
Justin Dhillon
Rudransh
WuMingDao
codenomnom
Nandan Acharya
Eric Dubé
Tibor Pilz
Gabriel Quaresma
Turadg Aleahmad
JohnTitor
rohit miryala
Wilson Mun
techcodie
Ved Vadnere
svihpinc
SANDESH LENDVE
Lubos
Jarred Sumner
Adam Hines
Subhan Kumar Rai
Joseph Frazier
KT0803
Albie
Jake Hayes