2018-03-02 21:24:41 +03:00
Upcoming:
=========
2018-05-14 19:23:28 +03:00
Features:
---------
* Add quit commands to the completion menu. (Thanks: `Jason Ribeiro`_ )
2018-05-14 23:52:26 +03:00
* Add table formats to `` \T `` completion. (Thanks: `Jason Ribeiro`_ )
2018-05-14 19:23:28 +03:00
2018-04-05 22:15:01 +03:00
Internal changes:
-----------------
* Mark tests requiring a running database server as dbtest (Thanks: `Dick Marinus`_ )
2018-04-26 15:04:06 +03:00
* Add `` application_name `` to help identify pgcli connection to database (issue #868) (Thanks: `François Pietka`_ )
2018-03-31 23:25:42 +03:00
2018-05-14 21:20:37 +03:00
Bug Fixes:
----------
* Disable pager when using \watch (#837). (Thanks: `Jason Ribeiro`_ )
2018-03-31 23:25:42 +03:00
1.9.1:
======
2018-03-29 19:58:43 +03:00
Features:
---------
* Change `` \h `` format string in prompt to only return the first part of the hostname,
up to the first '.' character. Add `` \H `` that returns the entire hostname (#858).
(Thanks: `Andrew Kuchling`_ )
* Add Color of table by parameter. The color of table is function of syntax style
Internal changes:
-----------------
* Add tests, AUTHORS and changelog.rst to release. (Thanks: `Dick Marinus`_ )
Bug Fixes:
----------
* Fix broken pgcli --list command line option (#850). (Thanks: `Dmitry B`_ )
2018-03-02 21:24:41 +03:00
1.9.0
=====
2018-01-04 00:05:45 +03:00
Features:
---------
2018-01-17 14:49:21 +03:00
* manage pager by \pset pager and add enable_pager to the config file (Thanks: `Frederic Aoustin`_ ).
2018-01-04 00:05:45 +03:00
* Add support for `\T` command to change format output. (Thanks: `Frederic Aoustin`_ ).
2018-02-10 19:08:03 +03:00
* Add option list-dsn (Thanks: `Frederic Aoustin`_ ).
2018-01-04 00:05:45 +03:00
2018-01-16 06:10:06 +03:00
Internal changes:
-----------------
* Removed support for Python 3.3. (Thanks: `Irina Truong`_ )
2017-12-05 06:12:11 +03:00
1.8.2
=====
2017-12-21 07:44:36 +03:00
Features:
---------
* Use other prompt (prompt_dsn) when connecting using --dsn parameter. (Thanks: `Marcin Sztolcman`_ )
* Include username into password prompt. (Thanks: `Bojan Delić`_ )
2017-09-20 23:49:12 +03:00
Internal changes:
-----------------
2017-12-05 06:12:11 +03:00
* Use temporary dir as config location in tests. (Thanks: `Dmitry B`_ )
2017-10-06 21:25:28 +03:00
* Fix errors in the `` tee `` test (#795 and #797). (Thanks: `Irina Truong`_ )
2017-10-24 10:03:21 +03:00
* Increase timeout for quitting pgcli. (Thanks: `Dick Marinus`_ )
2017-09-19 21:29:36 +03:00
2017-10-11 22:56:46 +03:00
Bug Fixes:
----------
* Do NOT quote the database names in the completion menu (Thanks: `Amjith Ramanujam`_ )
2017-10-21 21:14:58 +03:00
* Fix error in `` unix_socket_directories `` (#805). (Thanks: `Irina Truong`_ )
2017-12-17 01:57:48 +03:00
* Fix the --list command line option tries to connect to 'personal' DB (#816). (Thanks: `Isank`_ )
2017-10-11 22:56:46 +03:00
2017-09-19 21:29:36 +03:00
1.8.1
=====
2017-09-15 21:46:51 +03:00
Internal changes:
-----------------
* Remove shebang and git execute permission from pgcli/main.py. (Thanks: `Dick Marinus`_ )
2017-09-19 21:29:36 +03:00
* Require cli_helpers 0.2.3 (fix #791). (Thanks: `Dick Marinus`_ )
2017-09-13 06:10:27 +03:00
1.8.0
=====
2017-07-17 01:06:25 +03:00
Features:
---------
* Add fish-style auto-suggestion from history. (Thanks: `Amjith Ramanujam`_ )
2017-08-06 20:13:46 +03:00
* Improved formatting of arrays in output (Thanks: `Joakim Koljonen`_ )
2017-08-06 09:59:03 +03:00
* Don't quote identifiers that are non-reserved keywords. (Thanks: `Joakim Koljonen`_ )
2017-07-24 20:34:54 +03:00
* Remove the `` ... `` in the continuation prompt and use empty space instead. (Thanks: `Amjith Ramanujam`_ )
2017-08-07 01:24:09 +03:00
* Add \conninfo and handle more parameters with \c (issue #716) (Thanks: `François Pietka`_ )
2017-07-17 01:06:25 +03:00
2017-08-18 21:40:16 +03:00
Internal changes:
-----------------
* Preliminary work for a future change in outputting results that uses less memory. (Thanks: `Dick Marinus`_ )
2017-08-20 16:33:46 +03:00
* Remove import workaround for OrderedDict, required for python < 2.7. (Thanks: `Andrew Speed`_ )
2017-08-19 09:48:41 +03:00
* Use less memory when formatting results for display (Thanks: `Dick Marinus`_ ).
2017-09-05 21:39:13 +03:00
* Port auto_vertical feature test from mycli to pgcli. (Thanks: `Dick Marinus`_ )
2017-09-10 16:15:23 +03:00
* Drop wcwidth dependency (Thanks: `Dick Marinus`_ )
2017-08-18 21:40:16 +03:00
2017-07-17 01:06:25 +03:00
Bug Fixes:
----------
2017-07-29 16:59:30 +03:00
* Fix the way we get host when using DSN (issue #765) (Thanks: `François Pietka`_ )
2017-08-07 01:20:46 +03:00
* Add missing keyword COLUMN after DROP (issue #769) (Thanks: `François Pietka`_ )
2017-08-06 09:29:24 +03:00
* Don't include arguments in function suggestions for backslash commands (Thanks: `Joakim Koljonen`_ )
2017-08-18 07:52:29 +03:00
* Optionally use POSTGRES_USER, POSTGRES_HOST POSTGRES_PASSWORD from environment (Thanks: `Dick Marinus`_ )
2017-07-16 05:20:46 +03:00
1.7.0
=====
2017-05-29 03:56:48 +03:00
* Refresh completions after `COMMIT` or `ROLLBACK`. (Thanks: `Irina Truong`_ )
2017-05-29 01:04:57 +03:00
* Fixed DSN aliases not being read from custom pgclirc (issue #717). (Thanks: `Irina Truong`_ ).
2017-06-02 22:13:53 +03:00
* Use dbcli's Homebrew tap for installing pgcli on macOS (issue #718) (Thanks: `Thomas Roten`_ ).
2017-06-09 21:17:04 +03:00
* Only set `LESS` environment variable if it's unset. (Thanks: `Irina Truong`_ )
2017-06-10 00:44:56 +03:00
* Quote schema in `SET SCHEMA` statement (issue #469) (Thanks: `Irina Truong`_ )
2017-03-20 23:28:40 +03:00
* Include arguments in function suggestions (Thanks: `Joakim Koljonen`_ )
2017-06-19 17:27:10 +03:00
* Use CLI Helpers for pretty printing query results (Thanks: `Thomas Roten`_ ).
2017-07-06 11:42:39 +03:00
* Skip serial columns when expanding * for `INSERT INTO foo(* ` (Thanks: `Joakim Koljonen`_ ).
2017-07-15 02:07:40 +03:00
* Command line option to list databases (issue #206) (Thanks: `François Pietka`_ )
2017-05-18 06:09:21 +03:00
1.6.0
=====
2017-03-15 00:37:39 +03:00
Features:
---------
2017-05-10 20:49:08 +03:00
* Add time option for prompt (Thanks: `Gustavo Castro`_ )
2017-03-15 00:37:39 +03:00
* Suggest objects from all schemas (not just those in search_path) (Thanks: `Joakim Koljonen`_ )
2017-01-16 07:58:52 +03:00
* Casing for column headers (Thanks: `Joakim Koljonen`_ )
2017-03-30 13:12:25 +03:00
* Allow configurable character to be used for multi-line query continuations. (Thanks: `Owen Stephens`_ )
2017-04-23 14:13:06 +03:00
* Completions after ORDER BY and DISTINCT now take account of table aliases. (Thanks: `Owen Stephens`_ )
2017-04-26 13:12:35 +03:00
* Narrow keyword candidates based on previous keyword. (Thanks: `Étienne Bersac`_ )
2017-05-03 07:31:29 +03:00
* Opening an external editor will edit the last-run query. (Thanks: `Thomas Roten`_ )
2017-05-25 15:46:51 +03:00
* Support query options in postgres URIs such as ?sslcert=foo.pem (Thanks: `Alexander Schmolck`_ )
2017-03-15 00:37:39 +03:00
2017-03-22 07:31:26 +03:00
Bug fixes:
----------
* Fixed external editor bug (issue #668). (Thanks: `Irina Truong`_ ).
2017-04-05 16:25:04 +03:00
* Standardize command line option names. (Thanks: `Russell Davies`_ )
2017-04-29 02:16:35 +03:00
* Improve handling of `` lock_not_available `` error (issue #700). (Thanks: `Jackson Popkin <https://github.com/jdpopkin> `_ )
2017-05-01 02:46:09 +03:00
* Fixed user option precedence (issue #697). (Thanks: `Irina Truong`_ ).
2017-03-22 07:31:26 +03:00
2017-05-22 21:44:02 +03:00
Internal changes:
-----------------
2017-04-08 03:00:35 +03:00
* Run pep8 checks in travis (Thanks: `Irina Truong`_ ).
2017-04-25 08:37:53 +03:00
* Add pager wrapper for behave tests (Thanks: `Dick Marinus`_ ).
2017-04-28 19:00:51 +03:00
* Behave quit pgcli nicely (Thanks: `Dick Marinus`_ ).
2017-04-28 22:16:11 +03:00
* Behave test source command (Thanks: `Dick Marinus`_ ).
2017-04-29 09:21:48 +03:00
* Behave fix clean up. (Thanks: `Dick Marinus`_ ).
2017-04-29 22:35:06 +03:00
* Test using behave the tee command (Thanks: `Dick Marinus`_ ).
2017-05-02 21:20:13 +03:00
* Behave remove boiler plate code (Thanks: `Dick Marinus`_ ).
2017-05-06 16:51:47 +03:00
* Behave fix pgspecial update (Thanks: `Dick Marinus`_ ).
2017-05-22 21:44:02 +03:00
* Add behave to tox (Thanks: `Dick Marinus`_ ).
2017-03-14 08:52:14 +03:00
1.5.1
=====
2016-06-28 11:40:14 +03:00
Features:
---------
* Better suggestions when editing functions (Thanks: `Joakim Koljonen`_ )
2017-03-12 02:23:48 +03:00
* Command line option for `` --less-chatty `` . (Thanks: `tk`_ )
2017-03-14 08:52:14 +03:00
* Added `` MATERIALIZED VIEW `` keywords. (Thanks: `Joakim Koljonen`_ ).
2017-03-12 02:23:48 +03:00
Bug fixes:
----------
* Support unicode chars in expanded mode. (Thanks: `Amjith Ramanujam`_ )
2017-03-14 08:52:14 +03:00
* Fixed "set_session cannot be used inside a transaction" when using dsn. (Thanks: `Irina Truong`_ ).
2016-06-28 11:40:14 +03:00
2017-03-04 02:55:39 +03:00
1.5.0
=====
Features:
---------
* Upgraded pgspecial to 1.7.0. (See `pgspecial changelog <https://github.com/dbcli/pgspecial/blob/master/changelog.rst> `_ for list of fixes)
* Add a new config setting to allow expandable mode (Thanks: `Jonathan Boudreau <https://github.com/AGhost-7> `_ )
* Make pgcli prompt width short when the prompt is too long (Thanks: `Jonathan Virga <https://github.com/jnth> `_ )
* Add additional completion for `` ALTER `` keyword (Thanks: `Darik Gamble`_ )
* Make the menu size configurable. (Thanks `Darik Gamble`_ )
Bug Fixes:
----------
* Handle more connection failure cases. (Thanks: `Amjith Ramanujam`_ )
* Fix the connection failure issues with latest psycopg2. (Thanks: `Amjith Ramanujam`_ )
Internal Changes:
-----------------
* Add testing for Python 3.5 and 3.6. (Thanks: `Amjith Ramanujam`_ )
2017-01-11 03:35:59 +03:00
1.4.0
=====
Features:
---------
* Search table suggestions using initialisms. (Thanks: `Joakim Koljonen`_ ).
* Support for table-qualifying column suggestions. (Thanks: `Joakim Koljonen`_ ).
* Display transaction status in the toolbar. (Thanks: `Joakim Koljonen`_ ).
* Display vi mode in the toolbar. (Thanks: `Joakim Koljonen`_ ).
* Added --prompt option. (Thanks: `Irina Truong`_ ).
Bug Fixes:
----------
* Fix scoping for columns from CTEs. (Thanks: `Joakim Koljonen`_ )
* Fix crash after `with`. (Thanks: `Joakim Koljonen`_ ).
* Fix issue #603 (`\i` raises a TypeError). (Thanks: `Emanuele Gaifas`_ ).
Internal Changes:
-----------------
* Set default data_formatting to nothing. (Thanks: `Amjith Ramanujam`_ ).
* Increased minimum prompt_toolkit requirement to 1.0.9. (Thanks: `Irina Truong`_ ).
2016-10-26 22:37:46 +03:00
1.3.1
=====
Bug Fixes:
----------
* Fix a crashing bug due to sqlparse upgrade. (Thanks: `Darik Gamble`_ )
2016-10-22 06:47:47 +03:00
1.3.0
=====
IMPORTANT: Python 2.6 is not officially supported anymore.
Features:
---------
* Add delimiters to displayed numbers. This can be configured via the config file. (Thanks: `Sergii`_ ).
* Fix broken 'SHOW ALL' in redshift. (Thanks: `Manuel Barkhau`_ ).
* Support configuring keyword casing preferences. (Thanks: `Darik Gamble`_ ).
* Add a new multi_line_mode option in config file. The values can be `psql` or `safe`. (Thanks: `Joakim Koljonen`_ )
Setting `` multi_line_mode = safe `` will make sure that a query will only be executed when Alt+Enter is pressed.
Bug Fixes:
----------
* Fix crash bug with leading parenthesis. (Thanks: `Joakim Koljonen`_ ).
* Remove cumulative addition of timing data. (Thanks: `Amjith Ramanujam`_ ).
* Handle unrecognized keywords gracefully. (Thanks: `Darik Gamble`_ )
* Use raw strings in regex specifiers. This preemptively fixes a crash in Python 3.6. (Thanks `Emanuele Gaifas`_ )
Internal Changes:
-----------------
* Set sqlparse version dependency to >0.2.0, <0.3.0. (Thanks: `Amjith Ramanujam`_ ).
* XDG_CONFIG_HOME support for config file location. (Thanks: `Fabien Meghazi`_ ).
* Remove Python 2.6 from travis test suite. (Thanks: `Amjith Ramanujam`_ )
2016-09-01 15:45:18 +03:00
1.2.0
=====
Features:
---------
* Add more specifiers to pgcli prompt. (Thanks: `Julien Rouhaud`_ ).
`` \p `` for port info `` \# `` for super user and `` \i `` for pid.
* Add `\watch` command to periodically execute a command. (Thanks: `Stuart Quin`_ ).
`` > SELECT * FROM django_migrations; \watch 1 /* Runs the command every second */ ``
* Add command-line option --single-connection to prevent pgcli from using multiple connections. (Thanks: `Joakim Koljonen`_ ).
* Add priority to the suggestions to sort based on relevance. (Thanks: `Joakim Koljonen`_ ).
* Configurable null format via the config file. (Thanks: `Adrian Dries`_ ).
* Add support for CTE aware auto-completion. (Thanks: `Darik Gamble`_ ).
* Add host and user information to default pgcli prompt. (Thanks: `Lim H`_ ).
* Better scoping for tables in insert statements to improve suggestions. (Thanks: `Joakim Koljonen`_ ).
Bug Fixes:
----------
* Do not install setproctitle on cygwin. (Thanks: `Janus Troelsen`_ ).
* Work around sqlparse crashing after AS keyword. (Thanks: `Joakim Koljonen`_ ).
* Fix a crashing bug with named queries. (Thanks: `Joakim Koljonen`_ ).
* Replace timestampz alias since AWS Redshift does not support it. (Thanks: `Tahir Butt`_ ).
2016-09-02 16:47:36 +03:00
* Prevent pgcli from hanging indefinitely when Postgres instance is not running. (Thanks: `Darik Gamble`_ )
2016-09-01 15:45:18 +03:00
Internal Changes:
-----------------
* Upgrade to sqlparse-0.2.0. (Thanks: `Tiziano Müller`_ ).
* Upgrade to pgspecial 1.6.0. (Thanks: `Stuart Quin`_ ).
2016-07-02 09:13:50 +03:00
1.1.0
=====
Features:
---------
* Add support for `` \db `` command. (Thanks: `Irina Truong`_ )
Bugs:
-----
* Fix the crash at startup while parsing the postgres url with port number. (Thanks: `Eric Wald`_ )
* Fix the crash with Redshift databases. (Thanks: `Darik Gamble`_ )
Internal Changes:
-----------------
* Upgrade pgspecial to 1.5.0 and above.
2016-05-12 08:59:49 +03:00
1.0.0
=====
Features:
---------
* Upgrade to prompt-toolkit 1.0.0. (Thanks: `Jonathan Slenders`_ ).
2016-06-20 02:26:37 +03:00
* Add support for `\o` command to redirect query output to a file. (Thanks: `Tim Sanders`_ ).
* Add `\i` path completion. (Thanks: `Anthony Lai`_ ).
2016-05-12 08:59:49 +03:00
* Connect to a dsn saved in config file. (Thanks: `Rodrigo Ramírez Norambuena`_ ).
* Upgrade sqlparse requirement to version 0.1.19. (Thanks: `Fernando L. Canizo`_ ).
* Add timestamptz to DATE custom extension. (Thanks: `Fernando Mora`_ ).
* Ensure target dir exists when copying config. (Thanks: `David Szotten`_ ).
* Handle dates that fall in the B.C. range. (Thanks: `Stuart Quin`_ ).
* Pager is selected from config file or else from environment variable. (Thanks: `Fernando Mora`_ ).
2016-06-20 01:15:55 +03:00
* Add support for Amazon Redshift. (Thanks: `Timothy Cleaver`_ ).
* Add support for Postgres 8.x. (Thanks: `Timothy Cleaver`_ and `Darik Gamble`_ )
2016-05-12 08:59:49 +03:00
* Don't error when completing parameter-less functions. (Thanks: `David Szotten`_ ).
* Concat and return all available notices. (Thanks: `Stuart Quin`_ ).
* Handle unicode in record type. (Thanks: `Amjith Ramanujam`_ ).
* Added humanized time display. Connect #396. (Thanks: `Irina Truong`_ ).
* Add EXPLAIN keyword to the completion list. (Thanks: `Amjith Ramanujam`_ ).
* Added sdist upload to release script. (Thanks: `Irina Truong`_ ).
* Sort completions based on most recently used. (Thanks: `Darik Gamble` )
2016-06-20 01:15:55 +03:00
* Expand '*' into column list during completion. This can be triggered by hitting `<tab>` after the '* ' character in the sql while typing. (Thanks: `Joakim Koljonen`_ )
* Add a limit to the warning about too many rows. This is controlled by a new config value in ~/.config/pgcli/config. (Thanks: `Anže Pečar`_ )
* Improved argument list in function parameter completions. (Thanks: `Joakim Koljonen`_ )
* Column suggestions after the COLUMN keyword. (Thanks: `Darik Gamble`_ )
* Filter out trigger implemented functions from the suggestion list. (Thanks: `Daniel Rocco`_ )
* State of the art JOIN clause completions that suggest entire conditions. (Thanks: `Joakim Koljonen`_ )
* Suggest fully formed JOIN clauses based on Foreign Key relations. (Thanks: `Joakim Koljonen`_ )
2016-06-20 02:26:37 +03:00
* Add support for `\dx` meta command to list the installed extensions. (Thanks: `Darik Gamble`_ )
* Add support for `\copy` command. (Thanks: `Catherine Devlin`_ )
2016-05-12 08:59:49 +03:00
Bugs:
-----
* Fix bug where config writing would leave a '~' dir. (Thanks: `James Munson`_ ).
* Fix auto-completion breaking for table names with caps. (Thanks: `Anthony Lai`_ ).
* Fix lexical ordering bug. (Thanks: `Anthony Lai`_ ).
* Use lexical order to break ties when fuzzy matching. (Thanks: `Daniel Rocco`_ ).
* Fix the bug in auto-expand mode when there are no rows to display. (Thanks: `Amjith Ramanujam`_ ).
* Fix broken `\i` after #395. (Thanks: `David Szotten`_ ).
* Fix multi-way joins in auto-completion. (Thanks: `Darik Gamble`_ )
* Display null values as <null> in expanded output. (Thanks: `Amjith Ramanujam`_ ).
2016-06-20 01:15:55 +03:00
* Robust support for Postgres version less than 9.x. (Thanks: `Darik Gamble`_ )
2016-05-12 08:59:49 +03:00
Internal Changes:
-----------------
* Update config file location in README. (Thanks: `Ari Summer`_ ).
* Explicitly add wcwidth as a dependency. (Thanks: `Amjith Ramanujam`_ ).
* Add tests for the format_output. (Thanks: `Amjith Ramanujam`_ ).
* Lots of tests for pgcompleter. (Thanks: `Darik Gamble`_ ).
2016-06-20 02:26:37 +03:00
* Update pgspecial dependency to 1.4.0.
2016-05-12 08:59:49 +03:00
0.20.1
2015-10-31 16:49:50 +03:00
======
2015-11-07 22:23:39 +03:00
Bug Fixes:
----------
2017-12-22 21:49:26 +03:00
* Fixed logging in Windows by switching the location of log and history file based on OS. (Thanks: Amjith, `Darik Gamble`_ , `Irina Truong`_ ).
2015-11-07 22:23:39 +03:00
0.20.0
======
2015-10-31 16:49:50 +03:00
Features:
---------
2017-12-22 21:49:26 +03:00
* Perform auto-completion refresh in background. (Thanks: Amjith, `Darik Gamble`_ , `Irina Truong`_ ).
2015-10-31 16:49:50 +03:00
When the auto-completion entries are refreshed, the update now happens in a
background thread. This means large databases with thousands of tables are
handled without blocking.
* Add `` CONCURRENTLY `` to keyword completion. (Thanks: `Johannes Hoff`_ ).
2015-11-01 08:11:24 +03:00
* Add support for `` \h `` command. (Thanks: `Stuart Quin`_ ).
This is a huge deal. Users can now get help on an SQL command by typing:
`` \h COMMAND_NAME `` in the pgcli prompt.
2015-10-31 16:49:50 +03:00
* Add support for `` \x auto `` . (Thanks: `Stuart Quin`_ ).
`` \\x auto `` will automatically switch to expanded mode if the output is wider
than the display window.
* Don't hide functions from pg_catalog. (Thanks: `Darik Gamble`_ ).
* Suggest set-returning functions as tables. (Thanks: `Darik Gamble`_ ).
2017-05-03 07:31:29 +03:00
Functions that return table like results will now be suggested in places of tables.
2015-10-31 16:49:50 +03:00
* Suggest fields from functions used as tables. (Thanks: `Darik Gamble`_ ).
2017-12-22 21:49:26 +03:00
* Using `` pgspecial `` as a separate module. (Thanks: `Irina Truong`_ ).
2015-10-31 16:49:50 +03:00
* Make "enter" key behave as "tab" key when the completion menu is displayed. (Thanks: `Matheus Rosa`_ ).
* Support different error-handling options when running multiple queries. (Thanks: `Darik Gamble`_ ).
2017-05-03 07:31:29 +03:00
When `` on_error = STOP `` in the config file, pgcli will abort execution if one of the queries results in an error.
2015-10-31 16:49:50 +03:00
* Hide the password displayed in the process name in `` ps `` . (Thanks: `Stuart Quin`_ )
Bug Fixes:
----------
* Fix the ordering bug in `\\d+` display, this bug was displaying the wrong table name in the reference. (Thanks: `Tamas Boros`_ ).
* Only show expanded layout if valid list of headers provided. (Thanks: `Stuart Quin`_ ).
* Fix suggestions in compound join clauses. (Thanks: `Darik Gamble`_ ).
* Fix completion refresh in multiple query scenario. (Thanks: `Darik Gamble`_ ).
* Fix the broken timing information.
* Fix the removal of whitespaces in the output. (Thanks: `Jacek Wielemborek`_ )
* Fix PyPI badge. (Thanks: `Artur Dryomov`_ ).
Improvements:
-------------
* Move config file to `~/.config/pgcli/config` instead of `~/.pgclirc` (Thanks: `inkn`_ ).
* Move literal definitions to standalone JSON files. (Thanks: `Darik Gamble`_ ).
Internal Changes:
-----------------
2017-12-22 21:49:26 +03:00
* Improvements to integration tests to make it more robust. (Thanks: `Irina Truong`_ ).
2015-10-31 16:49:50 +03:00
2015-08-29 08:38:18 +03:00
0.19.2
======
Features:
---------
* Autocompletion for database name in \c and \connect. (Thanks: `Darik Gamble`_ ).
* Improved multiline query support by correctly handling open quotes. (Thanks: `Darik Gamble`_ ).
* Added \pager command.
* Enhanced \i to run multiple queries and display the results for each of them
* Added keywords to suggestions after WHERE clause.
2017-12-22 21:49:26 +03:00
* Enabled autocompletion in named queries. (Thanks: `Irina Truong`_ ).
* Path to .pgclirc can be specified in command line. (Thanks: `Irina Truong`_ ).
* Added support for pg_service_conf file. (Thanks: `Irina Truong`_ ).
2015-08-29 08:38:18 +03:00
* Added custom styles. (Contributor: `Darik Gamble`_ ).
Internal Changes:
-----------------
* More completer test cases. (Thanks: `Darik Gamble`_ ).
* Updated sqlparse version from 0.1.14 to 0.1.16. (Thanks: `Darik Gamble`_ ).
* Upgraded to prompt_toolkit 0.46. (Thanks: `Jonathan Slenders`_ ).
BugFixes:
---------
* Fixed the completer crashing on invalid SQL. (Thanks: `Darik Gamble`_ ).
* Fixed unicode issues, updated tests and fixed broken tests.
2015-08-04 17:10:38 +03:00
0.19.1
======
2015-08-10 05:36:11 +03:00
BugFixes:
2015-08-04 17:10:38 +03:00
---------
* Fix an autocompletion bug that was crashing the completion engine when unknown keyword is entered. (Thanks: `Darik Gamble`_ )
2015-08-03 03:09:17 +03:00
0.19.0
======
Features:
---------
* Wider completion menus can be enabled via the config file. (Thanks: `Jonathan Slenders`_ )
Open the config file (~/.pgclirc) and check if you have
`` wider_completion_menu `` option available. If not add it in and set it to
`` True `` .
* Completion menu now has metadata information such as schema, table, column, view, etc., next to the suggestions. (Thanks: `Darik Gamble`_ )
* Customizable history file location via config file. (Thanks: `Çağatay Yüksel`_ )
2017-05-03 07:31:29 +03:00
Add this line to your config file (~/.pgclirc) to customize where to store the history file.
2015-08-03 03:09:17 +03:00
::
history_file = /path/to/history/file
* Add support for running queries from a file using `` \i `` special command. (Thanks: `Michael Kaminsky`_ )
BugFixes:
---------
* Always use utf-8 for database encoding regardless of the default encoding used by the database.
* Fix for None dereference on `` \d schemaname. `` with sequence. (Thanks: `Nathan Jhaveri`_ )
2015-08-03 18:49:26 +03:00
* Fix a crashing bug in the autocompletion engine for some `` JOIN `` queries.
2015-08-03 03:09:17 +03:00
* Handle KeyboardInterrupt in pager and not quit pgcli as a consequence.
Internal Changes:
-----------------
2017-12-22 21:49:26 +03:00
* Added more behaviorial tests (Thanks: `Irina Truong`_ )
* Added code coverage to the tests. (Thanks: `Irina Truong`_ )
* Run behaviorial tests as part of TravisCI (Thanks: `Irina Truong`_ )
2015-08-03 03:09:17 +03:00
* Upgraded prompt_toolkit version to 0.45 (Thanks: `Jonathan Slenders`_ )
* Update the minumum required version of click to 4.1.
2015-06-17 04:06:40 +03:00
0.18.0
======
Features:
---------
2017-05-03 07:31:29 +03:00
* Add fuzzy matching for the table names and column names.
2015-06-17 04:06:40 +03:00
Matching very long table/column names are now easier with fuzzy matching. The
2017-05-03 07:31:29 +03:00
fuzzy match works like the fuzzy open in SublimeText or Vim's Ctrl-P plugin.
2015-06-17 04:06:40 +03:00
eg: Typing `` djmv `` will match `django_migration_views` since it is able to
match parts of the input to the full table name.
2017-05-03 07:31:29 +03:00
* Change the timing information to seconds.
2015-06-17 04:06:40 +03:00
The `` Command Time `` and `` Format Time `` are now displayed in seconds instead
of a unitless number displayed in scientific notation.
* Support for named queries (favorite queries). (Thanks: `Brett Atoms`_ )
Frequently typed queries can now be saved and recalled using a name using
newly added special commands (`` \n[+] `` , `` \ns `` , `` \nd `` ).
2017-05-03 07:31:29 +03:00
eg:
2015-06-17 04:06:40 +03:00
::
# Save a query
pgcli> \ns simple select * from foo
saved
# List all saved queries
pgcli> \n+
# Execute a saved query
pgcli> \n simple
# Delete a saved query
pgcli> \nd simple
* Pasting queries into the pgcli repl is orders of magnitude faster. (Thanks: `Jonathan Slenders`_ )
* Add support for PGPASSWORD environment variable to pass the password for the
2017-12-22 21:49:26 +03:00
postgres database. (Thanks: `Irina Truong`_ )
2015-06-17 04:06:40 +03:00
* Add the ability to manually refresh autocompletions by typing `` \# `` or
`` \refresh `` . This is useful if the database was updated by an external means
and you'd like to refresh the auto-completions to pick up the new change.
Bug Fixes:
----------
* Fix an error when running `` \d table_name `` when running on a table with rules. (Thanks: `Ali Kargı n`_ )
* Fix a pgcli crash when entering non-ascii characters in Windows. (Thanks: `Darik Gamble`_ , `Jonathan Slenders`_ )
2017-05-03 07:31:29 +03:00
* Faster rendering of expanded mode output by making the horizontal separator a fixed length string.
* Completion suggestions for the `` \c `` command are not auto-escaped by default.
2015-06-17 04:06:40 +03:00
Internal Changes:
-----------------
2017-05-03 07:31:29 +03:00
* Complete refactor of handling the back-slash commands.
2015-06-17 04:06:40 +03:00
* Upgrade prompt_toolkit to 0.42. (Thanks: `Jonathan Slenders`_ )
* Change the config file management to use ConfigObj.(Thanks: `Brett Atoms`_ )
2017-12-22 21:49:26 +03:00
* Add integration tests using `` behave `` . (Thanks: `Irina Truong`_ )
2017-05-03 07:31:29 +03:00
2015-04-03 04:31:22 +03:00
0.17.0
======
Features:
---------
2015-05-25 09:38:39 +03:00
* Add support for auto-completing view names. (Thanks: `Darik Gamble`_ )
2015-04-15 08:16:13 +03:00
* Add support for building RPM and DEB packages. (Thanks: dp_)
2015-05-25 09:38:39 +03:00
* Add subsequence matching for completion. (Thanks: `Daniel Rocco`_ )
Previously completions only matched a table name if it started with the
partially typed word. Now completions will match even if the partially typed
word is in the middle of a suggestion.
2017-05-03 07:31:29 +03:00
eg: When you type 'mig', 'django_migrations' will be suggested.
2015-05-25 09:38:39 +03:00
* Completion for built-in tables and temporary tables are suggested after entering a prefix of `` pg_ `` . (Thanks: `Darik Gamble`_ )
2017-12-22 21:49:26 +03:00
* Add place holder doc strings for special commands that are planned for implementation. (Thanks: `Irina Truong`_ )
2017-01-11 03:35:59 +03:00
* Updated version of prompt_toolkit, now matching braces are highlighted. (Thanks: `Jonathan Slenders`_ )
2017-12-22 21:49:26 +03:00
* Added support of `` \\e `` command. Queries can be edited in an external editor. (Thanks: `Irina Truong`_ )
2015-05-25 09:38:39 +03:00
eg: When you type `` SELECT * FROM \e `` it will be opened in an external editor.
* Add special command `` \dT `` to show datatypes. (Thanks: `Darik Gamble`_ )
2017-05-03 07:31:29 +03:00
* Add auto-completion support for datatypes in CREATE, SELECT etc. (Thanks: `Darik Gamble`_ )
2015-05-25 09:38:39 +03:00
* Improve the auto-completion in WHERE clause with logical operators. (Thanks: `Darik Gamble`_ )
2017-05-03 07:31:29 +03:00
*
2015-04-03 04:31:22 +03:00
Bug Fixes:
----------
2015-04-06 03:28:47 +03:00
* Fix the table formatting while printing multi-byte characters (Chinese, Japanese etc). (Thanks: `蔡佳男`_ )
2015-05-25 09:38:39 +03:00
* Fix a crash when pg_catalog was present in search path. (Thanks: `Darik Gamble`_ )
* Fixed a bug that broke `\\e` when prompt_tookit was updated. (Thanks: `François Pietka`_ )
* Fix the display of triggers as shown in the `` \d `` output. (Thanks: `Dimitar Roustchev`_ )
* Fix broken auto-completion for INNER JOIN, LEFT JOIN etc. (Thanks: `Darik Gamble`_ )
* Fix incorrect super() calls in pgbuffer, pgtoolbar and pgcompleter. No change in functionality but protects against future problems. (Thanks: `Daniel Rocco`_ )
* Add missing schema completion for CREATE and DROP statements. (Thanks: `Darik Gamble`_ )
* Minor fixes around cursor cleanup.
2015-04-03 04:31:22 +03:00
2015-03-25 10:22:20 +03:00
0.16.3
======
Bug Fixes:
----------
* Add more SQL keywords for auto-complete suggestion.
2015-04-03 04:19:07 +03:00
* Messages raised as part of stored procedures are no longer ignored.
2015-03-27 07:21:21 +03:00
* Use postgres flavored syntax highlighting instead of generic ANSI SQL.
2015-03-25 10:22:20 +03:00
2015-03-09 04:07:18 +03:00
0.16.2
======
Bug Fixes:
----------
2015-03-10 10:20:57 +03:00
* Fix a bug where the schema qualifier was ignored by the auto-completion.
2015-05-25 09:38:39 +03:00
As a result the suggestions for tables vs functions are cleaner. (Thanks: `Darik Gamble`_ )
2015-03-22 23:55:33 +03:00
* Remove scientific notation when formatting large numbers. (Thanks: `Daniel Rocco`_ )
2015-03-09 04:07:18 +03:00
* Add the FUNCTION keyword to auto-completion.
2017-05-03 07:31:29 +03:00
* Display NULL values as <null> instead of empty strings.
2015-03-14 23:38:07 +03:00
* Fix the completion refresh when `` \connect `` is executed.
2015-03-09 04:07:18 +03:00
2015-03-04 10:17:41 +03:00
0.16.1
======
2015-03-09 04:07:18 +03:00
2015-03-04 10:17:41 +03:00
Bug Fixes:
----------
* Fix unicode issues with hstore.
* Fix a silent error when database is changed using \\c.
2015-02-12 11:14:55 +03:00
0.16.0
======
2015-02-13 00:17:18 +03:00
Features:
---------
2017-05-03 07:31:29 +03:00
* Add \ds special command to show sequences.
2015-03-01 12:19:15 +03:00
* Add Vi mode for keybindings. This can be enabled by adding 'vi = True' in ~/.pgclirc. (Thanks: `Jay Zeng`_ )
2015-02-14 04:03:24 +03:00
* Add a -v/--version flag to pgcli.
2017-05-03 07:31:29 +03:00
* Add completion for TEMPLATE keyword and smart-completion for
2015-02-27 06:58:03 +03:00
'CREATE DATABASE blah WITH TEMPLATE <tab>'. (Thanks: `Daniel Rocco`_ )
2015-03-01 08:56:43 +03:00
* Add custom decoders to json/jsonb to emulate the behavior of psql. This
removes the unicode prefix (eg: u'Éowyn') in the output. (Thanks: `Daniel Rocco`_ )
2015-05-25 09:38:39 +03:00
* Add \df special command to show functions. (Thanks: `Darik Gamble`_ )
* Make suggestions for special commands smarter. eg: \dn - only suggests schemas. (Thanks: `Darik Gamble`_ )
2015-03-01 11:58:02 +03:00
* Print out the version and other meta info about pgcli at startup.
2015-02-12 11:14:55 +03:00
2015-02-13 00:17:18 +03:00
Bug Fixes:
----------
2015-05-25 09:38:39 +03:00
* Fix a rare crash caused by adding new schemas to a database. (Thanks: `Darik Gamble`_ )
* Make \dt command honor the explicit schema specified in the arg. (Thanks: `Darik Gamble`_ )
2015-02-13 11:55:42 +03:00
* Print BIGSERIAL type as Integer instead of Float.
2015-02-27 06:58:03 +03:00
* Show completions for special commands at the beginning of a statement. (Thanks: `Daniel Rocco`_ )
2015-02-27 10:35:56 +03:00
* Allow special commands to work in a multi-statement case where multiple sql
2017-05-03 07:31:29 +03:00
statements are separated by semi-colon in the same line.
2015-02-13 00:17:18 +03:00
2015-02-12 11:14:55 +03:00
0.15.4
======
* Dummy version to replace accidental PyPI entry deletion.
2015-02-09 07:33:04 +03:00
0.15.3
======
2017-05-03 07:31:29 +03:00
* Override the LESS options completely instead of appending to it.
2015-02-09 07:33:04 +03:00
0.15.2
2017-01-11 03:35:59 +03:00
======
2017-05-03 07:31:29 +03:00
* Revert back to using psycopg2 as the postgres adapter. psycopg2cffi fails for some tests in Python 3.
2015-02-09 07:33:04 +03:00
0.15.0
2017-01-11 03:35:59 +03:00
======
2015-02-01 03:38:47 +03:00
2015-02-05 05:32:50 +03:00
Features:
---------
* Add syntax color styles to config.
* Add auto-completion for COPY statements.
2017-05-03 07:31:29 +03:00
* Change Postgres adapter to psycopg2cffi, to make it PyPy compatible.
2015-02-09 01:09:12 +03:00
Now pgcli can be run by PyPy.
2015-02-05 05:32:50 +03:00
2015-02-01 03:38:47 +03:00
Bug Fixes:
----------
* Treat boolean values as strings instead of ints.
2015-05-25 09:38:39 +03:00
* Make \di, \dv and \dt to be schema aware. (Thanks: `Darik Gamble`_ )
2017-05-03 07:31:29 +03:00
* Make column name display unicode compatible.
2015-02-01 03:38:47 +03:00
2015-02-01 02:26:33 +03:00
0.14.0
======
2015-01-22 08:45:38 +03:00
Features:
---------
2017-12-22 21:49:26 +03:00
* Add alias completion support to ON keyword. (Thanks: `Irina Truong`_ )
2017-05-03 07:31:29 +03:00
* Add LIMIT keyword to completion.
2015-05-25 09:38:39 +03:00
* Auto-completion for Postgres schemas. (Thanks: `Darik Gamble`_ )
2017-05-03 07:31:29 +03:00
* Better unicode handling for datatypes, dbname and roles.
* Add \timing command to time the sql commands.
2015-02-01 02:41:11 +03:00
This can be set via config file (~/.pgclirc) using `timing = True` .
2017-05-03 07:31:29 +03:00
* Add different table styles for displaying output.
2015-02-01 02:41:11 +03:00
This can be changed via config file (~/.pgclirc) using `table_format = fancy_grid` .
2017-05-03 07:31:29 +03:00
* Add confirmation before printing results that have more than 1000 rows.
2015-01-22 08:45:38 +03:00
Bug Fixes:
----------
* Performance improvements to expanded view display (\x).
* Cast bytea files to text while displaying. (Thanks: `Daniel Rocco`_ )
* Added a list of reserved words that should be auto-escaped.
2015-01-30 09:23:09 +03:00
* Auto-completion is now case-insensitive.
2015-05-25 09:38:39 +03:00
* Fix the broken completion for multiple sql statements. (Thanks: `Darik Gamble`_ )
2015-01-22 08:45:38 +03:00
2015-01-15 04:12:02 +03:00
0.13.0
======
2015-01-14 09:16:41 +03:00
Features:
---------
2017-05-03 07:31:29 +03:00
* Add -d/--dbname option to the commandline.
2015-01-14 09:16:41 +03:00
eg: pgcli -d database
* Add the username as an argument after the database.
eg: pgcli dbname user
Bug Fixes:
----------
* Fix the crash when \c fails.
* Fix the error thrown by \d when triggers are present.
2015-05-25 09:38:39 +03:00
* Fix broken behavior on \?. (Thanks: `Darik Gamble`_ )
2015-01-14 09:16:41 +03:00
2015-01-13 10:58:51 +03:00
0.12.0
======
2015-01-10 11:51:45 +03:00
Features:
---------
2017-05-03 07:31:29 +03:00
* Upgrade to prompt_toolkit version 0.26 (Thanks: https://github.com/macobo)
2015-01-10 11:51:45 +03:00
* Adds Ctrl-left/right to move the cursor one word left/right respectively.
* Internal API changes.
2015-05-25 09:38:39 +03:00
* IPython integration through `ipython-sql`_ (Thanks: `Darik Gamble`_ )
2017-05-03 07:31:29 +03:00
* Add an ipython magic extension to embed pgcli inside ipython.
* Results from a pgcli query are sent back to ipython.
2015-01-11 03:48:38 +03:00
* Multiple sql statments in the same line separated by semi-colon. (Thanks: https://github.com/macobo)
2015-01-10 11:51:45 +03:00
.. _`ipython-sql`: https://github.com/catherinedevlin/ipython-sql
2015-01-11 03:48:38 +03:00
Bug Fixes:
----------
* Fix 'message' attribute not found exception in Python 3. (Thanks: https://github.com/GMLudo)
2015-01-11 04:06:57 +03:00
* Use the database username as the database name instead of defaulting to OS username. (Thanks: https://github.com/fpietka)
2015-01-12 11:40:10 +03:00
* Auto-completion for auto-escaped column/table names.
2015-01-13 10:55:46 +03:00
* Fix i-reverse-search to work in prompt_toolkit version 0.26.
2015-01-11 03:48:38 +03:00
2015-01-10 08:17:16 +03:00
0.11.0
2015-01-10 04:32:32 +03:00
======
Features:
---------
* Add \dn command. (Thanks: https://github.com/CyberDem0n)
* Add \x command. (Thanks: https://github.com/stuartquin)
* Auto-escape special column/table names. (Thanks: https://github.com/qwesda)
* Cancel a command using Ctrl+C. (Thanks: https://github.com/macobo)
* Faster startup by reading all columns and tables in a single query. (Thanks: https://github.com/macobo)
2015-05-25 09:38:39 +03:00
* Improved psql compliance with env vars and password prompting. (Thanks: `Darik Gamble`_ )
2015-01-10 04:32:32 +03:00
Bug Fixes:
----------
* Fix the broken behavior of \d+. (Thanks: https://github.com/macobo)
* Fix a crash during auto-completion. (Thanks: https://github.com/Erethon)
2018-05-14 23:28:30 +03:00
* Avoid losing pre_run_callables on error in editing. (Thanks: https://github.com/catherinedevlin)
2015-01-10 04:32:32 +03:00
Improvements:
-------------
* Faster test runs on TravisCI. (Thanks: https://github.com/macobo)
* Integration tests with Postgres!! (Thanks: https://github.com/macobo)
2015-01-15 04:07:29 +03:00
2016-06-20 01:15:55 +03:00
.. _`Amjith Ramanujam`: https://github.com/amjith
2018-03-29 19:58:43 +03:00
.. _`Andrew Kuchling`: https://github.com/akuchling
2015-05-25 09:38:39 +03:00
.. _`Darik Gamble`: https://github.com/darikg
2017-05-03 07:31:29 +03:00
.. _`Daniel Rocco`: https://github.com/drocco007
.. _`Jay Zeng`: https://github.com/jayzeng
2015-04-06 03:28:47 +03:00
.. _`蔡佳男`: https://github.com/xalley
2015-04-15 08:16:13 +03:00
.. _dp: https://github.com/ceocoder
2015-05-25 09:38:39 +03:00
.. _`Jonathan Slenders`: https://github.com/jonathanslenders
.. _`Dimitar Roustchev`: https://github.com/droustchev
.. _`François Pietka`: https://github.com/fpietka
2015-06-17 04:06:40 +03:00
.. _`Ali Kargı n`: https://github.com/sancopanco
2017-05-03 07:31:29 +03:00
.. _`Brett Atoms`: https://github.com/brettatoms
2015-08-03 03:09:17 +03:00
.. _`Nathan Jhaveri`: https://github.com/nathanjhaveri
.. _`Çağatay Yüksel`: https://github.com/cagatay
.. _`Michael Kaminsky`: https://github.com/mikekaminsky
2015-10-31 16:49:50 +03:00
.. _`inkn`: inkn
.. _`Johannes Hoff`: Johannes Hoff
.. _`Matheus Rosa`: Matheus Rosa
.. _`Artur Dryomov`: https://github.com/ming13
.. _`Stuart Quin`: https://github.com/stuartquin
.. _`Tamas Boros`: https://github.com/TamasNo1
.. _`Jacek Wielemborek`: https://github.com/d33tah
2016-05-12 08:59:49 +03:00
.. _`Rodrigo Ramírez Norambuena`: https://github.com/roramirez
2016-05-26 10:19:56 +03:00
.. _`Anthony Lai`: https://github.com/ajlai
2016-05-12 08:59:49 +03:00
.. _`Ari Summer`: Ari Summer
.. _`David Szotten`: David Szotten
.. _`Fernando L. Canizo`: Fernando L. Canizo
.. _`Tim Sanders`: https://github.com/Gollum999
.. _`Irina Truong`: https://github.com/j-bennet
.. _`James Munson`: https://github.com/jmunson
.. _`Fernando Mora`: https://github.com/fernandomora
.. _`Timothy Cleaver`: Timothy Cleaver
.. _`gtxx`: gtxx
2016-06-20 01:15:55 +03:00
.. _`Joakim Koljonen`: https://github.com/koljonen
.. _`Anže Pečar`: https://github.com/Smotko
2016-06-20 02:26:37 +03:00
.. _`Catherine Devlin`: https://github.com/catherinedevlin
2016-07-02 09:13:50 +03:00
.. _`Eric Wald`: https://github.com/eswald
2016-09-01 15:45:18 +03:00
.. _`avdd`: https://github.com/avdd
.. _`Adrian Dries`: Adrian Dries
.. _`Julien Rouhaud`: https://github.com/rjuju
.. _`Lim H`: Lim H
.. _`Tahir Butt`: Tahir Butt
.. _`Tiziano Müller`: https://github.com/dev-zero
.. _`Janus Troelsen`: https://github.com/ysangkok
2016-10-22 06:47:47 +03:00
.. _`Fabien Meghazi`: https://github.com/amigrave
.. _`Manuel Barkhau`: https://github.com/mbarkhau
2017-05-03 07:31:29 +03:00
.. _`Sergii`: https://github.com/foxyterkel
2016-10-22 06:47:47 +03:00
.. _`Emanuele Gaifas`: https://github.com/lelit
2017-03-12 02:23:48 +03:00
.. _`tk`: https://github.com/kanet77
2017-03-30 13:12:25 +03:00
.. _`Owen Stephens`: https://github.com/owst
2017-04-05 16:25:04 +03:00
.. _`Russell Davies`: https://github.com/russelldavies
2017-04-27 17:39:33 +03:00
.. _`Dick Marinus`: https://github.com/meeuw
2017-04-26 13:12:35 +03:00
.. _`Étienne Bersac`: https://github.com/bersace
2017-05-03 07:31:29 +03:00
.. _`Thomas Roten`: https://github.com/tsroten
2017-05-22 21:45:55 +03:00
.. _`Gustavo Castro`: https://github.com/gustavo-castro
2017-05-25 15:46:51 +03:00
.. _`Alexander Schmolck`: https://github.com/aschmolck
2017-08-20 16:33:46 +03:00
.. _`Andrew Speed`: https://github.com/AndrewSpeed
2017-12-05 06:12:11 +03:00
.. _`Dmitry B`: https://github.com/oxitnik
2017-12-16 09:47:22 +03:00
.. _`Marcin Sztolcman`: https://github.com/msztolcman
2017-12-17 02:46:55 +03:00
.. _`Isank`: https://github.com/isank
2017-12-21 07:44:36 +03:00
.. _`Bojan Delić`: https://github.com/delicb
2018-01-04 00:10:40 +03:00
.. _`Frederic Aoustin`: https://github.com/fraoustin
2018-05-14 19:23:28 +03:00
.. _`Jason Ribeiro`: https://github.com/jrib