flutcn_ui 1.3.3
flutcn_ui: ^1.3.3 copied to clipboard
A UI component library for Flutter inspired by shadcn/ui, providing modular and customizable widgets.
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] #
1.3.3 - 2026-02-20 #
Added #
- Flutter web preview system in example app for live widget previews in documentation site
- Isolated preview pages for each widget (button, avatar, badge) with theme support
- Web interop for real-time theme syncing via
postMessagebetween doc site and Flutter iframe - Query parameter-based routing (
?widget=button&theme=dark) for reliable static file serving
go_routerandwebdependencies in example appComponentPreviewReact component for the doc site (iframe-based widget previews with Preview/Code tabs)
1.3.1 - 2026-02-18 #
Added #
--path/-poption onaddcommand — override default widget directory per invocation- Works with both single widget (
flutcn_ui add button --path lib/components) and interactive multi-select mode - Does not modify
flutcn.config.json
- Works with both single widget (
- 7 new unit tests for
AddCommandargParser (71 total)
1.3.0 - 2026-02-14 #
Added #
- Widget versioning via
flutcn.lock.json— tracks installed widgets with SHA-256 content hashesinitcreates empty lockfile alongside configadd/listrecord widget hashes after downloadremovedeletes widget entry from lockfileupdatecompares hashes: shows up-to-date, updated, or newly tracked per widgetlistshows install status: [installed], [modified locally], [installed - untracked]
cryptodependency for SHA-256 hashingLockfileManagerutility class (lib/src/core/utils/lockfile_manager.dart)- 17 new unit tests for lockfile manager (64 total)
- Updated README with remove, update, and widget versioning documentation
1.2.0 - 2026-02-14 #
Added #
removecommand — uninstall widgets by deleting local.dartfiles- Direct mode:
flutcn_ui remove button - Interactive mode:
flutcn_ui remove(multi-select from installed widgets) --force/-fflag to skip confirmation prompt
- Direct mode:
updatecommand — refresh installed widgets from the registry- Direct mode:
flutcn_ui update button - Interactive mode:
flutcn_ui update(multi-select from installed widgets) --all/-aflag to update all installed widgets
- Direct mode:
- Unit tests for
removeandupdateuse cases (47 total tests)
1.1.5 - 2026-02-12 #
Fixed #
- Fix
InitUseCasesilently discarding repository failures (always returned success) - Catch
http.ClientExceptionfor DNS/network failures (shows friendly offline message) - Remove blanket try-catch in
init()that swallowed all error context - Move config file creation to last step in init (prevents broken half-initialized state)
- Fix
Directory('flutcn.config.json')check that always returned false
Added #
- Config field validation with clear error messages in
fromJson() - Centralized
ConfigReaderutility replacing inline JSON parsing in commands - HTTP request timeouts (30 seconds) and offline detection
- Granular exception-to-failure mapping in repository
- Friendly error messages in spinner helper
- Unit tests for entities, repository, and use cases (40 tests)
Changed #
- Use cases pass through
Eitherfrom repositories (no unwrapping in domain layer)
1.1.4 - 2026-02-11 #
Fixed #
- Remove
google_fontsfrom CLI dependencies (not used directly, caused Dart SDK version conflict in CI)
1.1.3 - 2026-02-11 #
Fixed #
- Make
ApiService.get()prependbaseUrlconsistently with other HTTP methods - Correct
widgetsPathparameter typo in config file creation - Rename misspelled files:
qestions.dart,checko_box_chooser.dart,app_pallete.dart - Make
ListUseCasereturnEither<Failure, T>instead of throwing exceptions
Added #
- CI/CD workflows for automated releases and pub.dev publishing
- Version bump script (
scripts/bump_version.sh) - Dark/light theme toggle in example app
Changed #
- Widget URL construction uses relative paths instead of hardcoded base URLs
- Migrated deprecated Flutter APIs in example app (Material 3)
1.1.1 - 2025-03-27 #
1.1.0 - 2025-03-25 #
Added #
- Interactive multi-widget selection in
listcommand - File overwrite confirmation prompts
- Skipped downloads tracking
- Enhanced conflict resolution system
Changed #
- Improved README documentation
- Better error handling for network operations
- Color-coded terminal output
Fixed #
- Concurrent spinner display issues
- File existence check reliability