- Updated index.tsx to use <Translate> and translate() for all main texts (title, subtitle, CTA, description) — now fully i18n-ready.
- Added new translation files (code.json, navbar.json, footer.json, etc.) to support Russian language for homepage and UI.
- Enables seamless language switching and correct translations of homepage elements.
- Updated HomepageFeatures/index.tsx to use Docusaurus <Translate> component and unique ids for each feature title and description.
- Enables full i18n support for FeatureList (English & Russian).
- All feature texts are now ready for integration with Docusaurus translation workflow.
- Added the initial Russian localizable version for the documentation introduction section ().
- Makes the first step of the CherryPick documentation available to Russian-speaking users.
- Ensures the /ru/docs/intro route is available and translated.
- Changed docs.editUrl in docusaurus.config.ts to point to the actual GitHub repository (https://github.com/pese-git/cherrypick/tree/website/website).
- Allows users to edit documentation directly in this project's repo via the 'Edit this page' links.
- Commented out references to non-existent files and examples in both English and Russian documentation:
- circular-dependency-detection.md
- logging.md
- documentation-links.md
- using-annotations.md
- This fix prevents build failures caused by unresolved links in Docusaurus for both locales.
- All offending links are now non-blocking comments, allowing the site to build and deploy successfully until the related pages are added.
- Added full Russian translations for all main documentation sections () into .
- Sections translated include: key features, installation, getting started, all core concepts, advanced features, API reference, FAQ, links, additional modules, contributing, and license.
- Updated to ensure language switching is available and Russian locale is active.
- Each Russian file preserves the structure and formatting of the original Markdown, with machine-aided draft translation for immediate use.
- Lays the groundwork for UI language switching (en/ru) and enables further manual translation refinement and review.
- Replaced the main action button text with 'Explore CherryPick Documentation 🍒' instead of 'Docusaurus Tutorial'.
- Updated the button link to target /docs/intro (main docs entry point).
- Changed <Layout> props:
- Page title now uses project title only (siteConfig.title)
- Added a CherryPick-related site description for better SEO and context.
- The homepage is now tailored to reflect CherryPick's purpose as a Dart & Flutter DI library instead of Docusaurus boilerplate.
The main installation guide now recommends pub.dev with ^latest tags. Removed the outdated GitHub install block for clarity and simplicity. No functional code changes.
Added information about the talker_cherrypick_logger official module in the Additional Modules table in README. This module provides seamless DI event logging integration with the Talker logging framework.
- Added comprehensive English documentation for all DI generator and support files:
* inject_generator.dart — full class/method doc-comments, usage samples
* module_generator.dart — doc-comments, feature explanation, complete example
* src/annotation_validator.dart — class and detailed static method descriptions
* src/type_parser.dart — doc, example for ParsedType and TypeParser, specific codegen notes
* src/bind_spec.dart — interface, static factory, and codegen docs with DI scenarios
* src/bind_parameters_spec.dart — details and samples for code generation logic
* src/metadata_utils.dart — full doc and examples for annotation utilities
* src/exceptions.dart — user- and contributor-friendly errors, structured output, category explanations
* src/generated_class.dart — usage-centric doc-comments, example of resulting generated DI class
- Removed Russian/duplicate comments for full clarity and maintainability
- Ensured that new and existing contributors can easily extend and maintain DI code generation logic
BREAKING CHANGE: All documentation now English-only; comments include usage examples for each principal structure or routine
See #docs, #generator, #cherrypick
- Updated all annotation files with complete English DartDoc, field/class/method usage, practical code samples
- Unified documentation style for @inject, @injectable, @instance, @singleton, @named, @scope, @params, @provide, @module
- Removed Russian comments for clarity and consistency
- Improved discoverability and IDE/autocomplete experience for CherryPick DI users
- No functional or API changes; documentation/dev experience only
- Replaced all comments with complete DartDoc in English for CherryPickProvider
- Documented all methods (constructor, of, openRootScope, openSubScope, updateShouldNotify)
- Added code samples for typical Flutter+CherryPick integration, root and subscope usage
- Makes Flutter DI integration intuitive for new users and improves IDE support
- No logic or API changes, documentation only
- Full English API/class/method documentation for core CherryPick classes:
* Binding<T>
* BindingResolver<T>
* CycleDetector and CycleDetectionMixin
* GlobalCycleDetector and GlobalCycleDetectionMixin
* Factory<T>
* Module
* Scope
- Each public and private method is now documented in clear DartDoc style with usages
- Added code samples for modules, scope, subscopes, DI resolve/async, cycle detection
- Russian comments completely replaced with English for consistency
- NO logic or API changes, documentation and devex improvement only
Also updated: pubspec.lock for workspace/example folders (auto by dependency changes)
- Call observer.onInstanceDisposed for every removed/cleaned-up instance in Scope lifecycle
- Makes instance disposal fully observable outside of cache events
- Ensures analytics/logging frameworks get notified of each object removal from memory
Part of complete CherryPickObserver integration for transparent diagnostics and monitoring of DI container.
BREAKING CHANGE:
- Removed the deprecated CherryPickLogger interface from cherrypick
- Logger/adapters (e.g., talker_cherrypick_logger) must now implement CherryPickObserver
- talker_cherrypick_logger: replace TalkerCherryPickLogger with TalkerCherryPickObserver
- All usages, docs, tests migrated to observer API
- Improved test mocks and integration tests for observer pattern
- Removed obsolete files: cherrypick/src/logger.dart, talker_cherrypick_logger/src/talker_cherrypick_logger.dart
- Updated README and example usages for new CherryPickObserver model
This refactor introduces a unified observer pattern (CherryPickObserver) to handle all DI lifecycle events, replacing the limited info/warn/error logger pattern.
All external logging adapters and integrations must migrate to use CherryPickObserver.
- Introduce an 'Additional Modules' section before 'Contributing'
- Document cherrypick_annotations, cherrypick_generator, and cherrypick_flutter with pub.dev and README links
- Move and consolidate 'Advanced Features' sections, including Logging, Circular Dependency Detection, Hierarchical Subscopes, and Performance Improvements
- Reword and reorganize 'Disposable' and 'Dependency Resolution API' sections
- Clean up list styling and table of contents for accuracy
- Add clarity to documentation links and info blocks