forked from dbcli/pgcli
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTODO
More file actions
121 lines (97 loc) · 5.06 KB
/
TODO
File metadata and controls
121 lines (97 loc) · 5.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
# vi: ft=vimwiki
Upcoming
==============
### Backlog
* [ ] Restore publish.yml for PyPI publishing (removed 2026-04-01, was outdated)
* [ ] Refactor to sqlcompletion to consume the text from left to right and use a state machine to suggest cols or tables instead of relying on hacks.
* [ ] Add a few more special commands. (\l pattern, \dp, \ds, \dy, \z etc)
* [ ] Refactor pgspecial.py to a class.
* [ ] Show/hide docs for a statement using a keybinding.
* [ ] Check how to add the name of the table before printing the table.
* [ ] Add a new trigger for M-/ that does naive completion.
* [ ] New Feature List - Write the current version to config file. At launch if the version has changed, display the changelog between the two versions.
* [ ] Add a test for 'select * from custom.abc where custom.abc.' should suggest columns from abc.
* [-] pgexecute columns(), tables() etc can be just cursors instead of fetchall() — DISCARDED: completer loads everything into memory anyway, no real gain
* [ ] Add colorschemes in config file.
* [ ] Switch versioning to CalVer YY.DDD (year.julian_day) - DEFERRED
* [ ] PR \restrict/\unrestrict to upstream repo (feature done since v4.3.17, PR pending)
### Upstream PRs waiting review
* [ ] PR #1545 (-t/--tuples-only) - rebased 2026-02-20, waiting j-bennet
* [ ] PR #1546 (.pgpass SSH) - CI fix 2026-02-23, waiting j-bennet
* [ ] PR #1559 (fix trailing SQL comments) - opened 2026-03-02
### Upstream PRs to follow
* [ ] #1562 - Fix DSN password precedence over PGPASSWORD env var (BillionClaw)
* [x] #1558 - Cursor shape indicator for vi mode (joryeugene) — MERGED, cherry-picked 2026-03-26
* [ ] #1536 - Port in keyring to avoid overwriting between servers (bechampion)
2026-03-30
===================
* [x] Streaming NOTICE output for VACUUM VERBOSE, ANALYZE VERBOSE, etc
- notice_callback in execute_normal_sql() prints each NOTICE instantly
- Works in interactive and non-interactive mode (-c, -f)
* [x] Add coverage reporting (pytest-cov, .coveragerc, CI artifact upload)
- Baseline: 68% (excluding magic.py and pyev.py)
2026-03-27
===================
* [x] SET autocomplete with pg_settings (statement_timeout, work_mem, etc)
- Live query to pg_catalog.pg_settings, SET ROLE pattern, 4 files
- Unique feature of pgcli.daf (neither pgAdmin nor upstream have it)
* [x] Fix URI connection: JDBC URIs show friendly error instead of traceback
* [x] Fix URI connection: CLI flags (-U, -h, -p) now override URI values (psql behavior)
* [x] 5 new tests for connect_uri (JDBC, invalid URI, user/host/port override)
2026-03-26
===================
* [x] Cherry-pick upstream #1558: cursor shape indicator for vi mode
* [x] Review upstream — only new merged PR was #1558
2026-03-20
===================
* [x] Fix behave integration tests for CI with PG 16:
- [x] file_option.feature: check table borders instead of counting "SELECT"
- [x] tuples_only.feature: remove format argument scenarios (-t is now a pure flag)
- [x] log_rotation.feature: add missing "we query" step and exit_sent flag
* [x] Fix RST warning in changelog (backtick with trailing space)
* [x] Fix ruff style errors (71 pre-existing errors) and auto-format
* [x] Fix tox allowlist_externals for behave, docutils, mypy
* [x] Fix mypy type errors: ssh_tunnel, pgexecute, main
* [x] CI green on Python 3.10, 3.11, 3.12, 3.13 with PG 16
2026-03-18
===================
* [x] Add upstream version tracking to changelog
* [x] Create GitHub release v4.4.2 with full changelog
* [x] Rewrite README with pgcli.daf features and updated --help
* [x] Sort --help output alphabetically
* [x] Drop Python 3.9 (EOL), update CI to PG 16, fix duplicate checkout
* [x] Fix test_execute_from_file_io_error (OSError in _sanitize_path)
* [x] Fix test_execute_commented_first_line_and_special (fragile assertions)
* [x] Suppress timezone message in non-interactive mode (-c, -f)
2026-03-02
===================
* [x] Fix trailing SQL comments breaking multiline submit and query execution
2026-02-24
===================
* [x] Merge upstream features (v4.4.0) and bump to v4.4.1
* [x] Change -t/--tuples-only to pure boolean flag
* [x] -t/--tuples-only: force plain format without borders or headers
* [x] Cherry-pick \nq named query quiet mode (#1551) from upstream
* [x] Cherry-pick \T prompt transaction status (#1553) from upstream
* [x] Bump click >= 8.3.1 (#1556)
2026-02-13
===================
* [x] Migrate SSH tunnel from sshtunnel to native Paramiko
* [x] Read IdentityFile from SSH config
* [x] Host key verification configurable (auto-add, warn, reject)
* [x] pgcli_isready wrapper with SSH tunnel support
* [x] Security: sanitize passwords in logs, \restrict blocking, path sanitization
* [x] --no-timings / --no-status flags
* [x] \restrict/\unrestrict complete (CVE-2025-8714)
* [x] \np autocomplete fix
* [x] PR #1545 and #1546 rebased
2026-01-20
===================
* [x] allow_agent config, \nr reload, SET ROLE autocomplete
* [x] Fix mypy errors (136 total)
* [x] Restore .pgpass support in connect_uri()
2026-01-19
===================
* [x] namedqueries.d directory support
* [x] dsn.d directory support
* [x] Sort \n alphabetically