> For clean Markdown content of this page, append .md to this URL. For the complete documentation index, see https://buildwithfern.com/learn/llms.txt.

## 1.46.0

**`(feat):`** Add a `dedupeUnionBaseProperties` config option (default `false`). When enabled, a
discriminated union no longer emits a duplicate top-level field for base properties
that every variant already carries (e.g. properties lifted from a shared parent by
`infer-discriminated-union-base-properties`). Without it, such a property appears both
on the union and inside each variant struct, and the top-level copy is silently
dropped when marshaling `samePropertiesAsObject` variants. With the flag on, the
shared property is exposed through a getter that switches on the discriminant and reads
from the active variant — a single source of truth that still allows top-level access
without a type switch. The flag is opt-in to preserve the existing generated surface;
the default will flip in a future major version with a migration.