You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Added symmetric GPG encryption for vault security
- Implemented extension-aware logic for .txt and .gpg files
- Hardened pre-flight checks to prevent accidental data leaks
- Updated documentation and README to reflect feature-complete status
- Finalised community-vault sync logic and fzf-widget integration
Copy file name to clipboardExpand all lines: CHANGELOG.md
+15Lines changed: 15 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,21 @@ All notable changes to this project will be documented in this file.
5
5
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
8
+
## [0.9.0] - 2026-04-16
9
+
### Added
10
+
- Vault Encryption. Symmetric GPG support for sensitive data.
11
+
- New commands `xc lock` and `xc unlock` for vault security.
12
+
- Security Gates. Global pre-flight checks to prevent accidental leaks of encrypted data.
13
+
- Extension Awareness. The system now seamlessly handles both .txt and .gpg files.
14
+
- Visual Feedback. Added warnings and status labels for locked vaults in the list view.
15
+
16
+
### Changed
17
+
- Refined fzf-vault-widget to respect vault lock states.
18
+
- Hardened placeholder logic to prevent execution on empty inputs.
19
+
- Improved `xc use` logic to handle switching between mixed-format vaults.
20
+
21
+
---
22
+
8
23
## [0.8.0] - 2026-04-10
9
24
### Added
10
25
- Raw Input Mode: Implemented `xc add --raw` to allow capturing complex commands via stdin. This prevents the shell from evaluating subshells or stripping quotes during the saving process.
A high-performance, minimal dependency Zsh vault for managing complex commands.
19
+
XC is a lightweight, Zsh-native vault manager for command execution. It’s for anyone who live in the CLI and need a fast, searchable, and now secure way to manage their most important one-liners. No bloat, no complex dependencies. Just your commands, vaulted.
20
20
21
-
**Recent Fixes**[0.8.0]
22
-
-**Raw Input Capture**: Added `xc add --raw` to handle complex commands. This bypasses shell evaluation, allowing you to save curl, jq, and nested subshells exactly as they are written without the shell stripping quotes or expanding variables.
23
-
-**Community-Vaults**: Added a few more curated community-vaults. All vaults now have at least 50 usefull commands and strings.
21
+
**Status:** Feature Complete [v0.9.0]
22
+
XC command vault manager has officially reached its feature-complete milestone. All planned functionality, including template engines, global search, and GPG security, is now implemented and stable.
23
+
24
+
**Recent Fixes & Updates**[0.9.0]
25
+
-**Vault Security**: Integrated GPG symmetric encryption. Use `xc lock` and `xc unlock` to protect sensitive commands, API keys, and environment variables.
26
+
-**Pre-flight Safety**: Added extension-aware logic to prevent accidental operations on encrypted vaults.
27
+
-**Raw Input Capture**: Added `xc add --raw` to handle complex commands. This bypasses shell evaluation, allowing you to save `curl`, `jq`, and nested subshells exactly as they are written without the shell stripping quotes or expanding variables.
28
+
-**Community Vaults**: Expanded the curated collection via `xc sync`. All community vaults now contain at least 50 useful commands and strings.
To ensure all features work as intended, make sure the following are installed:
68
+
69
+
-**Zsh**: The core shell environment (version 5.8+ recommended).
70
+
-**fzf**: Powering the fuzzy search and interactive selection.
71
+
-**GnuPG**: Required for the `lock` and `unlock` encryption features.
72
+
-**curl**: Necessary for synchronising community vaults via `xc sync`.
73
+
74
+
**Arch Linux:**
75
+
```zsh
76
+
pacman -S zsh fzf gnupg curl
77
+
```
78
+
---
79
+
60
80
**Community Sync:**
61
81
Pull any curated, Arch Wiki-verified "Problem-Solution" vaults directly from the repository.
62
82
@@ -92,6 +112,7 @@ Pull any curated, Arch Wiki-verified "Problem-Solution" vaults directly from the
92
112
- Proactive Saving: Run `xc` to save the command you just executed.
93
113
- FZF Integration: Fuzzy search with live previews.
94
114
- Distro Agnostic: Works on Arch, Fedora, Debian, and macOS.
115
+
- Vault Security: Symmetric GPG encryption to protect sensitive commands and API keys.
95
116
- Save commands with {{variables}} to create templates. XC prompts for input during execution.
96
117
- Global Swap: Using the same name (e.g. cp {{file}} {{file}}.bak) prompts once and updates all instances.
97
118
- Individual Control: Use unique names (e.g. mv {{old}} {{new}}) to prompt for each value separately.
@@ -112,6 +133,12 @@ Pull any curated, Arch Wiki-verified "Problem-Solution" vaults directly from the
112
133
- Capture Raw Text: Run `xc add --raw` -> paste complex command -> Press Enter -> then `Ctrl+D` to enter descriptions -> Save
113
134
- Check Version: Run `xc -v`
114
135
136
+
**Security & Encryption**
137
+
- For vaults containing sensitive environment variables, API keys, or internal IPs, XC now supports symmetric encryption via GPG.
138
+
- Lock a vault: `xc lock` encrypts the active vault and removes the plain text file.
139
+
- Unlock a vault: `xc unlock` restores the vault to plain text for editing/searching.
140
+
- Protection: XC will automatically block search and add operations if a vault is locked, preventing binary data corruption or accidental plain text writes.
141
+
115
142
> *Note 1:
116
143
Aliases are saved by default to ~/.zsh_aliases. If you prefer to save them directly into your main config file, add this to your .zshrc:
117
144
`export XC_ALIAS_TARGET="$HOME/.zshrc"`
@@ -133,16 +160,22 @@ View Script: on GitHub [Show-Aliases Script](https://github.com/Rakosn1cek/dotfi
133
160
134
161
[x] Dynamic Placeholders
135
162
136
-
[] Encrypted Vaults (GPG/age support)
163
+
[x] Encrypted Vaults (GPG/age support)
164
+
165
+
**Long-term research**
137
166
138
167
[] Cross-Shell Research (Bash/Fish wrappers)
139
168
169
+
> **Note:** I have reached the original goals for this project and will not be personally pursuing cross-shell support. If you are interested in implementing Bash or Fish wrappers, contributions and PRs are welcome.
170
+
140
171
**License**
141
172
Distributed under the MIT License. See LICENSE for more information.
142
173
143
-
⭐ Star XC-Manager on GitHub
144
-
145
174
**Support & Feedback**
146
175
- Bug Reports: If something isn't working, please open an [Issue](https://github.com/Rakosn1cek/XC-Manager/issues).
147
176
- Feature Ideas: To discuss the roadmap or suggest a polish, head over to the[Discussions](https://github.com/Rakosn1cek/XC-Manager/discussions) tab.
148
177
- Community Snippets: Have a complex one-liner you've vaulted? Share it in the "Show and Tell" discussion.
178
+
179
+
If XC-Manager has made your CLI life easier, consider giving it a star on GitHub! It helps other developers find the tool.
180
+
181
+
[⭐ Star XC on GitHub](https://github.com/Rakosn1cek/XC-Manager)
0 commit comments