Skip to content

Commit 52695d5

Browse files
authored
Merge pull request #256 from labthings/version-bump
Version bump
2 parents fcfb982 + 99f4b07 commit 52695d5

File tree

2 files changed

+103
-1
lines changed

2 files changed

+103
-1
lines changed

CHANGELOG.md

+102
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,105 @@
1+
# [v1.3.0](https://github.com/labthings/python-labthings/compare/v1.2.4...v1.3.0) (2021-07-25)
2+
3+
## Minor fixes and security updates
4+
* :pencil2: Fix typo in README.md ([3ab2d12](https://github.com/labthings/python-labthings/commit/3ab2d12))
5+
* [Security] Bump py from 1.9.0 to 1.10.0 ([f1eb043](https://github.com/labthings/python-labthings/commit/f1eb043))
6+
* [Security] Bump urllib3 from 1.26.3 to 1.26.4 ([215fa94](https://github.com/labthings/python-labthings/commit/215fa94))
7+
* Bump apispec from 4.6.0 to 4.7.1 ([e62c570](https://github.com/labthings/python-labthings/commit/e62c570))
8+
* Bump marshmallow from 3.10.0 to 3.12.1 ([131f9d4](https://github.com/labthings/python-labthings/commit/131f9d4))
9+
* Bump marshmallow from 3.12.1 to 3.12.2 ([8333b65](https://github.com/labthings/python-labthings/commit/8333b65))
10+
* Bump pylint from 2.8.3 to 2.9.3 ([93eba68](https://github.com/labthings/python-labthings/commit/93eba68))
11+
* Bump pylint from 2.9.3 to 2.9.4 ([f43ead9](https://github.com/labthings/python-labthings/commit/f43ead9))
12+
* Bump pytest from 6.2.2 to 6.2.4 ([7fa0983](https://github.com/labthings/python-labthings/commit/7fa0983))
13+
* Bump pytest from 6.2.2 to 6.2.4 ([a4516d5](https://github.com/labthings/python-labthings/commit/a4516d5))
14+
* Bump sphinx from 3.5.4 to 4.1.0 ([cc15230](https://github.com/labthings/python-labthings/commit/cc15230))
15+
* Bump sphinx from 4.1.0 to 4.1.1 ([2297f79](https://github.com/labthings/python-labthings/commit/2297f79))
16+
* Bump sphinx-autoapi from 1.7.0 to 1.8.1 ([6c0feea](https://github.com/labthings/python-labthings/commit/6c0feea))
17+
* Bump sphinx-rtd-theme from 0.5.1 to 0.5.2 ([baa5c8b](https://github.com/labthings/python-labthings/commit/baa5c8b))
18+
* Bump webargs from 7.0.1 to 8.0.0 ([6bcc454](https://github.com/labthings/python-labthings/commit/6bcc454))
19+
* Bump zeroconf from 0.28.8 to 0.31.0 ([219b0a3](https://github.com/labthings/python-labthings/commit/219b0a3))
20+
* Bump zeroconf from 0.31.0 to 0.32.1 ([0e511f5](https://github.com/labthings/python-labthings/commit/0e511f5))
21+
* Bump zeroconf from 0.32.1 to 0.33.0 ([6903b18](https://github.com/labthings/python-labthings/commit/6903b18))
22+
* Bump zeroconf from 0.33.0 to 0.33.1 ([bd6d804](https://github.com/labthings/python-labthings/commit/bd6d804))
23+
* Upgrade to GitHub-native Dependabot ([4061871](https://github.com/labthings/python-labthings/commit/4061871))
24+
25+
## Error handline improvements
26+
Exceptions in Action threads end up quietly reported in the Action description. This was preventing
27+
Marshmallow from validating Action arguments, which was a problem. This release changes the behaviour slightly
28+
so that if arguments are invalid, or if `flask.abort()` is called at the start of an action, it responds
29+
with an HTTP error code rather than a `201 Created` response.
30+
31+
Commits that support this:
32+
* added a docstring ([850592f](https://github.com/labthings/python-labthings/commit/850592f))
33+
* added read-only property for _exception ([e87152d](https://github.com/labthings/python-labthings/commit/e87152d))
34+
* Added tests for action errors -> HTTP codes ([1a7a93b](https://github.com/labthings/python-labthings/commit/1a7a93b))
35+
* Fix assertion for duplicate actions ([75c75b9](https://github.com/labthings/python-labthings/commit/75c75b9))
36+
* Fix a comment ([23c720a](https://github.com/labthings/python-labthings/commit/23c720a))
37+
* fix typo ([f816354](https://github.com/labthings/python-labthings/commit/f816354))
38+
* Linting fixes ([1c97565](https://github.com/labthings/python-labthings/commit/1c97565))
39+
* Only propagate HTTP exceptions ([50f9936](https://github.com/labthings/python-labthings/commit/50f9936))
40+
* Propagate exceptions from action threads ([e26663f](https://github.com/labthings/python-labthings/commit/e26663f))
41+
* Properly handle late HTTPExceptions ([671d403](https://github.com/labthings/python-labthings/commit/671d403))
42+
* Tidied API test code ([bbb08b8](https://github.com/labthings/python-labthings/commit/bbb08b8))
43+
* Whitespace/isort fixes ([89c1ddf](https://github.com/labthings/python-labthings/commit/89c1ddf))
44+
45+
46+
## Documentation improvements
47+
This release changes the way documentation propagates through LabThings and Flask to the OpenAPI description.
48+
The current release doesn't change the contents of the Thing Description, but it does mean that the OpenAPI
49+
output is valid, and that's now tested for some common cases in the CI.
50+
51+
Important things to note are:
52+
* `View` classes can now attach properties *either* to the class, or to individual methods.
53+
* `summary` and `description` properties will be used if present, or the docstring will be used if not.
54+
* `responses` and `parameters` properties set the method's responses and parameters. If set on the class,
55+
they will be used for all methods.
56+
57+
Attributes have been added to built-in views as needed to produce valid OpenAPI documentation, though there
58+
is always room to add more meaningful descriptions. Documentation is now much more thoroughly tested,
59+
including using `apispec` and `prance` to check the OpenAPI description is valid.
60+
61+
Commits that form a part of this effort:
62+
* Add YAML version of openapi docs ([39d91e7](https://github.com/labthings/python-labthings/commit/39d91e7))
63+
* Added a test for OpenAPI serialisation ([52851f4](https://github.com/labthings/python-labthings/commit/52851f4))
64+
* Added APISpec utilities ([f49aedb](https://github.com/labthings/python-labthings/commit/f49aedb))
65+
* Added APISpec validation to dependencies ([1935f25](https://github.com/labthings/python-labthings/commit/1935f25))
66+
* Added more unit tests ([8490acb](https://github.com/labthings/python-labthings/commit/8490acb))
67+
* Added OpenAPI validation to tests ([a100fa9](https://github.com/labthings/python-labthings/commit/a100fa9))
68+
* added remove_summary option to get_docstring ([cd4a994](https://github.com/labthings/python-labthings/commit/cd4a994))
69+
* Added some more tests of thing description ([54d5df9](https://github.com/labthings/python-labthings/commit/54d5df9))
70+
* Added the "YAML" extra to apispec ([345d544](https://github.com/labthings/python-labthings/commit/345d544))
71+
* Allow per-Operation docstrings ([05b2747](https://github.com/labthings/python-labthings/commit/05b2747))
72+
* Avoid premature serialisation ([9ec6fa2](https://github.com/labthings/python-labthings/commit/9ec6fa2))
73+
* Better response descriptions for builtin endpoints ([f161213](https://github.com/labthings/python-labthings/commit/f161213))
74+
* blackened ([c52a66d](https://github.com/labthings/python-labthings/commit/c52a66d))
75+
* Blackened ([e21c6e2](https://github.com/labthings/python-labthings/commit/e21c6e2))
76+
* Check duplicate action names ([f39851c](https://github.com/labthings/python-labthings/commit/f39851c))
77+
* Cope with missing input/output schemas ([8f1cc14](https://github.com/labthings/python-labthings/commit/8f1cc14))
78+
* Documented parameters for actions & static ([38fb5ca](https://github.com/labthings/python-labthings/commit/38fb5ca))
79+
* Eliminate built action schemas ([67a9257](https://github.com/labthings/python-labthings/commit/67a9257))
80+
* Exhaustive testing for docstring additions ([704cba9](https://github.com/labthings/python-labthings/commit/704cba9))
81+
* Fix OneOf and tidy up build_action_schema ([c6c0b5b](https://github.com/labthings/python-labthings/commit/c6c0b5b))
82+
* Fix OpenAPI route registration ([7ba0950](https://github.com/labthings/python-labthings/commit/7ba0950))
83+
* Fix whitespace in docstring test ([af6a8d3](https://github.com/labthings/python-labthings/commit/af6a8d3))
84+
* Fixed remove_summary and remove_newlines ([f6ba74e](https://github.com/labthings/python-labthings/commit/f6ba74e))
85+
* Fixed typing in ensure_schema ([9b51698](https://github.com/labthings/python-labthings/commit/9b51698))
86+
* Fixes from unit testing ([b9f9fc9](https://github.com/labthings/python-labthings/commit/b9f9fc9))
87+
* Format fixes ([a5a9ed9](https://github.com/labthings/python-labthings/commit/a5a9ed9))
88+
* Format fixes ([001d6bb](https://github.com/labthings/python-labthings/commit/001d6bb))
89+
* formatting fixes ([e27e904](https://github.com/labthings/python-labthings/commit/e27e904))
90+
* linter fixes ([8ddfaec](https://github.com/labthings/python-labthings/commit/8ddfaec))
91+
* Linting and typing fixes ([8353bcb](https://github.com/labthings/python-labthings/commit/8353bcb))
92+
* Manage indentation better in docstrings ([559b769](https://github.com/labthings/python-labthings/commit/559b769))
93+
* More helpful docstring for ActionView.get ([6819f23](https://github.com/labthings/python-labthings/commit/6819f23))
94+
* propagate parameters and responses per-operation ([9ea10f5](https://github.com/labthings/python-labthings/commit/9ea10f5))
95+
* Provide names for generated schemas ([8654d02](https://github.com/labthings/python-labthings/commit/8654d02))
96+
* Removed unused function ([674d09f](https://github.com/labthings/python-labthings/commit/674d09f))
97+
* Removed unused import ([5f9d284](https://github.com/labthings/python-labthings/commit/5f9d284))
98+
* Swap MethodView for View in builder.static_from ([2f12098](https://github.com/labthings/python-labthings/commit/2f12098))
99+
* Use deepcopy to avoid modifying responses ([bfc6fc4](https://github.com/labthings/python-labthings/commit/bfc6fc4))
100+
* Whitespace fixes ([a27e16a](https://github.com/labthings/python-labthings/commit/a27e16a))
101+
102+
1103
# [v1.2.4](https://github.com/labthings/python-labthings/compare/v1.2.3...v1.2.4) (2021-03-22)
2104

3105
- [Security] Bump jinja2 from 2.11.2 to 2.11.3 ([16ec89b](https://github.com/labthings/python-labthings/commit/16ec89b))

pyproject.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "labthings"
3-
version = "1.2.4"
3+
version = "1.3.0"
44
description = "Python implementation of LabThings, based on the Flask microframework"
55
readme = "README.md"
66
repository = "https://github.com/labthings/python-labthings/"

0 commit comments

Comments
 (0)