| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| README.md | 2026-10-23 | 11.2 kB | |
| v1.21.0 source code.tar.gz | 2026-10-23 | 1.6 MB | |
| v1.21.0 source code.zip | 2026-10-23 | 1.8 MB | |
| Totals: 3 Items | 3.4 MB | 0 | |
v1.21.0 β October 21, 2026
This release adds response timing and opt-in UTF-8 Basic authentication, improves request handling across runtimes, and changes how header defaults are recognized.
β οΈ Breaking Changes & Deprecations
- Header Defaults: Only plain objects, null-prototype maps, and compatible
AxiosHeadersinstances are treated as common or method-specific defaults; literal headers such asLinkare now preserved. Applications using custom class instances as defaults must convert them to plain maps, for example{ post: { ...customDefaults } }, or compatibleAxiosHeaders. Otherwise, those instances become literal header values, including on requests using other methods. (#11156)
π New Features
- Response Timing: Added
response.duration, in milliseconds, including onerror.responsewhen present. Timing measures adapter execution and excludes interceptors and transforms; streamed responses stop timing when the stream becomes available. Axios replaces any existingdurationvalue supplied by a custom adapter. (#11214) - UTF-8 Basic Authentication: Added
transitional.encodeBasicAuthUsername: trueto support Unicode usernames in XHR and Fetch requests. The option defaults tofalse, preserving existing authentication behavior; applications opting in should supply the original Unicode username and remove manual pre-encoding workarounds. (#11159)
π Bug Fixes
- Fetch Compatibility: Restored requests in runtimes such as Cloudflare Workers that reject the implicit
cache: 'default', while preserving explicit caller settings. Response-size failures now retain their originalERR_BAD_RESPONSEand request context when runtime wrappers replace the underlying stream error. (#11194, #11179) - Runtime Consistency: Aligned encoded-byte size accounting, multipart uploads, proxy routing, same-origin resolution, parameter merging, and form serialization across adapters. Circular parameters now reject with
ERR_BAD_OPTION_VALUE, and sparse or non-index numeric form fields serialize as keyed objects. Withproxy: false, nativeproxyEnvagents using unsupported pool-management or TLS-session lifecycle overrides now reject withERR_BAD_OPTION_VALUE; construct those agents withoutproxyEnv. (#11242) - Header Handling: Preserved headers named
__proto__using safe casing without changing theAxiosHeadersinstance prototype. Function matchers inhas(),delete(), andclear()now receive the headers instance asthis, matching their declared contract. (#11134, #11216) - URL and Data URL Parsing: Accepted case-insensitive supported URL schemes and Base64 markers, and corrected decoding of percent-encoded Base64 data URLs. Node data URL allocation estimates remain aligned with decoding so configured size limits apply before allocation. (#11138, #11163, #11294)
- Error Diagnostics: Preserved short reconstructed request stacks and appended wrapped error stacks under
Caused by:so tooling that reads onlyerror.stackretains the original failure context. (#11132, #11142) - Interceptor Removal: Restored removal through canonical numeric-string interceptor IDs, including after registry compaction. (#11139)
- Proxy TLS: HTTPS CONNECT tunnels now apply current origin TLS options from an explicit
httpsAgent, or fromhttps.globalAgentwhen no explicit agent is supplied. This preserves process-wide custom CA settings through proxy tunnels. (#11178) - XHR Lifecycle: Used asynchronous Cookie Store reads for XSRF tokens where supported, preserving cookie fallback, timeout accounting, and cancellation. Upload and download progress listeners are now removed on completion, failure, timeout, and cancellation. (#11166, #11225)
- HTTP/2 Sessions: Stopped reusing sessions immediately after GOAWAY and prevented draining sessions from scheduling idle timers that could delay process exit. (#11210)
- TypeScript Declarations: Exposed the response-default marker as a public type to resolve
TS2527when consumers emit declarations involving unresolved response generics, covering both ESM and CommonJS. (#11125)
π§ Maintenance & Chores
- Configuration Performance: Reduced request configuration merge overhead, particularly for requests with many headers, while preserving merge semantics and prototype-pollution guards. (#11208)
- Same-Origin Checks: Removed obsolete Internet Explorer detection without changing origin decisions in supported environments. (#11174)
- Dependencies: Updated
follow-redirectsto 1.16.1 and refreshed development, documentation, test, and GitHub Actions dependencies. Removed unuseddayjsfrom the docs package, rootchalk, andchaifrom CJS module tests. (#11169, #11188, #11189, #11195, #11212, #11213, #11218, #11220, #11221, #11230, #11234, #11244, #11245, #11266, #11267, #11268, #11269, #11270, #11271, #11272, #11298, #11302, #11303, #11304, #11305, #11306, #11313, #11321, #11322, #11323, #11342) - Documentation: Fixed interceptor test links, updated README CDN examples to the published 1.20.0 bundle, and corrected guidance on interceptor options and request lifecycle ordering. (#11228, #11149, #11335)
- Contributor Workflow: Consolidated agent instructions in
AGENTS.md, standardized PR labels, required prerelease notes and validation evidence, and clarified thatnpm testrequires installed Playwright browsers. (#11238, #11273, #11223, #11284) - Sponsors and Support: Added HeroDevs, Code for Japan, and Sweepico sponsor listings, refreshed sponsor data, and documented extended security support for Axios v0. (#11222, #11249, #11252, #11341)
- Proxy Regression Coverage: Added a long dotted request-hostname test for
NO_PROXYhandling, extending coverage of an existing denial-of-service fix. (#11235) - Release Preparation: Updated package version metadata for 1.21.0. (#11346)
π New Contributors
Welcome to our 24 new contributors. Thank you for helping improve Axios:
- @lazerg (#11194)
- @QIU-Guanzong (#11228)
- @Iams4kura (#11125)
- @vjymisal0 (#11179)
- @jarrensj (#11238)
- @LineGu (#11132)
- @luantaraschi (#11134)
- @Cyberhet (#11284)
- @nyxst4ck (#11138)
- @windcrestai (#11163)
- @kazuki-netizen (#11294)
- @bilashcse (#11139)
- @JiuYue0820 (#11149)
- @official-burak (#11156)
- @contactjawad (#11159)
- @wittachai-as (#11174)
- @yiheng-kkk (#11166)
- @ShikeChen01 (#11208)
- @cuishuang (#11210)
- @Truenocancion (#11225)
- @jakezwang (#11216)
- @Adityagarg2712 (#11214)
- @Zandereins (#11235)
- @Plastic-time (#11335)