keyscope 0.10.0
keyscope: ^0.10.0 copied to clipboard
GUI for Redis, Valkey, Dragonfly, and Google Memorystore via SSH Tunneling Support. Multilingual.
Changelog #
0.10.0 #
-
SSH Tunneling Support 🎉
- You can now connect to Google Cloud Memorystore via SSH tunneling through the Connection Manager.
- To get started, enable the
[ ] Use SSH Tunnelingcheckbox and configure the following fields:Bastion Host: Enter the public IP address of your Google Cloud VM (must be a VPC-reachable public IP).Username: Enter the shell account name used to access the Google Cloud VM.Server: Enter the internal IP address of your Google Cloud Memorystore instance.Port: Enter the internal port number of your Google Cloud Memorystore instance.- SSH Key Management:
SSH Key File Path: Click the folder icon to select your private key (e.g.,id_rsa). For your convenience, the file picker defaults to the~/.sshdirectory.SSH Key Passphrase: If your key is encrypted, enter the passphrase here. (Optional)
⚠️ Note on Key Storage: In this version (v0.10.0), private keys are not saved in the connection settings. You will need to manually select the key for each session. We are working on a secure storage solution using the OS Keychain, which will be available in v0.11.0.
-
Important Security Notice: Connection Password
- Please be advised that passwords in the connection settings (introduced in v0.9.0) are currently stored in plain text.
- We are scheduled to implement secure storage using AES-256 encryption integrated with the OS Keychain in version v0.12.0.
- Until this update, please exercise caution when managing your passwords.
0.9.0 🎉 #
✨ New Features #
- Revamped Connection Dialog
- Easily add new connections via the Connection Manager in the Side Bar (includes scrolling support,
+button, and dotted box UI). - Users can now create, edit, and save custom connection configurations (
ConnectionConfig) locally. - Auto-save configurations upon clicking the 'Test Connect' or 'Connect' buttons. (The hardcoded default connection example has been removed).
- Easily add new connections via the Connection Manager in the Side Bar (includes scrolling support,
- Auto-generate Names for New Connections (
GenerateRandomName)- Automatically assigns random names in the format:
[Server]-[US City]-[UUID v4]. - Supported servers:
Redis,Valkey,Dragonfly,KeyDB,Amazon MemoryDB,Garnet,Redict,Apache Kvrocks,Upstash,Azure Cache for Redis,Google Cloud Memorystore,Alibaba Cloud Tair.
- Automatically assigns random names in the format:
🎨 UI/UX & Localization #
- Updated Data Type Label Colors
- New assigned colors (changed from default Gray):
STREAM: Blue GrayMBbloom--: Pinkvectorset: AmberTSDB-TYPE: TealTDIS-TYPE: Lime
- Modified colors:
ZSET: Red to Indigo
- New assigned colors (changed from default Gray):
- Enhanced visual effects (hover, color selection, press/tap animations) in the Connection Dialog for better usability.
- Updated and improved multilingual translation data.
🐛 Bug Fixes #
- Fixed an issue where the
hDelcommand was duplicated in thedeleteHashFieldexecution.
🛠️ Refactoring & Chores #
- Dart Code Optimization: Refactored the
_getTypeColorfunction to use modern Dartswitch expressionsyntax. - Abstract Class Cleanup: Removed the empty bodies of
deleteKeyandsetStringValuein theConnectionRepository. - Internal Tool Update: Updated the i18n Generator (
i18n_generator.dart) to include line length checks for simple getters without arguments.
📦 Dependencies #
- Added
uuidpackage for generating random names in the connection dialog. - Added
shared_preferencespackage for saving connection configurations locally.
0.8.3 #
- Refactor (i18n): Externalized all text resources to
assets/i18n.csvand applied localization keys to UI components via generatedlib/i18n.dart. - Style: Updated
tool/i18n_generator.dartto enforce 80-character line limit in generatedlib/i18n.dart.
0.8.2 #
- Fix (Example): Replaced MaterialApp wrapper with KeyscopeApp to ensure locale and theme settings are applied correctly.
0.8.1 #
- Fix: Included the missing
lib/i18n.dartin the package to resolve static analysis errors on pub.dev.
0.8.0 #
- Multilingual: Added Internationalization (i18n) with full multi-language support.
- Core Engine
- keyscope_client: Bump version to
4.2.0.
- keyscope_client: Bump version to
- Dependencies & Tooling
- New i18n Generation Tool: Introduced a custom-built internal translation tool (
tool/i18n_generator.dart). This internal tool replaces the removed dependencies, streamlining the i18n workflow, ensuring better maintainability and control without relying on obsolete external libraries..
- New i18n Generation Tool: Introduced a custom-built internal translation tool (
0.7.0 #
- Connection Dialog & Test Connection
- Enhanced Implemented full
TextEditingControllersupport for all form fields (name, host, port, username, password).- Dialog now correctly captures and applies user-entered values.
- Test Connection action uses the latest input values to validate connectivity.
- Enhanced Implemented full
0.6.0 #
- New Feature: Advanced Data Editing (Complex Types)
- Hash Editing: Added support for adding, editing, and deleting individual fields within a Hash.
- List Editing: Support for appending items (
RPUSH), updating items by index (LSET), and removing items (LREM). - Set Management: Ability to add (
SADD) and remove (SREM) members from Sets. - ZSet (Sorted Set) Management: Support for adding members with scores (
ZADD), updating scores, and removing members.
- UI/UX Improvements
- Type-Specific Actions: The Value Inspector now displays context-aware action buttons (e.g., "Add Field" for Hash, "Add Member" for Set).
- Enhanced Dialogs: Dedicated input dialogs for each data type ensure correct data entry (e.g., Score input validation for ZSet).
- CLI:
- New Commands: (
scan) as a generic command for Redis and Valkey - Command Checker Added a command checker before connecting to server
- New Commands: (
- Data Type
- ReJSON-RL: Label color changed from default Gray to Brown
0.5.0 #
- New Feature: Key Creation
- Create New Keys: Users can now create new keys directly from the Data Explorer.
- Supported Types: Full support for creating String, Hash, List, Set, and ZSet (Sorted Set) types.
- Dynamic Input Forms: The creation dialog automatically adapts fields based on the selected key type (e.g., Score/Member input for ZSet, Field/Value for Hash).
- TTL Support: Option to set an initial Time-To-Live (TTL) when creating a key.
- Feature Update: Value Inspector
- ReJSON-RL: Inspect detailed key information for Redis JSON and Valkey JSON.
- UI/UX Improvements
- New Button: Floating Action Button (+) to the Data Explorer for quick access to key creation.
- Enhanced validation logic to ensure data integrity before submission.
- CLI:
- New Commands: (
json-set), (json-get) for Redis JSON and Valkey JSON - Added new commands to
CLI_OPTIONS.md.
- New Commands: (
0.4.0 #
- New Feature: Key Management (CRUD)
- Delete Keys: Added ability to delete keys directly from the Value Inspector. Includes a confirmation dialog for safety.
- Edit String Values: Users can now modify and save values for
Stringtype keys. - Real-time Updates: The UI automatically refreshes the key list and details upon successful modification or deletion.
- UI/UX Improvements
- Added edit/save/cancel toggle mode in the Key Detail Panel.
- Improved error handling and user feedback (Snackbars) for write operations.
- CLI:
- Enhanced
KeyscopeCLI with (ping) and functions (connect, close, etc). - Added
CLI_OPTIONS.mdto introduce the CLI commands and options. - Added Commands: (
getwith--key/-kand--value/-v), (setwith--key/-kand--value/-v), (ping), etc. - Added Options: (
--get), (--set), (--slient), (--db), (--ssl), etc.
- Enhanced
0.3.1 #
- New CI Badge:
GUIandCLIbuild status badges for GitHub Actions workflows toREADME.md - New Example: A GUI example using
Keyscopewidget
0.3.0 #
- New Feature: Data Explorer
- Browse keys efficiently using
SCANcommand (cursor-based pagination). - Supports infinite scrolling for navigating millions of keys without blocking the server.
- Search/Filter keys by pattern (e.g.,
user:*).
- Browse keys efficiently using
- New Feature: Value Inspector
- Inspect detailed key information including Type and TTL.
- Dedicated visualizers for various data types:
- String: Plain text viewer.
- Hash: Table view for fields and values.
- List / Set: List view.
- ZSet: List view with scores.
- CLI: Enhanced
KeyscopeCLI with scan test (--scan) and (--match).
0.2.0 #
- New Feature: Added Connection Manager GUI.
- Supports
Redis&Valkeyconnections. - Create, edit, and save connection configurations.
- Support for Username/Password authentication (ACL).
- Supports
- New Feature: Real-time Dashboard.
- Visualizes Server info, Memory usage, and Client stats.
- Automatic data fetching via
INFOcommand.
- CLI: Enhanced
KeyscopeCLI with connectivity check (--ping).- CLI diagnostic tool (
keyscope --ping).
- CLI diagnostic tool (
0.1.0 #
- Initial placeholder release.