Releases: pitahayaDevSoft/poshbuddy
Releases · pitahayaDevSoft/poshbuddy
v0.5.1
🚀 PoshBuddy v0.5.1 - Expanded Shell Support & Robustness
This release significantly improves cross-platform compatibility and profile detection.
Added
- Multi-Shell Profile Detection: Support for .bashrc, .zshrc, .profile, and config.fish (Fish Shell), alongside PowerShell.
- Dynamic Binary Discovery: check_omp_installed now searches common installation paths and dynamically updates the process PATH if the binary is found in a non-standard directory.
- Cross-Platform Nerd Font Detection: Enhanced detection for Linux/macOS using fc-list and standard directory scanning.
- Improved UI: Platform-aware installation instructions on the dependency screen.
Fixed & Improved
- Dependency Reliability: Better pwsh (PowerShell 7) detection across all operating systems.
- Filesystem Safety: Automatic creation of parent directories before writing profile configurations or updating dependencies.
- Installer Logic: Refined fallbacks for Linux installation scripts.
v0.5.0
🌟 PoshBuddy v0.5.0 - The Multi-Shell Update
This major release expands PoshBuddy beyond PowerShell, bringing support for Unix shells and a more robust installation engine.
Added
- Multi-Shell Compatibility: Integrated profile detection and theme injection for Bash (.bashrc), Zsh (.zshrc), and Fish (config.fish) shells.
- Linux Installation Fallback: The installer now intelligently falls back to the official Oh My Posh bash script if Homebrew is not available on Linux systems.
- Safety Guards: Implemented profile path syntax filters to ensure non-PowerShell configurations are handled safely.
Fixed
- Unix-Specific Labels: Corrected UI strings that previously referenced Windows-only tools (like Winget) when running on Unix platforms.
- Test Isolation: Improved unit test stability by mocking environment variables (HOME, USERPROFILE, XDG_CONFIG_HOME) for hermetic profile detection tests.
v0.4.8
What's Changed
- 🧪 [testing improvement] Add ui module tests by @julesklord in #140
- 🧪 [testing improvement] Add tests for active segments refresh by @julesklord in #141
- 🧹 [Remove unused diagnostic module] by @julesklord in #142
- 🧹 [code health improvement] Refactor handle_cli_command by @julesklord in #144
Full Changelog: v0.4.7...v0.4.8
v0.4.7
What's Changed
- 🎨 Palette: Improve empty state hints in detail panels by @julesklord in #120
- ⚡ Bolt: Remove Vector Allocations in TUI Render Loops by @julesklord in #121
- 🎨 Palette: Sync theme preview on live search by @julesklord in #122
- ⚡ Bolt: Zero-allocation ListItem creation in render loop by @julesklord in #127
- 🎨 Palette: Explicit text for disabled menu items by @julesklord in #123
Full Changelog: v0.4.6...v0.4.7
v0.4.6
What's Changed
- ⚡ Bolt: Replace HashSet with binary_search_by for theme deduplication by @julesklord in #99
- 🧹 Remove unused BackupInfo::original_path by @julesklord in #95
- 🧹 Remove unused filtered_plugins method by @julesklord in #93
- 🧹 Remove unused PluginAsset::documentation by @julesklord in #96
- ⚡ Bolt: O(log N) deduplication without allocations by @julesklord in #100
- 🧹 Remove unused delete_all_backups function by @julesklord in #94
- 🎨 Palette: Fix progress modal dismiss hint by @julesklord in #102
- 🎨 Palette: Keep main view visible during theme application progress by @julesklord in #103
- 🎨 Palette: Add explicit actions to empty search states by @julesklord in #105
- 🧹 Refactor apply_theme_advanced for better maintainability by @julesklord in #114
- 🎨 Palette: Add Gauge to theme installation by @julesklord in #106
- Refactor: massive welcome screen rendering function in src/ui.rs by @julesklord in #107
- fix: Add validation for PowerShell module names by @julesklord in #108
- tests: for assets.rs by @julesklord in #109
- ⚡ Bolt: Remove intermediate vector allocations in TUI render loop by @julesklord in #110
- 🔒 Fix Command Injection in Font Installation by @julesklord in #113
- 🧪 [enhance assets tests] Fully cover default segments and plugins properties by @julesklord in #116
- 🧪 Add edge case tests for contains_ignore_ascii_case by @julesklord in #117
- 🧪 Add tests for check_internet_connectivity by @julesklord in #118
Full Changelog: v0.4.5...v0.4.6
v0.4.5
Changed
- Core Dependency Overhaul: Updated ratatui to v0.30 and crossterm to v0.29 for improved performance and modern API support.
- API Migration: Refactored rendering logic to use Frame::area() instead of the deprecated f.size().
- System Identity Handling: Updated whoami to v2.1, implementing robust Result handling for username and hostname resolution.
- ANSI Rendering Pipeline: Migrated ansi-to-tui to v8.0, optimizing the byte-stream to TUI text conversion trait.
- Modernized Toolchain: Updated project to Rust 2024 edition.
Fixed
- Compiler Warnings Purge: Resolved all deprecation warnings related to TUI and system identity crates.
v0.4.4
What's Changed
- chore(deps): bump google-github-actions/run-gemini-cli from 0.1.21 to 0.1.22 in /.github/workflows in the github_actions group across 1 directory by @dependabot[bot] in #80
- chore(deps): bump the cargo group across 1 directory with 2 updates by @dependabot[bot] in #81
- Potential fix for code scanning alert no. 236: Failure to use HTTPS URLs by @julesklord in #82
- 🧹 Cleanup: remove dead plugin installation logic by @julesklord in #83
- 🎨 Palette: Dynamic context-sensitive footer hints by @julesklord in #87
- ⚡ Bolt: Optimize TUI list navigation to reduce heap allocations by @julesklord in #88
- ⚡ Bolt: Zero-allocation List Element Lookups by @julesklord in #92
- 🎨 Palette: Hide dismiss hints on non-interactive progress dialogs by @julesklord in #91
New Contributors
- @dependabot[bot] made their first contribution in #80
Full Changelog: v0.4.2...v0.4.4
v0.4.3
What's Changed
- chore(deps): bump google-github-actions/run-gemini-cli from 0.1.21 to 0.1.22 in /.github/workflows in the github_actions group across 1 directory by @dependabot[bot] in #80
- chore(deps): bump the cargo group across 1 directory with 2 updates by @dependabot[bot] in #81
- Potential fix for code scanning alert no. 236: Failure to use HTTPS URLs by @julesklord in #82
- 🧹 Cleanup: remove dead plugin installation logic by @julesklord in #83
- 🎨 Palette: Dynamic context-sensitive footer hints by @julesklord in #87
- ⚡ Bolt: Optimize TUI list navigation to reduce heap allocations by @julesklord in #88
- ⚡ Bolt: Zero-allocation List Element Lookups by @julesklord in #92
- 🎨 Palette: Hide dismiss hints on non-interactive progress dialogs by @julesklord in #91
New Contributors
- @dependabot[bot] made their first contribution in #80
Full Changelog: v0.4.2...v0.4.3
v0.4.2
What's Changed
- ⚡ Bolt: Caché de la instancia reqwest::Client en api by @julesklord in #72
- ⚡ Bolt: Cache local theme names in App state for O(N+M) filtering by @julesklord in #78
- 🔒 Solución de inyección de comandos en la gestión de módulos de PowerShell by @julesklord in #58
- 🎨 Palette: Add explicit empty states and disable empty highlights in lists by @julesklord in #79
- 🧹 [Eliminar código muerto en diagnóstico] by @julesklord in #71
- 🧪 agregar pruebas unitarias para check_profile y corregir macro format by @julesklord in #57
- 🧪 [mejoras de pruebas] Probar caso de restauración sin backups by @julesklord in #59
Full Changelog: v0.4.1...v0.4.2
v0.4.1
[0.4.1] - 2026-04-23
Changed
- Modernized TUI Layout: Replaced rigid structures with a dynamic, responsive 50/50 horizontal layout for the Dashboard.
- Strict Nerd Font Integration: Eliminated all standard emojis to prevent character width drift, ensuring pixel-perfect alignment across all terminals.
- ASCII Logo Stabilization: Standardized internal padding for the main logo to ensure consistent centering and eliminate the "staircase" visual bug.
- Responsive Sizing: Implemented a maximum container width (100 chars) for wide terminals and a stacked vertical layout for narrow terminals.
Fixed
- Icon Desync: Resolved misalignment in the "System Identity" and "Quick Steps" columns by standardizing on Nerd Font glifs (
f140b, etc.).