···11+---
22+'@hey-api/openapi-ts': patch
33+---
44+55+**output**: add `nameConflictResolver` option
66+77+## Name Conflicts
88+99+As your project grows, the chances of name conflicts increase. We use a simple conflict resolver that appends numeric suffixes to duplicate identifiers. If you prefer a different strategy, you can provide your own `nameConflictResolver` function.
1010+1111+```js
1212+export default {
1313+ input: 'hey-api/backend', // sign up at app.heyapi.dev
1414+ output: {
1515+ nameConflictResolver({ attempt, baseName }) {
1616+ return attempt === 0 ? baseName : `${baseName}_N${attempt + 1}`;
1717+ },
1818+ path: 'src/client',
1919+ },
2020+};
2121+```
2222+2323+Example output:
2424+2525+```ts
2626+export type ChatCompletion = string;
2727+2828+export type ChatCompletion_N2 = number;
2929+```
+21
.changeset/eight-rabbits-unite.md
···11+---
22+'@hey-api/openapi-ts': minor
33+---
44+55+**output**: add `preferExportAll` option
66+77+### Prefer named exports
88+99+This release changes the default for `index.ts` to prefer named exports. Named exports may lead to better IDE and bundler performance compared to asterisk (`*`) as your tooling doesn't have to inspect the underlying module to discover exports.
1010+1111+While this change is merely cosmetic, you can set `output.preferExportAll` to `true` if you prefer to use the asterisk.
1212+1313+```js
1414+export default {
1515+ input: 'hey-api/backend', // sign up at app.heyapi.dev
1616+ output: {
1717+ path: 'src/client',
1818+ preferExportAll: true,
1919+ },
2020+};
2121+```
+5
.changeset/gentle-spoons-kneel.md
···11+---
22+'@hey-api/codegen-core': minor
33+---
44+55+**symbols**: remove `placeholder` property
+9
.changeset/plenty-walls-repeat.md
···11+---
22+'@hey-api/openapi-ts': minor
33+---
44+55+**parser**: removed `symbol:setValue:*` events
66+77+### Removed `symbol:setValue:*` events
88+99+These events have been removed in favor of `node:set:*` events.