This release brings many changes since the previous 1.4 releases, including a complete re-architecting to make Synse Server more generalized by using plugins.
See the changelog below for more detail.
For more information on Synse Server, see:
- [API Documentation](https://vapor-ware.github.io/synse-server/)
- [User Guide](http://synse-server.readthedocs.io/en/latest/)
Change Log
[v2.0.0](https://github.com/vapor-ware/synse-server/tree/v2.0.0) (2018-05-07)
[Full Changelog](https://github.com/vapor-ware/synse-server/compare/v1.4.1-alpha...v2.0.0)
**Implemented enhancements:**
- update end to end tests [\141](https://github.com/vapor-ware/synse-server/issues/141)
- remove babel as a dependency in setup.py [\140](https://github.com/vapor-ware/synse-server/issues/140)
- get API docs hosted [\128](https://github.com/vapor-ware/synse-server/issues/128)
- get emulator binary as part of image build [\124](https://github.com/vapor-ware/synse-server/issues/124)
- add coverage reporting to CI / badge to README [\99](https://github.com/vapor-ware/synse-server/issues/99)
- update config with plugins found in the default location [\89](https://github.com/vapor-ware/synse-server/issues/89)
- Convert server API to k8s service and route connected clients properly [\85](https://github.com/vapor-ware/synse-server/issues/85)
- 'fan speed' should become 'percent' for fan writes [\74](https://github.com/vapor-ware/synse-server/issues/74)
- create synse server docker image 'lite' tag for synse-server without emulator [\64](https://github.com/vapor-ware/synse-server/issues/64)
- run integration tests in CI [\59](https://github.com/vapor-ware/synse-server/issues/59)
- improve configuration field access pattern [\54](https://github.com/vapor-ware/synse-server/issues/54)
- re-structure end-to-end tests [\52](https://github.com/vapor-ware/synse-server/issues/52)
- clean up test structure / test fixtures [\51](https://github.com/vapor-ware/synse-server/issues/51)
- make device registration \(e.g. metainfo scan\) asynchronous [\50](https://github.com/vapor-ware/synse-server/issues/50)
- should there be an endpoint to list cached transactions [\42](https://github.com/vapor-ware/synse-server/issues/42)
- add a TTL to transaction cache entries [\41](https://github.com/vapor-ware/synse-server/issues/41)
- Synse Server release workflow in CI [\40](https://github.com/vapor-ware/synse-server/issues/40)
- consider setup with pipenv [\39](https://github.com/vapor-ware/synse-server/issues/39)
- rework the dev/test cycle \(and with it, simplify CI\) [\38](https://github.com/vapor-ware/synse-server/issues/38)
- add 'lock' alias route to 2.0 [\35](https://github.com/vapor-ware/synse-server/issues/35)
- remove synse\_plugin tarball from v2.0 branch, install tarball from GitHub instead [\33](https://github.com/vapor-ware/synse-server/issues/33)
- create readiness / liveness probe for synse server [\31](https://github.com/vapor-ware/synse-server/issues/31)
- reduce default gRPC timeout in configurations [\30](https://github.com/vapor-ware/synse-server/issues/30)
- Emulator support for other devices. [\29](https://github.com/vapor-ware/synse-server/issues/29)
**Fixed bugs:**
- move ARGs in Dockerfile to improve cache performance [\150](https://github.com/vapor-ware/synse-server/issues/150)
- localization is not set up correctly for packaging [\146](https://github.com/vapor-ware/synse-server/issues/146)
- return error when query params passed to routes that do not support them [\135](https://github.com/vapor-ware/synse-server/issues/135)
- tests failing locally, not in CI \(dependency issue?\) [\112](https://github.com/vapor-ware/synse-server/issues/112)
- no newline at the end of json output causes shell prompt to be placed on same line as json data. [\107](https://github.com/vapor-ware/synse-server/issues/107)
- synse server should return 400 response when invalid query params are given [\106](https://github.com/vapor-ware/synse-server/issues/106)
- make all timestamps the same format [\103](https://github.com/vapor-ware/synse-server/issues/103)
- Integration tests passing in CI, failing locally [\73](https://github.com/vapor-ware/synse-server/issues/73)
- passing invalid transaction id to transaction endpoint causes error [\57](https://github.com/vapor-ware/synse-server/issues/57)
- synse server configuration merging failures on k8s when service clusterIP is not None [\43](https://github.com/vapor-ware/synse-server/issues/43)
**Closed issues:**
- update API docs for power/boot target routes [\156](https://github.com/vapor-ware/synse-server/issues/156)
- move deployment configs and examples from emulator repo [\121](https://github.com/vapor-ware/synse-server/issues/121)
- add comprehensive user documentation [\120](https://github.com/vapor-ware/synse-server/issues/120)
- move synse/emulator outside of the synse package [\63](https://github.com/vapor-ware/synse-server/issues/63)
- update readme for v2.0 [\47](https://github.com/vapor-ware/synse-server/issues/47)
- power and boot target exist in API docs but no backends currently support them [\45](https://github.com/vapor-ware/synse-server/issues/45)
- clean up and update Makefile [\37](https://github.com/vapor-ware/synse-server/issues/37)
- document which versions of python synse-server works with [\34](https://github.com/vapor-ware/synse-server/issues/34)
- clean up docstrings, comments, logging messages [\32](https://github.com/vapor-ware/synse-server/issues/32)
- Port EBM-Popst Fan controller functionality [\19](https://github.com/vapor-ware/synse-server/issues/19)
- Separate code for I2C switch and device to truly support devices. [\4](https://github.com/vapor-ware/synse-server/issues/4)
**Merged pull requests:**
- improve image build performance by sharing layers [\158](https://github.com/vapor-ware/synse-server/pull/158) ([edaniszewski](https://github.com/edaniszewski))
- update api docs for boot\_target and power routes [\157](https://github.com/vapor-ware/synse-server/pull/157) ([edaniszewski](https://github.com/edaniszewski))
- add a boot-target type [\154](https://github.com/vapor-ware/synse-server/pull/154) ([edaniszewski](https://github.com/edaniszewski))
- Update License to GNU GPLv3 [\152](https://github.com/vapor-ware/synse-server/pull/152) ([edaniszewski](https://github.com/edaniszewski))
- move ARG definitions to improve cache performance [\151](https://github.com/vapor-ware/synse-server/pull/151) ([edaniszewski](https://github.com/edaniszewski))
- update comments, docstrings, logging [\149](https://github.com/vapor-ware/synse-server/pull/149) ([edaniszewski](https://github.com/edaniszewski))
- Cleanup [\147](https://github.com/vapor-ware/synse-server/pull/147) ([edaniszewski](https://github.com/edaniszewski))
- add labels do dockerfiles, consolidate some layers [\145](https://github.com/vapor-ware/synse-server/pull/145) ([edaniszewski](https://github.com/edaniszewski))
- maintainer key is deprecated - use labels instead [\144](https://github.com/vapor-ware/synse-server/pull/144) ([edaniszewski](https://github.com/edaniszewski))
- Test updates [\143](https://github.com/vapor-ware/synse-server/pull/143) ([edaniszewski](https://github.com/edaniszewski))
- remove babel dependency from synse package, move it to tox workflow [\142](https://github.com/vapor-ware/synse-server/pull/142) ([edaniszewski](https://github.com/edaniszewski))
- validation for no query params [\139](https://github.com/vapor-ware/synse-server/pull/139) ([edaniszewski](https://github.com/edaniszewski))
- use pip-compile for pinning release dependencies [\138](https://github.com/vapor-ware/synse-server/pull/138) ([edaniszewski](https://github.com/edaniszewski))
- add a release stage to CI [\137](https://github.com/vapor-ware/synse-server/pull/137) ([edaniszewski](https://github.com/edaniszewski))
- add missing links to api docs [\136](https://github.com/vapor-ware/synse-server/pull/136) ([edaniszewski](https://github.com/edaniszewski))
- Mhink this is my branch not yours [\134](https://github.com/vapor-ware/synse-server/pull/134) ([MatthewHink](https://github.com/MatthewHink))
- update reference to API docs site [\133](https://github.com/vapor-ware/synse-server/pull/133) ([edaniszewski](https://github.com/edaniszewski))
- get API docs hosted via GitHub pages [\132](https://github.com/vapor-ware/synse-server/pull/132) ([edaniszewski](https://github.com/edaniszewski))
- Localization internationalization workflow [\131](https://github.com/vapor-ware/synse-server/pull/131) ([edaniszewski](https://github.com/edaniszewski))
- update dockerfile to download emulator from github release [\129](https://github.com/vapor-ware/synse-server/pull/129) ([edaniszewski](https://github.com/edaniszewski))
- clean up README documentation [\127](https://github.com/vapor-ware/synse-server/pull/127) ([edaniszewski](https://github.com/edaniszewski))
- add an advanced usage section, add healthchecks info [\126](https://github.com/vapor-ware/synse-server/pull/126) ([edaniszewski](https://github.com/edaniszewski))
- move deployment configuration/writeup to synse server repo. [\125](https://github.com/vapor-ware/synse-server/pull/125) ([edaniszewski](https://github.com/edaniszewski))
- Add coverage reporting to CI [\123](https://github.com/vapor-ware/synse-server/pull/123) ([edaniszewski](https://github.com/edaniszewski))
- add readthedocs hosted documentation [\122](https://github.com/vapor-ware/synse-server/pull/122) ([edaniszewski](https://github.com/edaniszewski))
- V2.0 merge [\119](https://github.com/vapor-ware/synse-server/pull/119) ([edaniszewski](https://github.com/edaniszewski))
- Update fan\_sensors route for auto fan. [\118](https://github.com/vapor-ware/synse-server/pull/118) ([MatthewHink](https://github.com/MatthewHink))
- update synse server led api to make blink an led power state [\117](https://github.com/vapor-ware/synse-server/pull/117) ([edaniszewski](https://github.com/edaniszewski))
- update deps so tests pass [\113](https://github.com/vapor-ware/synse-server/pull/113) ([edaniszewski](https://github.com/edaniszewski))
- fix bug with socket lookup [\111](https://github.com/vapor-ware/synse-server/pull/111) ([edaniszewski](https://github.com/edaniszewski))
- make all timestamps rfc3339 formatted [\110](https://github.com/vapor-ware/synse-server/pull/110) ([edaniszewski](https://github.com/edaniszewski))
- add more validation against request query params [\109](https://github.com/vapor-ware/synse-server/pull/109) ([edaniszewski](https://github.com/edaniszewski))
- add newline at end of JSON response when pretty printing [\108](https://github.com/vapor-ware/synse-server/pull/108) ([edaniszewski](https://github.com/edaniszewski))
- update the 2.0 API doc [\105](https://github.com/vapor-ware/synse-server/pull/105) ([edaniszewski](https://github.com/edaniszewski))
- Revert "change fan route params to 'rpm' and 'percent'" [\102](https://github.com/vapor-ware/synse-server/pull/102) ([MatthewHink](https://github.com/MatthewHink))
- Get end-to-end tests working again [\100](https://github.com/vapor-ware/synse-server/pull/100) ([edaniszewski](https://github.com/edaniszewski))
- Pressure rename [\98](https://github.com/vapor-ware/synse-server/pull/98) ([edaniszewski](https://github.com/edaniszewski))
- add location info to fan sensors readings [\97](https://github.com/vapor-ware/synse-server/pull/97) ([edaniszewski](https://github.com/edaniszewski))
- change fan route params to 'rpm' and 'percent' [\96](https://github.com/vapor-ware/synse-server/pull/96) ([edaniszewski](https://github.com/edaniszewski))
- bump required version for dep to proactively mitigate a bug [\95](https://github.com/vapor-ware/synse-server/pull/95) ([edaniszewski](https://github.com/edaniszewski))
- fix ENV variable for setting logging levels in makefile target [\94](https://github.com/vapor-ware/synse-server/pull/94) ([edaniszewski](https://github.com/edaniszewski))
- add unix plugins in default dir to the config for visibility [\93](https://github.com/vapor-ware/synse-server/pull/93) ([edaniszewski](https://github.com/edaniszewski))
- remove comprehension where not needed [\92](https://github.com/vapor-ware/synse-server/pull/92) ([edaniszewski](https://github.com/edaniszewski))
- Read response updates [\91](https://github.com/vapor-ware/synse-server/pull/91) ([edaniszewski](https://github.com/edaniszewski))
- fix bug causing integration tests to fail locally sometimes [\90](https://github.com/vapor-ware/synse-server/pull/90) ([edaniszewski](https://github.com/edaniszewski))
- add /transaction route to list all active transactions [\87](https://github.com/vapor-ware/synse-server/pull/87) ([edaniszewski](https://github.com/edaniszewski))
- some readme updates for architecture [\86](https://github.com/vapor-ware/synse-server/pull/86) ([edaniszewski](https://github.com/edaniszewski))
- default to having pretty json enabled [\84](https://github.com/vapor-ware/synse-server/pull/84) ([edaniszewski](https://github.com/edaniszewski))
- make parsing config files optional [\83](https://github.com/vapor-ware/synse-server/pull/83) ([edaniszewski](https://github.com/edaniszewski))
- update config management [\82](https://github.com/vapor-ware/synse-server/pull/82) ([edaniszewski](https://github.com/edaniszewski))
- Changes to stand up auto fan on Synse 2.0. [\81](https://github.com/vapor-ware/synse-server/pull/81) ([MatthewHink](https://github.com/MatthewHink))
- update to temporary fan\_sensors route [\80](https://github.com/vapor-ware/synse-server/pull/80) ([edaniszewski](https://github.com/edaniszewski))
- cache the plugin name for each device [\79](https://github.com/vapor-ware/synse-server/pull/79) ([edaniszewski](https://github.com/edaniszewski))
- use transaction cache ttl of 300s [\78](https://github.com/vapor-ware/synse-server/pull/78) ([edaniszewski](https://github.com/edaniszewski))
- Autofan endpoint support [\77](https://github.com/vapor-ware/synse-server/pull/77) ([edaniszewski](https://github.com/edaniszewski))
- Ci pipeline [\76](https://github.com/vapor-ware/synse-server/pull/76) ([edaniszewski](https://github.com/edaniszewski))
- fix bug in python\_requires formatting [\75](https://github.com/vapor-ware/synse-server/pull/75) ([edaniszewski](https://github.com/edaniszewski))
- add lock route, cleanup some error messages [\71](https://github.com/vapor-ware/synse-server/pull/71) ([edaniszewski](https://github.com/edaniszewski))
- add info about supported python version [\70](https://github.com/vapor-ware/synse-server/pull/70) ([edaniszewski](https://github.com/edaniszewski))
- add healthcheck/readiness probe [\69](https://github.com/vapor-ware/synse-server/pull/69) ([edaniszewski](https://github.com/edaniszewski))
- docker default and slim builds [\68](https://github.com/vapor-ware/synse-server/pull/68) ([edaniszewski](https://github.com/edaniszewski))
- move emulator out of synse package [\67](https://github.com/vapor-ware/synse-server/pull/67) ([edaniszewski](https://github.com/edaniszewski))
- install synse-plugin package from pip [\66](https://github.com/vapor-ware/synse-server/pull/66) ([edaniszewski](https://github.com/edaniszewski))
- Update readme [\65](https://github.com/vapor-ware/synse-server/pull/65) ([edaniszewski](https://github.com/edaniszewski))
- update emulator [\62](https://github.com/vapor-ware/synse-server/pull/62) ([edaniszewski](https://github.com/edaniszewski))
- add integration tests to ci [\60](https://github.com/vapor-ware/synse-server/pull/60) ([edaniszewski](https://github.com/edaniszewski))
- test + fixture cleanup, some bug fixes [\58](https://github.com/vapor-ware/synse-server/pull/58) ([edaniszewski](https://github.com/edaniszewski))
- remove currently unsupported aliases from API docs [\56](https://github.com/vapor-ware/synse-server/pull/56) ([edaniszewski](https://github.com/edaniszewski))
- make metainfo requests for 'scan' async across plugins [\55](https://github.com/vapor-ware/synse-server/pull/55) ([edaniszewski](https://github.com/edaniszewski))
- simplify how tests are run [\53](https://github.com/vapor-ware/synse-server/pull/53) ([edaniszewski](https://github.com/edaniszewski))
- update Makefile, add help info [\49](https://github.com/vapor-ware/synse-server/pull/49) ([edaniszewski](https://github.com/edaniszewski))
- set default gRPC timeout to 3s [\48](https://github.com/vapor-ware/synse-server/pull/48) ([edaniszewski](https://github.com/edaniszewski))
\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*