PackageTrack
Sign in Get early access

hooks

A library that contains a Dart API for the JSON-based protocol for `hook/build.dart` and `hook/link.dart`.

2.2.0 10M downloads/mo #22 most downloaded on pub.dev dart-lang/native

What this package is like to depend on

Last release 6 days ago

18 Aug 2026

Ships fairly regularly

a new release about every 4 weeks

Nearly every release is documented

notes for 20 of 21 stable releases

4 versions withdrawn

withdrawn after publishing

13 years old

25 releases · first in 2013

13 releases in the last 12 months

see the full history below

Release timeline

25 releases · Aug 2013 to Aug 2026
2014 2016 2018 2020 2022 2024 2026
Release Pre-release Withdrawn

Releases

latest 25
  1. 2.2.0 18 Aug 2026
    Release notes
    • Add ProtocolExtension.setupLogger, which the hooks runner calls to provide
      the logger used for validation diagnostics before any other method is invoked
      on the extension.
    • Fix HookInputUserDefines.path mangling absolute Windows paths: the drive
      letter was parsed as a URI scheme. Absolute paths are now returned as-is;
      relative paths are resolved against the source of the path.
    • Add HookInputUserDefines.baseUri, which can be used to resolve paths
      from nested user-defined options.
    Open source →
    Release notes
    • Add ProtocolExtension.setupLogger, which the hooks runner calls to provide the logger used for validation diagnostics before any other method is invoked on the extension.
    • Fix HookInputUserDefines.path mangling absolute Windows paths: the drive letter was parsed as a URI scheme. Absolute paths are now returned as-is; relative paths are resolved against the source of the path.
    • Add HookInputUserDefines.baseUri, which can be used to resolve paths from nested user-defined options.
    Open source →
  2. 2.1.0 13 Jul 2026
    Release notes
    • Graduate LinkInput.recordedUses out of experimental.
    Open source →
  3. 2.0.2 02 Jun 2026
    Release notes
    • Update documentation for user-defines.
    Open source →
  4. 2.0.1 01 Jun 2026
    Release notes
    • Updated documentation for hook caching behavior and semi-hermetic environment variables.
    Open source →
  5. 2.0.0 18 May 2026
    Release notes
    • 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:hooks to ^2.2.0.
    • Breaking change: Overrode == and hashCode in OS, Architecture, and Sanitizer to support custom targets. These objects can no longer be used as keys of const maps and sets.
      • Migration: Use final (runtime) maps and sets instead of const, or use the string representations (e.g., OS.name, Architecture.name) as keys if const is required.
    • Support custom target OS, architecture, and santizer in protocol extension.
    Open source →
    Release notes
    • Breaking change: Turned ProtocolExtension into a base class instead of an interface, with default implementations for all methods including the newly added outputFiles.
    Open source →
  6. 1.0.3 21 Apr 2026
    Release notes
    • Fix JNI build errors on Linux arm64.
    Open source →
    Release notes
    • Deprecated recordedUsagesFile in LinkInput.
    • Added recordedUses getter to LinkInput.
    • Added dependency on package:record_use.
    Open source →
  7. 1.0.2 06 Mar 2026
    Release notes
    • Revert an unnecessary (and breaking) KGP migration.
    Open source →
    Release notes
    • Update documentation about CCACHE_ environment variables.
    Open source →
  8. 1.0.1 03 Feb 2026
    Release notes
    • Update documentation about environment variables.
    Open source →
  9. 1.0.0 07 Nov 2025
    Release notes
    • Stable release.
    Open source →
  10. 0.20.5 27 Oct 2025
    Release notes
    • Document input.packageRoot in more places.
    Open source →
  11. 0.20.4 15 Oct 2025
    Release notes
    • Improved documentation on debugging and added a documentation index.
    Open source →
  12. 0.20.3 13 Oct 2025
    Release notes
    • Polished README.md, Dartdocs, and examples.
    Open source →
  13. 0.20.2 08 Oct 2025
    Release notes
    • Change the length of the checksum used for outputDirectory to 10 hexadecimal characters to avoid running out of path length on Windows.
    Open source →
  14. 0.20.1 27 Aug 2025
    Release notes
    • Update outdated documentation.
    • Deprecate HookOutputBuilder.addDependency and HookOutputBuilder.addDependencies in favor of HookOutputBuilder.dependencies.add and HookOutputBuilder.dependencies.addAll.
    Open source →
  15. 0.20.0 04 Aug 2025
    Release notes
    • Breaking change Rename EncodedAsset.jsonPath to EncodedAsset.encodingJsonPath. This field only governs the EncodedAsset.encoding field, not the whole object.
    • Enable passing metadata from link hooks of a package to the link hooks in dependencies, by fixing the link hook execution order.
    Open source →
  16. 0.19.5 12 Jun 2025
    Release notes
    • Stop leaking unexported symbols.
    Open source →
  17. 0.19.4 12 Jun 2025
    Release notes
    • 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_assets dependency to ^2.0.0.
    • Spawn all processes through a package:process ProcessManager, exposed as
      an optional parameter on CBuilder.run, CLinker.run, CLibrary.build, and
      CLibrary.link (defaulting to LocalProcessManager), so process invocations
      can be mocked in tests. (#3072)
    Open source →
    Release notes
    • Add doc comments to all public members.
    Open source →
  18. 0.19.3 21 May 2025
    Release notes
    • Mark this package as in preview.
    Open source →
  19. 0.19.2 21 May 2025

    Nothing published for this version

  20. 0.19.1 19 May 2025
    Release notes
    • Added links to the build and link methods as primary entry points.
    • Added failure outputs and documented exit codes.
    Open source →
  21. 0.19.0 01 May 2025
    Release notes
    • Split up package:native_assets_cli in package:hooks, package:code_assets, and package:data_assets.
    Open source →
  22. 0.1.2 06 Dec 2013 withdrawn

    Nothing published for this version

  23. 0.1.1 16 Sep 2013 withdrawn

    Nothing published for this version

  24. 0.1.0 13 Aug 2013 withdrawn
    Release notes
    • Initial version.
    Open source →
  25. 0.0.1 08 Aug 2013 withdrawn

    Nothing published for this version

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