Skip to content

Commit 81e65c9

Browse files
author
David Vogt
authored
Merge pull request #888 from winged/release_5_0_0
Release 5.0.0
2 parents 91953ae + dcc406f commit 81e65c9

5 files changed

Lines changed: 253 additions & 2 deletions

File tree

.reuse/dep5

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,5 +37,6 @@ Files:
3737
docs/*
3838
README.md
3939
CONTRIBUTING.md
40+
CHANGELOG.md
4041
Copyright: 2019 Adfinis SyGroup AG <info@adfinis-sygroup.ch>
4142
License: GFDL-1.3-or-later

CHANGELOG.md

Lines changed: 179 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,179 @@
1+
# v5.0.0 (22 Jan 2020)
2+
3+
4+
### Feature
5+
* add assigned users filter (93badb4a55e91f7ffc6a3fc5828b18765cae9564)
6+
* prefix all apps with "caluma_" (928146577f3cb2f76a4e715ba29ae4e1eb547907)
7+
(BREAKING CHANGE: Extension code must be updated)
8+
9+
### Fix
10+
* correctly handle indirectly hidden questions (cfe616684980d732fe667099a74461d6dbfaa732)
11+
* version bump (d2a4755c4e06d7f683165e582780ec3e5121c835)
12+
13+
### Documentation
14+
* add maintainer's handbook (9f64fc4837bb5974fb7cd3caa67bb6c32bf2661e)
15+
16+
17+
# v4.3.0 (18 Dec 2019)
18+
19+
### Feature
20+
* make caluma installable as django app (573e87a76ca3a2b70816ce98fd08c2cc71fc5c74)
21+
22+
23+
# v4.2.0 (17 Dec 2019)
24+
25+
### Feature
26+
* helper to extract mutation parameters from request (197a775d332576b03853ded00c80c3abf46f4f25)
27+
* run pytest in parallel with xdist (9a435d9d0714aef64b955c2942803a17e561a721)
28+
* allow filtering answers to limit only visible answers (0eb037f8d1a09a7a752ac6bec58e9f4a70a17bdc)
29+
* add pipenv setup command to setup.py (448b821ab557e0af59fcab3a976c0e00a5e98e82)
30+
31+
### Fix
32+
* use root form as form property in QuestionJexl context (5f422c01cb42d0d2833f79774eb34cd4fbbdb85a)
33+
* remove insignificant performance hack (db3d84234fa2d803f51ac3c892abba17d7c91614)
34+
* use "development" instead of "dev" as documented (1645ed996d4f310a91fb893627158945fbbedcc3)
35+
36+
### Documentation
37+
* add info about the `UID` variable (f9a8d3ffee95b39474f31dd8d79d126ff6fde006)
38+
* add more detailed example for the pipenv workflow (16a94a81582b4164280157f559236d009ed4461d)
39+
40+
41+
# v4.1.0 (28 Nov 2019)
42+
43+
### Feature
44+
* make permission decorators chainable
45+
(3052cbff33cb98ee22a7ed34c3133820121794bf)
46+
47+
### Fix
48+
* validate dependencies correctly (854f6fa77048edeb9bc84d24036fff4fde2f05de)
49+
50+
# v4.0.0 (21 Nov 2019)
51+
52+
### Feature
53+
* add created_at, closed_at, modified_at filters to work items (b83ce9c6b0b8248b82216e30c65ecb400660fdc4)
54+
55+
### Fix
56+
* optimize `historical_qs_as_of` (95e5fb9865d523e0acf96c54743cebf70b6344a9)
57+
* fix duplicate documents (68934392c56e2d1734a5046e7e5182e07ce3fd0e)
58+
* use LocalizedValue for translations (3cf3720f94ed64367c55b700be97a955472b00e4)
59+
* correctly handle is_hidden regarding dependencies (a068c2c04b94f94b25087c769a931ce8f549251f)
60+
61+
### Breaking
62+
* allow Answers with empty value (81cbe9aae553ed91a86c1813a47085fb3b386713)
63+
64+
### Documentation
65+
* explain how to use pipenv (745380f39b45fdf1d936aad87a368c2b37e75109)
66+
67+
68+
# v3.0.0 (6 Nov 2019)
69+
70+
Version 3.0.0. Main changes:
71+
72+
* License changed to GPL 3.0 (or later)
73+
* Dynamic data source improvements (Answers now store values for the case where the value won't be available in the future anymore)
74+
* Allow skipping of work items
75+
76+
### Feature
77+
* allow skipping of work items (e84f9360cb245587dab7e75d84134b7999bfa2e5)
78+
* add `status_skipped` to possible `workitem` states (c3d99bc9d911a103796821e09f3f65bb543457ca)
79+
* switch main license to GPL-3.0-or-later (978f18aaa725ad779bd0238b82528401f36147bb)
80+
* implement dynamic data source (63ffe863bd17cc75c75d7834e7f38e45268022da)
81+
82+
### Fix
83+
* question id/slug should be of type id (69511c17cccba36775840976d384010867256499)
84+
* add user and group to dynamic option (ba89f88b7cec45b17e0c6036884998cdad873f0f)
85+
* raise a 401 if user is not logged in (1b5851c2025d1e3b95353f71d2678f640847955e)
86+
* add question to validate_answer_value method (3667e3d3aaf45459135718c401e40c02535adc01)
87+
* fix DynamicOption model (35935ddd04861a7c2c9cc0ec8aa92de983f1c334)
88+
* do not return questions multiple times (ec285957c661b04ed10f305fbae7b6824cfd4b97)
89+
* remove dynamicoptionSet form schema (0391c04481097792ef608afdebb6f39d10077959)
90+
* reintroduce ordering by deadline on work items (fed67da288aebff593cc77855b1b5c39f44d0b91)
91+
* fix ordering by question value (1dcec885518d6f654773e07677cb58649613ede2)
92+
* revert dynamic data source (85fab681039f5f11c484a3c525631af6e0eddd25)
93+
* validate requiredness recursively for subforms (844b914f98f1ed002f9dbbabffaf445753a18728)
94+
* do not validate hidden questions (1fb7bd5b93368c0c5c55bbc6e941f8208aeb2929)
95+
96+
### Breaking
97+
* Add the parameter `question` to the `validate_answer_value`method and add a new lookup to check if a `dynamic_option` already exists. (3667e3d3aaf45459135718c401e40c02535adc01)
98+
* The `value` field on the `DynamicOption` model is renamed to `slug` and not optional anymore. (35935ddd04861a7c2c9cc0ec8aa92de983f1c334)
99+
* The optional `answer_value` parameter for the `DataSource.get_data()` method was reverted. (85fab681039f5f11c484a3c525631af6e0eddd25)
100+
101+
### Documentation
102+
* explain license choice (4d59af520da53b44c3771eb53c451d209c1aafa5)
103+
104+
105+
# v3.0.0a1 (6 Nov 2019)
106+
107+
### Feature
108+
* allow skipping of work items (e84f9360cb245587dab7e75d84134b7999bfa2e5)
109+
* add `status_skipped` to possible `workitem` states (c3d99bc9d911a103796821e09f3f65bb543457ca)
110+
* switch main license to GPL-3.0-or-later (978f18aaa725ad779bd0238b82528401f36147bb)
111+
* implement dynamic data source (63ffe863bd17cc75c75d7834e7f38e45268022da)
112+
113+
### Fix
114+
* add user and group to dynamic option (ba89f88b7cec45b17e0c6036884998cdad873f0f)
115+
* raise a 401 if user is not logged in (1b5851c2025d1e3b95353f71d2678f640847955e)
116+
* add question to validate_answer_value method (3667e3d3aaf45459135718c401e40c02535adc01)
117+
* fix DynamicOption model (35935ddd04861a7c2c9cc0ec8aa92de983f1c334)
118+
* do not return questions multiple times (ec285957c661b04ed10f305fbae7b6824cfd4b97)
119+
* remove dynamicoptionSet form schema (0391c04481097792ef608afdebb6f39d10077959)
120+
* reintroduce ordering by deadline on work items (fed67da288aebff593cc77855b1b5c39f44d0b91)
121+
* fix ordering by question value (1dcec885518d6f654773e07677cb58649613ede2)
122+
* revert dynamic data source (85fab681039f5f11c484a3c525631af6e0eddd25)
123+
* validate requiredness recursively for subforms (844b914f98f1ed002f9dbbabffaf445753a18728)
124+
* do not validate hidden questions (1fb7bd5b93368c0c5c55bbc6e941f8208aeb2929)
125+
126+
### Breaking
127+
* Add the parameter `question` to the `validate_answer_value`method and add a new lookup to check if a `dynamic_option` already exists. (3667e3d3aaf45459135718c401e40c02535adc01)
128+
* The `value` field on the `DynamicOption` model is renamed to `slug` and not optional anymore. (35935ddd04861a7c2c9cc0ec8aa92de983f1c334)
129+
* The optional `answer_value` parameter for the `DataSource.get_data()` method was reverted. (85fab681039f5f11c484a3c525631af6e0eddd25)
130+
131+
### Documentation
132+
* explain license choice (4d59af520da53b44c3771eb53c451d209c1aafa5)
133+
134+
# v2.0.0 (18 October 2019)
135+
136+
This is the second major release of Caluma.
137+
138+
Apart from a couple of new features, we changed the license from MIT to AGPL.
139+
The reasons for this are documented in a followup (see #749).
140+
141+
There's another backwards-incompatible change regarding the data sources for
142+
dynamic (multiple) choice questions, prompting the version bump.
143+
144+
New in this version is also the separation between ordering and filtering in the queries,
145+
and a cleanup command for historical data.
146+
147+
### Feature
148+
* pass actual answer value to data source (3b26162db5bfd0b48b908ef7609abeddcf24af8b)
149+
* add order filter for workflow models too (b2fb9c73d451d2292e2bdafa25b9da1151d0915b)
150+
* add test for new order filters (344bc9d502469acc5597355d1b832e68b5893e11)
151+
* introduce new-style ordering for form nodes (f73f8e5a6c3d287804dca88da636c515c26b2026)
152+
* implement new order filter (012d1f19089dff4bb0125d982cc6688374e4f68a)
153+
* start using the collection filterset factory (97394c7e523f40af102828c94dd01de7c3a97f7a)
154+
* factory for unionized filters (686484d1e732828db2e55b7056a83925104da676)
155+
* expose original document id (051cf01ed283dbc8b3c00a91f9a124a764f9d755)
156+
* add cleanup command (a66582a4945c3562828cdca284e3fff8da11af98)
157+
158+
### Fix
159+
* typo (9cd21c195383ec3642a0e1bc5ef2cc46c1f269ef)
160+
* link guide (57df4a6dc35c54aa32bfb1eccef64465191f2b4a)
161+
* don't pass self to super().__init__() call (748c99d6315d99551f9e950b3888cafd321b8b58)
162+
* correct svg font (576e2fe71a5562f1c41fdce83ab926be0ecbab45)
163+
* cleanup_history - add force argument (9191b4e3638f866d256ac3b40a59b6839a6d4ef5)
164+
165+
### Breaking
166+
* `DataSource.get_data()` methods must accept an optional `answer_value` parameter. (3b26162db5bfd0b48b908ef7609abeddcf24af8b)
167+
* License change: Move to AGPL (bfb66199)
168+
169+
### Documentation
170+
* update ordering documentation (85a1143b02884f75fd3c24fccfa842c5f783adf6)
171+
* add note on deprecation of old-style filters (b93e27c49f5b57d0acbdd560766ddff2baefc041)
172+
* extend the guide with form-builder steps (bdd183d111e844e739c74d0536d2c4e29aec7b39)
173+
* add guide (WIP) (822f4c1c31ee3f404b5c4b9cc76d96e2a1be1a5f)
174+
* document cleanup commands in README (dc58593af1d147bd06cb62b02f2d27459cc7f01e)
175+
176+
177+
# v1.0.0 (25 September 2019)
178+
179+
Initial release

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,4 +74,5 @@ For further information on our license choice, you can read up on the [correspon
7474
* [Validation](docs/validation.md) - Validation of user input
7575
* [Extending Caluma](docs/extending.md) - Extensions: Data visibility and
7676
permissions
77-
77+
* [Maintainer's Handbook](docs/maintainers.md) - HOWTO for various maintainer's
78+
tasks

caluma/caluma_metadata.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22

33
__title__ = "caluma"
44
__description__ = "Caluma Service providing GraphQL API"
5-
__version__ = "4.3.0"
5+
__version__ = "5.0.0"

docs/maintainers.md

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
# Maintainer's Handbook
2+
3+
## Release Management
4+
5+
The release procedure was recently changed from automatic to manual, due to too
6+
many problems with it.
7+
8+
Here is a rough outline / checklist for the release (explained further below):
9+
10+
1. Checkout `master` branch, ensure you have all tags
11+
2. Prepare changelog
12+
3. Figure out the next version
13+
4. Update code (CHANGELOG, version info)
14+
5. Pull Request with the version bump.
15+
6. Create tag on the merge commit
16+
7. Upload / edit change log
17+
18+
Here's how this works in detail:
19+
20+
### Get release information
21+
22+
The `semantic-release` tool can help you with the first few tasks of the above
23+
checklist:
24+
25+
```bash
26+
# Ensure you're on the current master and have all release tags
27+
git checkout master
28+
git pull origin --tags
29+
30+
# Prepare changelog
31+
semantic-release changelog --noop --unreleased -D version_source=tag
32+
33+
# Figure out the next version
34+
semantic-release version --noop -D version_source=tag
35+
```
36+
37+
You should verify that the version proposed by `semantic-release` is actually
38+
correct. At the time of writing (2020-01-22), it didn't detect some "BREAKING
39+
CHANGES" labels, for example. Adjust the version to what you think is correct.
40+
41+
### Update version, changelog in source
42+
43+
The version is also put in code. Update the file
44+
`caluma/caluma_metadata.py`.
45+
46+
Put the changelog on top of the `CHANGELOG.md` file along with the proposed date
47+
of release. If needed, amend it with some informative text about the release
48+
49+
### Create a Pull request for the proposed version bump
50+
51+
Put the changelog in the commit message or in the PR discussion somewhere, so
52+
it won't be forgotten once the release actually happens.
53+
54+
Note: If other PRs are merged after you create the version bump PR, you may need
55+
to revisit the changelog, and potentially even the version number to be created.
56+
It is thus important to create and merge the version bump in a timely,
57+
coordinated manner.
58+
59+
### Create Release
60+
61+
Once the version bump PR has been merged, take the corresponding merge commit,
62+
and tag it with the version. Note that the tag needs to be prefixed with `v`,
63+
so for example version 5.0.0 will need a tag named exactly `v5.0.0`.
64+
65+
You should then edit the release on Github and paste the changelog there as well.
66+
67+
Docker Hub will automatically trigger a build for the new tag, and publish it.
68+
69+
Next, you should upload the version to PyPI. Use the .tar.gz from the Github
70+
release page for that.

0 commit comments

Comments
 (0)