- Add a GitHub Actions workflow to run Codex review on pull requests.
- Drop Python 3.9 from test matrices and tooling targets.
- Make LLM support optional and installable via
litecli[ai].
- Avoid completion refresh crashes when no database is connected.
- Clean up ty type-checking for optional sqlean/llm imports.
- Switch mypy to ty for type checking. (#242)
- Add sqlean-stubs for type checking. [(#243)(https://github.com/dbcli/litecli/pull/243/files)]
- Add support for opening 'file:' URIs with parameters. (#234)
- Avoid Click 8.1.* to prevent messing up the pager when the PAGER env var has a string with spaces.
- Add type checking using mypy.
-
Use sqlean when available. It's a drop-in replacement for sqlite3.
-
Add support for
.outputto write the results to a file. -
The 'llm' library is now a default dependency not installed on demand.
-
The
\llmcommand now has three modes. Succinct, Regular and Verbose.Succinct =
\llm-- This will return just the sql query. No explanation. Regular =\llm- This will return just the sql query and the explanation. Verbose =\llm+- This will print the prompt sent to the LLM and the sql query and the explanation.
- Fix missing sqlite extensions using sqlean. Note. support only limited set of extensions. (#119)
- Add logs while invoking
\llmand\\m+command. (#215) - Support
--helpin the\llmand\llm+command. (#214) - Make the history file location configurable. (#206)
- Add dot command to list views.
- Fix a bug where the
\llmcommand on alternate invocations weren't detected correctly. (#211) - Do not escape upper table or column name. (#185)
- Return indices when
.schemacommand is run. Also update the output to contain thesqlfor theindexescommand. (#149)
- Fix typo
pormpttopromptinspecial/llm.py. - Update pip install to work in both bash and zsh.
- Fix the usage instructions in the
\llmcommand.
- Fix misleading "0 rows affected" status for CTEs by never displaying rows affected when the connector tells us -1
- Show an error message when
\llm "question"is invoked without a database connection.
- Catch errors surfaced by
llmcli and surface them as runtime errors.
- Capture stderr in addition to stdout when capturing output from
llmcli.
- Add LLM feature to ask an LLM to create a SQL query.
- This adds a new
\llmspecial command - eg:
\llm "Who is the largest customer based on revenue?"
- This adds a new
- Fix the windows path shown in prompt to remove escaping.
- Fix a bug where if column name was same as table name it was crashing the autocompletion.
- Change min required python version to 3.9+
- Read the version from the git tag using setuptools-scm
- Add
\pipe_once/\|commands for sending output to a command
- Fix the syntax error when
\d tblis used.
- Specify build system in
pyproject.toml - Don't install tests
- Fix the missing packages due to invalid pyproject.toml config
- Modernize the project with following changes:
- pyproject.toml instead of setup.py
- Use ruff for linting and formatting
- Update GH actions to use uv and tox
- Use GH actions to release a new version
- Fix the escape sequence warning.
- When an empty
\dis invoked the list of tables are returned instead of an error. - Show SQLite version at startup.
- Support a single item in the startup commands in the config. (bug #176)
- Do not crash at start up if ~/.config/litecli is not writeable. #172
- Adding support for startup commands being set in liteclirc and executed on startup. Limited to commands already implemented in litecli. ([#56])
- Fix [#146], making sure
.oncecan be used more than once in a session. - Fixed setting
successful = Trueonly when query is executed without exceptions so failing queries getsuccessful = Falseinquery_history. - Changed
mastertomainin CONTRIBUTING.md to reflect GitHubs new default branch naming. - Fixed
.once -o <file>by opening the output file once per statement instead of for every line of output (#148). - Use the sqlite3 API to cancel a running query on interrupt (#164).
- Skip internal indexes in the .schema output (#170).
- Add support for ANSI escape sequences for coloring the prompt.
- Add support for
.indexescommand. - Add an option to turn off the auto-completion menu. Completion menu can be
triggered by pressed the
<tab>key when this option is set to False. Fixes #105.
- Fix #120. Make the
.readcommand actually read and execute the commands from a file. - Fix #96 the crash in VI mode when pressing
r.
- Update compatible Python versions. (Thanks: [blazewicz])
- Add support for Python 3.10. (Thanks: [blazewicz])
- Drop support for Python 3.6. (Thanks: [blazewicz])
- Upgrade cli_helpers to workaround Pygments regression.
- Use get_terminal_size from shutil instead of click.
- Add config option show_bottom_toolbar.
- Pin pygments version to prevent breaking change.
- Add verbose feature to
favorite_querycommand. (Thanks: Zhaolong Zhu)\f querydoes not show the full SQL.\f+ queryshows the full SQL.
- Add prompt format of file's basename. (Thanks: [elig0n])
- Fix compatibility with sqlparse >= 0.4.0. (Thanks: chocolateboy)
- Fix invalid utf-8 exception. (Thanks: Amjith)
- Fix setup.py to set
long_description_content_typeas markdown.
- Add NULLS FIRST and NULLS LAST to keywords. (Thanks: Amjith)
- Fix the completion engine to work with newer sqlparse.
- Remove the version pinning of sqlparse package.
- Added
.importcommand for importing data from file into table. (Thanks: Zhaolong Zhu) - Upgraded to prompt-toolkit 3.x.
- Enhance the
describecommand. (Thanks: Amjith) - Autocomplete table names for special commands. (Thanks: Amjith)
- Added
.readcommand for reading scripts. - Added
.loadcommand for loading extension libraries. (Thanks: Zhiming Wang) - Add support for using
?as a placeholder in the favorite queries. (Thanks: Amjith) - Added shift-tab to select the previous entry in the completion menu. Amjith
- Added
describeanddesckeywords.
- Clear error message when directory does not exist. (Thanks: Irina Truong)
- To new beginnings. 🎉