Skip to content

Commit f2779bb

Browse files
committed
feat: release version 1.1.0 with fuzzy search enhancements
- Introduced intelligent fuzzy search across all commands, allowing users to find connections by partial names, tags, or patterns. - Enhanced `connect`, `edit`, `show`, and `remove` commands with fuzzy search capabilities and interactive selection for better user experience. - Added a new `CHANGELOG.md` to document notable changes and updates. - Updated `README.md` to reflect new fuzzy search features and usage examples. - Improved error handling and user feedback for connection management operations.
1 parent e7372f8 commit f2779bb

14 files changed

Lines changed: 1565 additions & 380 deletions

File tree

CHANGELOG.md

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
# Changelog
2+
3+
All notable changes to Bayesian SSH will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## [1.1.0] - 2025-08-28
9+
10+
### Added
11+
- **Intelligent fuzzy search across all commands** - Find connections by partial names, tags, or patterns
12+
- Enhanced `connect` command with fuzzy search and interactive selection
13+
- Enhanced `edit` command with fuzzy search for connection management
14+
- Enhanced `show` command with fuzzy search for connection details
15+
- Enhanced `remove` command with fuzzy search and extra confirmation
16+
17+
### Fuzzy Search Features
18+
- **Smart pattern matching**: Handles hyphens, underscores, and separators (`webprod``web-prod-server`)
19+
- **Tag-based search**: Search within connection tags
20+
- **Recent connections fallback**: Shows recently used connections when no matches found
21+
- **Interactive selection**: Numbered menus for multiple matches with user-friendly prompts
22+
- **Relevance ranking**: Prioritizes recently used and exact matches
23+
24+
### Enhanced Safety
25+
- **Extra confirmation for destructive operations**: `remove` command requires typing full connection name
26+
- **Graceful error handling**: Clear messages and helpful suggestions
27+
- **Backwards compatibility**: All existing functionality preserved
28+
29+
### Documentation
30+
- Updated README with fuzzy search examples across all commands
31+
- Enhanced user guide with practical usage scenarios
32+
- Improved feature descriptions and examples
33+
34+
### Technical Improvements
35+
- Enhanced database layer with fuzzy search algorithms
36+
- Improved error handling and user feedback
37+
- Better code organization and maintainability
38+
39+
## [1.0.0] - 2024-12-XX
40+
41+
### Added
42+
- Initial release of Bayesian SSH
43+
- Basic SSH connection management
44+
- Kerberos authentication support
45+
- Bastion host routing
46+
- Tag-based organization
47+
- SQLite database persistence
48+
- Connection history and statistics
49+
50+
### Core Features
51+
- One-click connections to servers
52+
- Automatic Kerberos ticket management
53+
- Smart bastion host routing
54+
- Tag-based organization for easy management
55+
- Complete connection history with statistics
56+
- SQLite database for persistence
57+
58+
---
59+
60+
## Types of changes
61+
- `Added` for new features
62+
- `Changed` for changes in existing functionality
63+
- `Fixed` for any bug fixes
64+
- `Removed` for now removed features
65+
- `Security` in case of vulnerabilities

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "bayesian-ssh"
3-
version = "1.0.0"
3+
version = "1.1.0"
44
edition = "2021"
55
authors = ["Abdoufermat5"]
66
description = "A fast and lightweight SSH session manager with Kerberos support"

README.md

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,19 @@
44
[![License](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)
55
[![CI](https://github.com/abdoufermat5/bayesian-ssh/workflows/CI/badge.svg)](https://github.com/abdoufermat5/bayesian-ssh/actions/workflows/ci.yml)
66

7-
> **An ultra-fast and intelligent SSH session manager with Kerberos support, bastion hosts, and advanced history management.**
7+
> **An ultra-fast and intelligent SSH session manager with fuzzy search across all commands, Kerberos support, bastion hosts, and advanced history management.**
88
99
## 🎯 What is Bayesian SSH?
1010

1111
**Bayesian SSH** transforms your SSH experience with intelligent automation:
1212

13-
- 🚀 **One-click connections** to your servers
14-
- 🔐 **Automatic Kerberos** ticket management
15-
- 🚪 **Smart bastion host** routing
16-
- 🏷️ **Tag-based organization** for easy management
17-
- 📊 **Complete connection history** with statistics
18-
- 💾 **SQLite database** for persistence
13+
- **One-click connections** to your servers
14+
- **Intelligent fuzzy search** across all commands - find connections by partial names, tags, or patterns
15+
- **Automatic Kerberos** ticket management
16+
- **Smart bastion host** routing
17+
- **Tag-based organization** for easy management
18+
- **Complete connection history** with statistics
19+
- **SQLite database** for persistence
1920

2021
## 🚀 Quick Start
2122

@@ -60,18 +61,22 @@ bayesian-ssh connect "My Server"
6061

6162
### Core Commands
6263
```bash
63-
# Connect to a server
64-
bayesian-ssh connect "Server Name"
64+
# Connect to a server (with fuzzy search)
65+
bayesian-ssh connect "Server Name" # Exact match
66+
bayesian-ssh connect "webprod" # Finds "web-prod-server"
67+
bayesian-ssh connect "prod" # Shows all production servers
68+
69+
# Manage connections (all with fuzzy search)
70+
bayesian-ssh edit "webprod" # Edit connection settings
71+
bayesian-ssh show "dbprod" # Show connection details
72+
bayesian-ssh remove "apigateway" # Remove connection
6573

6674
# Add new connection
6775
bayesian-ssh add "Server Name" hostname.com
6876

6977
# List connections
7078
bayesian-ssh list
7179

72-
# Show details
73-
bayesian-ssh show "Server Name"
74-
7580
# Import from SSH config
7681
bayesian-ssh import
7782
```

0 commit comments

Comments
 (0)