* Removed unnessesary id columns from relation tables.
* Attempt to improve the SQL query generated by search, especially on
multiple negative tags/places/people.
* Put less semi-duplicate data in error log.
* Refactored fetch_places to make `get_or_create_place` logicaly self
contained.
* Database access is now async (PR #10).
- Use `diesel-async` with deadpool feature for database access.
- A bunch of previously synchronous handlers are now async.
- Some `.map` and simliar replaced with `if` blocks or `for` loops.
* Refactored query parsing and facet handling in search (PR #11).
Should be more efficient now, especially for negative facets.
* Improved diagnosics and date format flexibility in parsing exif data.
* Avoid an extra query for the positions in search and splitlist.
* Links by time is 404 if no images found in query.
* Some random cleanup and refactoring.
- Use `diesel-async` with deadpool feature for database access.
- A bunch of previously synchronous handlers are now async.
- Some `.map` and simliar replaced with `if` blocks or `for` loops.
* Check for null bytes in autocomplete patterns, make them result in a
400 bad request rather than a 500 internal server error.
* Changed zoom-on-click to use fullscreen. I think that is an
improvement especially on mobile.
* Improved logging by using tracing and tracing-subscriber rather than
log and env_logger.
* Four more kinds of OSM areas to recognize.
* Added a favicon.
* Update diesel to 2.0.0: Mainly most operations now needs a `&mut
PgConnection`. Also, getting parts of dates are now done by sql
functions.
* Update ructe to 0.16.0.
* Update clap to 4.0.18.
* Add this changelog.
Improve reading the date of images. Prefer camera times over gps
times, since sometimes and old position is used, and than that old
time is saved in gps time field.