Change Log
[v3.0.0](https://github.com/vapor-ware/synse-server/tree/v3.0.0) (2020-03-30)
[Full Changelog](https://github.com/vapor-ware/synse-server/compare/v3.0.0-alpha.19...v3.0.0)
**Implemented enhancements:**
- add capability of filtering scan / reads by plugin [\356](https://github.com/vapor-ware/synse-server/issues/356)
**Fixed bugs:**
- plugin timeout error on read fails to update plugin state to inactive [\379](https://github.com/vapor-ware/synse-server/issues/379)
**Closed issues:**
- clean up unit tests [\373](https://github.com/vapor-ware/synse-server/issues/373)
- package example deployments with docker app [\306](https://github.com/vapor-ware/synse-server/issues/306)
**Merged pull requests:**
- Synse Server v3 release [\383](https://github.com/vapor-ware/synse-server/pull/383) ([edaniszewski](https://github.com/edaniszewski))
- Updates for the pending Synse v3 release [\382](https://github.com/vapor-ware/synse-server/pull/382) ([edaniszewski](https://github.com/edaniszewski))
- feat: update plugin refresh to also update active/inactive state [\381](https://github.com/vapor-ware/synse-server/pull/381) ([edaniszewski](https://github.com/edaniszewski))
- fix bug where plugin active state was not being set on timeout error for reads [\380](https://github.com/vapor-ware/synse-server/pull/380) ([edaniszewski](https://github.com/edaniszewski))
- various cleanup, formatting, and general polishing work items [\378](https://github.com/vapor-ware/synse-server/pull/378) ([edaniszewski](https://github.com/edaniszewski))
- feat: add metrics export for plugin monitoring, update dashboard [\377](https://github.com/vapor-ware/synse-server/pull/377) ([edaniszewski](https://github.com/edaniszewski))
- test: cleaning up + normalizing test definitions [\376](https://github.com/vapor-ware/synse-server/pull/376) ([edaniszewski](https://github.com/edaniszewski))
- feat: allow reads to be filtered by originating plugin [\375](https://github.com/vapor-ware/synse-server/pull/375) ([edaniszewski](https://github.com/edaniszewski))
- feat: omit an empty 'transaction' field from write/txn reflected context [\374](https://github.com/vapor-ware/synse-server/pull/374) ([edaniszewski](https://github.com/edaniszewski))
- feat: update to plugin reconnect mechanics [\372](https://github.com/vapor-ware/synse-server/pull/372) ([edaniszewski](https://github.com/edaniszewski))
- feat: update request/reponse logging, disable sanic access log [\370](https://github.com/vapor-ware/synse-server/pull/370) ([edaniszewski](https://github.com/edaniszewski))
- update: remove i18n, as it is unused and implemented inconsistently [\369](https://github.com/vapor-ware/synse-server/pull/369) ([edaniszewski](https://github.com/edaniszewski))
- feat: update docker image to py38 [\368](https://github.com/vapor-ware/synse-server/pull/368) ([edaniszewski](https://github.com/edaniszewski))
- ci: replace tag regex with buildingTag fn [\367](https://github.com/vapor-ware/synse-server/pull/367) ([edaniszewski](https://github.com/edaniszewski))
[v3.0.0-alpha.19](https://github.com/vapor-ware/synse-server/tree/v3.0.0-alpha.19) (2020-02-21)
[Full Changelog](https://github.com/vapor-ware/synse-server/compare/v3.0.0-alpha.18...v3.0.0-alpha.19)
**Implemented enhancements:**
- make plugin refresh task period configurable [\358](https://github.com/vapor-ware/synse-server/issues/358)
**Fixed bugs:**
- Transaction 404 about 2 seconds after a write. [\363](https://github.com/vapor-ware/synse-server/issues/363)
**Closed issues:**
- investigate: plugins showing up as inactive upon redeploy [\357](https://github.com/vapor-ware/synse-server/issues/357)
**Merged pull requests:**
- updates to device cache rebuild and plugin refresh [\366](https://github.com/vapor-ware/synse-server/pull/366) ([edaniszewski](https://github.com/edaniszewski))
- bugfix: fix issues with txn cache ttl being set as well as rebuild clearing the cache [\365](https://github.com/vapor-ware/synse-server/pull/365) ([edaniszewski](https://github.com/edaniszewski))
- bugfix: use a shared loop between sanic and asyncio components [\364](https://github.com/vapor-ware/synse-server/pull/364) ([edaniszewski](https://github.com/edaniszewski))
[v3.0.0-alpha.18](https://github.com/vapor-ware/synse-server/tree/v3.0.0-alpha.18) (2020-02-05)
[Full Changelog](https://github.com/vapor-ware/synse-server/compare/v3.0.0-alpha.17...v3.0.0-alpha.18)
**Merged pull requests:**
- V3/refresh on cache rebuild [\361](https://github.com/vapor-ware/synse-server/pull/361) ([edaniszewski](https://github.com/edaniszewski))
- feat: make plugin refresh interval configurable [\360](https://github.com/vapor-ware/synse-server/pull/360) ([edaniszewski](https://github.com/edaniszewski))
[v3.0.0-alpha.17](https://github.com/vapor-ware/synse-server/tree/v3.0.0-alpha.17) (2020-02-03)
[Full Changelog](https://github.com/vapor-ware/synse-server/compare/v3.0.0-alpha.16...v3.0.0-alpha.17)
**Closed issues:**
- v3: plugin discovery does not seem to register all found plugins [\355](https://github.com/vapor-ware/synse-server/issues/355)
[v3.0.0-alpha.16](https://github.com/vapor-ware/synse-server/tree/v3.0.0-alpha.16) (2020-01-30)
[Full Changelog](https://github.com/vapor-ware/synse-server/compare/v3.0.0-alpha.15...v3.0.0-alpha.16)
**Fixed bugs:**
- plugin refresh does not behave correctly [\349](https://github.com/vapor-ware/synse-server/issues/349)
**Closed issues:**
- investigate: potential bug resetting plugin to active on refresh [\351](https://github.com/vapor-ware/synse-server/issues/351)
**Merged pull requests:**
- add a request ID for all logs generated during request handling [\354](https://github.com/vapor-ware/synse-server/pull/354) ([edaniszewski](https://github.com/edaniszewski))
- rework logging for additional context and to include sanic logs [\353](https://github.com/vapor-ware/synse-server/pull/353) ([edaniszewski](https://github.com/edaniszewski))
- bugfix: already registered plugin was not being set to active on refresh [\352](https://github.com/vapor-ware/synse-server/pull/352) ([edaniszewski](https://github.com/edaniszewski))
[v3.0.0-alpha.15](https://github.com/vapor-ware/synse-server/tree/v3.0.0-alpha.15) (2020-01-28)
[Full Changelog](https://github.com/vapor-ware/synse-server/compare/v3.0.0-alpha.14...v3.0.0-alpha.15)
**Merged pull requests:**
- bugfix: update plugin refresh triggers, gate actions on plugin status [\350](https://github.com/vapor-ware/synse-server/pull/350) ([edaniszewski](https://github.com/edaniszewski))
[v3.0.0-alpha.14](https://github.com/vapor-ware/synse-server/tree/v3.0.0-alpha.14) (2020-01-17)
[Full Changelog](https://github.com/vapor-ware/synse-server/compare/v3.0.0-alpha.13...v3.0.0-alpha.14)
**Merged pull requests:**
- update example dashboard - prometheus labels had changed [\348](https://github.com/vapor-ware/synse-server/pull/348) ([edaniszewski](https://github.com/edaniszewski))
[v3.0.0-alpha.13](https://github.com/vapor-ware/synse-server/tree/v3.0.0-alpha.13) (2019-11-20)
[Full Changelog](https://github.com/vapor-ware/synse-server/compare/v3.0.0-alpha.12...v3.0.0-alpha.13)
**Merged pull requests:**
- various bugfixes around tag processing [\347](https://github.com/vapor-ware/synse-server/pull/347) ([edaniszewski](https://github.com/edaniszewski))
- add type hinting, update docstrings [\346](https://github.com/vapor-ware/synse-server/pull/346) ([edaniszewski](https://github.com/edaniszewski))
- Update logging messages and update i18n [\345](https://github.com/vapor-ware/synse-server/pull/345) ([edaniszewski](https://github.com/edaniszewski))
[v3.0.0-alpha.12](https://github.com/vapor-ware/synse-server/tree/v3.0.0-alpha.12) (2019-11-08)
[Full Changelog](https://github.com/vapor-ware/synse-server/compare/v3.0.0-alpha.11...v3.0.0-alpha.12)
**Closed issues:**
- websocket message handler cleanup breaks with websockets 8.0 [\340](https://github.com/vapor-ware/synse-server/issues/340)
**Merged pull requests:**
- bugfix: cannot get response size from body attr for streamed responses [\344](https://github.com/vapor-ware/synse-server/pull/344) ([edaniszewski](https://github.com/edaniszewski))
- fix bug in websocket close callback [\343](https://github.com/vapor-ware/synse-server/pull/343) ([edaniszewski](https://github.com/edaniszewski))
[v3.0.0-alpha.11](https://github.com/vapor-ware/synse-server/tree/v3.0.0-alpha.11) (2019-10-28)
[Full Changelog](https://github.com/vapor-ware/synse-server/compare/v3.0.0-alpha.10...v3.0.0-alpha.11)
**Closed issues:**
- implement custom metrics exporter [\339](https://github.com/vapor-ware/synse-server/issues/339)
**Merged pull requests:**
- exclude tests from the release package [\342](https://github.com/vapor-ware/synse-server/pull/342) ([edaniszewski](https://github.com/edaniszewski))
- custom metrics for application monitoring [\341](https://github.com/vapor-ware/synse-server/pull/341) ([edaniszewski](https://github.com/edaniszewski))
- update sanic-prometheus to use full url label [\338](https://github.com/vapor-ware/synse-server/pull/338) ([edaniszewski](https://github.com/edaniszewski))
[v3.0.0-alpha.10](https://github.com/vapor-ware/synse-server/tree/v3.0.0-alpha.10) (2019-10-21)
[Full Changelog](https://github.com/vapor-ware/synse-server/compare/v3.0.0-alpha.9...v3.0.0-alpha.10)
**Merged pull requests:**
- allow metrics to be enabled via env [\337](https://github.com/vapor-ware/synse-server/pull/337) ([edaniszewski](https://github.com/edaniszewski))
[v3.0.0-alpha.9](https://github.com/vapor-ware/synse-server/tree/v3.0.0-alpha.9) (2019-10-11)
[Full Changelog](https://github.com/vapor-ware/synse-server/compare/v3.0.0-alpha.8...v3.0.0-alpha.9)
**Merged pull requests:**
- websocket api bugfixes [\336](https://github.com/vapor-ware/synse-server/pull/336) ([edaniszewski](https://github.com/edaniszewski))
[v3.0.0-alpha.8](https://github.com/vapor-ware/synse-server/tree/v3.0.0-alpha.8) (2019-09-09)
[Full Changelog](https://github.com/vapor-ware/synse-server/compare/v3.0.0-alpha.7...v3.0.0-alpha.8)
**Merged pull requests:**
- add metadata to scan output [\335](https://github.com/vapor-ware/synse-server/pull/335) ([edaniszewski](https://github.com/edaniszewski))
[v3.0.0-alpha.7](https://github.com/vapor-ware/synse-server/tree/v3.0.0-alpha.7) (2019-08-19)
[Full Changelog](https://github.com/vapor-ware/synse-server/compare/v3.0.0-alpha.6...v3.0.0-alpha.7)
[v3.0.0-alpha.6](https://github.com/vapor-ware/synse-server/tree/v3.0.0-alpha.6) (2019-08-09)
[Full Changelog](https://github.com/vapor-ware/synse-server/compare/v3.0.0-alpha.5...v3.0.0-alpha.6)
**Closed issues:**
- write data b64 encoded in response [\330](https://github.com/vapor-ware/synse-server/issues/330)
- update tag query param behavior to allow for additive tag specification [\329](https://github.com/vapor-ware/synse-server/issues/329)
**Merged pull requests:**
- update tag query behavior to allow for multiple tag groups [\334](https://github.com/vapor-ware/synse-server/pull/334) ([edaniszewski](https://github.com/edaniszewski))
- workaround for tox not invalidating cache when reqs file changes [\332](https://github.com/vapor-ware/synse-server/pull/332) ([edaniszewski](https://github.com/edaniszewski))
- update synse-grpc to 3.0.0-alpha.3 for proper b64 decode on grpc write data [\331](https://github.com/vapor-ware/synse-server/pull/331) ([edaniszewski](https://github.com/edaniszewski))
[v3.0.0-alpha.5](https://github.com/vapor-ware/synse-server/tree/v3.0.0-alpha.5) (2019-08-06)
[Full Changelog](https://github.com/vapor-ware/synse-server/compare/v3.0.0-alpha.4...v3.0.0-alpha.5)
**Merged pull requests:**
- fix a typo in the build release script [\328](https://github.com/vapor-ware/synse-server/pull/328) ([edaniszewski](https://github.com/edaniszewski))
[v3.0.0-alpha.4](https://github.com/vapor-ware/synse-server/tree/v3.0.0-alpha.4) (2019-08-06)
[Full Changelog](https://github.com/vapor-ware/synse-server/compare/v2.2.11...v3.0.0-alpha.4)
**Merged pull requests:**
- fix bug in release script which prevented images from being pushed [\327](https://github.com/vapor-ware/synse-server/pull/327) ([edaniszewski](https://github.com/edaniszewski))
\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*