Introducing (Tag-based) Search
Bugsink 1.4.0 [introduces tag-based search](https://www.bugsink.com/blog/introducing-search/).
* Support for searching both **Issues** and individual **Events**.
* Search is built entirely on **tags** (both user-supplied and deduced from event properties).
* **Simple query language**: `key:value` pairs for structured filtering.
* Search is **implemented directly in the database**, ensuring a simple and efficient architecture.
Because tags take such a key role in the implementation of search, the introduction of search is coupled with per-issue
tag overviews, see 36 & 12. i.e. per issue pages show a breakdown-by-tag; and a special page (showing up to 25 values)
for tags is introduced.
NOTE: when upgrading to 1.4.0 tags for already-seen events are not automatically calculated (for large databases, this
could make migrating very annoying). You can either wait a while (the tags for as of yet unseen events will be added)
or run the `init_tags` command to determine the tags for the already-existing issues and events.
Further Features & Fixes
* Postgres: experimental support: our testsuite now runs against postgres, and configuring the Docker image to run with
a postgres backend is possible. No further testing has been done, but this at least makes such experiments possible.
See 21
* Createsuperuser pre-start: don't do that when _any_ users exist in the DB (Fixes 54)
* Show remaining (in db, AKA 'available') number of events in the issue-list (when some events have been evicted from
the DB, the issue list shows the _actually availale_ number of events in a smaller font next to the total seen number.
* Details page: be robust for top-level message-as-string (Fixes 55)
* Add 'level' to logentry event details
* Issue.calculated_* fields: fix lengths (fixes an issue on MySQL)