735cc85 | Juergen E. Fischer | 14 May 2021, 12:10:19 UTC | Release of 3.18.3 | 14 May 2021, 12:10:19 UTC |
7a4c9d8 | Juergen E. Fischer | 14 May 2021, 12:10:14 UTC | translation update for 3.18.3 from transifex | 14 May 2021, 12:10:14 UTC |
ae7d8b4 | nirvn | 09 May 2021, 09:27:04 UTC | Add missing documentation | 10 May 2021, 20:27:23 UTC |
ceb1e5b | nirvn | 09 May 2021, 05:50:58 UTC | [editor widgets] Avoid infinite image resize loop | 10 May 2021, 20:27:23 UTC |
547abc8 | nirvn | 09 May 2021, 05:28:30 UTC | [editor widgets] Fix external resource's image not cleared when browsing from one feature to another | 10 May 2021, 20:27:23 UTC |
1152322 | rldhont | 06 May 2021, 08:18:07 UTC | [Processing][Test] QgsProcessingParameterVectorLayer description string - Deactivated tests QgsProcessingParameterVectorLayer multi data types does not work as QgsProcessingParameterFeatureSource | 10 May 2021, 20:24:57 UTC |
75ae9cf | rldhont | 04 May 2021, 16:06:09 UTC | [Processing][Test] QgsProcessingParameterRasterLayer description string | 10 May 2021, 20:24:57 UTC |
787eba2 | rldhont | 04 May 2021, 16:05:48 UTC | [Processing][Test] QgsProcessingParameterVectorLayer description string | 10 May 2021, 20:24:57 UTC |
90da0d3 | rldhont | 04 May 2021, 16:05:18 UTC | [Processing][Test] QgsProcessingParameterFeatureSource description string | 10 May 2021, 20:24:57 UTC |
4d73131 | rldhont | 04 May 2021, 08:30:16 UTC | [Processing][Test] QgsProcessingParameterFileDestination description string | 10 May 2021, 20:24:57 UTC |
9f7d913 | rldhont | 04 May 2021, 07:38:14 UTC | [Processing][Test] QgsProcessingParameterFolderDestination description string | 10 May 2021, 20:24:57 UTC |
3977de5 | rldhont | 04 May 2021, 07:28:03 UTC | [Processing][Test] QgsProcessingParameterRasterDestination description string | 10 May 2021, 20:24:57 UTC |
37cfb3f | rldhont | 04 May 2021, 07:26:30 UTC | [Processing][Test] QgsProcessingParameterVectorDestination description string | 10 May 2021, 20:24:57 UTC |
68a6c20 | rldhont | 04 May 2021, 07:15:58 UTC | [Processing][Test] QgsProcessingParameterFile description string | 10 May 2021, 20:24:57 UTC |
541e64d | Nyall Dawson | 03 May 2021, 23:25:05 UTC | Update python/plugins/processing/tests/ParametersTest.py | 10 May 2021, 20:24:57 UTC |
79db16d | rldhont | 03 May 2021, 22:14:06 UTC | fix number | 10 May 2021, 20:24:57 UTC |
dff541a | rldhont | 03 May 2021, 21:59:18 UTC | Tests QgsProcessingParameterExtent | 10 May 2021, 20:24:57 UTC |
c484b93 | rldhont | 03 May 2021, 21:48:03 UTC | Tests QgsProcessingParameterCrs | 10 May 2021, 20:24:57 UTC |
9187c94 | rldhont | 03 May 2021, 21:28:31 UTC | Tests QgsProcessingParameterBoolean | 10 May 2021, 20:24:57 UTC |
0e0a12e | rldhont | 03 May 2021, 21:24:24 UTC | Fix number | 10 May 2021, 20:24:57 UTC |
6018c56 | rldhont | 03 May 2021, 18:39:33 UTC | Tests QgsProcessingParameterNumber | 10 May 2021, 20:24:57 UTC |
8742c43 | rldhont | 03 May 2021, 18:15:23 UTC | fix lint | 10 May 2021, 20:24:57 UTC |
2a8f238 | rldhont | 03 May 2021, 17:58:32 UTC | [Tests][Processing] Add getParameterFromString tests The Procesing plugins provide a method to get parameter from string. The string can be based on the QGIS parameter `asScriptCode` / `fromScriptCode` string definition or on the QGIS definitions used in description file. | 10 May 2021, 20:24:57 UTC |
c195f46 | Even Rouault | 07 May 2021, 21:21:25 UTC | QgsAppMapTools: fix double-free during destruction of tools and do it also in QgsMapToolAddEllipse, QgsMapToolAddRectangle, QgsMapToolAddRegularPolygon and QgsMapToolAddCircularString that use a similar pattern spotted by Valgrind when quitting the app: ``` ==80600== Invalid read of size 8 ==80600== at 0x61C0F54: swap<QgsMapToolCaptureRubberBand*> (move.h:193) ==80600== by 0x61C0F54: reset (unique_ptr.h:400) ==80600== by 0x61C0F54: QgsMapToolCapture::deleteTempRubberBand() (qgsmaptoolcapture.cpp:848) ==80600== by 0x4DF1017: QgsMapToolAddCircle::clean() (qgsmaptooladdcircle.cpp:135) ==80600== by 0x4DF1390: QgsMapToolAddCircle::~QgsMapToolAddCircle() (qgsmaptooladdcircle.cpp:41) ==80600== by 0x4DF36BC: QgsMapToolCircle2TangentsPoint::~QgsMapToolCircle2TangentsPoint() (qgsmaptoolcircle2tangentspoint.cpp:44) ==80600== by 0x4E9516E: QgsAppMapTools::~QgsAppMapTools() (qgsappmaptools.cpp:185) ==80600== by 0x4B327D2: operator() (unique_ptr.h:81) ==80600== by 0x4B327D2: operator() (unique_ptr.h:75) ==80600== by 0x4B327D2: reset (unique_ptr.h:402) ==80600== by 0x4B327D2: QgisApp::~QgisApp() (qgisapp.cpp:1725) ==80600== by 0x4B32E2C: QgisApp::~QgisApp() (qgisapp.cpp:1787) ==80600== by 0x1163F7: main (main.cpp:1645) ==80600== Address 0x2b25e608 is 200 bytes inside a block of size 616 free'd ==80600== at 0x483D1CF: operator delete(void*, unsigned long) (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==80600== by 0x4E9516E: QgsAppMapTools::~QgsAppMapTools() (qgsappmaptools.cpp:185) ==80600== by 0x4B327D2: operator() (unique_ptr.h:81) ==80600== by 0x4B327D2: operator() (unique_ptr.h:75) ==80600== by 0x4B327D2: reset (unique_ptr.h:402) ==80600== by 0x4B327D2: QgisApp::~QgisApp() (qgisapp.cpp:1725) ==80600== by 0x4B32E2C: QgisApp::~QgisApp() (qgisapp.cpp:1787) ==80600== by 0x1163F7: main (main.cpp:1645) ==80600== Block was alloc'd at ==80600== at 0x483BE63: operator new(unsigned long) (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==80600== by 0x4E956E2: QgsAppMapTools::QgsAppMapTools(QgsMapCanvas*, QgsAdvancedDigitizingDockWidget*) (qgsappmaptools.cpp:128) ==80600== by 0x4B6409B: make_unique<QgsAppMapTools, QgsMapCanvas*&, QgsAdvancedDigitizingDockWidget*&> (unique_ptr.h:857) ==80600== by 0x4B6409B: QgisApp::QgisApp(QSplashScreen*, bool, bool, QString const&, QString const&, QWidget*, QFlags<Qt::WindowType>) (qgisapp.cpp:1052) ==80600== by 0x1157A7: main (main.cpp:1377) ``` The reason was that the mParentTool of QgsMapToolCapture was already destroyed | 09 May 2021, 23:15:02 UTC |
e8630d7 | Andrea Giudiceandrea | 06 May 2021, 22:24:32 UTC | Release datasource when cancelling loading of OGR sublayers | 07 May 2021, 22:44:13 UTC |
8b35677 | Maxim Rylov | 07 April 2021, 09:54:05 UTC | Fix compiler warnings in QgsHanaConnection | 04 May 2021, 23:05:25 UTC |
0289cb7 | Nyall Dawson | 07 April 2021, 00:21:08 UTC | Update src/providers/hana/qgshanaconnection.cpp | 04 May 2021, 23:05:25 UTC |
b7720fe | Maxim Rylov | 06 April 2021, 13:05:24 UTC | Fix spell check/compiler warnings | 04 May 2021, 23:05:25 UTC |
9c8bd52 | Maxim Rylov | 01 April 2021, 10:35:48 UTC | Fix: QgsHanaProvider cannot be initialized with a query | 04 May 2021, 23:05:25 UTC |
e93a92e | Maxim Rylov | 29 March 2021, 12:04:25 UTC | Rework uniqueness detection for composite keys in HANA | 04 May 2021, 23:05:25 UTC |
5dcfc8f | Maxim Rylov | 25 March 2021, 12:53:08 UTC | Update odbccpp dependency | 04 May 2021, 23:05:25 UTC |
fd817b7 | Maxim Rylov | 22 March 2021, 07:42:49 UTC | Fix: field precision is not set in HANA | 04 May 2021, 23:05:25 UTC |
3606fcf | Maxim Rylov | 19 March 2021, 14:56:17 UTC | Rework field uniqueness detection in HANA | 04 May 2021, 23:05:25 UTC |
767a2eb | Maxim Rylov | 22 March 2021, 13:26:39 UTC | Update odbccpp dependency | 04 May 2021, 23:05:25 UTC |
747db18 | Maxim Rylov | 17 March 2021, 15:02:04 UTC | HANA: Fix bug when writing attributes with a geometry column | 04 May 2021, 23:05:25 UTC |
e973852 | Maxim Rylov | 10 March 2021, 15:18:06 UTC | Optimize fetching of default values in HANA | 04 May 2021, 23:05:25 UTC |
3ea7443 | Maxim Rylov | 10 March 2021, 13:10:00 UTC | Retrieve fields' comments in HANA | 04 May 2021, 23:05:25 UTC |
7e060a8 | Maxim Rylov | 09 March 2021, 09:01:59 UTC | Minor cleanups in QgsHanaProviderConnection | 04 May 2021, 23:05:25 UTC |
cd2865a | Maxim Rylov | 09 March 2021, 08:52:12 UTC | Fix: unable to drop a view in HANA | 04 May 2021, 23:05:25 UTC |
f7da4f4 | Maxim Rylov | 04 March 2021, 16:36:23 UTC | Improve primary key detection in HANA | 04 May 2021, 23:05:25 UTC |
a207c31 | Maxim Rylov | 01 March 2021, 12:52:06 UTC | Implement QgsHanaProviderConnection::fields | 04 May 2021, 23:05:25 UTC |
8a080d0 | Maxim Rylov | 26 February 2021, 09:59:19 UTC | Implement QgsHanaProviderConnection::table | 04 May 2021, 23:05:25 UTC |
3c71e94 | uclaros | 01 May 2021, 16:03:16 UTC | Manual backport of #42383 | 01 May 2021, 22:00:58 UTC |
5920dd1 | Andrea Giudiceandrea | 23 April 2021, 06:25:14 UTC | [DB Manager] Fix No Geometry tables Avoid to add a nonexistent 'geometry' field to the fields list of No Geometry tables. | 29 April 2021, 22:33:23 UTC |
a7d6a8b | Andrea Giudiceandrea | 23 April 2021, 06:14:57 UTC | [DB Manager] Fix recognition of project layers with Z/M… …or CurvePolygon/MultyCurve/... geometry types as spatial layers. | 29 April 2021, 22:33:23 UTC |
d9d765e | vcloarec | 29 April 2021, 02:57:11 UTC | backport #43010 and #43017 | 29 April 2021, 05:54:29 UTC |
eed3818 | Matthias Kuhn | 27 April 2021, 19:31:54 UTC | Merge pull request #42993 from qgis/backport-42989-to-release-3_18 [Backport release-3_18] [BUGFIX] Fixes QgsPostgresProviderConnection::createSpatialIndex. | 27 April 2021, 19:31:54 UTC |
b1086b5 | Loïc Bartoletti | 27 April 2021, 15:45:02 UTC | [BUGFIX] Fixes QgsPostgresProviderConnection::createSpatialIndex. Adds quotedIdentifier to avoid failure when indexName contains 'invalid' characters | 27 April 2021, 17:42:49 UTC |
3213c68 | qgis-bot | 27 April 2021, 07:12:21 UTC | Merge pull request #42975 from qgis/3nids-patch-1 (#42976) use qgis-bot as actor Co-authored-by: Denis Rouzaud <denis.rouzaud@gmail.com> | 27 April 2021, 07:12:21 UTC |
fbda356 | Stefanos Natsis | 27 April 2021, 04:05:23 UTC | Order map keys by length before using in replace function Fix #42940 | 27 April 2021, 05:31:23 UTC |
4d67781 | Nyall Dawson | 22 April 2021, 23:37:36 UTC | Fix potential nullptr dereference issue in symbol to SLD conversion due to incorrect use of static_cast instead of dynamic_cast. And cleanup logic to make it clearer. | 27 April 2021, 01:20:07 UTC |
4ac95c6 | uclaros | 24 April 2021, 09:49:58 UTC | Call proper parent deactivate() for QgsMapToolMoveFeature | 27 April 2021, 01:15:40 UTC |
5aff252 | Nyall Dawson | 22 April 2021, 23:44:02 UTC | Fix potential crash in mesh renderer vector settings widget | 27 April 2021, 01:12:09 UTC |
8b5c428 | Nyall Dawson | 26 April 2021, 22:36:27 UTC | Properly disable mingw build, disable 20.10 build | 27 April 2021, 01:09:59 UTC |
ffed8f9 | Paul Wicks | 24 April 2021, 03:48:00 UTC | Move currentFrame increment to the end of the loop This fixes a bug that causes the first frame in a temporal animation to be skipped since currentFrame is initialized to be zero, but then before the first frame is rendered frame number is incremented. This is a fix for #42932. | 26 April 2021, 19:31:20 UTC |
44d7dfa | vcloarec | 07 April 2021, 14:56:41 UTC | check/uncheck all MSSQL schemas (backport #42678) | 26 April 2021, 09:35:12 UTC |
8f0e606 | Matthias Kuhn | 21 April 2021, 05:45:09 UTC | Merge pull request #42869 from m-kuhn/statsbycaterror Add safety check for field name in StatisticsByCategories | 23 April 2021, 05:28:41 UTC |
655e180 | Andrea Giudiceandrea | 20 April 2021, 07:38:53 UTC | Fix opening the console when an error occurs (specifically when 3d library is not built) before the console is displayed. | 22 April 2021, 22:57:35 UTC |
642ef19 | Mathieu Pellerin | 21 April 2021, 15:37:14 UTC | Merge pull request #42889 from qgis/backport-42887-to-release-3_18 [Backport release-3_18] [attribute form] Fix drag n drop spacing issue with container-less setup | 21 April 2021, 15:37:14 UTC |
b694b20 | Mathieu Pellerin | 21 April 2021, 12:01:49 UTC | [attribute form] Fix drag n drop spacing issue with container-less setup (#42887) | 21 April 2021, 12:05:02 UTC |
e3e45fb | Mathieu Pellerin | 21 April 2021, 00:37:55 UTC | Merge pull request #42853 from qgis/backport-42846-to-release-3_18 [Backport release-3_18] [symbology] Make use of the marker symbol line angle for all polyline templated line rendering | 21 April 2021, 00:37:55 UTC |
e580489 | Mathieu Pellerin | 19 April 2021, 04:39:34 UTC | Merge pull request #42846 from nirvn/lineangle_fix [symbology] Make use of the marker symbol line angle for all polyline templated line rendering | 19 April 2021, 04:42:49 UTC |
a1325e6 | uclaros | 18 April 2021, 14:06:35 UTC | FlatGeobuf is always UTF-8 | 19 April 2021, 04:28:26 UTC |
df2ceac | Nyall Dawson | 18 April 2021, 01:37:24 UTC | Disable mingw build The environment is broken for unknown reasons | 18 April 2021, 01:39:52 UTC |
d1a8051 | Sebastian | 16 April 2021, 21:07:44 UTC | switch from baseName to completeBaseName | 18 April 2021, 01:32:49 UTC |
3e031d8 | Harrissou Sant-anna | 16 April 2021, 15:15:28 UTC | "Flatten relationship" alg output can not be skipped | 18 April 2021, 01:32:30 UTC |
33d7eef | Alessandro Pasotti | 12 April 2021, 13:50:51 UTC | Merge pull request #42769 from rldhont/server-feature-id-string-to-fid [Server] QgsServerFeatureId use STRING_TO_FID instead of toLongLong | 17 April 2021, 23:16:09 UTC |
178f6a1 | Alessandro Pasotti | 11 April 2021, 12:34:53 UTC | Merge pull request #42754 from rouault/fix_crash_bad_vector_layer Gui: fix crash when opening vector layer property dialog on a bad layer | 17 April 2021, 23:08:43 UTC |
fc40b4d | vcloarec | 14 April 2021, 15:46:54 UTC | remove qDebug | 17 April 2021, 23:06:06 UTC |
58b78f3 | vcloarec | 14 April 2021, 15:26:11 UTC | backport #42713 | 17 April 2021, 23:06:06 UTC |
8376148 | Matthias Kuhn | 13 April 2021, 08:43:53 UTC | Merge pull request #42782 from nirvn/updatefeature_fix [vectorlayer] Fix updateFeature() when an attribute's variant goes from null to default null value | 17 April 2021, 23:05:03 UTC |
d00cd4d | Matthias Kuhn | 16 April 2021, 14:58:06 UTC | Merge pull request #42802 from qgis/backport-42771-to-release-3_18 [Backport release-3_18] [Server] QgsServerFeatureId use combine expression in update feature request | 16 April 2021, 14:58:06 UTC |
515138c | Juergen E. Fischer | 16 April 2021, 12:10:43 UTC | Release of 3.18.2 | 16 April 2021, 12:10:43 UTC |
807945f | Juergen E. Fischer | 16 April 2021, 12:10:38 UTC | translation update for 3.18.2 from transifex | 16 April 2021, 12:10:38 UTC |
740fb43 | github-actions[bot] | 16 April 2021, 04:52:32 UTC | fix API header references (#42795) (#42808) * fix API header reference * fix SIP Co-authored-by: Vincent Cloarec <vcloarec@gmail.com> | 16 April 2021, 04:52:32 UTC |
62c7f6a | github-actions[bot] | 15 April 2021, 11:29:34 UTC | [Oracle] Don't run flaky test PyQgsOracleProvider (#42790) (#42809) Co-authored-by: Julien Cabieces <julien.cabieces@oslandia.com> | 15 April 2021, 11:29:34 UTC |
78b45e1 | github-actions[bot] | 15 April 2021, 11:29:18 UTC | Update documentation for new timeout behavior in 3.18 (#42744) (#42810) * update documentation for new timeout behavior in 3.18 * fix tests * fix indentation test * Revert "fix indentation test" This reverts commit a2dd63920e864de78a3bf36efc5d2f657a217403. * fix all tests Co-authored-by: fiddlersfan <18557959+fiddlersfan@users.noreply.github.com> | 15 April 2021, 11:29:18 UTC |
31bbdcf | Basil Eric Rabi | 15 April 2021, 11:20:12 UTC | fix wrong identification of python 3.10 as python 3.1 (#42799) | 15 April 2021, 11:20:12 UTC |
607f819 | Andrea Giudiceandrea | 15 April 2021, 11:19:02 UTC | List 3.16 (LTR) in 3.18 API C++ doc pages (#42796) | 15 April 2021, 11:19:02 UTC |
cf2baa4 | Alessandro Pasotti | 15 April 2021, 06:25:47 UTC | Merge pull request #42771 from rldhont/server-feature-id-combine-expression [Server] QgsServerFeatureId use combine expression in update feature request | 15 April 2021, 06:28:47 UTC |
bfa38f2 | Juergen E. Fischer | 13 April 2021, 12:22:52 UTC | debian packaging: fix hirsute python library detection | 13 April 2021, 12:23:59 UTC |
f4bbede | Alessandro Pasotti | 12 April 2021, 16:25:33 UTC | Merge pull request #42774 from qgis/backport-42748-to-release-3_18 [Backport release-3_18] Update user groups data | 12 April 2021, 16:25:33 UTC |
cbda346 | Alessandro Pasotti | 10 April 2021, 08:56:43 UTC | Merge pull request #42748 from gacarrillor/add_4_new_user_groups Update user groups data | 12 April 2021, 15:09:23 UTC |
da623ce | Juergen E. Fischer | 12 April 2021, 10:54:45 UTC | scripts/scandeps.pl: drop qt5-default, add pandoc, run (cherry picked from commit 17084b8cf50a231642ec197b6b2a077520a476f2) | 12 April 2021, 11:03:17 UTC |
3535bb6 | Alessandro Pasotti | 10 April 2021, 08:57:14 UTC | Merge pull request #42738 from qgis/backport-42736-to-release-3_18 [Backport release-3_18] Update server landing page sources | 10 April 2021, 08:57:14 UTC |
8a50753 | Alessandro Pasotti | 09 April 2021, 13:54:41 UTC | Merge pull request #42736 from pathmapper/favicon Update server landing page sources | 09 April 2021, 13:58:06 UTC |
352c9f4 | Alessandro Pasotti | 08 April 2021, 21:16:17 UTC | Merge pull request #42725 from qgis/backport-42720-to-release-3_18 [Backport release-3_18] Server landing page - update minified version | 08 April 2021, 21:16:17 UTC |
e3445f2 | Alessandro Pasotti | 08 April 2021, 20:16:37 UTC | Merge pull request #42720 from pathmapper/lp_minified Server landing page - update minified version | 08 April 2021, 20:21:05 UTC |
70fa8cc | Alessandro Pasotti | 08 April 2021, 20:15:56 UTC | Merge pull request #42721 from pathmapper/backport-42697-to-release-3_18 [Backport release-3_18] Use recommended osm tile url for server API - Features and landingpage | 08 April 2021, 20:15:56 UTC |
ca0a8ae | pathmapper | 07 April 2021, 22:22:20 UTC | Use recommended osm tile url for server API - Features and landingpage (#42697) * Use recommended osm tile url | 08 April 2021, 10:52:29 UTC |
84e6bae | nirvn | 31 March 2021, 11:53:53 UTC | Ensure that cached vector getFeatures request respect provider ordering | 07 April 2021, 23:54:59 UTC |
36c3473 | Vincent Cloarec | 07 April 2021, 05:04:15 UTC | fix MSSQL extent in geometry table (#42684) | 07 April 2021, 23:53:48 UTC |
1277b17 | Juergen E. Fischer | 07 April 2021, 19:37:14 UTC | make wms server field configuration translatable (cherry picked from commit e6e78f07de96c691c478f5ae1c7979be8be15db8) | 07 April 2021, 21:30:12 UTC |
c1a9088 | Nyall Dawson | 01 April 2021, 00:01:55 UTC | [processing] When configurating a field calculator algorithm in a model, ensure that the correct expression context is set for the widget Otherwise we don't see any of the available variables ready for use in the calculation. We need to do this manually after creating the widget, because the context generator isn't set till after the widget is created, and this particular widget configuration doesn't fetch the expression context on demand. | 07 April 2021, 02:35:30 UTC |
c57ab07 | Nyall Dawson | 31 March 2021, 06:02:37 UTC | Ensure that the @geometry_part_num variable exactly matches the correct part ordering for polygon features Because we sort and render polygon parts in descending area order, we can't use the order of parts rendered for this variable or we'll be giving a different part number vs the actual geometry part number. (cherry picked from commit 684a4222680326c656991218dcac8f59751734d8) | 07 April 2021, 02:31:53 UTC |
fd8069e | Nyall Dawson | 03 April 2021, 01:57:53 UTC | Gracefully handle import errors in console Fixes opening the console when 3d library is not built Fixes #41855 | 07 April 2021, 02:30:02 UTC |
5027350 | Nyall Dawson | 03 April 2021, 02:11:47 UTC | Don't crash when trying to insert dynamic text into an empty report Fixes #42579 | 07 April 2021, 02:29:41 UTC |
8322e80 | Tomas Straupis | 04 April 2021, 20:38:53 UTC | Natural Breaks (Jenks) classification causes crash (#42618) | 07 April 2021, 02:29:22 UTC |
523510c | Denis Rouzaud | 01 April 2021, 13:39:34 UTC | make methods of QgsMapLayerAction virtual so the canRunUsingLayer can be fine tuned (#42613) | 06 April 2021, 06:50:00 UTC |
3fea7b6 | Juergen E. Fischer | 04 April 2021, 12:18:08 UTC | debian packaging: fix hirsute | 04 April 2021, 12:21:27 UTC |