PackageTrack
Sign in Get early access

ferry

Ferry is a simple, powerful GraphQL Client for Flutter and Dart.

0.16.1+2 2.5K downloads/mo #4970 most downloaded on pub.dev gql-dart/ferry

What this package is like to depend on

Last release 1 years ago

03 May 2025

Ships fairly regularly

a new release about every 6 weeks

Most releases are documented

notes for 36 of 43 stable releases

2 versions withdrawn

withdrawn after publishing

6 years old

104 releases · first in 2020

0 releases in the last 12 months

see the full history below

Release timeline

104 releases · Feb 2020 to May 2025
2021 2022 2023 2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 60 of 104
  1. 0.16.2-dev.4 03 May 2025 pre-release
    Release notes
    • BREAKING FEAT(ferry_generator): upgrade to latest gql_code_builder (#637).
    Open source →
    Release notes

    Note: This release has breaking changes.

    • BREAKING FEAT(ferry_generator): upgrade to latest gql_code_builder (#637).
    Open source →
  2. 0.16.2-dev.3 10 Mar 2025 pre-release
    Release notes
    • FEAT(ferry_generator): move to dart_style 3.0.0 (#632).
    Open source →
  3. 0.16.2-dev.2 14 Feb 2025 pre-release
    Release notes
    • BREAKING FEAT(ferry): propagate .done from websockets to returned stream. This this disables refetching/paging for subscriptions and thus a breaking change. See #629.

    2025-02-09

    Changes


    Packages with breaking changes:

    • There are no breaking changes in this release.

    Packages with other changes:

    Packages with dependency updates only:

    Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.

    • ferry_flutter - v0.9.1-dev.1

    Open source →
    Release notes

    Note: This release has breaking changes.

    • BREAKING FEAT(ferry): propagate .done from websockets to returned stream. This this disables refetching/paging for subscriptions and thus a breaking change. See #629.
    Open source →
  4. 0.16.2-dev.1 09 Feb 2025 pre-release
    Release notes
    • FEAT(ferry): expose store flush() in isolate client (#628).

    2025-02-07

    Changes


    Packages with breaking changes:

    • There are no breaking changes in this release.

    Packages with other changes:


    Open source →
    Release notes
    • FEAT(ferry): expose store flush() in isolate client (#628).
    Open source →
  5. 0.16.2-dev.0 07 Feb 2025 pre-release
    Release notes
    • FEAT(ferry): add evict operation to ferry isolate client.

    2025-02-07

    Changes


    Packages with breaking changes:

    Packages with other changes:

    Packages graduated to a stable release (see pre-releases prior to the stable version for changelog entries):

    • ferry - v0.16.1
    • ferry_cache - v0.10.1
    • ferry_flutter - v0.9.1
    • ferry_hive_store - v0.6.0+1
    • ferry_store - v0.6.1

    Open source →
    Release notes
    • FEAT(ferry): add evict operation to ferry isolate client.
    Open source →
  6. 0.16.1+2 06 Jan 2025
    Release notes
    • Graduate package to a stable release. See pre-releases prior to this version for changelog entries.
    Open source →
  7. 0.16.1-dev.2 07 Feb 2025 pre-release
    Release notes
    • Update a dependency to the latest release.
    Open source →
  8. 0.16.1-dev.1 06 Jan 2025 pre-release
    Release notes
    • FEAT(ferry): add evict operation to ferry isolate client.

    2025-01-06

    Changes


    Packages with breaking changes:

    • There are no breaking changes in this release.

    Packages with other changes:

    Packages with dependency updates only:

    Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.

    • ferry - v0.16.1-dev.0+3
    • ferry_flutter - v0.9.1-dev.0+2

    Open source →
    Release notes
    • FEAT(ferry): add evict operation to ferry isolate client.
    Open source →
  9. 0.16.1-dev.0+2 06 Jan 2025 pre-release
    Release notes
    • Update a dependency to the latest release.
    Open source →
  10. 0.16.1-dev.0+3 06 Jan 2025 pre-release
    Release notes
    • Update a dependency to the latest release.
    Open source →
  11. 0.16.0+1 03 Feb 2024
    Release notes
    • Update a dependency to the latest release.
    Open source →
  12. 0.16.0-dev.5 23 Oct 2024 pre-release
    Release notes
    • REFACTOR(ferry): Use const to list.
    Open source →
  13. 0.16.0-dev.4 26 Sep 2024 pre-release
    Release notes
    • BREAKING CHORE(deps): upgrade rxdart to v0.28.0 (#612).
    Open source →
    Release notes

    Note: This release has breaking changes.

    • BREAKING CHORE(deps): upgrade rxdart to v0.28.0 (#612).
    Open source →
  14. 0.16.0-dev.3 20 May 2024 pre-release
    Release notes
    • BREAKING FEAT(ferry_generator): update to gql_code_builders 0.12.0. this extracted the common serializers to a separate package. clients need to add gql_code_builder_serializers to their dependencies if they use ferry_generator. (#601).
    Open source →
    Release notes

    Note: This release has breaking changes.

    • BREAKING FEAT(ferry_generator): update to gql_code_builders 0.12.0. this extracted the common serializers to a separate package. clients need to add gql_code_builder_serializers to their dependencies if they use ferry_generator. (#601).
    Open source →
  15. 0.16.0-dev.2 05 Apr 2024 pre-release
    Release notes
    • FEAT(ferry): make commandSendPort public so it can be shared between isolates (#587).

    2024-03-11

    Changes


    Packages with breaking changes:

    • There are no breaking changes in this release.

    Packages with other changes:


    Open source →
    Release notes
    • FEAT(ferry): make commandSendPort public so it can be shared between isolates (#587).
    Open source →
  16. 0.16.0-dev.1 12 Feb 2024 pre-release
    Release notes
    • Update a dependency to the latest release.
    Open source →
  17. 0.16.0-dev.0+2 12 Feb 2024 pre-release
    Release notes
    • Update a dependency to the latest release.
    Open source →
  18. 0.15.0+1 11 Nov 2023
    Release notes
    • Graduate package to a stable release. See pre-releases prior to this version for changelog entries.
    Open source →
  19. 0.15.0-dev.8 03 Feb 2024 pre-release
    Release notes
    • FEAT: pass context to gql links.
    Open source →
  20. 0.15.0-dev.7 14 Jan 2024 pre-release
    Release notes
    • DOCS: add topics (#548).

    2023-11-14

    Changes


    Packages with breaking changes:

    • There are no breaking changes in this release.

    Packages with other changes:

    Packages with dependency updates only:

    Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.

    • ferry_flutter - v0.9.0-dev.6

    Open source →
    Release notes
    • DOCS: add topics (#548).
    Open source →
  21. 0.15.0-dev.3 13 Aug 2023 pre-release
    Release notes
    • FIX(ferry): Fix problem with operationRequest generated on initial request being included in response each time. (#545).
    • DOCS: add topics (#548).
    • BREAKING FEAT(ferry_exec): remove usage of dynamic in cache and AddTypeNameTypedLink by adding new methods to operationrequest (#547).
    Open source →
    Release notes

    Note: This release has breaking changes.

    • FIX(ferry): Fix problem with operationRequest generated on initial request being included in response each time. (#545).
    • DOCS: add topics (#548).
    • BREAKING FEAT(ferry_exec): remove usage of dynamic in cache and AddTypeNameTypedLink by adding new methods to operationrequest (#547).
    Open source →
  22. 0.15.0-dev.0 02 May 2023 pre-release withdrawn
    Release notes
    • BREAKING REFACTOR(normalize): Add const constructors to FieldPolicy and TypePolicy (#526).
    Open source →
    Release notes

    Note: This release has breaking changes.

    • BREAKING REFACTOR(normalize): Add const constructors to FieldPolicy and TypePolicy ( #526).
    Open source →
  23. 0.15.0-dev.0+1 11 Nov 2023 pre-release
    Release notes
    • Update a dependency to the latest release.
    Open source →
  24. 0.14.2+1 02 May 2023
    Release notes
    • Graduate package to a stable release. See pre-releases prior to this version for changelog entries.
    Open source →
  25. 0.14.2-dev.0+1 02 May 2023 pre-release
    Release notes
    • DOCS: cleanup buggy autogenerated CHANGELOG from melos (#523).
    Open source →
  26. 0.14.0 18 Feb 2023
    Release notes
    • Graduate package to a stable release. See pre-releases prior to this version for changelog entries.
    Open source →
  27. 0.14.0+1 20 Feb 2023
    Release notes
    • Update a dependency to the latest release.
    Open source →
  28. 0.14.0-dev.9 02 May 2023 pre-release
    Release notes
    • REFACTOR(ferry): FetchPolicyTypedLink.request() to avoid pending timers in tests (#427).
    • REFACTOR(ferry): use scheduleMicrostask instead of Future.delayed in order to no have pending timers in widget tests.
    • FIX(normalize): When there are dangling references in child objects of a list, by default do not treat the whole entity as partial data, but remove it from the list. This can be configured using the allowDanglingReference parameter.
    • FIX(ferry): Re-use the same stream for multiple requests when possible (#487).
    • FIX(ferry): add stacktrace to error handler in GqlTypedLink (#467).
    • FIX(ferry): send error to main isolate when data message could not be serialized (#455).
    • FIX(ferry_cache): ensure emitting only one update per updated data ID in cache in watchQuery/watchFragment (#416).
    • FIX(ferry): remove broken isolateSpawn functionality, FlutterIsolate does not support passing functions (#413).
    • FIX: pin normalize 0.6.0.
    • FIX(ferry): call cache handlers for every response from DataSource.Link.
    • FIX(ferry): add dispose method to TypedLinks (#272).
    • FEAT: support stable 1.0.0 versions of depenencies gql, gql_exec, gql_link (#521).
    • FEAT(ferry_generator): when/maybeWhen extensions (#470).
    • FEAT(ferry): add watchQuery, watchFragment, clearOptimisticPatches to IsolateClient (#460).
    • FEAT(ferry): improve isolate error handling (#448).
    • FEAT(ferry): verify that updateResult function can be sent to the other isolate in debug mode using asserts and provide a better error message if updatgeResult cannot be serialized (#425).
    • FEAT(ferry): refactor isolateCommands, add addRequestToRequestController method (#422).
    • FEAT(ferry): add removeOptimisticResponse to isolate client (#412).
    • FEAT(ferry): add IsolateClient (#405).
    • FEAT: generate possibleTypesMap in ferry_generator (#371).
    • FEAT: add Reviews subscription to test graphql.
    • DOCS(ferry): add basic documentation for field policy (#494).
    • DOCS(ferry): fix typo in CHANGELOG (#384).
    • DOCS: remove stale code (#271).
    • BREAKING FIX(ferry): remove optimistic patch when listener unsubscribes before link responds with data instead of leaking optimistic patch forever (#466).
    • BREAKING FIX(ferry_generator): properly generate nullable types for nullable elements in Lists (#445).
    • BREAKING CHORE: update gql_code_builder, gql_exec and vestigial analyzer pubspec entry.
    Open source →
    Release notes

    Note: This release has breaking changes.

    • REFACTOR(ferry): FetchPolicyTypedLink.request() to avoid pending timers in tests (#427).
    • REFACTOR(ferry): use scheduleMicrostask instead of Future.delayed in order to no have pending timers in widget tests.
    • FIX(normalize): When there are dangling references in child objects of a list, by default do not treat the whole entity as partial data, but remove it from the list. This can be configured using the allowDanglingReference parameter.
    • FIX(ferry): Re-use the same stream for multiple requests when possible (#487).
    • FIX(ferry): add stacktrace to error handler in GqlTypedLink (#467).
    • FIX(ferry): send error to main isolate when data message could not be serialized (#455).
    • FIX(ferry_cache): ensure emitting only one update per updated data ID in cache in watchQuery/watchFragment (#416).
    • FIX(ferry): remove broken isolateSpawn functionality, FlutterIsolate does not support passing functions (#413).
    • FIX: pin normalize 0.6.0.
    • FIX(ferry): call cache handlers for every response from DataSource.Link.
    • FIX(ferry): add dispose method to TypedLinks (#272).
    • FEAT: support stable 1.0.0 versions of depenencies gql, gql_exec, gql_link (#521).
    • FEAT(ferry_generator): when/maybeWhen extensions (#470).
    • FEAT(ferry): add watchQuery, watchFragment, clearOptimisticPatches to IsolateClient (#460).
    • FEAT(ferry): improve isolate error handling (#448).
    • FEAT(ferry): verify that updateResult function can be sent to the other isolate in debug mode using asserts and provide a better error message if updatgeResult cannot be serialized (#425).
    • FEAT(ferry): refactor isolateCommands, add addRequestToRequestController method (#422).
    • FEAT(ferry): add removeOptimisticResponse to isolate client (#412).
    • FEAT(ferry): add IsolateClient (#405).
    • FEAT: generate possibleTypesMap in ferry_generator (#371).
    • FEAT: add Reviews subscription to test graphql.
    • DOCS(ferry): add basic documentation for field policy (#494).
    • DOCS(ferry): fix typo in CHANGELOG (#384).
    • DOCS: remove stale code (#271).
    • BREAKING FIX(ferry): remove optimistic patch when listener unsubscribes before link responds with data instead of leaking optimistic patch forever (#466).
    • BREAKING FIX(ferry_generator): properly generate nullable types for nullable elements in Lists (#445).
    • BREAKING CHORE: update gql_code_builder, gql_exec and vestigial analyzer pubspec entry.
    Open source →
  29. 0.14.0-dev.8 30 Apr 2023 pre-release
    Release notes
    • REFACTOR(ferry): FetchPolicyTypedLink.request() to avoid pending timers in tests (#427).
    • REFACTOR(ferry): use scheduleMicrostask instead of Future.delayed in order to no have pending timers in widget tests.
    • FIX(normalize): When there are dangling references in child objects of a list, by default do not treat the whole entity as partial data, but remove it from the list. This can be configured using the allowDanglingReference parameter.
    • FIX(ferry): Re-use the same stream for multiple requests when possible (#487).
    • FIX(ferry): add stacktrace to error handler in GqlTypedLink (#467).
    • FIX(ferry): send error to main isolate when data message could not be serialized (#455).
    • FIX(ferry_cache): ensure emitting only one update per updated data ID in cache in watchQuery/watchFragment (#416).
    • FIX(ferry): remove broken isolateSpawn functionality, FlutterIsolate does not support passing functions (#413).
    • FIX: pin normalize 0.6.0.
    • FIX(ferry): call cache handlers for every response from DataSource.Link.
    • FIX(ferry): add dispose method to TypedLinks (#272).
    • FEAT(ferry_generator): when/maybeWhen extensions (#470).
    • FEAT(ferry): add watchQuery, watchFragment, clearOptimisticPatches to IsolateClient (#460).
    • FEAT(ferry): improve isolate error handling (#448).
    • FEAT(ferry): verify that updateResult function can be sent to the other isolate in debug mode using asserts and provide a better error message if updatgeResult cannot be serialized (#425).
    • FEAT(ferry): refactor isolateCommands, add addRequestToRequestController method (#422).
    • FEAT(ferry): add removeOptimisticResponse to isolate client (#412).
    • FEAT(ferry): add IsolateClient (#405).
    • FEAT: generate possibleTypesMap in ferry_generator (#371).
    • FEAT: add Reviews subscription to test graphql.
    • DOCS(website): improve custom scalars documention (#517).
    • DOCS(ferry): add basic documentation for field policy (#494).
    • DOCS(ferry): fix typo in CHANGELOG (#384).
    • DOCS: remove stale code (#271).
    • BREAKING FIX(ferry): remove optimistic patch when listener unsubscribes before link responds with data instead of leaking optimistic patch forever (#466).
    • BREAKING FIX(ferry_generator): properly generate nullable types for nullable elements in Lists (#445).
    • BREAKING CHORE: update gql_code_builder, gql_exec and vestigial analyzer pubspec entry.
    Open source →
  30. 0.14.0-dev.5 12 Feb 2023 pre-release
    Release notes
    • FIX: Re-use the same stream for multiple requests when possible (#487).
    Open source →
  31. 0.14.0-dev.4 21 Jan 2023 pre-release
    Release notes
    • Update a dependency to the latest release.
    Open source →
  32. 0.14.0-dev.2 08 Jan 2023 pre-release
    Release notes
    • FIX(generator): support analyzer v7 APIs (#650).

    2025-08-24

    Changes


    Packages with breaking changes:

    Packages with other changes:

    • There are no other changes in this release.

    Open source →
    Release notes
    • FIX: add stacktrace to error handler in GqlTypedLink (#467).
    • FEAT: when/maybeWhen extensions (#470).
    Open source →
  33. 0.14.0-dev.1 28 Dec 2022 pre-release
    Release notes
    • FIX(ferry_generator): pre-create allocators to ensure consistent imports (#644).
    • FEAT(ferry_generator): add option to disable formatting (#640).
    • BREAKING FEAT(ferry_generator): upgrade to build 3.0.0 and gql_code_builder 0.15.0 (#646).

    2025-05-03

    Changes


    Packages with breaking changes:

    Packages with other changes:

    Packages with dependency updates only:

    Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.

    • ferry_flutter - v0.9.1-dev.4
    • ferry_cache - v0.10.1-dev.0+1

    Open source →
    Release notes
    • FIX: When there are dangling references in child objects of a list, by default do not treat the whole entity as partial data, but remove it from the list. This can be configured using the allowDanglingReference parameter.
    Open source →
  34. 0.14.0-dev.0+2 23 Feb 2023 pre-release
    Release notes
    • DOCS: add basic documentation for field policy (#494).
    Open source →
  35. 0.13.1-dev.1 28 Dec 2022 pre-release
    Release notes
    • FEAT: add watchQuery, watchFragment, clearOptimisticPatches to IsolateClient (#460).
    Open source →
  36. 0.13.0 11 Dec 2022
    Release notes
    • BREAKING FEAT(ferry_generator): upgrade gql_code_builder to 0.14.0.

    2025-03-15

    Changes


    Packages with breaking changes:

    • There are no breaking changes in this release.

    Packages with other changes:


    Open source →
    Release notes
    • Graduate package to a stable release. See pre-releases prior to this version for changelog entries.
    Open source →
  37. 0.13.0-dev.1 25 Nov 2022 pre-release
    Release notes
    • FEAT: add watchQuery, watchFragment, clearOptimisticPatches to IsolateClient (#460).
    Open source →
  38. 0.13.0-dev.0 01 Nov 2022 pre-release
    Release notes

    Note: This release has breaking changes.

    • BREAKING FIX: properly generate nullable types for nullable elements in Lists (#445).
    Open source →
  39. 0.13.0-dev.0+1 28 Dec 2022 pre-release
    Release notes
    • FIX: send error to main isolate when data message could not be serialized (#455).
    Open source →
  40. 0.11.3-dev.0+1 30 Oct 2022 pre-release
    Release notes
    • Update a dependency to the latest release.
    Open source →
  41. 0.11.2 25 Sep 2022
    Release notes
    • Graduate package to a stable release. See pre-releases prior to this version for changelog entries.
    • Add IsolateClient for running queries in a separete Isolate. For details click here
    Open source →
  42. 0.11.2+1 25 Sep 2022

    Nothing published for this version

  43. 0.11.2-dev.5 25 Sep 2022 pre-release

    Nothing published for this version

  44. 0.11.2-dev.4 25 Sep 2022 pre-release
    Release notes
    • FEAT: verify that updateResult function can be sent to the other isolate in debug mode using asserts and provide a better error message if updatgeResult cannot be serialized (#425).
    Open source →
  45. 0.11.2-dev.3 25 Sep 2022 pre-release
    Release notes
    • REFACTOR: use scheduleMicrostask instead of Future.delayed in order to no have pending timers in widget tests.
    Open source →
  46. 0.11.2-dev.2 22 Sep 2022 pre-release
    Release notes
    • FEAT: refactor isolateCommands, add addRequestToRequestController method (#422).
    Open source →
  47. 0.11.2-dev.1 21 Sep 2022 pre-release
    Release notes
    • FIX: ensure emitting only one update per updated data ID in cache in watchQuery/watchFragment (#416).
    Open source →
  48. 0.11.2-dev.0 18 Sep 2022 pre-release
    Release notes
    • REFACTOR: use a generic type parameter for the init params instead of a Map<String,dynamic>.
    • REFACTOR: refactore handleCommand.
    • REFACTOR: refactore handleCommand.
    • REFACTOR: cleanup request response communication.
    • FIX: remove broken isolateSpawn functionality, FlutterIsolate does not support passing functions (#413).
    • FEAT: add removeOptimisticResponse to isolate client (#412).
    • FEAT: add IsolateClient (#405).
    • FEAT: refactor single response commands.
    • FEAT: more IsolateClient features.
    • FEAT: refactor IsolateClient, add more commands.
    • FEAT: add more methods to IsolateClient.
    • FEAT: add IsolateClient.
    • DOCS: add example for token refresh over isolate.
    Open source →
  49. 0.11.2-dev.0+2 09 Oct 2022 pre-release
    Release notes
    • REFACTOR: FetchPolicyTypedLink.request() to avoid pending timers in tests (#427).
    Open source →
  50. 0.11.0 18 Aug 2022
    Release notes Open source →
    Release notes
    • BREAKING: require possibleTypesMap (generated by ferry_generator in your schema.gql.dart file) in the constructor of the Cache when fragments, interfaces or unions are involved
    Open source →
  51. 0.11.0+1 21 Aug 2022
    Release notes
    • Update a dependency to the latest release.
    Open source →
  52. 0.11.0-dev.0 15 Aug 2022 pre-release

    Nothing published for this version

  53. 0.11.0-dev.0+1 18 Aug 2022 pre-release

    Nothing published for this version

  54. 0.11.0-dev.0+2 21 Aug 2022 pre-release

    Nothing published for this version

  55. 0.10.5 15 Aug 2022 withdrawn
    Release notes

    Note: This release has breaking changes.

    • FIX: pin normalize 0.6.0.
    • FIX: call cache handlers for every response from DataSource.Link.
    • FIX: add dispose method to TypedLinks (#272).
    • FEAT: generate possibleTypesMap in ferry_generator (#371).
    • FEAT: add Reviews subscription to test graphql.
    • DOCS: remove stale code (#271).
    • BREAKING CHORE: update gql_code_builder, gql_exec and vestigial analyzer pubspec entry.
    Open source →
  56. 0.10.5-dev.3 06 Mar 2022 pre-release
    Release notes

    Note: This release has breaking changes.

    • BREAKING CHORE: update gql_code_builder, gql_exec and vestigial analyzer pubspec entry.
    Open source →
  57. 0.10.5-dev.2 16 Sep 2021 pre-release
    Release notes
    • TEST: add back test.
    • FIX: call cache handlers for every response from DataSource.Link.
    • CHORE: publish packages.
    • CHORE: publish packages.
    Open source →
  58. 0.10.5-dev.1 07 Sep 2021 pre-release
    Release notes
    • FIX: add dispose method to TypedLinks (#272).
    • FEAT: add Reviews subscription to test graphql.
    • DOCS: remove stale code (#271).
    • CHORE: publish packages.
    • CHORE: publish packages.
    • CHORE: restructure repo (#269).
    Open source →
  59. 0.10.5-dev.0 01 Sep 2021 pre-release

    Nothing published for this version

  60. 0.10.5-dev.0+1 18 Aug 2022 pre-release

    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