# What changed in @svgr/webpack

> 23 changes in @svgr/webpack 5 to 8 from its official release notes, upgrade guides and advisories: 7 breaking, 8 new APIs and options. Each one cited. Sources checked 2026-10-25. HTML: https://unstale.sh/npm/@svgr/webpack/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## @svgr/webpack 8

### Breaking changes

- The index template now receives an array of objects containing the created component path and the original SVG path. (8.0.0) — [release notes](https://github.com/gregberge/svgr/releases/tag/v8.0.0)

### New APIs and options

- Adds a snake_case filename option. (8.0.0) — [release notes](https://github.com/gregberge/svgr/releases/tag/v8.0.0)

### Tooling

- Generated code changes SVGProps from a regular import to an import type. (8.0.0) — [release notes](https://github.com/gregberge/svgr/releases/tag/v8.0.0)

### Fixes and other changes

- Fixes a parseObject error that caused the website to break. (8.0.0) — [release notes](https://github.com/gregberge/svgr/releases/tag/v8.0.0)

## @svgr/webpack 7

### Breaking changes

- SVGR now requires Node.js v14 or later. (7.0.0) — [release notes](https://github.com/gregberge/svgr/releases/tag/v7.0.0)
- plugin-jsx is no longer included by default in core. (7.0.0) — [release notes](https://github.com/gregberge/svgr/releases/tag/v7.0.0)

### New APIs and options

- You can now specify jsxRuntimeImport in the configuration. (7.0.0) — [release notes](https://github.com/gregberge/svgr/releases/tag/v7.0.0)

## @svgr/webpack 6

### Breaking changes

- The SVGO config format changes, and SVGR no longer merges SVGO config. (6.0.0) — [release notes](https://github.com/gregberge/svgr/releases/tag/v6.0.0)
- The template format changes. (6.0.0) — [release notes](https://github.com/gregberge/svgr/releases/tag/v6.0.0)

### New APIs and options

- An option was added to explicitly use named exports. (6.0.0) — [release notes](https://github.com/gregberge/svgr/releases/tag/v6.0.0)
- Icon size can be specified. (6.0.0) — [release notes](https://github.com/gregberge/svgr/releases/tag/v6.0.0)
- An index option was added. (6.0.0) — [release notes](https://github.com/gregberge/svgr/releases/tag/v6.0.0)
- JSX runtime selection is supported. (6.0.0) — [release notes](https://github.com/gregberge/svgr/releases/tag/v6.0.0)

### Behavior and default changes

- CSS variables are supported. (6.0.0) — [release notes](https://github.com/gregberge/svgr/releases/tag/v6.0.0)

### Tooling

- TypeScript declarations were added to @svgr/core. (6.0.0) — [release notes](https://github.com/gregberge/svgr/releases/tag/v6.0.0)
- A webpack TypeScript preset configuration was added. (6.0.0) — [release notes](https://github.com/gregberge/svgr/releases/tag/v6.0.0)

### Fixes and other changes

- The mask-type property is supported. (6.0.0) — [release notes](https://github.com/gregberge/svgr/releases/tag/v6.0.0)
- Webpack 5 behavior with url-loader was fixed. (6.0.0) — [release notes](https://github.com/gregberge/svgr/releases/tag/v6.0.0)

## @svgr/webpack 5

### Breaking changes

- Changes the default template to use a function. (5.0.0) — [release notes](https://github.com/gregberge/svgr/releases/tag/v5.0.0)
- Node.js v8 is no longer supported. (5.0.0) — [release notes](https://github.com/gregberge/svgr/releases/tag/v5.0.0)

### New APIs and options

- Adds the memo option. (5.0.0) — [release notes](https://github.com/gregberge/svgr/releases/tag/v5.0.0)
- Adds a titleId prop to enhance accessibility. (5.0.0) — [release notes](https://github.com/gregberge/svgr/releases/tag/v5.0.0)

### Tooling

- Adds support for file-loader v5. (5.0.0) — [release notes](https://github.com/gregberge/svgr/releases/tag/v5.0.0)
