NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #853 most downloaded on pub.dev
Annotation for generating `copyWith` extensions code using `copy_with_extension_gen`.
Last release 11 days ago
26 Sep 2026
Release timing varies
gaps range from 8 days to 3 months
Nearly every release is documented
notes for 40 of 44 stable releases
Nothing withdrawn
no release was ever pulled
7 years old
45 releases · first in 2019
Add shallow copyWith support for annotated record typedefs.
copyWith support for annotated record typedefs.FutureOr.Support Dart 3.13 primary constructors, including field aliases and super parameters.
One column per quarter.
BREAKING Generated proxies no longer extend the superclass proxy; each one is generated independently. Regenerate all .g.dart files.
.g.dart files.skipFields: true no longer generates field-specific methods for inherited fields either. Use copyWith(field: value).copyWithNull is no longer inherited from an annotated superclass. Enable it per class or globally via build.yaml; affected classes fail generation with an explanatory error.immutableFields.Expand analyzer compatibility to >=8.1.1 <15.0.0.
analyzer compatibility to >=8.1.1 <15.0.0.copyWith generation.Fix Support analyzer 13 named argument AST changes.
BREAKING Constructor parameter resolution now requires an alias-safe binding. Parameters used only in derived initializer expressions, such as super(a
super(a: b + 1) or field = normalize(input), are rejected instead of being treated as direct field aliases. The previous behavior was unsound because copyWith only has stored field values, not original constructor arguments or inverse logic for computed values.analyzer constraint to >=8.1.1 <14.0.0.Raise the minimum Dart SDK to ^3.7.0.
^3.7.0.analyzer compatibility to >=8.1.1 <13.0.0.BREAKING Remove package:copy_with_extension_gen/builder.dart. Import package:copy_with_extension_gen/copy_with_extension_gen.dart instead when wiring
package:copy_with_extension_gen/builder.dart. Import package:copy_with_extension_gen/copy_with_extension_gen.dart instead when wiring the builder factory directly.Honor @CopyWithField when constructor parameters are renamed.
* Updating analyzer to ^10.0.0
analyzer to ^10.0.0* Updating analyzer to ^9.0.0
analyzer to ^9.0.0Proxy generator now inherits only within the same library, inlines otherwise. Fixes #114.
* Updating analyzer to ^8.0.0 * Updating source_gen to ^4.0.0 * Updating build to ^4.0.0
analyzer to ^8.0.0source_gen to ^4.0.0build to ^4.0.0Fix constructor parameter resolution when initializers reference parameters or super constructors.
Forward annotations (e.g., @Deprecated) to generated copyWith parameters.
immutableFields option to treat class fields as immutable by default.@Deprecated) to generated copyWith parameters.BREAKING Dynamic fields are treated as nullable, affecting generated copyWith signatures.
copyWith signatures.copyWith across parent and child classesBREAKING Private constructor parameters are now treated as immutable to avoid invalid copyWith parameter names.
Added namespace support for classes using import prefixes.
Migrated to the new analyzer element2 APIs.
element2 APIs.analyzer to ^7.0.0source_gen to ^3.0.0* Updating analyzer to ^7.0.0 * Updating source_gen to ^2.0.0
analyzer to ^7.0.0source_gen to ^2.0.0BREAKING The copyWith function no longer accepts null for non-nullable fields to prevent ambiguity and errors.
copyWith function no longer accepts null for non-nullable fields to prevent ambiguity and errors.Updating analyzer to >=2.0.0 <7.0.0 (thanks @shilangyu).
analyzer to >=2.0.0 <7.0.0 (thanks @shilangyu).* Updating sdk to >=3.0.0 <4.0.0
sdk to >=3.0.0 <4.0.0Fix Allow having a nullable constructor parameter with a fallback for a non-nullable class field.
Fix Warnings when using the ? operator on a dynamic type.
Allow positional constructor parameters (thanks @mrgnhnt96).
Updating analyzer to >=2.0.0 <6.0.0
analyzer to >=2.0.0 <6.0.0Suppressing lint warnings for library_private_types_in_public_api.
library_private_types_in_public_api.copyWith extension.Updating analyzer to >=2.0.0 <5.0.0
analyzer to >=2.0.0 <5.0.0BREAKING copyWith function now correctly supports nullification of nullable fields like so copyWith(id: null).
copyWith function now correctly supports nullification of nullable fields like so copyWith(id: null).CopyWith annotation for named constructor namedConstructor is renamed to constructor to be in sync with json_serializable.Updating analyzer to >=2.0.0 <4.0.0
analyzer to >=2.0.0 <4.0.0copyWith function with nullability support that can be used like so: myInstance.copyWith.value("newValue"). The old functionality is still available.generateCopyWithNull is renamed to copyWithNull.Fix generation of generics with nullable types (thanks @josiahsrc).
* Updating dependencies.
Introduces support for null safety.
Fixes an issue with generating code for some classes with generic type parameters.
Fixes the boolean-expression-must-not-be-null-exception issue
boolean-expression-must-not-be-null-exception issueimmutable field annotationIntroducing support for generic types
Introducing the copyWithNull function.
copyWithNull function.Creates a unique extension name for each class.
Minor metadata and description corrections.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Allows you to generate a copyWith extension for objects annotated with @CopyWith().
copyWith extension for objects annotated with @CopyWith().Your coding agent can read these notes before it upgrades. Set up the MCP server →