code_assets
This library contains the hook protocol specification for bundling native code with Dart packages.
2.0.0
9.5M downloads/mo
#33 most downloaded on pub.dev
dart-lang/native
What this package is like to depend on
Last release 6 days ago
18 Aug 2026
Release timing varies
gaps range from 8 days to 6 months
Nearly every release is documented
notes for 15 of 16 stable releases
Nothing withdrawn
no release was ever pulled
1 years old
17 releases · first in 2025
9 releases in the last 12 months
see the full history below
Release timeline
17 releases · Apr 2025 to Aug 2026
2026
Releases
latest 17-
2.0.018 Aug 2026Release notes
Open source →- Validate bundled dynamic libraries by reading their header: when the file is
a recognized ELF, Mach-O, or PE binary, check that it was built for the
target architecture. Reject multi-architecture Mach-O output because hooks
run once per target architecture. A file the built-in validators do not
recognize, or a recognized library built for an architecture they do not
know, warns on the supplied logger instead of failing. - Bump the dependency on
package:hooksto^2.2.0. - Breaking change: Overrode
==andhashCodeinOS,Architecture, andSanitizerto support custom targets. These objects can no longer be used as keys ofconstmaps and sets.- Migration: Use
final(runtime) maps and sets instead ofconst, or use the string representations (e.g.,OS.name,Architecture.name) as keys ifconstis required.
- Migration: Use
- Support custom target OS, architecture, and santizer in protocol extension.
Release notes
Open source →- Validate bundled dynamic libraries by reading their header: when the file is a recognized ELF, Mach-O, or PE binary, check that it was built for the target architecture. Reject multi-architecture Mach-O output because hooks run once per target architecture. A file the built-in validators do not recognize, or a recognized library built for an architecture they do not know, warns on the supplied logger instead of failing.
- Bump the dependency on
package:hooksto^2.2.0. - Breaking change: Overrode
==andhashCodeinOS,Architecture, andSanitizerto support custom targets. These objects can no longer be used as keys ofconstmaps and sets.- Migration: Use
final(runtime) maps and sets instead ofconst, or use the string representations (e.g.,OS.name,Architecture.name) as keys ifconstis required.
- Migration: Use
- Support custom target OS, architecture, and santizer in protocol extension.
- Validate bundled dynamic libraries by reading their header: when the file is
-
1.2.101 Jun 2026Release notes
Open source →- Avoid throwing a null-assertion error/exception when
input.config.codeis accessed butinput.config.buildCodeAssetsisfalse. Instead, throw a clear and descriptiveStateError.
- Avoid throwing a null-assertion error/exception when
-
1.2.027 May 2026Release notes
Open source →- Added an optional
sanitizerparameter toCodeConfigandCodeAssetExtensionsupportingasan,msan, andtsan.
- Added an optional
-
1.1.018 May 2026Release notes
Open source →- Bumped dependency on
package:hooksto^2.0.0and implemented the newoutputFilesprotocol extension method to track generated files for cache invalidation, correctly omitting non-local assets like system libraries.
- Bumped dependency on
-
1.0.007 Nov 2025 -
0.19.1027 Oct 2025Release notes
Open source →- Document
input.packageRootin more places. - Document
CodeAsset.idpackage namespacing.
- Document
-
0.19.920 Oct 2025 -
0.19.813 Oct 2025 -
0.19.702 Sep 2025 -
0.19.627 Aug 2025Release notes
Open source →- Added a library comment detailing how to use the package.
- Fixed duplicate asset id detection with assets coming from both build and link hooks.
-
0.19.504 Aug 2025 -
0.19.412 Jun 2025Release notes
Open source →- Fix native_toolchain_c failing with MSSSMS installed by requiring vswhere to only show output that includes the necessary build tools
- Link frameworks for C and C++ sources targeting macOS or iOS.
(#3162) - Bump
package:code_assetsdependency to^2.0.0. - Spawn all processes through a
package:processProcessManager, exposed as
an optional parameter onCBuilder.run,CLinker.run,CLibrary.build, and
CLibrary.link(defaulting toLocalProcessManager), so process invocations
can be mocked in tests. (#3072)
-
0.19.321 May 2025 -
0.19.221 May 2025Nothing published for this version
-
0.19.121 May 2025Release notes
Open source →- Bump the SDK constraint to at least the one from
package:hooksto fix dartdoc generation on https://pub.dev.
- Bump the SDK constraint to at least the one from
-
0.19.001 May 2025Release notes
Open source →- Split up
package:native_assets_cliinpackage:hooks,package:code_assets, andpackage:data_assets.
- Split up
-
0.1.0-wip01 Apr 2025 pre-releaseNothing published for this version