cura 0.6.1 copy "cura: ^0.6.1" to clipboard
cura: ^0.6.1 copied to clipboard

CLI tool to audit Flutter/Dart package health, dependency scores, and maintenance status.

Changelog #

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Unreleased #

0.6.1 - 2026-02-24 #

Fixed #

  • CacheDatabase double-initialisation race: Two concurrent await CacheDatabase.instance calls arriving before the database was ready both invoked _initDatabase(), creating the SQLite connection twice. Fixed by memoising the initialisation Future (_initFuture ??= _initDatabase()), ensuring all concurrent callers share a single in-flight operation. close() now also resets _initFuture so re-opening is safe.
  • CachedAggregator.fetchMany silent error swallow: Errors thrown by pool tasks were not forwarded to the stream, leaving error cases silently dropped. Added onError forwarding so stream consumers receive errors correctly.
  • CachedAggregator dead import: Unused import 'package:cura/src/domain/ports/cache_repository.dart' removed.

Changed #

  • MultiApiAggregator uses PoolManager: Replaced the inline Pool construction with the shared PoolManager utility. The aggregator no longer owns a raw pool import; concurrency configuration flows through PoolManager(maxConcurrency: ...).
  • Dartdoc — infrastructure cache layer: Added comprehensive API documentation to CachedEntry, CacheDatabase, TtlStrategy (including popularity range 0–100 and per-tier TTL tables), CachedAggregator, and MultiApiAggregator.

0.6.0 - 2026-02-24 #

Added #

  • config init --force: New -f / --force flag on cura config init to overwrite an existing config file with built-in defaults.
  • Complete config show: Now displays all configuration fields grouped by category (Appearance, Cache, Scoring, Performance, Behaviour, Logging, API, Exclusions) with score-weights validation warning.

Fixed #

  • config set incomplete key support: _writeValue was missing github_token, cache_max_age_hours, enable_cache, auto_update, fail_on_vulnerable, fail_on_discontinued, show_suggestions, max_suggestions_per_package, verbose_logging, and quiet — those keys were readable but silently ignored on write.
  • config get null display: Unknown / unset values now print (not set) instead of the string "null".
  • ScoreWeights.fromJson type safety: JSON fields are now cast with as int? before applying the default fallback.
  • ConfigDefaults.defaultConfig mutability: Field changed from static to static final to prevent accidental reassignment at runtime.

Changed #

  • Centralized concurrency manager built on top of the pool package.
  • Dartdoc: Added comprehensive API documentation to ScoreWeights, ConfigDefaults, ConfigRepository, YamlConfigRepository, and all config sub-commands.

0.5.0 - 2026-02-22 #

Added #

  • Visual Score Breakdown: New bar charts (█ ▓ ▒ ·) for intuitive score reading.
  • Rich UI Elements: Added popularity dots (●●●) and Pub score indicators (●/◐/○).
  • Color-coded Status: Visual update indicators (🟢/🟡/⚠) and severity colors for vulnerabilities.
  • GitHub Metrics: Enhanced formatting for stars, forks, and last commit dates.

Changed #

  • Presenter Refactor: Complete overhaul of ViewPresenter for better information hierarchy.
  • Output Styling: Standardized usage of clean separator lines (═) for better scannability.

0.4.0 - 2026-02-19 #

Added #

  • Version Command: Added a dedicated version command for detailed system information (CLI version, Dart SDK, Platform).
  • Update Checker: Automatic check against pub.dev API to notify users when a newer version is available.
  • Global Flag: Added --version / -v as a global flag for quick version check.
  • Versioning Logic: Centralized AppInfo and VersionUtils for robust Semantic Versioning (SemVer) comparisons.
  • Multi-API aggregation (pub.dev + GitHub + OSV)
  • Streaming reactive package analysis
  • SQLite caching (24h TTL)
  • GitHub metrics integration

Changed #

  • CLI Output: Customized the default help message for better UX.
  • Constants: Refactored AppConstants to use dynamic versioning instead of hardcoded strings.

0.3.0 - 2026-02-15 #

Added #

  • implement ui logger for scan command output
  • implement logic to analize packages form path
  • Config Hierarchy - Global vs Project Config

Change #

  • update view command logger

0.2.0 - 2026-02-13 #

Added #

  • add README documentation with base file in ./docs
  • configuration system support
  • complete theme system with dark/light mode

0.1.0 - 2026-02-13 #

Added #

  • Complete error management system
  • Functional cura view <package> command
  • Basic scoring (maintenance + trust + popularity)
  • Simple terminal display (no elegant table yet)
  • Operational local cache.
  • ScoreCalculator unit tests (>80% coverage)
2
likes
150
points
457
downloads

Publisher

verified publishermeragix.dev

Weekly Downloads

CLI tool to audit Flutter/Dart package health, dependency scores, and maintenance status.

Homepage
Repository (GitHub)
View/report issues
Contributing

Documentation

Documentation
API reference

License

MIT (license)

Dependencies

args, cli_table, dio, mason_logger, path, pool, retry, sqflite_common, sqflite_common_ffi, yaml, yaml_writer

More

Packages that depend on cura