|
| 1 | +<!-- markdownlint-disable MD013 --> |
| 2 | +<!-- markdownlint-disable MD024 --> |
| 3 | + |
1 | 4 | # Changelog |
2 | 5 |
|
3 | 6 | ## [0.9.5](https://github.com/reanahub/reana-db/compare/0.9.4...0.9.5) (2024-11-26) |
4 | 7 |
|
5 | | - |
6 | 8 | ### Features |
7 | 9 |
|
8 | 10 | * **cli:** add new `migrate-secret-key` command ([#240](https://github.com/reanahub/reana-db/issues/240)) ([efcbe72](https://github.com/reanahub/reana-db/commit/efcbe724a2797edf94a531a2fd49ae0dc25d29f7)) |
9 | 11 |
|
10 | | - |
11 | 12 | ### Continuous integration |
12 | 13 |
|
13 | 14 | * **actions:** pin setuptools 70 ([#239](https://github.com/reanahub/reana-db/issues/239)) ([3202759](https://github.com/reanahub/reana-db/commit/320275969c64513f695ce59a145088f6222aa594)) |
14 | 15 | * **python:** test more Python versions ([#239](https://github.com/reanahub/reana-db/issues/239)) ([e0cba7f](https://github.com/reanahub/reana-db/commit/e0cba7faa97cbf2919c4008ec884ea46ec817cd5)) |
15 | 16 |
|
16 | 17 | ## [0.9.4](https://github.com/reanahub/reana-db/compare/0.9.3...0.9.4) (2024-03-01) |
17 | 18 |
|
18 | | - |
19 | 19 | ### Code refactoring |
20 | 20 |
|
21 | 21 | * **docs:** move from reST to Markdown ([#225](https://github.com/reanahub/reana-db/issues/225)) ([b48eb55](https://github.com/reanahub/reana-db/commit/b48eb55f7a1b1bbdde0e0a458852349a439a511e)) |
22 | 22 |
|
23 | | - |
24 | 23 | ### Code style |
25 | 24 |
|
26 | 25 | * **black:** format with black v24 ([#224](https://github.com/reanahub/reana-db/issues/224)) ([cc60522](https://github.com/reanahub/reana-db/commit/cc6052242fd14cf3413b793d0aa32a24871fe1b1)) |
27 | 26 |
|
28 | | - |
29 | 27 | ### Continuous integration |
30 | 28 |
|
31 | 29 | * **commitlint:** addition of commit message linter ([#218](https://github.com/reanahub/reana-db/issues/218)) ([ee0f7e5](https://github.com/reanahub/reana-db/commit/ee0f7e5e106e0be619779bfa2133415feecc323b)) |
|
35 | 33 | * **release-please:** initial configuration ([#218](https://github.com/reanahub/reana-db/issues/218)) ([7c616d6](https://github.com/reanahub/reana-db/commit/7c616d67fac642656f56d37422ba69c4a8d4fa20)) |
36 | 34 | * **shellcheck:** fix exit code propagation ([#223](https://github.com/reanahub/reana-db/issues/223)) ([b62ee1e](https://github.com/reanahub/reana-db/commit/b62ee1e3be44628265bf5ada7e0b7eb88e283c00)) |
37 | 35 |
|
38 | | - |
39 | 36 | ### Documentation |
40 | 37 |
|
41 | 38 | * **authors:** complete list of contributors ([#227](https://github.com/reanahub/reana-db/issues/227)) ([3fbcf65](https://github.com/reanahub/reana-db/commit/3fbcf65db735146d54078cae4c5b9c8968ead055)) |
42 | 39 |
|
43 | 40 | ## 0.9.3 (2023-12-01) |
44 | 41 |
|
45 | | -- Changes the `Workflow` table to replace the `run_number` column with two new columns `run_number_major` and `run_number_minor` in order to allow for more than nine restarts of user workflows. |
46 | | -- Changes the names of database table, column, index and key constraints in order to follow the SQLAlchemy upstream naming conventions everywhere. |
47 | | -- Changes several database index definitions in order to improve performance of most common database queries. |
| 42 | +* Changes the `Workflow` table to replace the `run_number` column with two new columns `run_number_major` and `run_number_minor` in order to allow for more than nine restarts of user workflows. |
| 43 | +* Changes the names of database table, column, index and key constraints in order to follow the SQLAlchemy upstream naming conventions everywhere. |
| 44 | +* Changes several database index definitions in order to improve performance of most common database queries. |
48 | 45 |
|
49 | 46 | ## 0.9.2 (2023-09-26) |
50 | 47 |
|
51 | | -- Adds progress meter to the logs of the periodic quota updater. |
52 | | -- Changes CPU and disk quota calculations to improve the performance of periodic quota updater. |
53 | | -- Fixes the workflow priority calculation to avoid workflows stuck in the `queued` status when the number of allowed concurrent workflow is set to zero. |
| 48 | +* Adds progress meter to the logs of the periodic quota updater. |
| 49 | +* Changes CPU and disk quota calculations to improve the performance of periodic quota updater. |
| 50 | +* Fixes the workflow priority calculation to avoid workflows stuck in the `queued` status when the number of allowed concurrent workflow is set to zero. |
54 | 51 |
|
55 | 52 | ## 0.9.1 (2023-01-18) |
56 | 53 |
|
57 | | -- Changes to PostgreSQL 12.13. |
58 | | -- Fixes conversion of possibly-negative resource usage values to human-readable formats. |
59 | | -- Fixes disk quota updater to prevent setting negative disk quota usage values. |
60 | | -- Fixes quota updater to reduce memory usage. |
| 54 | +* Changes to PostgreSQL 12.13. |
| 55 | +* Fixes conversion of possibly-negative resource usage values to human-readable formats. |
| 56 | +* Fixes disk quota updater to prevent setting negative disk quota usage values. |
| 57 | +* Fixes quota updater to reduce memory usage. |
61 | 58 |
|
62 | 59 | ## 0.9.0 (2022-12-13) |
63 | 60 |
|
64 | | -- Adds new `launcher_url` column to the `Workflow` table to store the remote origin of workflows submitted via the Launch-on-REANA functionality. |
65 | | -- Adds the possibility to force resource quota updates irrespective of globally-configured quota update policy. |
66 | | -- Adds new `WorkspaceRetentionRule` table to store workspace file retention rules. |
67 | | -- Adds new `WorkspaceRetentionAuditLog` table to store the audit log of workspace file retention rule updates. |
68 | | -- Changes percentage ranges used to calculate the health status of user resource quota usage. |
69 | | -- Changes to PostgreSQL 12.10. |
70 | | -- Fixes wrong numbering of restarted workflows by limiting the number of times a workflow can be restarted to nine. |
71 | | -- Fixes `Workflow.get_workspace_disk_usage` to always calculate disk usage rather than relying on the quota usage values from the database, since these may not be up-to-date depending on the global quota update policy. |
72 | | -- Fixes helper function that retrieves workflows by UUID to also additionally check that the provided user is the owner of the workflow. |
| 61 | +* Adds new `launcher_url` column to the `Workflow` table to store the remote origin of workflows submitted via the Launch-on-REANA functionality. |
| 62 | +* Adds the possibility to force resource quota updates irrespective of globally-configured quota update policy. |
| 63 | +* Adds new `WorkspaceRetentionRule` table to store workspace file retention rules. |
| 64 | +* Adds new `WorkspaceRetentionAuditLog` table to store the audit log of workspace file retention rule updates. |
| 65 | +* Changes percentage ranges used to calculate the health status of user resource quota usage. |
| 66 | +* Changes to PostgreSQL 12.10. |
| 67 | +* Fixes wrong numbering of restarted workflows by limiting the number of times a workflow can be restarted to nine. |
| 68 | +* Fixes `Workflow.get_workspace_disk_usage` to always calculate disk usage rather than relying on the quota usage values from the database, since these may not be up-to-date depending on the global quota update policy. |
| 69 | +* Fixes helper function that retrieves workflows by UUID to also additionally check that the provided user is the owner of the workflow. |
73 | 70 |
|
74 | 71 | ## 0.8.2 (2022-02-23) |
75 | 72 |
|
76 | | -- Adds transition for workflow from queued to failed status. |
| 73 | +* Adds transition for workflow from queued to failed status. |
77 | 74 |
|
78 | 75 | ## 0.8.1 (2022-02-01) |
79 | 76 |
|
80 | | -- Adds an option to periodically calculate CPU quota usage. |
81 | | -- Changes CLI quota command from `disk-usage-update` to `resource-usage-update` since it can also perform CPU quota calculation. |
82 | | -- Fixes quota update functions to handle exceptional situation as continuable errors. |
83 | | -- Removes extra `QuotaResourceType` enum in favor of `ResourceType.name`. |
| 77 | +* Adds an option to periodically calculate CPU quota usage. |
| 78 | +* Changes CLI quota command from `disk-usage-update` to `resource-usage-update` since it can also perform CPU quota calculation. |
| 79 | +* Fixes quota update functions to handle exceptional situation as continuable errors. |
| 80 | +* Removes extra `QuotaResourceType` enum in favor of `ResourceType.name`. |
84 | 81 |
|
85 | 82 | ## 0.8.0 (2021-11-22) |
86 | 83 |
|
87 | | -- Adds new disk usage retrieval methods using canonical (bytes) and human-readable (KiB) units. (`User`, `Workflow`) |
88 | | -- Adds Quota models which calculates CPU and disk usage. |
89 | | -- Adds `InteractiveSession` model. |
90 | | -- Adds new properties `started_at` and `finished_at` to the `Job` model, updated on status change. |
91 | | -- Adds `get_priority` workflow method, that combines both complexity and concurrency, to pass to the scheduler. |
92 | | -- Adds a possibility to configure database connection pool parameters via environment variables. |
93 | | -- Adds new `pending` state to `RunStatus` table. |
94 | | -- Adds workflow complexity property in `Workflow` table. |
95 | | -- Adds environment variable to configure which quotas to update. |
96 | | -- Changes `WorkflowStatus` table to `RunStatus`. |
97 | | -- Changes disk quota calculation functions to allow passing raw bytes to increase the used quota. |
98 | | -- Changes to PostgreSQL 12.8. |
99 | | -- Removes support for Python 2. |
| 84 | +* Adds new disk usage retrieval methods using canonical (bytes) and human-readable (KiB) units. (`User`, `Workflow`) |
| 85 | +* Adds Quota models which calculates CPU and disk usage. |
| 86 | +* Adds `InteractiveSession` model. |
| 87 | +* Adds new properties `started_at` and `finished_at` to the `Job` model, updated on status change. |
| 88 | +* Adds `get_priority` workflow method, that combines both complexity and concurrency, to pass to the scheduler. |
| 89 | +* Adds a possibility to configure database connection pool parameters via environment variables. |
| 90 | +* Adds new `pending` state to `RunStatus` table. |
| 91 | +* Adds workflow complexity property in `Workflow` table. |
| 92 | +* Adds environment variable to configure which quotas to update. |
| 93 | +* Changes `WorkflowStatus` table to `RunStatus`. |
| 94 | +* Changes disk quota calculation functions to allow passing raw bytes to increase the used quota. |
| 95 | +* Changes to PostgreSQL 12.8. |
| 96 | +* Removes support for Python 2. |
100 | 97 |
|
101 | 98 | ## 0.7.3 (2021-03-17) |
102 | 99 |
|
103 | | -- Fixes REANA installation by pinning SQLAlchemy version less than 1.4.0 due to <https://github.com/kvesteri/sqlalchemy-utils/issues/505>. |
| 100 | +* Fixes REANA installation by pinning SQLAlchemy version less than 1.4.0 due to <https://github.com/kvesteri/sqlalchemy-utils/issues/505>. |
104 | 101 |
|
105 | 102 | ## 0.7.2 (2021-02-22) |
106 | 103 |
|
107 | | -- Adds utility to status enums to decide whether to clean workflows and jobs depending on their status. |
| 104 | +* Adds utility to status enums to decide whether to clean workflows and jobs depending on their status. |
108 | 105 |
|
109 | 106 | ## 0.7.1 (2021-02-02) |
110 | 107 |
|
111 | | -- Adds support for Python 3.9. |
112 | | -- Fixes minor code warnings. |
113 | | -- Changes CI system to include Python flake8 checker. |
| 108 | +* Adds support for Python 3.9. |
| 109 | +* Fixes minor code warnings. |
| 110 | +* Changes CI system to include Python flake8 checker. |
114 | 111 |
|
115 | 112 | ## 0.7.0 (2020-10-20) |
116 | 113 |
|
117 | | -- Adds initial central workflow status transition logic handler. |
118 | | -- Adds new audit table and logic to register actions. (`AuditLog`, `AuditLogAction`) |
119 | | -- Adds fixtures for better testing of database models. |
120 | | -- Changes user token storage to move tokens from `User` table to `UserToken` table and to encrypt them. |
121 | | -- Changes `Workflow` table to add a new `workspace_path` column. |
122 | | -- Changes default database service to use centrally configured one from REANA-Commons. (`REANA_INFRASTRUCTURE_COMPONENTS_HOSTNAMES`) |
123 | | -- Changes code formatting to respect `black` coding style. |
124 | | -- Changes documentation to single-page layout. |
| 114 | +* Adds initial central workflow status transition logic handler. |
| 115 | +* Adds new audit table and logic to register actions. (`AuditLog`, `AuditLogAction`) |
| 116 | +* Adds fixtures for better testing of database models. |
| 117 | +* Changes user token storage to move tokens from `User` table to `UserToken` table and to encrypt them. |
| 118 | +* Changes `Workflow` table to add a new `workspace_path` column. |
| 119 | +* Changes default database service to use centrally configured one from REANA-Commons. (`REANA_INFRASTRUCTURE_COMPONENTS_HOSTNAMES`) |
| 120 | +* Changes code formatting to respect `black` coding style. |
| 121 | +* Changes documentation to single-page layout. |
125 | 122 |
|
126 | 123 | ## 0.6.0 (2019-12-19) |
127 | 124 |
|
128 | | -- Adds new method which returns full workflow name. |
129 | | -- Adds more granular DB configuration. |
130 | | -- Adds Git repository information to the workflow model. |
| 125 | +* Adds new method which returns full workflow name. |
| 126 | +* Adds more granular DB configuration. |
| 127 | +* Adds Git repository information to the workflow model. |
131 | 128 | (`Workflow.git_repo`, `Workflow.git_provider`) |
132 | | -- Adds user name information to the user model. |
| 129 | +* Adds user name information to the user model. |
133 | 130 | (`User.full_name`, `User.username`) |
134 | | -- Removes restart count information from the job model. |
| 131 | +* Removes restart count information from the job model. |
135 | 132 | (`Job.restart_count`, `Job.max_restart_count`) |
136 | | -- Adds support for Python 3.8. |
| 133 | +* Adds support for Python 3.8. |
137 | 134 |
|
138 | 135 | ## 0.5.0 (2019-04-16) |
139 | 136 |
|
140 | | -- Introduces new workflow statuses: `deleted`, `stopped`, `queued`. |
141 | | -- Adds new field to store workflow stopping time. (`Workflow.run_stopped_at`) |
142 | | -- Moves workflow input parameters to its own column to separate them from |
| 137 | +* Introduces new workflow statuses: `deleted`, `stopped`, `queued`. |
| 138 | +* Adds new field to store workflow stopping time. (`Workflow.run_stopped_at`) |
| 139 | +* Moves workflow input parameters to its own column to separate them from |
143 | 140 | operational options. Adapts getters accordingly. |
144 | 141 | (`Workflow.input_parameters`) |
145 | | -- Adds new method to retrieve the workflow owner's token. |
| 142 | +* Adds new method to retrieve the workflow owner's token. |
146 | 143 | (`Workflow.get_owner_access_token`) |
147 | | -- Introduces new utility function to retrieve workflows by `uuid` or name. |
| 144 | +* Introduces new utility function to retrieve workflows by `uuid` or name. |
148 | 145 | (`_get_workflow_with_uuid_or_name`) |
149 | | -- Introduces new fields for interactive sessions: `interactive_session`, |
| 146 | +* Introduces new fields for interactive sessions: `interactive_session`, |
150 | 147 | `interactive_session_name` and `interactive_session_type`. Note that with |
151 | 148 | current design only one interactive session per workflow is supported. |
152 | | -- Adds a new enumeration for possible job statuses. (`JobStatus`) |
153 | | -- Adds new field to identify jobs in the underlying compute backend. |
| 149 | +* Adds a new enumeration for possible job statuses. (`JobStatus`) |
| 150 | +* Adds new field to identify jobs in the underlying compute backend. |
154 | 151 | (`Job.backend_job_id`) |
155 | 152 |
|
156 | 153 | ## 0.4.0 (2018-11-06) |
157 | 154 |
|
158 | | -- Stores `reana.yaml` in database models. |
159 | | -- Adds Workflow specification and parameter getters. |
160 | | -- Adds support for Python 3.7. |
161 | | -- Changes license to MIT. |
| 155 | +* Stores `reana.yaml` in database models. |
| 156 | +* Adds Workflow specification and parameter getters. |
| 157 | +* Adds support for Python 3.7. |
| 158 | +* Changes license to MIT. |
162 | 159 |
|
163 | 160 | ## 0.3.0 (2018-08-10) |
164 | 161 |
|
165 | | -- This package is a result of refactoring [reana-commons](https://reana-commons.readthedocs.io/). |
166 | | -- Provides common REANA models. |
167 | | -- Provides database connection logic. |
| 162 | +* This package is a result of refactoring [reana-commons](https://reana-commons.readthedocs.io/). |
| 163 | +* Provides common REANA models. |
| 164 | +* Provides database connection logic. |
0 commit comments