kopia lustrzana https://github.com/simonw/datasette
219 wiersze
8.8 KiB
ReStructuredText
219 wiersze
8.8 KiB
ReStructuredText
Changelog
|
||
=========
|
||
|
||
0.13 (2017-11-24)
|
||
-----------------
|
||
- Search now applies to current filters.
|
||
|
||
Combined search into the same form as filters.
|
||
|
||
Closes `#133`_
|
||
|
||
- Much tidier design for table view header.
|
||
|
||
Closes `#147`_
|
||
|
||
- Added ``?column__not=blah`` filter.
|
||
|
||
Closes `#148`_
|
||
|
||
- Row page now resolves foreign keys.
|
||
|
||
Closes `#132`_
|
||
|
||
- Further tweaks to select/input filter styling.
|
||
|
||
Refs `#86`_ - thanks for the help, @natbat!
|
||
|
||
- Show linked foreign key in table cells.
|
||
|
||
- Added UI for editing table filters.
|
||
|
||
Refs `#86`_
|
||
|
||
- Hide FTS-created tables on index pages.
|
||
|
||
Closes `#129`_
|
||
|
||
- Add publish to heroku support [Jacob Kaplan-Moss]
|
||
|
||
``datasette publish heroku mydb.db``
|
||
|
||
Pull request `#104`_
|
||
|
||
- Initial implementation of ``?_group_count=column``.
|
||
|
||
URL shortcut for counting rows grouped by one or more columns.
|
||
|
||
``?_group_count=column1&_group_count=column2`` works as well.
|
||
|
||
SQL generated looks like this::
|
||
|
||
select "qSpecies", count(*) as "count"
|
||
from Street_Tree_List
|
||
group by "qSpecies"
|
||
order by "count" desc limit 100
|
||
|
||
Or for two columns like this::
|
||
|
||
select "qSpecies", "qSiteInfo", count(*) as "count"
|
||
from Street_Tree_List
|
||
group by "qSpecies", "qSiteInfo"
|
||
order by "count" desc limit 100
|
||
|
||
Refs `#44`_
|
||
|
||
- Added ``--build=master`` option to datasette publish and package.
|
||
|
||
The ``datasette publish`` and ``datasette package`` commands both now accept an
|
||
optional ``--build`` argument. If provided, this can be used to specify a branch
|
||
published to GitHub that should be built into the container.
|
||
|
||
This makes it easier to test code that has not yet been officially released to
|
||
PyPI, e.g.::
|
||
|
||
datasette publish now mydb.db --branch=master
|
||
|
||
- Implemented ``?_search=XXX`` + UI if a FTS table is detected.
|
||
|
||
Closes `#131`_
|
||
|
||
- Added ``datasette --version`` support.
|
||
|
||
- Table views now show expanded foreign key references, if possible.
|
||
|
||
If a table has foreign key columns, and those foreign key tables have
|
||
``label_columns``, the TableView will now query those other tables for the
|
||
corresponding values and display those values as links in the corresponding
|
||
table cells.
|
||
|
||
label_columns are currently detected by the ``inspect()`` function, which looks
|
||
for any table that has just two columns - an ID column and one other - and
|
||
sets the ``label_column`` to be that second non-ID column.
|
||
|
||
- Don't prevent tabbing to "Run SQL" button (`#117`_) [Robert Gieseke]
|
||
|
||
See comment in `#115`_
|
||
|
||
- Add keyboard shortcut to execute SQL query (`#115`_) [Robert Gieseke]
|
||
|
||
- Allow ``--load-extension`` to be set via environment variable.
|
||
|
||
- Add support for ``?field__isnull=1`` (`#107`_) [Ray N]
|
||
|
||
- Add spatialite, switch to debian and local build (`#114`_) [Ariel Núñez]
|
||
|
||
- Added ``--load-extension`` argument to datasette serve.
|
||
|
||
Allows loading of SQLite extensions. Refs `#110`_.
|
||
|
||
.. _#133: https://github.com/simonw/datasette/issues/133
|
||
.. _#147: https://github.com/simonw/datasette/issues/147
|
||
.. _#148: https://github.com/simonw/datasette/issues/148
|
||
.. _#132: https://github.com/simonw/datasette/issues/132
|
||
.. _#86: https://github.com/simonw/datasette/issues/86
|
||
.. _#129: https://github.com/simonw/datasette/issues/129
|
||
.. _#104: https://github.com/simonw/datasette/issues/104
|
||
.. _#44: https://github.com/simonw/datasette/issues/44
|
||
.. _#131: https://github.com/simonw/datasette/issues/131
|
||
.. _#115: https://github.com/simonw/datasette/issues/115
|
||
.. _#117: https://github.com/simonw/datasette/issues/117
|
||
.. _#107: https://github.com/simonw/datasette/issues/107
|
||
.. _#114: https://github.com/simonw/datasette/issues/114
|
||
.. _#110: https://github.com/simonw/datasette/issues/110
|
||
|
||
0.12 (2017-11-16)
|
||
-----------------
|
||
- Added ``__version__``, now displayed as tooltip in page footer (`#108`_).
|
||
- Added initial docs, including a changelog (`#99`_).
|
||
- Turned on auto-escaping in Jinja.
|
||
- Added a UI for editing named parameters (`#96`_).
|
||
|
||
You can now construct a custom SQL statement using SQLite named
|
||
parameters (e.g. ``:name``) and datasette will display form fields for
|
||
editing those parameters. `Here’s an example`_ which lets you see the
|
||
most popular names for dogs of different species registered through
|
||
various dog registration schemes in Australia.
|
||
|
||
.. _Here’s an example: https://australian-dogs.now.sh/australian-dogs-3ba9628?sql=select+name%2C+count%28*%29+as+n+from+%28%0D%0A%0D%0Aselect+upper%28%22Animal+name%22%29+as+name+from+%5BAdelaide-City-Council-dog-registrations-2013%5D+where+Breed+like+%3Abreed%0D%0A%0D%0Aunion+all%0D%0A%0D%0Aselect+upper%28Animal_Name%29+as+name+from+%5BAdelaide-City-Council-dog-registrations-2014%5D+where+Breed_Description+like+%3Abreed%0D%0A%0D%0Aunion+all+%0D%0A%0D%0Aselect+upper%28Animal_Name%29+as+name+from+%5BAdelaide-City-Council-dog-registrations-2015%5D+where+Breed_Description+like+%3Abreed%0D%0A%0D%0Aunion+all%0D%0A%0D%0Aselect+upper%28%22AnimalName%22%29+as+name+from+%5BCity-of-Port-Adelaide-Enfield-Dog_Registrations_2016%5D+where+AnimalBreed+like+%3Abreed%0D%0A%0D%0Aunion+all%0D%0A%0D%0Aselect+upper%28%22Animal+Name%22%29+as+name+from+%5BMitcham-dog-registrations-2015%5D+where+Breed+like+%3Abreed%0D%0A%0D%0Aunion+all%0D%0A%0D%0Aselect+upper%28%22DOG_NAME%22%29+as+name+from+%5Bburnside-dog-registrations-2015%5D+where+DOG_BREED+like+%3Abreed%0D%0A%0D%0Aunion+all+%0D%0A%0D%0Aselect+upper%28%22Animal_Name%22%29+as+name+from+%5Bcity-of-playford-2015-dog-registration%5D+where+Breed_Description+like+%3Abreed%0D%0A%0D%0Aunion+all%0D%0A%0D%0Aselect+upper%28%22Animal+Name%22%29+as+name+from+%5Bcity-of-prospect-dog-registration-details-2016%5D+where%22Breed+Description%22+like+%3Abreed%0D%0A%0D%0A%29+group+by+name+order+by+n+desc%3B&breed=pug
|
||
|
||
- Pin to specific Jinja version. (`#100`_).
|
||
- Default to 127.0.0.1 not 0.0.0.0. (`#98`_).
|
||
- Added extra metadata options to publish and package commands. (`#92`_).
|
||
|
||
You can now run these commands like so::
|
||
|
||
datasette now publish mydb.db \
|
||
--title="My Title" \
|
||
--source="Source" \
|
||
--source_url="http://www.example.com/" \
|
||
--license="CC0" \
|
||
--license_url="https://creativecommons.org/publicdomain/zero/1.0/"
|
||
|
||
This will write those values into the metadata.json that is packaged with the
|
||
app. If you also pass ``--metadata=metadata.json`` that file will be updated with the extra
|
||
values before being written into the Docker image.
|
||
- Added simple production-ready Dockerfile (`#94`_) [Andrew
|
||
Cutler]
|
||
- New ``?_sql_time_limit_ms=10`` argument to database and table page (`#95`_)
|
||
- SQL syntax highlighting with Codemirror (`#89`_) [Tom Dyson]
|
||
|
||
.. _#89: https://github.com/simonw/datasette/issues/89
|
||
.. _#92: https://github.com/simonw/datasette/issues/92
|
||
.. _#94: https://github.com/simonw/datasette/issues/94
|
||
.. _#95: https://github.com/simonw/datasette/issues/95
|
||
.. _#96: https://github.com/simonw/datasette/issues/96
|
||
.. _#98: https://github.com/simonw/datasette/issues/98
|
||
.. _#99: https://github.com/simonw/datasette/issues/99
|
||
.. _#100: https://github.com/simonw/datasette/issues/100
|
||
.. _#108: https://github.com/simonw/datasette/issues/108
|
||
|
||
0.11 (2017-11-14)
|
||
-----------------
|
||
- Added ``datasette publish now --force`` option.
|
||
|
||
This calls ``now`` with ``--force`` - useful as it means you get a fresh copy of datasette even if Now has already cached that docker layer.
|
||
- Enable ``--cors`` by default when running in a container.
|
||
|
||
0.10 (2017-11-14)
|
||
-----------------
|
||
- Fixed `#83`_ - 500 error on individual row pages.
|
||
- Stop using sqlite WITH RECURSIVE in our tests.
|
||
|
||
The version of Python 3 running in Travis CI doesn't support this.
|
||
|
||
.. _#83: https://github.com/simonw/datasette/issues/83
|
||
|
||
0.9 (2017-11-13)
|
||
----------------
|
||
- Added ``--sql_time_limit_ms`` and ``--extra-options``.
|
||
|
||
The serve command now accepts ``--sql_time_limit_ms`` for customizing the SQL time
|
||
limit.
|
||
|
||
The publish and package commands now accept ``--extra-options`` which can be used
|
||
to specify additional options to be passed to the datasite serve command when
|
||
it executes inside the resulting Docker containers.
|
||
|
||
0.8 (2017-11-13)
|
||
----------------
|
||
- V0.8 - added PyPI metadata, ready to ship.
|
||
- Implemented offset/limit pagination for views (`#70`_).
|
||
- Improved pagination. (`#78`_)
|
||
- Limit on max rows returned, controlled by ``--max_returned_rows`` option. (`#69`_)
|
||
|
||
If someone executes 'select * from table' against a table with a million rows
|
||
in it, we could run into problems: just serializing that much data as JSON is
|
||
likely to lock up the server.
|
||
|
||
Solution: we now have a hard limit on the maximum number of rows that can be
|
||
returned by a query. If that limit is exceeded, the server will return a
|
||
``"truncated": true`` field in the JSON.
|
||
|
||
This limit can be optionally controlled by the new ``--max_returned_rows``
|
||
option. Setting that option to 0 disables the limit entirely.
|
||
|
||
.. _#70: https://github.com/simonw/datasette/issues/70
|
||
.. _#78: https://github.com/simonw/datasette/issues/78
|
||
.. _#69: https://github.com/simonw/datasette/issues/69
|