Commit Graph

  • 57e4196b95 Merge pull request #19 from pese-git/talker Sergey Penkovsky 2025-08-12 11:31:20 +03:00
  • 358da8f96b docs(logging): update Logging section in README with modern Observer usage and Talker integration examples Sergey Penkovsky 2025-08-12 00:32:39 +03:00
  • ea2b6687f4 docs: add full English documentation and usage guide to README.md Sergey Penkovsky 2025-08-12 00:17:46 +03:00
  • df00a2a5d2 doc(license): add licnese Sergey Penkovsky 2025-08-12 00:13:31 +03:00
  • d5983a4a0b docs: add detailed English documentation and usage examples for TalkerCherryPickObserver Sergey Penkovsky 2025-08-12 00:08:40 +03:00
  • 125bccfa5a docs(observer): improve documentation, translate all comments to English, add usage examples Sergey Penkovsky 2025-08-11 23:47:17 +03:00
  • 12b97c9368 chore: update configs and lockfiles Sergey Penkovsky 2025-08-11 23:26:13 +03:00
  • 424aaa3e22 refactor(tests): replace MockLogger with MockObserver in scope tests to align with updated observer API Sergey Penkovsky 2025-08-11 18:25:52 +03:00
  • 2ec3a86a2f feat(core): add full DI lifecycle observability via onInstanceDisposed Sergey Penkovsky 2025-08-11 18:17:32 +03:00
  • efed72cc39 refactor(core,logger)migrate to CherryPickObserver API and drop CherryPickLogger Sergey Penkovsky 2025-08-11 18:01:21 +03:00
  • 4dc9e269cd feat(logging): add talker_dio_logger and talker_bloc_logger integration, improve cherrypick logger structure, add UI log screen for DI and network/bloc debug Sergey Penkovsky 2025-08-11 16:27:46 +03:00
  • d153ab4255 start implement talker logger for cherrypick Sergey Penkovsky 2025-08-10 21:48:23 +03:00
  • 6924ccd07b docs(README): add section with overview table for additional modules Sergey Penkovsky 2025-08-11 23:14:23 +03:00
  • 26b843f791 docs(README): refactor structure and improve clarity of advanced features Sergey Penkovsky 2025-08-11 22:55:31 +03:00
  • 8eafba4e4b docs(README): add 'Hierarchical Subscopes' section and update structure for advanced features clarity Sergey Penkovsky 2025-08-11 22:28:46 +03:00
  • ad6e9bbc3d doc(readme): update title Sergey Penkovsky 2025-08-11 22:15:27 +03:00
  • bea8affcab doc(readme): performance information moved to top of document Sergey Penkovsky 2025-08-11 22:06:38 +03:00
  • 1d7b9a9166 doc(readme): remove duplicate text Sergey Penkovsky 2025-08-11 22:01:09 +03:00
  • 016c212063 fix(doc): remove hide symbol Sergey Penkovsky 2025-08-11 21:54:24 +03:00
  • d93d4173a2 chore(release): publish packages cherrypick_generator-v1.1.1 cherrypick_flutter-v1.1.3-dev.7 cherrypick_annotations-v1.1.1 cherrypick-v3.0.0-dev.7 Sergey Penkovsky 2025-08-11 12:38:17 +03:00
  • 85aa23d7ed Update README.md Sergey Penkovsky 2025-08-11 12:35:02 +03:00
  • 51cf4a0dc0 docs(readme): add comprehensive section on annotations and DI code generation Sergey Penkovsky 2025-08-11 12:24:44 +03:00
  • 8f980ff111 docs(readme): add detailed section and examples for automatic Disposable resource cleanup\n\n- Added a dedicated section with English description and code samples on using Disposable for automatic resource management.\n- Updated Features to include automatic resource cleanup for Disposable dependencies.\n\nHelps developers understand and implement robust DI resource management practices. Sergey Penkovsky 2025-08-11 12:02:32 +03:00
  • 4d872d7c25 docs(disposable): add detailed English documentation and usage examples for Disposable interface; chore: update binding_resolver and add explanatory comment in scope_test for deprecated usage.\n\n- Expanded Disposable interface docs, added sync & async example classes, and CherryPick integration sample.\n- Clarified how to implement and use Disposable in DI context.\n- Updated binding_resolver for internal improvements.\n- Added ignore for deprecated member use in scope_test for clarity and future upgrades.\n\nBREAKING CHANGE: Documentation style enhancement and clearer API usage for Disposable implementations. Sergey Penkovsky 2025-08-11 11:53:25 +03:00
  • 450f4231cb Merge pull request #14 from pese-git/dispose Sergey Penkovsky 2025-08-11 11:40:57 +03:00
  • cd1b9cf49d fix(comment): fix warnings Sergey Penkovsky 2025-08-08 23:42:35 +03:00
  • 33775f5748 fix(license): correct urls Sergey Penkovsky 2025-08-08 23:24:05 +03:00
  • e5848784ac refactor(core): make closeRootScope async and await dispose Sergey Penkovsky 2025-08-08 16:56:37 +03:00
  • 40b3cbb422 chore(release): publish packages cherrypick_flutter-v1.1.3-dev.6 cherrypick-v3.0.0-dev.6 Sergey Penkovsky 2025-08-08 16:23:13 +03:00
  • a4b0ddfa54 docs(faq): add best practice FAQ about using await with scope disposal Sergey Penkovsky 2025-08-04 10:47:33 +03:00
  • 547a15fa4e docs(faq): add best practice FAQ about using await with scope disposal Sergey Penkovsky 2025-08-04 10:39:36 +03:00
  • a9c95f6a89 docs+feat: add Disposable interface source and usage example Sergey Penkovsky 2025-08-01 15:07:12 +03:00
  • 61f2268d63 fix(riverpod-adapter): update implementation in riverpod_adapter.dart Sergey Penkovsky 2025-08-08 15:08:27 +03:00
  • f6fcb76730 docs(benchmark): update DI benchmark reports with new scenario tables and updated explanations Sergey Penkovsky 2025-08-08 15:00:55 +03:00
  • f8bbaf6c2c Merge pull request #18 from pese-git/logger Sergey Penkovsky 2025-08-08 14:27:53 +03:00
  • 2ebc997fea docs(readme): add comprehensive DI state and action logging to features Sergey Penkovsky 2025-08-08 13:40:10 +03:00
  • d15f3063fc hotfix Sergey Penkovsky 2025-08-08 12:49:12 +03:00
  • 1e8b8db64a docs(helper): add complete DartDoc with real usage examples for CherryPick class Sergey Penkovsky 2025-08-08 12:42:22 +03:00
  • c3ec52823e fix: improve global cycle detector logic Sergey Penkovsky 2025-08-08 12:24:07 +03:00
  • 16e05d27c5 docs(log_format): add detailed English documentation for formatLogMessage function Sergey Penkovsky 2025-08-08 11:28:12 +03:00
  • 1131be44da feat(core): refactor root scope API, improve logger injection, helpers, and tests Sergey Penkovsky 2025-08-08 11:23:14 +03:00
  • c971b59483 feat(postly): add explicit PrintLogger setup in main.dart for debug builds Sergey Penkovsky 2025-08-08 08:21:19 +03:00
  • aa97632add feat(logger): add extensible logging API, usage examples, and bilingual documentation - Introduce CherryPickLogger interface, PrintLogger and SilentLogger implementations - Add setGlobalLogger() to CherryPick API for custom DI logging - Log key events (scope, module, error) via logger throughout DI lifecycle - Comprehensive comments and code documentation in both English and Russian - Document usage of logging system in quick_start and full_tutorial documentation (EN/RU) - Provide usage examples in docs and code comments - No logging inside GlobalCycleDetectionMixin (design choice: exceptions handled at Scope, not detector/mixin level) and detailed architectural reasoning - Update helper.dart, logger.dart: comments, examples, API doc improvements BREAKING CHANGE: Projects can now inject any logger via CherryPick.setGlobalLogger; default log behavior clarified and docstrings/usage examples enhanced Sergey Penkovsky 2025-08-08 08:13:58 +03:00
  • 41d49e98d0 docs(report): update comparative DI benchmark results and conclusions for cherrypick, get_it, riverpod (eng, ru) Sergey Penkovsky 2025-08-07 16:46:53 +03:00
  • 44a8a3fcb2 chore(pubspec): update pubspec and lock files for all packages, version bump and deps sync Sergey Penkovsky 2025-08-07 16:28:47 +03:00
  • 475deac1e0 chore(release): publish packages cherrypick_flutter-v1.1.3-dev.5 cherrypick-v3.0.0-dev.5 Sergey Penkovsky 2025-08-07 16:23:12 +03:00
  • f06f4564d9 Merge pull request #15 from pese-git/improve Sergey Penkovsky 2025-08-07 16:19:11 +03:00
  • 70731c7e94 refactor(scope): simplify _findBindingResolver<T> with one-liner and optional chaining Sergey Penkovsky 2025-08-07 15:48:04 +03:00
  • 4d5f96705f Merge pull request #17 from pese-git/impr/complex_benchmark_impr Sergey Penkovsky 2025-08-07 15:01:27 +03:00
  • d23d06f98e impr: BENCHMARK - fix for CherrypickDIAdapter. yarashevich_kv 2025-08-07 14:54:57 +03:00
  • e1371f7038 docs: update architecture diagram in README to show adapter-centric universalRegistration pattern Sergey Penkovsky 2025-08-07 14:37:34 +03:00
  • 75db42428c docs: update README (en/ru) to reflect adapter-based universalRegistration pattern Sergey Penkovsky 2025-08-07 14:23:06 +03:00
  • 5336c22550 test: validate all benchmark scenarios and stress runs for all DI adapters Sergey Penkovsky 2025-08-07 14:18:16 +03:00
  • 56bdb3946e refactor: full generic DIAdapter workflow & universalRegistration abstraction Sergey Penkovsky 2025-08-07 14:11:29 +03:00
  • 54446868e4 refactor: unify DIAdapter with generics, ensure type-safety & scalability in benchmark_di Sergey Penkovsky 2025-08-07 13:44:39 +03:00
  • 590b876cf4 feat: add Riverpod adapter, async-chain support via FutureProvider, full DI CLI/bench integration, benchmarking, ascii performance graphs in markdown Sergey Penkovsky 2025-08-07 13:12:56 +03:00
  • f7a7ea4384 feat: full di benchmarks report (en/ru) + get_it scope+override support fix; fresh results for all scenarios and settings Sergey Penkovsky 2025-08-07 12:11:16 +03:00
  • 6b6564f8c3 refactor: rename benchmark_cherrypick to benchmark_di, update paths, pubspec, imports, and documentation Sergey Penkovsky 2025-08-07 10:34:50 +03:00
  • da79f1e546 docs: update README.md and README.ru.md for universal DI benchmarks, scenarios, CLI options, and architecture diagram Sergey Penkovsky 2025-08-07 10:16:14 +03:00
  • 64f33b20a7 fix: universal benchmarks and DI registration; proper named binding; robust override support for cherrypick and get_it; improved CLI args Sergey Penkovsky 2025-08-07 09:15:26 +03:00
  • d523a5f261 refactor: simplify DIAdapter interface with a single registration callback; update benchmarks and cherrypick adapter accordingly Sergey Penkovsky 2025-08-07 08:28:23 +03:00
  • b72dec9944 Обновлен README.ru.md: новые современные сценарии, параметры CLI, форматы отчётов, инструкция по расширению Sergey Penkovsky 2025-08-06 23:22:05 +03:00
  • 352442e52d Update README.md with current benchmark scenarios, CLI options, and report formats (EN) Sergey Penkovsky 2025-08-06 23:19:37 +03:00
  • 134fc5207a Add English documentation comments to all benchmark_cherrypick source files (adapters, scenarios, CLI, reporters, runner) Sergey Penkovsky 2025-08-06 23:15:28 +03:00
  • 01d82e1cd3 feat(report): add legend to MarkdownReport output with explanation of columns Sergey Penkovsky 2025-08-06 22:53:33 +03:00
  • 1e6375f5ae refactor(report): round numeric values to 2 decimal places in MarkdownReport output Sergey Penkovsky 2025-08-06 22:41:08 +03:00
  • 3da71674d4 chore: fix current status, all implemented features and refactors Sergey Penkovsky 2025-08-06 22:35:49 +03:00
  • ea39b9d0e1 feat(report): align MarkdownReport columns for readable ASCII/markdown output Sergey Penkovsky 2025-08-06 22:31:41 +03:00
  • 09ed186544 refactor(cli): modularize CLI — extract parser, runner, report and main logic into dedicated files Sergey Penkovsky 2025-08-06 22:19:13 +03:00
  • 3ce21f55e4 refactor(report): extract ReportGenerator abstraction for pretty/csv/json; simplify report rendering in main Sergey Penkovsky 2025-08-06 22:02:41 +03:00
  • bae940f374 refactor(main): extract BenchmarkRunner and BenchmarkResult, simplify main loop, unify sync/async cases Sergey Penkovsky 2025-08-06 21:53:13 +03:00
  • 0fc1907173 chore(cleanup): remove unused legacy benchmarks and scenario files Sergey Penkovsky 2025-08-06 18:36:11 +03:00
  • 4d41266135 refactor(benchmark): clean up UniversalChainBenchmark, remove async logic, keep only sync scenario logic Sergey Penkovsky 2025-08-06 18:26:05 +03:00
  • 3a75bd5b28 feat(benchmark): add UniversalScenario enum and extend UniversalChainModule to support chain, register, named, override, async scenarios Sergey Penkovsky 2025-08-06 17:01:55 +03:00
  • b27a7df161 refactor(structure): move benchmarks, scenarios, adapters, utils to dedicated folders; update imports/project layout Sergey Penkovsky 2025-08-06 16:21:31 +03:00
  • 553dbb6539 refactor(benchmarks): introduce DIAdapter abstraction, migrate all scenarios to use DIAdapter Sergey Penkovsky 2025-08-06 14:44:12 +03:00
  • 18905a068d docs(benchmarks): document memory_diff_kb, delta_peak_kb, peak_rss_kb in README files (EN+RU) Sergey Penkovsky 2025-08-06 14:07:44 +03:00
  • 6928daa50e docs(benchmarks): update README files with stability options, repeat/warmup params, stat fields, and usage examples Sergey Penkovsky 2025-08-06 13:48:51 +03:00
  • 7f488f873e docs(benchmarks): update README files with new CLI, matrix run, output formats, and usage instructions (EN+RU) Sergey Penkovsky 2025-08-06 13:35:39 +03:00
  • 926bbf15f4 refactor(benchmarks): unify benchmark structure, enable CLI parameterization, run matrix, add CSV/JSON/pretty output Sergey Penkovsky 2025-08-06 13:29:23 +03:00
  • a5ef0dc437 impr: BENCHMARK - complex benchmark improvements. yarashevich_kv 2025-08-06 09:41:17 +03:00
  • 05cfca5977 docs(perf): clarify Map-based resolver optimization applies since v3.0.0 in all docs Sergey Penkovsky 2025-08-06 08:29:00 +03:00
  • 52a55219ab docs: update EN/RU quick start and tutorial with Fast Map-based lookup section; clarify performance benefit in README Sergey Penkovsky 2025-08-05 19:41:24 +03:00
  • ffff33c744 perf(scope): speed up dependency lookup with Map-based binding resolver index Sergey Penkovsky 2025-08-05 17:20:35 +03:00
  • a4573ce8ef Add package topics to all pubspec.yaml files Sergey Penkovsky 2025-08-05 06:46:26 +03:00
  • 62868477fb chore(release): publish packages cherrypick_flutter-v1.1.3-dev.2 cherrypick-v3.0.0-dev.2 Sergey Penkovsky 2025-08-04 08:54:37 +03:00
  • a889cf0d40 Resolved all Dart analyzer warnings across multiple files Sergey Penkovsky 2025-08-01 11:20:23 +03:00
  • 123ed6ce02 Merge pull request #13 from pese-git/impr/binding_resolver Sergey Penkovsky 2025-08-01 11:01:30 +03:00
  • 7cc0743d94 Update benchmark results in README.ru.md with latest timings (RU version) Sergey Penkovsky 2025-08-01 08:48:27 +03:00
  • 63dae76ea9 Update benchmark results in README.md with latest timings Sergey Penkovsky 2025-08-01 08:47:55 +03:00
  • a74c34876d feat(binding): add deprecated proxy async methods for backward compatibility and highlight transition to modern API Sergey Penkovsky 2025-07-31 14:26:59 +03:00
  • 9f0a8a84aa impr: fix after rebase. yarashevich_kv 2025-07-29 09:39:35 +03:00
  • 2cba7f2675 impr: add binding resolver class. yarashevich_kv 2025-05-19 21:02:33 +03:00
  • 1682ed9c08 Update benchmarks, lock files, and related documentation Sergey Penkovsky 2025-08-01 08:40:10 +03:00
  • 882ee92000 Update benchmark results in README.md with fresh timings Sergey Penkovsky 2025-08-01 08:39:12 +03:00
  • 9a3576f76d chore(release): publish packages Sergey Penkovsky 2025-07-30 13:17:19 +03:00
  • f7cc86ea66 docs: add quick guide for circular dependency detection to README Sergey Penkovsky 2025-07-30 13:16:23 +03:00
  • 1c8e38b0c9 chore(release): publish packages Sergey Penkovsky 2025-07-30 13:06:09 +03:00
  • d4af82ba01 Remove dead code: _createDependencyKey (no longer used, cycle detection not affected) Sergey Penkovsky 2025-07-30 08:17:49 +03:00
  • 5630efccfe feat: enable CherryPick cycle detection in debug mode and use safe root scope Sergey Penkovsky 2025-07-29 17:16:22 +03:00