Skip to content

chore(release): v1.1.0-pre.1 #112

Closed
CharlVS wants to merge 74 commits intomainfrom
dev
Closed

chore(release): v1.1.0-pre.1 #112
CharlVS wants to merge 74 commits intomainfrom
dev

Conversation

@CharlVS
Copy link
Copy Markdown
Collaborator

@CharlVS CharlVS commented Jul 1, 2025

Komodo DeFi SDK Flutter v0.3.0 Release Notes

This release marks an important milestone as the SDK transitions from its initial alpha release to a more stable and feature-rich platform. It introduces significant improvements including HD wallet private key export, remote instance management, KDF v2.6.1 integration, enhanced coin configuration capabilities, and comprehensive seed node configuration requirements.

🚀 New Features

🎨 UI/UX Improvements

⚡ Performance Enhancements

🐛 Bug Fixes

🔒 Security Updates

  • Failed Activation Key Export ([@CharlVS], feat: offline private key export #160) - Include failed activations in private key export for security and recovery purposes
  • Documentation Updates ([@CharlVS], #484) - Updated documentation to clarify seed node requirements and remove default netid values

💻 Platform-specific Changes

KDF Integration

Cross-platform Support

🔧 Technical Improvements

⚠️ Important Notes

  • Seed Nodes Configuration Required - From v2.5.0-beta, the seednodes parameter is now required unless disable_p2p is set to true. This affects all KDF startup configurations
  • Trading Protocol v2 Disabled - The use_trading_proto_v2 parameter has been commented out in startup configuration and should not be used in this release
  • Fee/Priority Features Temporarily Disabled - Fee estimation and priority features are temporarily disabled until KDF 2.7.0 release
  • ETH Protocol Configuration Changes - ETH protocol configurations will now automatically have protocol_data removed, which may affect existing configurations that relied on this field
  • Dragon Logs Migration - The dragon_logs package has been migrated to the monorepo, providing efficient cross-platform log storage
  • External Transaction History Strategy - Transaction history is now disabled when using external activation strategy

Full Changelog: v0.1.0...v0.3.0

smk762 and others added 25 commits June 6, 2025 13:20
* update etherscan-proxy to v2

* add distinct token url paths
* fix(trezor,activation): add PrivateKeyPolicy to AuthOptions and beyond

* refactor(types): replace `.from` with `.of`

of has type annotations

Co-authored-by: Charl (Nitride) <77973576+CharlVS@users.noreply.github.com>

---------

Co-authored-by: Charl (Nitride) <77973576+CharlVS@users.noreply.github.com>
Co-authored-by: DeckerSU <deckersu@protonmail.com>
* feat: add custom seed nodes

- Add custom seed nodes to accommodate breaking KDF changes.
- Upgrade KDF for latest seed node changes.

* feat: add configurable seed node system with remote fetching

Implement a comprehensive seed node configuration system that fetches
seed nodes from the Komodo Platform repository with automatic fallback
to hardcoded defaults.

### New Features:
- Add SeedNode and SeedNodeContact types for type-safe configuration
- Implement SeedNodeUpdater for fetching remote seed nodes
- Add SeedNodeService with automatic fallback mechanism
- Add SeedNodeValidator with enhanced P2P configuration validation
- Export seed node service from komodo_defi_framework

### Configuration Updates:
- Update build_config.json to include seed-nodes.json mapping
- Add seed_nodes.json to gitignore for dynamic assets
- Change API branch from 'dev' to 'alt-main'
- Update all platform binary checksums and commit hashes

### Framework Integration:
- Add automatic seed node fetching to KdfStartupConfig
- Integrate SeedNodeService into auth service for wallet creation
- Fix trading protocol parameter name (trading_proto_v2 -> use_trading_proto_v2)
- Improve boolean validation in SeedNodeValidator

### Documentation:
- Add comprehensive SEED_NODES_GUIDE.md with usage examples
- Include example code for seed node functionality
- Add complete test coverage for new types and services

### Dependencies:
- Add komodo_coin_updates dependency to komodo_defi_framework
- Export seed node types from komodo_defi_types
- Update pubspec.lock files across packages

The seed node system ensures applications always have access to current
seed nodes while maintaining backwards compatibility through fallback
mechanisms. This addresses the upcoming requirement in v2.5.0-beta
where seed nodes will be mandatory unless P2P is disabled.

Breaking changes: None - all changes are additive with sensible defaults.

* chore: PR cleanup
* fix(kdf): enable p2p in noAuth mode

* refactor(kdf): use SeedNodeService to get seednodes for noAuth
If the KDF binaries were already renamed from `mm2` to `kdf`—i.e., if the target folder already contained `kdf.exe` or `libkdf.a` after the last successful rename from `*mm2*`—the warning `KDF not found at` would still appear, which was a bit confusing. Now, if the folder already contains the renamed binary, the warning no longer appears.
* Use AssetLogo in example and tweak imports

* style: match the styling with the existing komodo-wallet implementation
Remove ETH coins config transformer which was temporarily required because of a breaking ETH change in KDF.
* fix(trezor,activation): add PrivateKeyPolicy to AuthOptions and beyond

* feat(rpc): add trezor init task RPCs

* feat(sdk): trezor manager for init and user input requests

* feat(rpc): add task-based address generation RPCs

* feat(rpc): add trezor pubkey strategy with task-based address creation

* WIP: trezor login option in SDK example

* refactor(example): trezor auth mixin and remove previous trezor ui code

* fix(trezor): device info parsing and example auth state transitions

* refactor(trezor): add auth listener & implement coderabbitai suggestions

* fix(example): auth restoration and listener order

* fix(trezor): workaround for trezor-specifc scan issue

funded addresses not being scanned for fresh trezor logins (maybe not believed to be a "fresh" wallet)?

* fix(rpc): get new address task status response parsing

* refactor(trezor): move authentication and initialization logic to SDK (#81)

This is a concept solution that moves the Trezor initialization and authentication flow from the example BLoC to the SDK KomodoDefiAuth class & package.

Two issues that make integrating the trezor login flow with the current SDK difficult:

- Trezor login is a multi-step process that uses task-based RPCs, so Stream-based versions of the signin and register methods are required.
- Async user inputs (i.e. passphrase or pin) need to be sent to trezor as part of login process.

Solution implemented in this PR:

- Add stream-based signInStream and registerStream functions to KomodoDefiAuth with a new Authentication state/status class.
  - Alternative (breaking): modify the existing functions to return Stream
- Add input methods for passphrase and pin to KomodoDefiAuth
  - Alternative 1: Ask user for passphrase before starting trezor sign-in and pass it through the existing wallet password field.
  - Alternative 2: SDK consumers use device-specific managers (e.g. sdk.trezor.sendPassphrase).

Commits:

* Use TrezorWalletManager in example bloc

* refactor(trezor,auth): move trezor auth into komodo_defi_local_auth

* refactor: implement coderabbitai suggestions

* refactor(trezor): migrate auth options and state models to freezed (#90)

* migrate models to freezed

* fix(types): revert changes to seed_node and auth_options
* fix(rpc,activation): breaking EVM private key policy enum change

* fix(activation-params): use pascal case for to and from json

* test(example): add asset activation integration test

* test(example): run in zone to catch microtask and uncaught exceptions

* fix(auth): merge issues and update privkeypolicy comparisons

* docs: expand doc comments and remove runzonedguarded
latest staging with hotfix for trezor coin activation
* feat(auth): add wallet deletion

* feat(example): add wallet deletion

* add: wallet deletion for Trezor wallets

* chore: re-generate melos

* refactor: fix flaw in response error parsing

Fix flaw in response error parsing where the custom error parser function would never be called because of the inheritence structure.

* feat(example): move delete wallet action (#104)
Disabled melos generation due to circular dependency issues caused by komodo_defi_rpc_methods and komodo_defi_types packages. This will be revisited in the.

The app should already have the necessary generated files committed to the repository. If this is not the case, we have bigger issues.
@CharlVS CharlVS added this to the KW 0.9.2 milestone Jul 1, 2025
@CharlVS CharlVS requested a review from Copilot July 1, 2025 17:45
@CharlVS CharlVS self-assigned this Jul 1, 2025
@CharlVS CharlVS added the release label Jul 1, 2025
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Jul 1, 2025

Note

Other AI code review bot(s) detected

CodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review.

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch dev

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbitai help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

CharlVS and others added 11 commits July 27, 2025 16:59
* feat(ui): add hero support for asset icons

* fix(ui): Hero Tag Ignored in AssetLogo Placeholder

* fix: Move Hero widget outside Opacity widget for proper animation continuity

- Fix AssetLogo.placeholder to pass heroTag parameter to _AssetLogoPlaceholder
- Move Hero widget outside Opacity widget in AssetIcon to prevent animation interference
- Ensures Hero animations work correctly for both asset icons and placeholder logos
- Maintains visual continuity by placing Hero widgets as outermost components
…ban_pubkeys.dart

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* feat(pubkeys): add unbanning support

* Update packages/komodo_defi_rpc_methods/lib/src/rpc_methods/wallet/unban_pubkeys.dart

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix(types): export missing RPC types

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
git-subtree-dir: packages/dragon_logs
git-subtree-split: 399ef1d17034029155b63b6bc1d9ab0a5a0fbb04
feat: migrate dragon_logs_flutter to monorepo packages
* feat(hd): integrate hd privkey export

* chore: roll KDF

* chore: enable tendermint hd support

* refactor(rpc): Misc rpc class formats/fixes

* feat: private keys + fixed Tendermint

* refactor(sdk): implement co-ordinated activation manager

* fix: invalid path error

Possible fix for paths containing special characters on Windows.

* fix: remove unnecessary activation logging

* chore(pr): apply formatting and fixes to PR

Apply Dart formatting and fixes to all files modified in this PR.

* feat(example): integrate private key export to example app

* chore: roll KDF

* chore: roll KDF

* feat: fee estimation

* fix(build): make re-build failure stand out

* chore: roll KDF

Roll KDF for optimisation for key export time.

* feat(tx): further progress on fee/priority integration

* chore: roll KDF fro `v2.6.1`

TODO: Change from CI builds to GitHub release when artefacts are available.

* fix(api): disable fee/priority features

Disable fee/priority features because they are not included in the pending KDF release. They should be included in the following release (likely `2.7.0`)

* fix: Temporarily disable fee/priority features

Temporarily disable fee/priority features until the feature is available in the API (KDF)

* feat: add memo support protocol value

* fix: resolve incorrect `unban_pubkeys` parsing

* fix: resolve regression in legacy withdrawal manager

* feat(security): Include failed activations in privkey export

* docs(build): expand asset build failure explination

* fix: tweak private key type json to match class properties

* fix(RPC): fix new address generation types

* chore: bump version tags

* fix: apply Claude PR review suggestions
@GLEECBTC GLEECBTC deleted a comment from charl Jul 31, 2025
…ository first before cex repository (#167)

* fix(market-data-manager): default to KomodoPriceRepository

Binance CexRepository supports a limited number of symbols and no longer lists KMD price history after the delisting

* refactor(market-data-manager): deduplicate and clarify intent

* refactor(review): remove zero check and add log statements

also simplify the priceIfKnown function
CharlVS and others added 3 commits August 6, 2025 01:03
* fix(types): comprehensive bip39 validation

* fix(market-data-price): try fetch current price from komodo price repository first before cex repository (#167)

* fix(market-data-manager): default to KomodoPriceRepository

Binance CexRepository supports a limited number of symbols and no longer lists KMD price history after the delisting

* refactor(market-data-manager): deduplicate and clarify intent

* refactor(review): remove zero check and add log statements

also simplify the priceIfKnown function

* chore: switch KDF to `dev`

Switch KDF to `dev` to allow usage of unreleased changes (particularly related to fees/priorities)

* feat: add Flutter Web WASM support with OPFS interop extensions

This commit implements comprehensive Flutter Web WASM support by:

- Adding opfs_interop.dart with FileSystemDirectoryHandle extensions for values(), keys(), and entries() methods
- Implementing JSAsyncIterator type definitions for proper JavaScript interop
- Creating WebLogStorageWasm implementation compatible with both JS and WASM targets
- Consolidating platform implementations to use unified WASM-compatible storage
- Removing redundant WebLogStorage in favor of cross-compatible implementation
- Updating platform configuration files for seamless WASM integration

The implementation provides backwards compatibility with JavaScript compilation while
enabling full WASM support through browser File System APIs that work consistently
across both compilation targets.

BREAKING CHANGE: WebLogStorage class has been removed in favor of WebLogStorageWasm

* Update packages/dragon_logs/lib/src/storage/opfs_interop.dart

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* docs: update repo url

* docs: remove repo archive notice

* feat(example): integrate dragon_logs (#177)

* fix: dart wasm type errors

* chore: revert skipped build steps

* fix: add GitHub token authentication to prevent API rate limiting

Add GitHub authentication token support across all components that make
GitHub API requests to resolve rate limiting issues during builds.

Changes:
- feat(coin-updates): add githubToken parameter to CoinConfigProvider
- feat(coin-updates): support GitHub auth in CoinConfigRepository.withDefaults
- fix(build-transformer): add debug logging for GitHub API authentication
- fix(wallet-cli): auto-use GITHUB_API_PUBLIC_READONLY_TOKEN env variable
- style(build-transformer): fix lint issues with cascade operations

The CoinConfigProvider was making unauthenticated GitHub API requests,
contributing to rate limit errors. All GitHub API clients now properly
use the GITHUB_API_PUBLIC_READONLY_TOKEN environment variable when
available, increasing rate limits from 60 to 5,000 requests per hour.

Fixes: Rate limit exceeded errors during build process

* chore(kdf): roll KDF to latest `dev`

Roll KDF to the latest `dev` to ensure we are using the latest revision of all unreleased features.

* fix: apply cursor fixes

---------

Co-authored-by: Francois <takenagain@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…tch (#178)

* feat(pubkey-manager): add pubkey watch function similar to balance watch

* test(pubkey-manager): add basic unit tests

* fix(pubkey-manager): restart watchers on auth change like balancemanager

* feat(example): use new watchPubkeys function when fetching pubkeys

* fix(pubkey-manager): remove duplicate result emission

* revert: emit duplicate states for new subscribers to get initial state

* refactor(pubkey-manager): improve dispose error tolerance and rename

* refactor(balance-manager): improve dispose error tolerance and rename
* Add trading, Lightning, and orderbook RPC method namespaces



* Refactor order status classes to use JsonMap and type-safe parsing



* Refactor order status and related classes with type-safe parsing



* Add new common structures for trading, orderbook, and Lightning



* chore: re-generate indexes

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
cursor[bot]

This comment was marked as outdated.

takenagain and others added 2 commits August 13, 2025 17:54
…ing (#185)

* fix(wasm-ops): improve JS call error handling on startup

* refactor(review): add doc comments and make type cast explicit

* refactor(review): improve error messages and add logging
* fix(market-data-manager): default to KomodoPriceRepository

Binance CexRepository supports a limited number of symbols and no longer lists KMD price history after the delisting

* refactor(market-data): move ticker resolution to the repository layer

allows for API-specific tickers to be used on a per-repository basis

* feat(example): show market data in example asset list

* feat(market-data): add coin supported check to selection strategy

* Implement getCoinFiatPrices with batch processing and error handling

Co-authored-by: francoisvw <francoisvw@protonmail.com>

* refactor(market-data): standardise retry mechanism

* feat(example): add sparkline chart to asset row item

* refactor(example): change market info cubit to bloc

to manage streaming automatically via emit.forEach rather than manually disposing background streams.

fixes the emit after close bug

* fix(asset-market-info): move bloc provider into the asset row item

* refactor(id-resolution): improve typing of previously nullable functions

* feat(sparkline): add multi-provider support and logging

* test: fix market data unit tests (#174)

* feat(cex-market-data): align and update interfaces

use Decimal, use standard interface, add missing 24hr price change functionality

* refactor(market-data): add quote currency union type

* fix(komodo-prices): change json key and add in-memory caching

* feat(market-data): add repository fallback logic and tests

* feat(market-data): add stablecoin to fiat mapping and fix tests

* refactor(review): update comments and fix potential issues

* refactor: remove string ticker-based coin pair model in favour of quote

* fix(sparkline): prevent requests to unsupported coins and add fallback

* test(cex-market-data): improve coverage and refactor out utilities

* refactor(review): improve sparkline and repository error visibilty

* feat(asset-id): add asset cache key to standardize asset-based caching

* test: extract helper functions and remove unnecessary tests

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
cursor[bot]

This comment was marked as outdated.

CharlVS and others added 7 commits August 13, 2025 18:13
* Squashed 'packages/dragon_charts/' content from commit 3b667aab

git-subtree-dir: packages/dragon_charts
git-subtree-split: 3b667aab45cb1353e902c6b314c0e4ff19fb9022

* Add edge case handling and tests for SparklineChart

Co-authored-by: charl <charl@vanstaden.info>

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
…ted (#126)

* feat(auth): add polling stream for Trezor connection (#125)

* Implement connection status stream

* fix(types): use abstract classes for freezed models

* feat(trezor,auth): sign user out if device is disconnected

* fix(trezor): use snake case for keys and pascal case for values

* fix(trezor): improve connection status stream error handling

* refactor(trezor): improve Trezor connection monitoring with timeout and error handling (#166)

Co-authored-by: Cursor Agent <cursoragent@cursor.com>

* refactor(review): address PR nitpicks

* refactor(review): add convenience methods and constructors

* test: add unit tests for the new poll utility

* refactor(trezor): add logging statements to auth mixin

* test(trezor): add unit test cases for newly added interfaces

* refactor(trezor): await close and stop functions and yield error

* test(trezor): expand connection error handling test

* fix(trezor): mitigate Trezor pin/passphrase exposure with converter

freezed by default adds all fields to toString overrides, which could result in user pin/passphrases being printed to logs

* fix(trezor): assume initial state as available and extract local variable

* chore: rename dragon charts folder

Rename the dragon charts folder to be consistent with the package name.

NO FUNCTIONAL CHANGES

* fix: fix  broken package reference

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: CharlVS <77973576+CharlVS@users.noreply.github.com>
* Add SwapManager with orderbook and swap trading capabilities

Co-authored-by: charl <charl@vanstaden.info>

* chore: apply formatting

* Resolve merge: both-added identical files in rpc_methods (order_status, orderbook namespace, set_order) and sync types

* feat: add missing trading RPCs

* fix(rpc): fix trading RPCs to match Postman collection

* docs: add comprehensive dartdoc to public APIs in swap manager and new RPC methods (lightning, orderbook, trading); reference KDF API semantics

* style: insert empty lines between documented class fields for readability

* refactor(active_swaps): declarative toJson map literal with inline conditionals

* refactor(rpc_methods): use declarative toJson() across trading, orderbook, lightning requests

* chore(rpc): format trading RPCs

* refactor(sdk): change sdk swap manager to higher-level types

* refactor(rpc): enhance trading-related RPC type safety

* feat(trading): implement SDK placeholder trading functionality

* feat: expand swap functionality

TODO: Refactoring and docs

* Create swap manager interface with documentation (#189)

* Add swap manager interface for consistent swap and orderbook operations

Co-authored-by: charl <charl@vanstaden.info>

* feat(rpc): expand swap-related types

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>

* Keep only types (packages/komodo_defi_types) and RPC library (packages/komodo_defi_rpc_methods) changes from cursor/build-swap-manager-in-sdk-0a9c relative to dev

* fix(rpc): further reconciliation between RPC library and docs

* fix(rpc): use RecentSwapsFilter in RecentSwapsRequest; fix recentSwaps call in trading RPC namespace

* Make isMine parameter required in PlacedOrderSummary constructor

Co-authored-by: charl <charl@vanstaden.info>

* chore: update pubspec files

* Add support for fraction and rational number representations

Co-authored-by: charl <charl@vanstaden.info>

* Update cancel orders type to use lowercase and adjust coin key

Co-authored-by: charl <charl@vanstaden.info>

* docs(trading): clarify trade_with parameter in max_taker_vol; note pair-dependent DEX fees and default behavior

* chore: generate indexes

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
This commit updates generated freezed files and adjusts dependencies across packages.

Updated files include:
- packages/komodo_defi_local_auth/lib/src/auth/auth_state.freezed.dart
- packages/komodo_defi_local_auth/lib/src/trezor/trezor_initialization_state.freezed.dart
- packages/komodo_defi_rpc_methods/lib/src/common_structures/activation/activation_params/activation_params.freezed.dart
- packages/komodo_defi_rpc_methods/pubspec.yaml
- packages/komodo_defi_sdk/example/pubspec_overrides.yaml
- packages/komodo_defi_types/lib/src/assets/asset_cache_key.freezed.dart
- packages/komodo_defi_types/lib/src/public_key/confirm_address_details.freezed.dart
- packages/komodo_defi_types/lib/src/public_key/new_address_state.freezed.dart
- packages/komodo_defi_types/lib/src/public_key/new_address_state.g.dart
- packages/komodo_defi_types/lib/src/transactions/fee_info.freezed.dart
- packages/komodo_defi_types/lib/src/trezor/trezor_device_info.freezed.dart
- packages/komodo_defi_types/lib/src/trezor/trezor_user_action_data.freezed.dart
- packages/komodo_defi_types/pubspec.yaml
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
* docs: Overhaul READMEs across SDK packages with comprehensive guides

Co-authored-by: charl <charl@vanstaden.info>

* docs(wallet_cli): update README

* fix(docs): replace non-standard hyphen with standard

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
@CharlVS
Copy link
Copy Markdown
Collaborator Author

CharlVS commented Aug 21, 2025

Closing in favor of a fresh dev→main after merging fix/upgrade-deps into dev.

@CharlVS CharlVS closed this Aug 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants