* Use the same redirect logic for delete as create/edit. This means you can now use `extra__redirect` and `extra__redirect_to` for delete too
* When stopping the live editing, a full runserver restart is now triggered so you get the new code you just edited
3.0.0
~~~~~~~~~~~~~~~~~~
* Styles have a new `sub_styles` parameter. This change greatly simplifies how you set up a custom style for your project if you want to customize the query form.
* `IOMMI_DEFAULT_STYLE` can now be a `Style` object
* Breaking change: The horizontal styles are removed and replaced with the substyle feature. If you use for example `'bootstrap_horizontal'`, you need to replace it with `'horizontal'`.
* Mixed case filter fields didn't work
* Respect browsers preferred dark/light mode for profiler and sql tracer
2.8.12
~~~~~~~~~~~~~~~~~~~
* Major bug: tables based on querysets would implicitly use the django result cache. This resulted in the contents of the table not changing until after process restart
2.8.11
~~~~~~~~~~~~~~~~~~~
* `Fragment` should have `with_meta`
* Fixed nesting tables inside forms. This would previously crash with a strange error message.
* Avoid infinite loop in sort_after on too large indices
2.8.10
~~~~~~~~~~~~~~~~~~~
* Read defaults from model for initial of fields
* Increased log level of SQL logging from 11 to 21 (DEBUG+1 -> INFO+1)
* Added null factory for `JSONField`
* Fixed live editing code to use the same logic as 'jump to code' to find the code
* Fixed one case where live edit broke
* Prettier debug menu for live editing
* Prettier query help text (thanks new contributor flying_sausages!)
2.8.9
~~~~~~~~~~~~~~~~~~
* Fixed bad html escape in SQL trace magnitude graph (this is not a security problem, as it's a developer tool with very restricted access)
* Renamed freetext to freetext_search. It was too easy to collide with a user defined model with a field called freetext