From 98d81b13a8a1ffda5580380e8aa7a1d1d096d519 Mon Sep 17 00:00:00 2001 From: Sergey Penkovsky Date: Mon, 13 Oct 2025 17:26:39 +0300 Subject: [PATCH 1/4] freeze deps --- benchmark_di/pubspec.lock | 2 +- examples/client_app/pubspec.lock | 82 ++++++++++++++++---------------- examples/postly/pubspec.lock | 82 ++++++++++++++++---------------- 3 files changed, 83 insertions(+), 83 deletions(-) diff --git a/benchmark_di/pubspec.lock b/benchmark_di/pubspec.lock index f83de7f..ec65489 100644 --- a/benchmark_di/pubspec.lock +++ b/benchmark_di/pubspec.lock @@ -47,7 +47,7 @@ packages: path: "../cherrypick" relative: true source: path - version: "3.0.0" + version: "3.0.1" collection: dependency: transitive description: diff --git a/examples/client_app/pubspec.lock b/examples/client_app/pubspec.lock index 5e77a5a..ac9cd68 100644 --- a/examples/client_app/pubspec.lock +++ b/examples/client_app/pubspec.lock @@ -29,18 +29,18 @@ packages: dependency: transitive description: name: async - sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" + sha256: "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb" url: "https://pub.dev" source: hosted - version: "2.11.0" + version: "2.13.0" boolean_selector: dependency: transitive description: name: boolean_selector - sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" + sha256: "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea" url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.2" build: dependency: transitive description: @@ -109,10 +109,10 @@ packages: dependency: transitive description: name: characters - sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" + sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 url: "https://pub.dev" source: hosted - version: "1.3.0" + version: "1.4.0" checked_yaml: dependency: transitive description: @@ -127,36 +127,36 @@ packages: path: "../../cherrypick" relative: true source: path - version: "3.0.0" + version: "3.0.1" cherrypick_annotations: dependency: "direct main" description: path: "../../cherrypick_annotations" relative: true source: path - version: "3.0.0" + version: "3.0.1" cherrypick_flutter: dependency: "direct main" description: path: "../../cherrypick_flutter" relative: true source: path - version: "3.0.0" + version: "3.0.1" cherrypick_generator: dependency: "direct dev" description: path: "../../cherrypick_generator" relative: true source: path - version: "3.0.0" + version: "3.0.1" clock: dependency: transitive description: name: clock - sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf + sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b url: "https://pub.dev" source: hosted - version: "1.1.1" + version: "1.1.2" code_builder: dependency: transitive description: @@ -169,10 +169,10 @@ packages: dependency: transitive description: name: collection - sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf + sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76" url: "https://pub.dev" source: hosted - version: "1.19.0" + version: "1.19.1" convert: dependency: transitive description: @@ -209,10 +209,10 @@ packages: dependency: transitive description: name: fake_async - sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" + sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44" url: "https://pub.dev" source: hosted - version: "1.3.1" + version: "1.3.3" file: dependency: transitive description: @@ -323,18 +323,18 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06" + sha256: "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0" url: "https://pub.dev" source: hosted - version: "10.0.7" + version: "10.0.9" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: "9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379" + sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573 url: "https://pub.dev" source: hosted - version: "3.0.8" + version: "3.0.9" leak_tracker_testing: dependency: transitive description: @@ -363,10 +363,10 @@ packages: dependency: transitive description: name: matcher - sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb + sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 url: "https://pub.dev" source: hosted - version: "0.12.16+1" + version: "0.12.17" material_color_utilities: dependency: transitive description: @@ -379,10 +379,10 @@ packages: dependency: transitive description: name: meta - sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 + sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c url: "https://pub.dev" source: hosted - version: "1.15.0" + version: "1.16.0" mime: dependency: transitive description: @@ -403,10 +403,10 @@ packages: dependency: transitive description: name: path - sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" + sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5" url: "https://pub.dev" source: hosted - version: "1.9.0" + version: "1.9.1" pool: dependency: transitive description: @@ -464,26 +464,26 @@ packages: dependency: transitive description: name: source_span - sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" + sha256: "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c" url: "https://pub.dev" source: hosted - version: "1.10.0" + version: "1.10.1" stack_trace: dependency: transitive description: name: stack_trace - sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377" + sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1" url: "https://pub.dev" source: hosted - version: "1.12.0" + version: "1.12.1" stream_channel: dependency: transitive description: name: stream_channel - sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 + sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d" url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.4" stream_transform: dependency: transitive description: @@ -496,26 +496,26 @@ packages: dependency: transitive description: name: string_scanner - sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3" + sha256: "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43" url: "https://pub.dev" source: hosted - version: "1.3.0" + version: "1.4.1" term_glyph: dependency: transitive description: name: term_glyph - sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 + sha256: "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e" url: "https://pub.dev" source: hosted - version: "1.2.1" + version: "1.2.2" test_api: dependency: transitive description: name: test_api - sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c" + sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd url: "https://pub.dev" source: hosted - version: "0.7.3" + version: "0.7.4" timing: dependency: transitive description: @@ -544,10 +544,10 @@ packages: dependency: transitive description: name: vm_service - sha256: f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b + sha256: ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02 url: "https://pub.dev" source: hosted - version: "14.3.0" + version: "15.0.0" watcher: dependency: transitive description: @@ -589,5 +589,5 @@ packages: source: hosted version: "3.1.3" sdks: - dart: ">=3.6.0 <4.0.0" + dart: ">=3.7.0-0 <4.0.0" flutter: ">=3.18.0-18.0.pre.54" diff --git a/examples/postly/pubspec.lock b/examples/postly/pubspec.lock index 0e4b1f4..dc2a383 100644 --- a/examples/postly/pubspec.lock +++ b/examples/postly/pubspec.lock @@ -45,10 +45,10 @@ packages: dependency: transitive description: name: async - sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" + sha256: "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb" url: "https://pub.dev" source: hosted - version: "2.11.0" + version: "2.13.0" auto_route: dependency: "direct main" description: @@ -77,10 +77,10 @@ packages: dependency: transitive description: name: boolean_selector - sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" + sha256: "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea" url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.2" build: dependency: transitive description: @@ -149,10 +149,10 @@ packages: dependency: transitive description: name: characters - sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" + sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 url: "https://pub.dev" source: hosted - version: "1.3.0" + version: "1.4.0" charcode: dependency: transitive description: @@ -175,21 +175,21 @@ packages: path: "../../cherrypick" relative: true source: path - version: "3.0.0" + version: "3.0.1" cherrypick_annotations: dependency: "direct main" description: path: "../../cherrypick_annotations" relative: true source: path - version: "3.0.0" + version: "3.0.1" cherrypick_generator: dependency: "direct dev" description: path: "../../cherrypick_generator" relative: true source: path - version: "3.0.0" + version: "3.0.1" cli_launcher: dependency: transitive description: @@ -210,10 +210,10 @@ packages: dependency: transitive description: name: clock - sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf + sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b url: "https://pub.dev" source: hosted - version: "1.1.1" + version: "1.1.2" code_builder: dependency: transitive description: @@ -226,10 +226,10 @@ packages: dependency: transitive description: name: collection - sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf + sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76" url: "https://pub.dev" source: hosted - version: "1.19.0" + version: "1.19.1" conventional_commit: dependency: transitive description: @@ -306,10 +306,10 @@ packages: dependency: transitive description: name: fake_async - sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" + sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44" url: "https://pub.dev" source: hosted - version: "1.3.1" + version: "1.3.3" ffi: dependency: transitive description: @@ -481,18 +481,18 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06" + sha256: "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0" url: "https://pub.dev" source: hosted - version: "10.0.7" + version: "10.0.9" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: "9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379" + sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573 url: "https://pub.dev" source: hosted - version: "3.0.8" + version: "3.0.9" leak_tracker_testing: dependency: transitive description: @@ -521,10 +521,10 @@ packages: dependency: transitive description: name: matcher - sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb + sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 url: "https://pub.dev" source: hosted - version: "0.12.16+1" + version: "0.12.17" material_color_utilities: dependency: transitive description: @@ -545,10 +545,10 @@ packages: dependency: transitive description: name: meta - sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 + sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c url: "https://pub.dev" source: hosted - version: "1.15.0" + version: "1.16.0" mime: dependency: transitive description: @@ -585,10 +585,10 @@ packages: dependency: transitive description: name: path - sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" + sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5" url: "https://pub.dev" source: hosted - version: "1.9.0" + version: "1.9.1" path_provider: dependency: transitive description: @@ -798,10 +798,10 @@ packages: dependency: transitive description: name: source_span - sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" + sha256: "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c" url: "https://pub.dev" source: hosted - version: "1.10.0" + version: "1.10.1" sprintf: dependency: transitive description: @@ -814,18 +814,18 @@ packages: dependency: transitive description: name: stack_trace - sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377" + sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1" url: "https://pub.dev" source: hosted - version: "1.12.0" + version: "1.12.1" stream_channel: dependency: transitive description: name: stream_channel - sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 + sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d" url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.4" stream_transform: dependency: transitive description: @@ -838,10 +838,10 @@ packages: dependency: transitive description: name: string_scanner - sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3" + sha256: "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43" url: "https://pub.dev" source: hosted - version: "1.3.0" + version: "1.4.1" talker: dependency: transitive description: @@ -864,7 +864,7 @@ packages: path: "../../talker_cherrypick_logger" relative: true source: path - version: "3.0.0" + version: "3.0.1" talker_dio_logger: dependency: "direct main" description: @@ -893,18 +893,18 @@ packages: dependency: transitive description: name: term_glyph - sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 + sha256: "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e" url: "https://pub.dev" source: hosted - version: "1.2.1" + version: "1.2.2" test_api: dependency: transitive description: name: test_api - sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c" + sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd url: "https://pub.dev" source: hosted - version: "0.7.3" + version: "0.7.4" timing: dependency: transitive description: @@ -973,10 +973,10 @@ packages: dependency: transitive description: name: vm_service - sha256: f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b + sha256: ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02 url: "https://pub.dev" source: hosted - version: "14.3.0" + version: "15.0.0" watcher: dependency: transitive description: @@ -1050,5 +1050,5 @@ packages: source: hosted version: "2.2.2" sdks: - dart: ">=3.6.0 <4.0.0" + dart: ">=3.7.0-0 <4.0.0" flutter: ">=3.27.0" From 685c0ae49c34dd89f4d4dfd84f3e268086243d78 Mon Sep 17 00:00:00 2001 From: Sergey Penkovsky Date: Mon, 13 Oct 2025 17:27:56 +0300 Subject: [PATCH 2/4] fix(scope): properly clear binding and module references on dispose Add memory leak/finalizer test to ensure no strong references remain after closing and disposing a scope. --- cherrypick/lib/src/scope.dart | 5 ++ cherrypick/test/binding_memory_leak_test.dart | 66 +++++++++++++++++++ 2 files changed, 71 insertions(+) create mode 100644 cherrypick/test/binding_memory_leak_test.dart diff --git a/cherrypick/lib/src/scope.dart b/cherrypick/lib/src/scope.dart index 608f72d..cba58c8 100644 --- a/cherrypick/lib/src/scope.dart +++ b/cherrypick/lib/src/scope.dart @@ -498,5 +498,10 @@ class Scope with CycleDetectionMixin, GlobalCycleDetectionMixin { await d.dispose(); } _disposables.clear(); + + // Clear modules + _modulesList.clear(); + // Clear binding-index + _bindingResolvers.clear(); } } diff --git a/cherrypick/test/binding_memory_leak_test.dart b/cherrypick/test/binding_memory_leak_test.dart new file mode 100644 index 0000000..7f74d62 --- /dev/null +++ b/cherrypick/test/binding_memory_leak_test.dart @@ -0,0 +1,66 @@ +import 'dart:async'; +import 'dart:developer'; +import 'package:cherrypick/cherrypick.dart'; +import 'package:test/test.dart'; + +class HeavyService implements Disposable { + static int instanceCount = 0; + HeavyService() { + instanceCount++; + print('HeavyService created. Instance count: ' + '\u001b[32m$instanceCount\u001b[0m'); + } + + @override + void dispose() { + instanceCount--; + print('HeavyService disposed. Instance count: ' + '\u001b[31m$instanceCount\u001b[0m'); + } + + static final Finalizer _finalizer = Finalizer((msg) { + print('GC FINALIZED HeavyService: $msg'); + }); + void registerFinalizer() => _finalizer.attach(this, toString(), detach: this); +} + +class HeavyModule extends Module { + @override + void builder(Scope scope) { + bind().toProvide(() => HeavyService()); + } +} + +void main() { + test('Binding memory is cleared after closing and reopening scope', () async { + final root = CherryPick.openRootScope(); + for (int i = 0; i < 10; i++) { + print('\nIteration $i -------------------------------'); + final subScope = root.openSubScope('leak-test-scope'); + subScope.installModules([HeavyModule()]); + final service = subScope.resolve(); + expect(service, isNotNull); + await root.closeSubScope('leak-test-scope'); + // Dart GC не сразу удаляет освобождённые объекты, добавляем паузу и вызываем GC. + await Future.delayed(const Duration(milliseconds: 200)); + } + + // Если dispose не вызвался, instanceCount > 0 => утечка. + expect(HeavyService.instanceCount, equals(0)); + }); + + test('Service is finalized after scope is closed/cleaned', () async { + final root = CherryPick.openRootScope(); + HeavyService? ref; + { + final sub = root.openSubScope('s'); + sub.installModules([HeavyModule()]); + ref = sub.resolve(); + ref.registerFinalizer(); + expect(HeavyService.instanceCount, 1); + await root.closeSubScope('s'); + } + await Future.delayed(const Duration(seconds: 2)); + expect(HeavyService.instanceCount, 0); + }); +} From 25ae208ea1d9fb7b49867732ab4a5f2f5ef3b529 Mon Sep 17 00:00:00 2001 From: Sergey Penkovsky Date: Mon, 20 Oct 2025 16:20:20 +0300 Subject: [PATCH 3/4] fix(test): fix warning --- cherrypick/test/binding_memory_leak_test.dart | 1 - 1 file changed, 1 deletion(-) diff --git a/cherrypick/test/binding_memory_leak_test.dart b/cherrypick/test/binding_memory_leak_test.dart index 7f74d62..d1b9dcc 100644 --- a/cherrypick/test/binding_memory_leak_test.dart +++ b/cherrypick/test/binding_memory_leak_test.dart @@ -1,5 +1,4 @@ import 'dart:async'; -import 'dart:developer'; import 'package:cherrypick/cherrypick.dart'; import 'package:test/test.dart'; From 1997110d9278ab0f07888f89ae5135e7824d10e7 Mon Sep 17 00:00:00 2001 From: Sergey Penkovsky Date: Mon, 20 Oct 2025 17:31:40 +0300 Subject: [PATCH 4/4] chore(release): publish packages - cherrypick@3.0.2 - cherrypick_flutter@3.0.2 - talker_cherrypick_logger@3.0.2 --- CHANGELOG.md | 31 +++++++++++++++++++++++++++ cherrypick/CHANGELOG.md | 5 +++++ cherrypick/pubspec.yaml | 2 +- cherrypick_flutter/CHANGELOG.md | 4 ++++ cherrypick_flutter/pubspec.yaml | 4 ++-- talker_cherrypick_logger/CHANGELOG.md | 4 ++++ talker_cherrypick_logger/pubspec.yaml | 4 ++-- 7 files changed, 49 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0b62b01..aa8db04 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,37 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## 2025-10-20 + +### Changes + +--- + +Packages with breaking changes: + + - There are no breaking changes in this release. + +Packages with other changes: + + - [`cherrypick` - `v3.0.2`](#cherrypick---v302) + - [`cherrypick_flutter` - `v3.0.2`](#cherrypick_flutter---v302) + - [`talker_cherrypick_logger` - `v3.0.2`](#talker_cherrypick_logger---v302) + +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. + + - `cherrypick_flutter` - `v3.0.2` + - `talker_cherrypick_logger` - `v3.0.2` + +--- + +#### `cherrypick` - `v3.0.2` + + - **FIX**(test): fix warning. + - **FIX**(scope): properly clear binding and module references on dispose. + + ## 2025-09-09 ### Changes diff --git a/cherrypick/CHANGELOG.md b/cherrypick/CHANGELOG.md index 5d26e63..64a33bb 100644 --- a/cherrypick/CHANGELOG.md +++ b/cherrypick/CHANGELOG.md @@ -1,3 +1,8 @@ +## 3.0.2 + + - **FIX**(test): fix warning. + - **FIX**(scope): properly clear binding and module references on dispose. + ## 3.0.1 - **DOCS**: add Netlify deployment status badge to README files. diff --git a/cherrypick/pubspec.yaml b/cherrypick/pubspec.yaml index caaaa4a..e6d1df8 100644 --- a/cherrypick/pubspec.yaml +++ b/cherrypick/pubspec.yaml @@ -1,6 +1,6 @@ name: cherrypick description: Cherrypick is a small dependency injection (DI) library for dart/flutter projects. -version: 3.0.1 +version: 3.0.2 homepage: https://cherrypick-di.netlify.app documentation: https://cherrypick-di.netlify.app/docs/intro repository: https://github.com/pese-git/cherrypick diff --git a/cherrypick_flutter/CHANGELOG.md b/cherrypick_flutter/CHANGELOG.md index 1650901..e215efe 100644 --- a/cherrypick_flutter/CHANGELOG.md +++ b/cherrypick_flutter/CHANGELOG.md @@ -1,3 +1,7 @@ +## 3.0.2 + + - Update a dependency to the latest release. + ## 3.0.1 - **DOCS**: add Netlify deployment status badge to README files. diff --git a/cherrypick_flutter/pubspec.yaml b/cherrypick_flutter/pubspec.yaml index 3c694bf..c74ca7e 100644 --- a/cherrypick_flutter/pubspec.yaml +++ b/cherrypick_flutter/pubspec.yaml @@ -1,6 +1,6 @@ name: cherrypick_flutter description: "Flutter library that allows access to the root scope through the context using `CherryPickProvider`." -version: 3.0.1 +version: 3.0.2 homepage: https://cherrypick-di.netlify.app documentation: https://cherrypick-di.netlify.app/docs/intro repository: https://github.com/pese-git/cherrypick @@ -19,7 +19,7 @@ environment: dependencies: flutter: sdk: flutter - cherrypick: ^3.0.1 + cherrypick: ^3.0.2 dev_dependencies: flutter_test: diff --git a/talker_cherrypick_logger/CHANGELOG.md b/talker_cherrypick_logger/CHANGELOG.md index 9db4578..30e8d8a 100644 --- a/talker_cherrypick_logger/CHANGELOG.md +++ b/talker_cherrypick_logger/CHANGELOG.md @@ -1,3 +1,7 @@ +## 3.0.2 + + - Update a dependency to the latest release. + ## 3.0.1 - **DOCS**: add Netlify deployment status badge to README files. diff --git a/talker_cherrypick_logger/pubspec.yaml b/talker_cherrypick_logger/pubspec.yaml index 93a2a36..4a3422e 100644 --- a/talker_cherrypick_logger/pubspec.yaml +++ b/talker_cherrypick_logger/pubspec.yaml @@ -1,6 +1,6 @@ name: talker_cherrypick_logger description: A Talker logger integration for CherryPick DI to observe and log DI events and errors. -version: 3.0.1 +version: 3.0.2 homepage: https://cherrypick-di.netlify.app documentation: https://cherrypick-di.netlify.app/docs/intro repository: https://github.com/pese-git/cherrypick @@ -18,7 +18,7 @@ environment: # Add regular dependencies here. dependencies: talker: ^5.0.0 - cherrypick: ^3.0.1 + cherrypick: ^3.0.2 dev_dependencies: