# CHANGELOG
## Emoji Cheatsheet
- :pencil2: doc updates
- :bug: when fixing a bug
- :rocket: when making general improvements
- :white_check_mark: when adding tests
- :arrow_up: when upgrading dependencies
- :tada: when adding new features
# Version History
## v0.62.0
- :bug: Improved session handling to ensure server restarts without `HECATE_SECRET` don't lock session cookie
## v0.61.2
- :bug: Database Sandbox arg fix
## v0.61.1
- :bug: Dynamic PostGIS/PostgreSQL version error message
- :rocket: only test version of write DB connection
## v0.61.0
- :tada: Optimize Boundary Stats by subdividing large/irregularly shaped geometries for faster indexed retrieval.
- :rocket: Redefine database connections into `database`, `database_replica`, `database_sandbox`
## v0.60.0
- :tada: Add postgres/posgis version checking to database checks
## v0.59.1
- :bug: Optimize Bounds#Get with `ST_Subdivide`
## v0.59.0
- :tada: Feature query by lat/lng.
## v0.58.1
- :rocket: Reduce `clone()` calls where possible to decrease allocation calls
- :rocket: Rename `xml` => `osm` mod to better reflect contents
## v0.58.0
- :arrow_up: Update to `geojson@13` which adds support for better representation of `Feature::Id` values
- :tada: Validate coordinates on upload (180,-180,90,-90)
- [UI] Fix styles overflow in admin panel
## v0.57.0
- :tada: Add `HECATE_SECRET` option for providing a 256 bit base64 key for cookie signing (`openssl rand --base64 32`)
## v0.56.0
- :bug: Explicitly set the cookie path
## v0.55.1
- :arrow_up: `Rocket@0.4.0`
## v0.55.0
- :tada: Add standard error class to store and parse errors from across the server
- :rocket: Change the majority of custom error objects to use the new error class
- :rocket: Remove unneeded `extern crate` calls
## v0.54.0
- :arrow_up: [BREAKING] Update to `nightly-2018-12-01` per README instructions to compile
- :arrow_up: Update Rocket to RC2
- :arrow_up: General dep updates
## v0.53.0
- :tada: Add new `/api/data/stats/regen` endpoint
- :rocket: Make `hecate` ROLE database owner for regen endpoint
## v0.52.0
- :rocket: Add filter consistency to users and bounds APIs
- :tada: `users` has `limit` & `filter` param
- :tada: `bounds` has `limit` & `filter` param
- :rocket: `users` & `bounds` no longer require 2 function with rocket@0.4
## v0.51.0
- :tada: Add database check to ensure connections work before starting server
## v0.50.1
- :bug: Fix regression where Data => String is not supported in release builds
## v0.50.0
- :arrow_up: [BREAKING] Update to `nightly-2018-11-19` per README instructions to compile
- :arrow_up: Update to Rocket@0.4
## v0.49.3
- [UI] Much better session handling, refreshing the page no longer marks you as logged out, when you actually still have a valid session cookie!
- [UI] Add User Listing to admin panel
- [UI] Add Self Modal to view your own account information when signed in
- [UI] Add clickable usernames to open a user's public profile
- [UI] Load auth settings at startup to allow components to conditionally request content - avoiding 401 errors where possible by telling the user they aren't logged in/aren't admin, etc.
- [UI] Fix turf bbox calculation bug in Delta Panel
- [UI] Fix Foot component error in Features Panel
## v0.49.2
- [UI] More whitespace fixes in deltas panel
## v0.49.1
- [UI] Fix spacing on main toolbar
- [UI] Fix whitespace & overflow on delta message
## v0.49.0
- :rocket: Make fallback for `database_read` flag
- :tada: Schema now creates a `hecate` & `hecate_read` user instead of using the `postgres` user by default
## v0.48.3
- :arrow_up: Update to latest deps
## v0.48.2
- :rocket: [UI] Show JOSM changeset messages in delta panel
## v0.48.1
- :rocket: [UI] Add cursor change on hover events in mapbox-gl
# v0.48.0
- :rocket: Add endpoint for clearing the tile cache
- :rocket: Add UI Fxn to clear tile cache
## v0.47.0
- :bug: Meta Set was incorrectly set to check meta::list permission
- :tada: [UI] Add new server settings - allowing management of default styles
- :tada: [UI] Add default styles switching
## v0.46.0
- :tada: Add support for configurable web workers to allow custom levels of parallelism
## v0.45.0
- :rocket: Add EOT Character at end of streaming API calls
## v0.44.1
- :rocket: Add redirect from `/admin` => `/admin/index.html`
## v0.44.0
- :tada: Allow creating and deleting bounds programatically
## v0.43.0
- :tada: Add an endpoint for allowing an admin to add admins who can add more admins
- :tada: Add endpoint for admins to remove other admins
- :tada: Add endpoint for searching list of users
## v0.42.0
- :rocket: Add generic server meta store
## v0.41.0
- :rocket: Add Data Statistics API for Boundaries
## v0.40.0
- :rocket: Add Data Statistics API
## v0.39.0
- :bug: [UI] Ensure protocol (http(s)) is respected
- :rocket: [UI] Add paging fxn for deltas panel
- :bug: [UI] Ensure panels don't collide with mapbox logo
## v0.38.1
- :bug: Fix version mismatch
## v0.38.0
- :rocket: All query style endpoints now use read-only postgres account
- :tada: Allow multiple read-only postgres connections & load balancing between them
## v0.37.2
- :rocket: remove all `unwrap()` `feature` mod
## v0.37.1
- :white_check_mark: Add test for missing Action on features
- :bug: :white_check_mark: Ensure non-string `key` values error gracefully
## v0.37.0
- :rocket: Ensure app API requests include domain cookies
## v0.36.1
- :rocket: [UI] Add style deletion
- :bug: [UI] Ensure feature requests didn't poll infinitely
## v0.36.0
- :rocket: Rewrite web UI to use Vue Components for better readability
- :tada: Add logout endpoint for deletion of session token
## v0.35.2
- :bug: Take 2 - Use `0.0.0.0` to make docker a happy camper
## v0.35.1
- :bug: Use `localhost` to make docker a happy camper
## v0.35.0
- :rocket: Remove `Rocket.toml`, replacing with CLI options
## v0.34.0
- :rocket: Add CLI option for manually specifying read only db connection
## v0.33.0
- :tada: Add arbitrary SQL query endpoint
## v0.32.1
- :white_check_mark: Add `FeatureCollection` force tests
## v0.32.0
- :tada: Add `force: true` option for force overwriting `create` features.
## v0.31.0
- :rocket: `Feature` and `FeatureCollection` uploads now will return the specific feature/id if there is an error
## v0.30.1
- :arrow_up: Update to latest deps
## v0.30.0
- :bug: Ensure `affected` array is the actual feature id on create and not the user specified id
- :rocket: Throw an error if a `version` is provided on create
## v0.29.0
- :rocket: Allow querying features by `key` value in addition to their assigned id.
## v0.28.0
- :tada: Add `start`, `end` and `limit` options to delta list API
## v0.27.2
- :arrow_up: Remove unused `geo` dependency
## v0.27.1
- :bug: A `key: null` JSON property on an uploaded feature should not return a `Duplicate Key Value` error when attempting an upload. Duplicate `null` is allowed
## v0.27.0
- :tada: Add optional `key` value to allow the user to specify a duplication avoidance policy
## v0.26.0
- :tada: Add new `action: restore` on Features to be able to restore previously deleted features to the given id
## v0.25.0
- :white_check_mark: Add a bunch of tests around the `deltas` endpoints
- :bug: change behavior of `?offset=` param to return the anticipated results
## v0.24.1
- :bug: Fix session token bug preventing style creation
- :bug: (UI) Fix stringification of function of new style creation
## v0.24.0
- :tada: Add `GET /api/auth` endpoint for retrieving overview of auth settings
## v0.23.0
- :rocket: Consistent Streaming Line-Delimited GeoJSON Output
## v0.22.0
- :tada: Add data clone API
## v0.21.1
- :rocket: Refector `BoundsStream` into a new generic `PGStream`
## v0.21.0
- :tada: Add custom authentication config
## v0.20.3
- :rocket: Migrate all BoundsStream implementation details into the `bounds` mod for cleaner `lib.rs` file
## v0.20.2
- :rocket: Add ability to toggle style access `public/private` via web UI
## v0.20.1
- :bug: Fix negative feature ids entering deltas from xml_shim
## v0.20.0
- :tada: Add feature history endpoint
## v0.19.0
- :tada: Add API Meta endpoint
## v0.18.0
- :arrow_up: `rust@nightly-2018-05-05`
- :arrow_up: Update all deps to latest versions
## v0.17.0
- :tada: Add `GET /api/tiles/<z>/<x>/<y>/meta` endpoint & assoc. tests
## v0.16.0
- :tada: Add Styles UI
- :rocket: Return Style ID on create
- :rocket: Return `uid` on session token
## v0.15.0
- :tada: Add endpoint for manually regenerating Mapbox Vector Tiles
## v0.14.0
- :tada: Add mapbox-gl-js style related endpoints
## v0.13.0
- :rocket: Rewrite `bounds` endpoint to use in-memory streams
## v0.12.2
- :bug: Fix Web UI timezone bug
## v0.12.1
- :bug: Unescape XML chars when uploading via OSMXML shim
## v0.12.0
- :rocket: Add support for JSON in OSM XML
- :tada: Add schema endpoint
## v0.11.0
- :rocket: Add time based TileCache for faster map rendering
## v0.10.1
- :rocket: Better visualization of Arrays & Object properties in web UI
## v0.10.0
- :rocket: `hecate::start` is now exposed via lib. Note thta it is blocking, per the rocket docs
- :white_check_mark: Each test now creates and manages its own server instance
## v0.9.0
- :rocket: Add JSON Schema Validation
## v0.8.0
- :rocket: Add login fxn to web UI
- :rocket: Add register fxn to web UI
- :tada: Add user info endpoint
- :tada: Add user session endpoint
- :rocket: Refactor Auth object to support Basic or Cookie auth
## v0.7.3
- :rocket: Allow downloading bounds files via web UI
## v0.7.2
- :rocket: Improvements to the web UI
## v0.7.1
- :rocket: View list of bounds via the web UI
## v0.7.0
- :white_check_mark: Rewrite all JS tests in pure rust w/ reqwest
- :rocket: Limit number of features in MVT at low zooms
## v0.6.1
- :bug: Use the `location.host` prop for all API calls in admin interface instead of hardcoded port
## v0.6.0
- :tada: Delta APIs
- :tada: Usable Web API
## v0.5.0
- :rocket: Add support for `multipoint`, `polygon`, `multilinestrint`, `multipolygon` via XML download shim
## v0.4.0
- :tada: Service Vector Tiles directly from data for web interface
- :pencil2: Doc new tile endpoint and admin interface
## v0.3.1
- :pencil2: Huge doc update on endpoints & setting up
- :rocket: Update a ton of install & Docker instructions
## v0.3.0
- :tada: Add bounds API
## v0.2.0
- :tada: Authentication on all endpoints!
## v0.1.3
- :rocket: Add CLI Options
## v0.1.2
- :bug: Track package.json & Cargo.toml
## v0.1.1
- :tada: `409 CONFLICT` errors are now thrown when a changeset is closed that the caller tries to access/append to
## v0.1.0
- :rocket: The first general release
- Basic OSMXML support for points & sketchy line/simply poly suport
- Full delta/geojson support
- opening/committing/finalizing deltas
- Pretty thorough suite of JS tests for JS integration
- Basic Rust tests for node/way/rel objects