PackageTrack
Sign in Get early access

copy_with_extension

Annotation for generating `copyWith` extensions code using `copy_with_extension_gen`.

17.0.0 188K downloads/mo #877 most downloaded on pub.dev numen31337/copy_with_extension

What this package is like to depend on

Last release 16 days ago

08 Aug 2026

Release timing varies

gaps range from 8 days to 6 months

Nearly every release is documented

notes for 38 of 42 stable releases

Nothing withdrawn

no release was ever pulled

7 years old

43 releases · first in 2019

12 releases in the last 12 months

see the full history below

Release timeline

43 releases · Dec 2019 to Aug 2026
2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 43
  1. 17.0.0 08 Aug 2026
    Release notes
    • BREAKING Generated proxies no longer extend the superclass proxy; each one is generated independently. Regenerate all .g.dart files.
    • BREAKING skipFields: true no longer generates field-specific methods for inherited fields either. Use copyWith(field: value).
    • BREAKING 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.
    • Fix invalid generated code when a subclass narrows an inherited field type, or when parent and child differ in immutableFields.
    Open source →
  2. 16.0.0 02 Aug 2026
    Release notes
    • Expand analyzer compatibility to >=8.1.1 <15.0.0.
    • Fix silent argument shift when a non-trailing optional positional parameter is dropped from copyWith generation.
    • Preserve import prefixes on type-parameter bounds in generated proxies.
    Open source →
  3. 15.0.1 01 May 2026
    Release notes
    • Fix Support analyzer 13 named argument AST changes.
    Open source →
  4. 15.0.0 26 Apr 2026
    Release notes
    • BREAKING Constructor parameter resolution now requires an alias-safe binding. Parameters used only in derived initializer expressions, such as 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.
    • Refactor internal implementation structure to improve maintainability and prepare future changes.
    • Relax the analyzer constraint to >=8.1.1 <14.0.0.
    Open source →
  5. 14.0.0 21 Mar 2026
    Release notes
    • Raise the minimum Dart SDK to ^3.7.0.
    • Expand analyzer compatibility to >=8.1.1 <13.0.0.
    Open source →
  6. 13.0.0 14 Mar 2026
    Release notes
    • BREAKING Remove 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.
    • Preserve import prefixes in generated function-typed field signatures.
    • Normalize proxy generics for typedef-inherited models and improve alias-based generation coverage.
    Open source →
  7. 12.1.0 20 Feb 2026
    Release notes
    • Honor @CopyWithField when constructor parameters are renamed.
    • Fix inheritance proxy generation when skipFields is enabled globally. Fixes #120.
    • Avoid emitting copyWithNull and empty call({}) signatures when no mutable nullable fields are available. Fixes #125.
    Open source →
  8. 12.0.0 07 Feb 2026
    Release notes
    • Updating analyzer to ^10.0.0
    Open source →
  9. 11.0.0 10 Dec 2025
    Release notes
    • Updating analyzer to ^9.0.0
    Open source →
  10. 10.0.1 21 Sep 2025
    Release notes
    • Proxy generator now inherits only within the same library, inlines otherwise. Fixes #114.
    Open source →
  11. 10.0.0 11 Sep 2025
    Release notes
    • Updating analyzer to ^8.0.0
    • Updating source_gen to ^4.0.0
    • Updating build to ^4.0.0
    Open source →
  12. 9.1.1 03 Sep 2025
    Release notes
    • Fix constructor parameter resolution when initializers reference parameters or super constructors.
    Open source →
  13. 9.1.0 06 Aug 2025
    Release notes
    • Added immutableFields option to treat class fields as immutable by default.
    • Forward annotations (e.g., @Deprecated) to generated copyWith parameters.
    • Preserve type aliases.
    • Added support for redirection constructors.
    Open source →
  14. 9.0.0 06 Aug 2025
    Release notes
    • BREAKING Dynamic fields are treated as nullable, affecting generated copyWith signatures.
    • Added robust inheritance support enabling copyWith across parent and child classes
    Open source →
  15. 8.0.0 02 Aug 2025
    Release notes
    • BREAKING Private constructor parameters are now treated as immutable to avoid invalid copyWith parameter names.
    • BREAKING Field annotations are inherited from parent classes.
    Open source →
  16. 7.1.0 28 Jul 2025
    Release notes
    • Added namespace support for classes using import prefixes.
    • Added comments and tests for clarity.
    Open source →
  17. 7.0.0 26 Jul 2025
    Release notes
    • Migrated to the new analyzer element2 APIs.
    • Updating analyzer to ^7.0.0
    • Updating source_gen to ^3.0.0
    Open source →
  18. 6.0.1 20 Jan 2025
    Release notes
    • Updating analyzer to ^7.0.0
    • Updating source_gen to ^2.0.0
    Open source →
  19. 6.0.0 30 Nov 2024
    Release notes
    • BREAKING The copyWith function no longer accepts null for non-nullable fields to prevent ambiguity and errors.
    Open source →
  20. 5.0.4 14 Aug 2023
    Release notes
    • Updating analyzer to >=2.0.0 <7.0.0 (thanks @shilangyu).
    Open source →
  21. 5.0.3 13 Jun 2023
    Release notes
    • Updating sdk to >=3.0.0 <4.0.0
    Open source →
  22. 5.0.2 27 Feb 2023
    Release notes
    • Fix Allow having a nullable constructor parameter with a fallback for a non-nullable class field.
    Open source →
  23. 5.0.1 26 Feb 2023
    Release notes
    • Fix Warnings when using the ? operator on a dynamic type.
    • Fix Warnings when using the ! operator on a non-nullable type.
    • Fix Crash when object contains a dynamic field that is null.
    Open source →
  24. 5.0.0 02 Dec 2022
    Release notes
    • Allow positional constructor parameters (thanks @mrgnhnt96).
    • Ability to define library default settings globally (thanks @mrgnhnt96).
    Open source →
  25. 4.0.4 12 Oct 2022
    Release notes
    • Updating analyzer to >=2.0.0 <6.0.0
    Open source →
  26. 4.0.3 05 Aug 2022
    Release notes
    • Suppressing lint warnings for library_private_types_in_public_api.
    • Classes that are declared as private will get a private copyWith extension.
    Open source →
  27. 4.0.2 19 May 2022
    Release notes
    • Updating analyzer to >=2.0.0 <5.0.0
    Open source →
  28. 4.0.0 06 Jan 2022
    Release notes
    • BREAKING copyWith function now correctly supports nullification of nullable fields like so copyWith(id: null).
    • BREAKING CopyWith annotation for named constructor namedConstructor is renamed to constructor to be in sync with json_serializable.
    Open source →
  29. 3.0.0 22 Dec 2021
    Release notes
    • Updating analyzer to >=2.0.0 <4.0.0
    • Named constructor support.
    • Better error reporting.
    • Introduction of the new copyWith function with nullability support that can be used like so: myInstance.copyWith.value("newValue"). The old functionality is still available.
    • BREAKING generateCopyWithNull is renamed to copyWithNull.
    Open source →
  30. 2.0.2 24 Jun 2021
    Release notes
    • Fix generation of generics with nullable types (thanks @josiahsrc).
    Open source →
  31. 2.0.0 08 Mar 2021
    Release notes
    • Updating dependencies.
    Open source →
  32. 2.0.0-nullsafety.1 02 Feb 2021 pre-release
    Release notes
    • Introduces support for null safety.
    Open source →
  33. 1.4.0 25 Oct 2020
    Release notes
    • Fixes an issue with generating code for some classes with generic type parameters.
    Open source →
  34. 1.3.0 09 Oct 2020
    Release notes
    • Fixes the boolean-expression-must-not-be-null-exception issue
    • Introduces the immutable field annotation
    Open source →
  35. 1.2.0 25 May 2020
    Release notes
    • Introducing support for generic types
    Open source →
  36. 1.1.0 07 Apr 2020
    Release notes
    • Introducing the copyWithNull function.
    Open source →
  37. 1.0.7 15 Dec 2019
    Release notes
    • Creates a unique extension name for each class.
    Open source →
  38. 1.0.6 13 Dec 2019
    Release notes
    • Minor metadata and description corrections.
    Open source →
  39. 1.0.5 13 Dec 2019

    Nothing published for this version

  40. 1.0.3 11 Dec 2019

    Nothing published for this version

  41. 1.0.2 06 Dec 2019

    Nothing published for this version

  42. 1.0.1 05 Dec 2019

    Nothing published for this version

  43. 1.0.0 05 Dec 2019
    Release notes
    • Allows you to generate a copyWith extension for objects annotated with @CopyWith().
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive