Skip to content

Latest commit

 

History

History
572 lines (429 loc) · 20.5 KB

File metadata and controls

572 lines (429 loc) · 20.5 KB

Changelog

All notable changes to dbfordevs are documented in this file. The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[0.7.1] - 2026-03-23

Added

  • add aditional documentation (#90)
  • add bookmark import/export functionality and enhance bookmark m… (#89)

Changed

  • Enable TDS 7.3 for tiberius

[0.7.0] - 2026-02-12

Added

  • integrate Redis changes management into editors (#88)
  • enhance SQL completion provider to support additional SQL keywo… (#87)
  • implement data comparison feature with UI and backend support (#86)

Changed

  • enhance version bump script with improved CLI options and error handling

[0.6.0] - 2026-02-03

Added

  • feat: enhance MSSQL table name parsing and context switching (#84)
  • feat: integrate command palette and keyboard shortcuts functionality (#82)

Changed

  • refactor: standardize table name handling across database drivers (#85)

Fixed

  • fix: disable autocomplete on Input component (#83)

[0.5.5] - 2026-02-03

Added

  • feat: enhance MSSQL table name parsing and context switching (#84)
  • feat: integrate command palette and keyboard shortcuts functionality (#82)

Changed

  • refactor: standardize table name handling across database drivers (#85)

Fixed

  • fix: disable autocomplete on Input component (#83)

[0.5.4] - 2026-02-02

Added

  • feat: optimize build configuration and enhance lazy loading for dialogs (#81)
  • feat: implement parameterized queries for CRUD operations (#80)

Changed

  • refactor: replace ScrollArea with div for improved overflow handling … (#79)

Other

  • docs: fix inaccuracies across 14 documentation files

[0.5.3] - 2026-01-27

Added

  • feat: add MSSQL database management features including create and delete functionality (#78)

[0.5.2] - 2026-01-26

Added

  • feat: implement SQL Server Browser query for named instance port resolution

[0.5.1] - 2026-01-24

Added

  • feat: update Monaco editor themes and enhance DmlPreviewView styling (#76)
  • feat: introduce classic themes and update theme management (#75)

Changed

  • refactor: remove unused Database import from SettingsDialog component

[0.5.0] - 2026-01-24

Added

  • feat: enhance database support and features in documentation (#74)
  • feat: replace Database icon with DbForDevsIcon in Sidebar and Setting… (#73)
  • feat: implement schema diff functionality with UI components (#72)
  • Add support for MSSQL named instances (#69)

Changed

  • Enhance schema search and sidebar functionality for Cassandra support (#71)

Fixed

  • Fix AI table references for all database providers (#70)

[0.4.0] - 2026-01-20

Added

  • feat: add Oracle Wallet support for secure database authentication (#68)
  • feat: implement SSL/TLS testing feature for database connections (#67)

Changed

  • Cassandra implementation (#66)

[0.3.11] - 2026-01-19

Added

  • feat: implement AI context management and NoSQL support (#64)
  • feat: introduce Solarized themes for enhanced UI customization (#63)

Changed

  • Global search (#65)

[0.3.10] - 2026-01-17

Added

  • feat: implement MongoDB support with connection management and UI components (#62)

[0.3.9] - 2026-01-17

Added

  • feat: update icon assets for improved visual consistency
  • feat: implement MongoDB support with connection management and UI components
  • feat: add new database icon and update various icon assets
  • feat: add Redis support with connection management and UI components (#61)

Changed

  • refactor: adjust tree item levels in MongoDB and Redis connection components

[0.3.8] - 2026-01-17

Added

  • feat: implement connection grouping and tagging functionality (#59)

Fixed

  • fix: update signing key for auto-updater

[0.3.7] - 2026-01-17

Added

  • feat: implement tab context menu and pinning functionality
  • feat: implement database object management for procedures, functions, triggers, and sequences (#57)
  • feat: update default capabilities to include additional API URLs

Changed

  • UI improvments (#58)

[0.3.6] - 2026-01-15

Added

  • feat: update default capabilities to allow additional API access
  • feat: enhance documentation and user guide for view, index, and user management

[0.3.5] - 2026-01-15

Added

  • feat: add view and index management functionality (#56)

[0.3.4] - 2026-01-15

Added

  • feat: implement data grid enhancements with new features and settings
  • feat: implement comprehensive query history management (#55)
  • feat: add user and role management with permission controls (#54)

Fixed

  • fix: disable updater in development mode and update release draft status

[0.3.3] - 2026-01-13

[0.3.2] - 2026-01-13

Added

  • feat: enhance field editor with date/time pickers, FK validation, and UX improvements (#53)
  • feat: show only specified database for MSSQL connections (#51)
  • feat: enhance MSSQL connection string parsing to support named instances

Fixed

  • fix: improve CRUD operations robustness across all database providers (#52)
  • fix: prevent SQL injection via identifier quoting (#49)

Other

  • docs: add comprehensive feature analysis (#50)

[0.3.1] - 2026-01-12

Added

  • feat: enhance updater components with error handling and retry options (#47)

Fixed

  • Fix and enhance DataGrid with JSON handling, row selection, and new row creation (#48)

Other

  • docs: comprehensive documentation update for v0.3.0 features (#46)

[0.3.0] - 2026-01-12

Added

  • Add Oracle Database Support (#45)
  • Add ExplainPanel and PlanTree components for SQL execution plan visualization
  • Add implementation roadmap for dbfordevs project

Changed

  • Implement Query Bookmarks & Templates feature (#44)
  • Table creation UI (#43)
  • Implement SQL formatting feature in SqlEditor (#42)
  • Update ROADMAP.md to mark completion of EXPLAIN feature tasks
  • Enhance MSSQL XML parsing to handle namespace prefixes in RelOp elements
  • Implement import functionality and enhance DataGrid for pending changes (#41)
  • Enhance DataGrid row selection functionality and CRUD store management (#40)
  • Remove PluginCard component and associated PluginData interface along… (#39)

[0.2.7] - 2026-01-08

Changed

  • Enhance Tauri Plugin Integration and Update Dependencies

[0.2.6] - 2026-01-08

Added

  • Add testing infrastructure with unit and integration tests for database drivers (#35)

Changed

  • UI Enhancements and AI Assistant Integration (#36)
  • Enhance MSSQL support with trusted certificates and improved transaction handling (#34)

[0.2.5] - 2026-01-03

Added

  • Add SQL query preview functionality with transaction-based change detection (#32)
  • Add CONTRIBUTING.md to outline contribution guidelines and best practices

Changed

  • Refactor bump-version script to enhance changelog generation and commit filtering
  • Enhance bump-version script with improved command logging and changelog automation
  • Enhance bump-version script with improved logging and lock file updates

[0.2.4] - 2026-01-01

[0.2.3] - 2026-01-01

[0.2.1] - 2025-12-26

Added

AI Query Assistant

  • OpenAI Provider Integration: Added support for OpenAI GPT models including GPT-5.2, GPT-5 Mini, and GPT-5.2 Pro
  • Query Optimization Diff View: New visual component for comparing original and optimized SQL queries with:
    • Side-by-side diff view with color-coded changes
    • Change summary highlighting specific improvements
    • Copy and Apply functionality for quick integration
  • Enhanced AI Context: Improved context management including current query from editor for better understanding
  • Query Variants: Support for multiple alternative query approaches in single AI response

PostgreSQL Enhancements

  • Comprehensive Value Handling: Expanded PostgresDriver to handle all PostgreSQL data types including:
    • Binary data (BYTEA) encoded as Base64
    • Complex types: Arrays, Intervals, Money, Networks (IP/MAC)
    • All date/time types (chrono and time crate representations)
    • JSON/JSONB with native support
    • Bit vectors and custom composite types
  • Multi-Statement Execution: Implemented SQL statement splitting with support for:
    • Proper handling of quotes (single, double, backticks)
    • Comment handling (single-line -- and block /* */)
    • Escaped quote detection for PostgreSQL string literals
  • Transaction Support: Multiple SQL statements now execute within a transaction for atomicity
  • Expanded SQLx Features: Added support for additional database types in Cargo.toml

Changed

  • AI Error Handling: Enhanced error reporting with improved streaming message error management
  • Session Management: Chat sessions now re-fetch after potential session creation to ensure consistency
  • Sidebar UI: Removed version display from sidebar for cleaner interface
  • Model ID Handling: Automatic migration of buggy model IDs from v0.2.0 early builds

Fixed

  • Fixed AI model ID inconsistencies from v0.2.0 early builds (haiku and gemini model IDs)
  • Improved error display in streaming AI messages
  • Fixed chat session synchronization issues

[0.2.0] - 2025-12-25

Added

AI Query Assistant

  • AI-Powered Chat Interface: Introduced a dedicated AI panel for natural language interaction with your database
  • Multi-Provider Support:
    • Integrated Anthropic Claude (supporting Claude 4.5 models)
    • Integrated Google Gemini (supporting Gemini 3 models)
  • SQL Generation: Generate complex SQL queries from natural language descriptions with engine-specific syntax
  • Query Explanation: Step-by-step breakdown of SQL logic, performance, and best practices
  • Context-Awareness:
    • Automatic schema context enrichment for better AI understanding
    • Implemented @ mentions for tables and columns in chat prompts
  • Chat Management:
    • Persistent local storage for AI conversations
    • Chat history session management (create, rename, delete, favorite)
    • Configurable auto-cleanup for history sessions
  • Secure Infrastructure:
    • Native Tauri HTTP proxy for AI API calls to bypass CORS restrictions
    • Secure local storage for API keys

UI & Experience

  • Sidebar Integration: Added sparkles icon to the main sidebar for quick AI access
  • AI Settings: Dedicated settings section for provider configuration and API key management
  • Enhanced Code Blocks: SQL code blocks in AI chat now include "Copy to Editor" and "Execute" actions

Changed

  • Tauri Integration: Updated internal networking to leverage Tauri's native capabilities for AI features
  • Project Structure: Organized AI logic into modular extension structure under src/extensions/ai

Fixed

  • Fixed various minor UI inconsistencies in sidebar layouts

[0.1.2] - 2025-12-21

Added

Schema & Data Visualization

  • Schema Diagram Viewing: Added context menu option in the Sidebar to view schema diagrams directly from the schema list
  • Enhanced Table Diagrams:
    • Integrated search functionality in TableDiagramTab for quick table lookup and navigation
    • Implemented compact view mode for diagrams, optimizing layout for larger schemas
    • Added loading progress indicators for improved user feedback during table operations

Connection Management

  • Connection Operations:
    • Introduced RenameConnectionDialog for renaming and duplicating connections with validation
    • Added CreateSchemaDialog for creating new database schemas with error handling
    • Enhanced ConnectionItem context menu with options for renaming and creating schemas
    • Implemented connection list refresh after duplication to ensure sidebar consistency

Table Management

  • Table Operations:
    • Introduced RenameTableDialog for renaming tables with validation and error handling
    • Added TablePropertiesTab to display detailed table properties and constraints
    • Added TableDiagramTab for visualizing table relationships and DDL
    • Enhanced table properties display with schema and column information

Data Grid & UI Improvements

  • Data Grid Enhancements:
    • Added whitespace-nowrap class to DataGrid cell rendering for improved text handling
    • Implemented minimum width (100px) for header and cells to ensure layout consistency
    • Implemented horizontal scrolling functionality in MainContent with navigation arrow buttons
    • Added dropdown select for active tabs, improving experience when managing multiple tabs

Clipboard Operations

  • Enhanced Clipboard Functionality:
    • Implemented unified copyToClipboard utility function using Tauri for reliable clipboard access
    • Added readFromClipboard utility for reading clipboard content
    • Integrated DDL copying capability across ConnectionPropertiesDialog, TableDiagramTab, and TablePropertiesTab
    • Added comprehensive error handling and user feedback for clipboard operations

SQL Editor Enhancements

  • Editor Improvements:
    • Updated CSS for better font handling in developer styles
    • Added new theme properties for editor gutter and folding controls
    • Enabled code folding features for improved code organization and readability
    • Enhanced Monaco editor theme customization

Application Infrastructure

  • Version Management:

    • Created automated version bump script (scripts/bump-version.ts) for consistent versioning across all files
    • Updated version to 0.1.2 across package.json, Cargo.toml, and tauri.conf.json
    • Implemented dynamic version display in StatusBar and SettingsDialog
  • Developer Support:

    • Added @types/node as development dependency for enhanced TypeScript support
    • Improved build tooling and TypeScript configuration

Documentation

  • Comprehensive Documentation Suite:
    • Created Architecture Guide detailing technical structure and technology stack
    • Created Features Guide with overview of all application capabilities
    • Created Getting Started Guide for installation and first-time setup
    • Created User Guide with in-depth usage instructions and best practices
    • Updated README with improved navigation and feature overview
    • Added links to documentation and GitHub in SettingsDialog for user convenience

Changed

Code Quality & Maintenance

  • Error Handling:

    • Simplified error handling in CreateSchemaDialog by removing unnecessary result error checks
    • Enhanced error handling throughout clipboard operations with user-friendly feedback
  • State Management:

    • Refactored useDatabase hook to improve state management and reduce redundancy
    • Updated hook to clear cached tables for deleted connections, preventing memory leaks
    • Refactored ConnectionItem component to improve state management efficiency
    • Refactored useUIStore hook to support new connection management features
  • Code Cleanup:

    • Removed redundant text from context menu items for copying and pasting
    • Removed unused executeQuery function from useDatabase hook usage in ConnectionItem

Layout & Positioning

  • Diagram Layout Algorithms:
    • Refactored layout algorithms for improved table positioning in diagrams
    • Optimized spacing in both detailed and compact diagram views

Fixed

  • Fixed sidebar update consistency after connection duplication
  • Improved table loading logic in ConnectionItem component to prevent redundant operations
  • Enhanced memory management by clearing cached tables when connections are deleted

Dependencies

  • Updated Cargo.lock for consistency across Rust dependencies
  • Updated bun.lock for Node.js dependency consistency
  • Added capability and permission configurations for enhanced Tauri functionality
  • Updated Tauri-related permissions for improved security and functionality

Technical Details

Database Support

The following databases continue to be fully supported:

  • PostgreSQL (with connection pooling)
  • MySQL 5.7+
  • MariaDB
  • SQLite (file-based)
  • Microsoft SQL Server 2012+
  • Oracle
  • MongoDB
  • Redis
  • CockroachDB
  • Cassandra

Technology Stack

  • Frontend: React 18, TypeScript, Vite, TailwindCSS, shadcn/ui
  • Backend: Rust, Tauri 2.x
  • Database Drivers: SQLx (async SQL support)
  • UI Components: Radix UI, Lucide React icons
  • Editor: Monaco Editor (VS Code core)
  • State Management: Zustand

Browser Support

The application supports all modern platforms:

  • Windows 10+
  • macOS 10.13+
  • Linux (Ubuntu 18.04+, Fedora 30+, and other modern distributions)

Known Limitations

  • Table diagrams may be memory-intensive for databases with hundreds of tables
  • Some advanced database-specific features may require additional setup
  • Plugin system foundation is in place but not yet fully exposed to users

[0.1.0] - 2025-12-15

Added

Core Features

  • Three-panel Layout: Sidebar for connections/schema, main content area for queries/data, collapsible side panel for details
  • Virtualized Scrolling: Efficient rendering of large datasets with smooth scrolling
  • Theme Support: Light and dark theme modes with system theme detection

SQL Editor

  • Monaco Editor Integration: VS Code-powered editor with rich editing capabilities
  • Code Intelligence:
    • SQL keyword autocomplete
    • IntelliSense support
    • Custom syntax highlighting with theme-aware styling
    • Multi-line query support

Database Connectivity

  • Multi-Database Support:
    • PostgreSQL
    • MySQL/MariaDB
    • SQLite
    • And foundation for additional databases
  • Connection Management:
    • Save and manage multiple database connections
    • Connection testing and validation
    • Secure credential handling

Data Visualization & Management

  • Data Grid: High-performance grid component with:
    • Sorting capabilities
    • Pagination support
    • Virtualized rendering for large datasets
  • Schema Tools: View table structures and relationships
  • DDL Viewing: Display CREATE TABLE statements

Extensibility

  • Plugin Architecture: Foundation for extending functionality
  • Plugin Marketplace UI: Browse and manage plugins
  • Connection String Validators:
    • C# connection string validator
    • Node.js connection string validator
    • Python connection string validator

User Interface

  • Modern Design: Clean, developer-friendly interface
  • Responsive Layout: Adapts to different screen sizes
  • Context Menus: Right-click menus for common operations

Technical Details

Architecture

  • Frontend Framework: React 18 with TypeScript
  • Build Tool: Vite with React plugin
  • Styling: TailwindCSS with shadcn/ui components
  • Desktop Framework: Tauri 2.x (Rust backend)
  • Database Access: SQLx with async support
  • State Management: Zustand for lightweight state

Key Dependencies

  • @monaco-editor/react: ^4.6.0
  • @tauri-apps/api: ^2.1.1
  • @tauri-apps/cli: ^2.1.0
  • @tanstack/react-table: ^8.20.5
  • React: ^18.3.1
  • TypeScript: ~5.6.3
  • TailwindCSS: ^3.4.16
  • Vite: ^6.0.1

Platform Support

  • Windows: 10 and later
  • macOS: 10.13 and later
  • Linux: Ubuntu 18.04+, Fedora 30+, and other modern distributions

System Requirements

Minimum

  • RAM: 512 MB
  • Disk Space: 100 MB free
  • Display Resolution: 1024x768

Recommended

  • RAM: 2+ GB
  • Disk Space: 500 MB free
  • Display Resolution: 1920x1080
  • Recent OS versions

Initial Release Notes

This is the inaugural release of dbfordevs, a lightweight database client built for developers. The application is designed with simplicity and performance in mind, providing a modern alternative to traditional, heavyweight database management tools.

Design Philosophy:

  • Lightweight and fast
  • Developer-first features
  • Cross-platform compatibility
  • Extensible architecture
  • Beautiful and intuitive UI

Use Cases:

  • Quick database exploration and querying
  • Development environment database management
  • Learning SQL and database concepts
  • Testing queries before production execution
  • Data inspection and validation

Versioning

dbfordevs follows Semantic Versioning:

  • MAJOR: Breaking changes (0.x.x currently indicates early development)
  • MINOR: New features in a backwards-compatible manner
  • PATCH: Bug fixes and maintenance

Contributing

Contributions are welcome! Please see the Architecture Guide for development setup and guidelines.

License

dbfordevs is available under the MIT License with support for community plugins and commercially licensed extensions.