|
1 | | -# SQL CLI v1.55.0 |
| 1 | +# SQL CLI v1.56.0 |
2 | 2 |
|
3 | | -**Release Date:** September 27, 2025 |
| 3 | +**Release Date:** October 02, 2025 |
4 | 4 |
|
5 | 5 | ## 📊 Release Overview |
6 | | -- **Commits in this release:** 41 |
7 | | -- **Files updated:** 86 |
| 6 | +- **Commits in this release:** 63 |
| 7 | +- **Files updated:** 173 |
8 | 8 |
|
9 | 9 | ## ✨ Highlights |
10 | 10 |
|
|
13 | 13 | ### 🔍 Enhanced Debugging |
14 | 14 | - **Better Diagnostics**: Improved error messages and state dumps |
15 | 15 |
|
| 16 | +### 💾 Data Protection |
| 17 | +- **History Recovery**: Automatic recovery from corrupted files |
| 18 | +- **Atomic Writes**: Safer file operations to prevent data loss |
| 19 | + |
16 | 20 | ## 📝 Changes by Category |
17 | 21 |
|
18 | 22 | ### 🚀 New Features |
19 | | -- Add enhanced query history UI with split-pane preview |
20 | | -- Update Flask test server to accept SQL-CLI Web CTE format |
21 | | -- Add query history system with telescope-style recall |
22 | | -- Release v1.55.0 - Windows Nvim export support & performance docs |
23 | | -- Improve export notifications and clean output |
24 | | -- Add 100K rows to benchmark suite |
25 | | -- Add JSON selector proxy server with FORM_FILE upload and JSON prettification |
26 | | -- Add comprehensive bitwise operations and binary visualization functions |
27 | | -- Complete rewrite of Neovim template system with major improvements |
| 23 | +- Add smart column expansion and distinct values analysis |
| 24 | +- Add auto_hide_empty option to table_output config |
| 25 | +- Add configurable column width and sampling for table output |
| 26 | +- Add yank column as JSON array for WEB CTE workflow |
| 27 | +- Add JSON pretty-printing for WEB CTE BODY clause |
| 28 | +- Add format.sql example for testing JSON pretty-printing in WEB CTEs |
| 29 | +- Add column sum/statistics calculator |
| 30 | +- Add Telescope-style fuzzy filter for SQL results |
| 31 | +- Add multi-token JWT management system |
| 32 | +- Add statusline integration for token refresh notifications |
| 33 | +- Add multi-token manager with auto-refresh support |
| 34 | +- Add multi-token management system with refresh commands |
| 35 | +- Add bitwise string manipulation functions |
| 36 | +- Integrate Redis cache config into existing config system |
| 37 | +- Add Redis cache management tools and nvim notifications |
| 38 | +- Add opt-in Redis caching for Web CTEs |
| 39 | +- Add execution and action hints to query history window titles |
| 40 | +- Add preview pane scrolling for long queries in history UI |
| 41 | +- Add persistence and import/export for query history |
| 42 | +- Add direct execution from query history (x key) |
28 | 43 |
|
29 | 44 | ### 🐛 Bug Fixes |
30 | | -- Correct macro format in web_query template |
31 | | -- Use macro for API URL to avoid colon parsing issue |
32 | | -- Update web_query template for Flask test server compatibility |
33 | | -- Export clean TSV/CSV data directly from sql-cli |
34 | | -- Use Parser:: instead of Self:: in free functions |
35 | | -- Resolve circular reference and nil handling in template system |
| 45 | +- Remove SQL comments from CTE test queries |
| 46 | +- Add WEB CTE support to query generation phase |
| 47 | +- Rewrite CTE cursor detection logic to fix off-by-one bug |
| 48 | +- Preserve $JSON$ delimiters in FORM_FIELD values |
| 49 | +- Trim whitespace in column JSON array yank |
| 50 | +- Add table navigation diagnostics and improve boundary handling |
| 51 | +- Fix null exceptions and add layout reset recovery |
| 52 | +- Preserve window function frames and add $JSON$ delimiter support |
| 53 | +- Fix token corruption from multi-line script output |
| 54 | +- Trim whitespace from tokens in multi_token_manager |
| 55 | +- Use leader-based keybindings for fuzzy filter |
| 56 | +- Fix parameter input handling for dynamic queries |
| 57 | +- Improve parameter resolution for dynamic queries |
| 58 | +- Make Web CTE caching independent of query context |
| 59 | +- Fix Redis cache key collision for same-named Web CTEs |
| 60 | +- Fix table navigation issues with query result boundaries |
| 61 | +- Handle PowerShell execution policy restrictions |
| 62 | +- Fix PowerShell token command path expansion |
| 63 | +- Clean up Rust build warnings |
| 64 | +- Prevent duplicate token refresh on startup |
| 65 | +- Ensure cache messages always appear at top of output |
| 66 | +- Simplify window switching in query history UI |
| 67 | +- Prevent query history windows from closing when switching focus with Space |
| 68 | +- Improve delete functionality in query history UI |
| 69 | +- Separate interactive params {{}} from environment vars ${} |
| 70 | +- Trim leading/trailing whitespace from query history entries |
| 71 | +- Use execute_query instead of non-existent execute_buffer |
36 | 72 |
|
37 | 73 | ### 🔧 Refactoring |
38 | | -- Remove dead get_binary_op and get_arithmetic_op methods |
39 | | -- Extract is_valid_identifier helper to eliminate identifier validation duplication |
40 | | -- Remove dead parse_select_list method |
41 | | -- Extract update_paren_depth helper to eliminate parenthesis tracking duplication |
42 | | -- Remove more dead code from incomplete tokenization work |
43 | | -- Remove unused is_reserved_keyword method and clarify string-based checking |
44 | | -- Extract parse_argument_list helper to eliminate argument parsing duplication |
45 | | -- Extract find_quote_start helper to eliminate quote parsing duplication |
46 | | -- Extract handle_method_call_context helper to eliminate more duplication |
47 | | -- Extract check_after_comparison_operator helper to eliminate large duplication |
48 | | -- Extract check_balanced_parentheses helper to eliminate final duplication |
49 | | -- Extract parse_optional_alias helper to eliminate more code duplication |
50 | | -- Extract common CTE parsing logic to eliminate code duplication |
51 | | -- Extract WEB CTE parsing into dedicated module |
52 | | -- Remove string literals from recursive parser |
53 | | -- Optimize parser keyword handling - reduce string allocations |
| 74 | +- Clean up unused field warnings by prefixing with underscore |
54 | 75 |
|
55 | 76 | ### 📚 Documentation |
56 | | -- Add comprehensive performance documentation |
57 | | -- Design structured data selector for hierarchical object querying |
58 | | -- Add FIX engine integration design document |
59 | | -- Document ROW_NUMBER() window function bug with CTEs |
| 77 | +- Add development roadmap for next week's features |
| 78 | +- Add Web CTE caching system design for next session |
60 | 79 |
|
61 | 80 | <details> |
62 | 81 | <summary>📋 View all commits</summary> |
63 | 82 |
|
64 | | -- demo server to publish trades from a template cte in nvim (TimelordUK) |
65 | | -- feat: Add enhanced query history UI with split-pane preview (TimelordUK) |
66 | | -- fix: Correct macro format in web_query template (TimelordUK) |
67 | | -- fix: Use macro for API URL to avoid colon parsing issue (TimelordUK) |
68 | | -- fix: Update web_query template for Flask test server compatibility (TimelordUK) |
69 | | -- feat: Update Flask test server to accept SQL-CLI Web CTE format (TimelordUK) |
70 | | -- feat: Add query history system with telescope-style recall (TimelordUK) |
71 | | -- feat: Release v1.55.0 - Windows Nvim export support & performance docs (TimelordUK) |
72 | | -- windows export browser (TimelordUK) |
73 | | -- windows clip board (TimelordUK) |
74 | | -- open browser from windows in nvim (TimelordUK) |
75 | | -- feat(nvim): Improve export notifications and clean output (TimelordUK) |
76 | | -- fix(nvim): Export clean TSV/CSV data directly from sql-cli (TimelordUK) |
77 | | -- docs: Add comprehensive performance documentation (TimelordUK) |
78 | | -- feat: Add 100K rows to benchmark suite (TimelordUK) |
79 | | -- refactor: Remove dead get_binary_op and get_arithmetic_op methods (TimelordUK) |
80 | | -- fix: Use Parser:: instead of Self:: in free functions (TimelordUK) |
81 | | -- refactor: Extract is_valid_identifier helper to eliminate identifier validation duplication (TimelordUK) |
82 | | -- refactor: Remove dead parse_select_list method (TimelordUK) |
83 | | -- refactor: Extract update_paren_depth helper to eliminate parenthesis tracking duplication (TimelordUK) |
84 | | -- refactor: Remove more dead code from incomplete tokenization work (TimelordUK) |
85 | | -- refactor: Remove unused is_reserved_keyword method and clarify string-based checking (TimelordUK) |
86 | | -- refactor: Extract parse_argument_list helper to eliminate argument parsing duplication (TimelordUK) |
87 | | -- refactor: Extract find_quote_start helper to eliminate quote parsing duplication (TimelordUK) |
88 | | -- refactor: Extract handle_method_call_context helper to eliminate more duplication (TimelordUK) |
89 | | -- refactor: Extract check_after_comparison_operator helper to eliminate large duplication (TimelordUK) |
90 | | -- refactor: Extract check_balanced_parentheses helper to eliminate final duplication (TimelordUK) |
91 | | -- refactor: Extract parse_optional_alias helper to eliminate more code duplication (TimelordUK) |
92 | | -- refactor: Extract common CTE parsing logic to eliminate code duplication (TimelordUK) |
93 | | -- refactor: Extract WEB CTE parsing into dedicated module (TimelordUK) |
94 | | -- chore: Update .gitignore for .NET build artifacts (TimelordUK) |
95 | | -- feat: Add JSON selector proxy server with FORM_FILE upload and JSON prettification (TimelordUK) |
96 | | -- docs: Design structured data selector for hierarchical object querying (TimelordUK) |
97 | | -- docs: Add FIX engine integration design document (TimelordUK) |
98 | | -- feat: Add comprehensive bitwise operations and binary visualization functions (TimelordUK) |
99 | | -- docs: Document ROW_NUMBER() window function bug with CTEs (TimelordUK) |
100 | | -- refactor: Remove string literals from recursive parser (TimelordUK) |
101 | | -- Add test_trades_multi.csv data file (TimelordUK) |
102 | | -- fix: Resolve circular reference and nil handling in template system (TimelordUK) |
103 | | -- refactor: Optimize parser keyword handling - reduce string allocations (TimelordUK) |
104 | | -- feat: Complete rewrite of Neovim template system with major improvements (TimelordUK) |
| 83 | +- chore: Bump version to 1.56.0 and update CHANGELOG (TimelordUK) |
| 84 | +- feat(nvim): Add smart column expansion and distinct values analysis (TimelordUK) |
| 85 | +- refactor: Clean up unused field warnings by prefixing with underscore (TimelordUK) |
| 86 | +- new doc for HAVING_CTE_HOISTING (TimelordUK) |
| 87 | +- feat(nvim): Add auto_hide_empty option to table_output config (TimelordUK) |
| 88 | +- fix(nvim): Remove SQL comments from CTE test queries (TimelordUK) |
| 89 | +- fix(nvim): Add WEB CTE support to query generation phase (TimelordUK) |
| 90 | +- debug(nvim): Add verbose CTE search logging to diagnose WEB CTE detection (TimelordUK) |
| 91 | +- fix(nvim): Rewrite CTE cursor detection logic to fix off-by-one bug (TimelordUK) |
| 92 | +- debug(nvim): Add verbose cursor position debugging for CTE detection (TimelordUK) |
| 93 | +- debug(nvim): Add SQL comment debug output to CTE tester (TimelordUK) |
| 94 | +- feat: Add configurable column width and sampling for table output (TimelordUK) |
| 95 | +- debug for cte tester (TimelordUK) |
| 96 | +- fix(formatter): Preserve $JSON$ delimiters in FORM_FIELD values (TimelordUK) |
| 97 | +- fix(nvim): Trim whitespace in column JSON array yank (TimelordUK) |
| 98 | +- fix(nvim): Add table navigation diagnostics and improve boundary handling (TimelordUK) |
| 99 | +- feat(nvim): Add yank column as JSON array for WEB CTE workflow (TimelordUK) |
| 100 | +- fix(nvim): Fix null exceptions and add layout reset recovery (TimelordUK) |
| 101 | +- fix(formatter): Preserve window function frames and add $JSON$ delimiter support (TimelordUK) |
| 102 | +- fix(nvim): Fix token corruption from multi-line script output (TimelordUK) |
| 103 | +- fix(nvim): Trim whitespace from tokens in multi_token_manager (TimelordUK) |
| 104 | +- feat: Add JSON pretty-printing for WEB CTE BODY clause (TimelordUK) |
| 105 | +- feat: Add format.sql example for testing JSON pretty-printing in WEB CTEs (TimelordUK) |
| 106 | +- formatting (TimelordUK) |
| 107 | +- feat(nvim): Add column sum/statistics calculator (TimelordUK) |
| 108 | +- fix(nvim): Use leader-based keybindings for fuzzy filter (TimelordUK) |
| 109 | +- feat(nvim): Add Telescope-style fuzzy filter for SQL results (TimelordUK) |
| 110 | +- fix(nvim): Fix parameter input handling for dynamic queries (TimelordUK) |
| 111 | +- fix(nvim): Improve parameter resolution for dynamic queries (TimelordUK) |
| 112 | +- fix: Make Web CTE caching independent of query context (TimelordUK) |
| 113 | +- fix: Fix Redis cache key collision for same-named Web CTEs (TimelordUK) |
| 114 | +- fix(nvim): Fix table navigation issues with query result boundaries (TimelordUK) |
| 115 | +- docs: Add development roadmap for next week's features (TimelordUK) |
| 116 | +- add windows and linux working multi token config (TimelordUK) |
| 117 | +- fix(nvim): Handle PowerShell execution policy restrictions (TimelordUK) |
| 118 | +- fix(nvim): Fix PowerShell token command path expansion (TimelordUK) |
| 119 | +- fix: Clean up Rust build warnings (TimelordUK) |
| 120 | +- feat(nvim): Add multi-token JWT management system (TimelordUK) |
| 121 | +- fix(nvim): Prevent duplicate token refresh on startup (TimelordUK) |
| 122 | +- feat(nvim): Add statusline integration for token refresh notifications (TimelordUK) |
| 123 | +- feat(nvim): Add multi-token manager with auto-refresh support (TimelordUK) |
| 124 | +- feat: Add multi-token management system with refresh commands (TimelordUK) |
| 125 | +- feat: Add bitwise string manipulation functions (TimelordUK) |
| 126 | +- fix(nvim): Ensure cache messages always appear at top of output (TimelordUK) |
| 127 | +- feat: Integrate Redis cache config into existing config system (TimelordUK) |
| 128 | +- feat: Add Redis cache management tools and nvim notifications (TimelordUK) |
| 129 | +- feat: Add opt-in Redis caching for Web CTEs (TimelordUK) |
| 130 | +- add ascii art generator (TimelordUK) |
| 131 | +- add a xml parser allowing cds data to be extracted into a flattened csv/json (TimelordUK) |
| 132 | +- add swagger support (TimelordUK) |
| 133 | +- move files from root (TimelordUK) |
| 134 | +- feat: Add execution and action hints to query history window titles (TimelordUK) |
| 135 | +- fix: Simplify window switching in query history UI (TimelordUK) |
| 136 | +- fix: Prevent query history windows from closing when switching focus with Space (TimelordUK) |
| 137 | +- feat: Add preview pane scrolling for long queries in history UI (TimelordUK) |
| 138 | +- fix: Improve delete functionality in query history UI (TimelordUK) |
| 139 | +- fix: Separate interactive params {{}} from environment vars ${} (TimelordUK) |
| 140 | +- demo config lua for pluygin (TimelordUK) |
| 141 | +- docs: Add Web CTE caching system design for next session (TimelordUK) |
| 142 | +- feat: Add persistence and import/export for query history (TimelordUK) |
| 143 | +- fix: Trim leading/trailing whitespace from query history entries (TimelordUK) |
| 144 | +- fix: Use execute_query instead of non-existent execute_buffer (TimelordUK) |
| 145 | +- feat: Add direct execution from query history (x key) (TimelordUK) |
105 | 146 |
|
106 | 147 | </details> |
107 | 148 |
|
|
0 commit comments