udata 10.4.2.dev35475__py2.py3-none-any.whl → 10.4.3__py2.py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of udata might be problematic. Click here for more details.
- udata/__init__.py +1 -1
- udata/api_fields.py +27 -2
- udata/commands/fixtures.py +11 -1
- udata/core/dataservices/api.py +12 -10
- udata/core/dataservices/apiv2.py +4 -1
- udata/core/dataservices/constants.py +19 -0
- udata/core/dataservices/models.py +54 -1
- udata/core/dataset/api.py +33 -27
- udata/core/dataset/api_fields.py +21 -0
- udata/core/dataset/apiv2.py +14 -11
- udata/core/dataset/models.py +60 -15
- udata/core/dataset/rdf.py +1 -1
- udata/core/dataset/tasks.py +3 -2
- udata/core/organization/api.py +11 -0
- udata/core/organization/models.py +29 -2
- udata/core/reuse/api.py +4 -5
- udata/core/reuse/api_fields.py +8 -0
- udata/core/reuse/apiv2.py +2 -0
- udata/core/reuse/models.py +18 -1
- udata/core/spatial/models.py +9 -0
- udata/core/user/models.py +11 -5
- udata/harvest/api.py +2 -1
- udata/harvest/tests/dcat/bnodes.xml +5 -0
- udata/harvest/tests/test_dcat_backend.py +1 -0
- udata/migrations/2025-06-18-clean-spatial-coverages.py +25 -0
- udata/static/chunks/{11.0f04e49a40a0a381bcce.js → 11.b6f741fcc366abfad9c4.js} +3 -3
- udata/static/chunks/{11.0f04e49a40a0a381bcce.js.map → 11.b6f741fcc366abfad9c4.js.map} +1 -1
- udata/static/chunks/{13.d9c1735d14038b94c17e.js → 13.2d06442dd9a05d9777b5.js} +2 -2
- udata/static/chunks/{13.d9c1735d14038b94c17e.js.map → 13.2d06442dd9a05d9777b5.js.map} +1 -1
- udata/static/chunks/{17.81c57c0dedf812e43013.js → 17.e8e4caaad5cb0cc0bacc.js} +2 -2
- udata/static/chunks/{17.81c57c0dedf812e43013.js.map → 17.e8e4caaad5cb0cc0bacc.js.map} +1 -1
- udata/static/chunks/{19.8da42e8359d72afc2618.js → 19.f03a102365af4315f9db.js} +3 -3
- udata/static/chunks/{19.8da42e8359d72afc2618.js.map → 19.f03a102365af4315f9db.js.map} +1 -1
- udata/static/chunks/{8.494b003a94383b142c18.js → 8.778091d55cd8ea39af6b.js} +2 -2
- udata/static/chunks/{8.494b003a94383b142c18.js.map → 8.778091d55cd8ea39af6b.js.map} +1 -1
- udata/static/common.js +1 -1
- udata/static/common.js.map +1 -1
- udata/tests/api/test_dataservices_api.py +78 -0
- udata/tests/api/test_follow_api.py +20 -0
- udata/tests/api/test_organizations_api.py +25 -0
- udata/tests/test_api_fields.py +35 -0
- udata/translations/ar/LC_MESSAGES/udata.mo +0 -0
- udata/translations/ar/LC_MESSAGES/udata.po +98 -38
- udata/translations/de/LC_MESSAGES/udata.mo +0 -0
- udata/translations/de/LC_MESSAGES/udata.po +98 -38
- udata/translations/es/LC_MESSAGES/udata.mo +0 -0
- udata/translations/es/LC_MESSAGES/udata.po +98 -38
- udata/translations/fr/LC_MESSAGES/udata.mo +0 -0
- udata/translations/fr/LC_MESSAGES/udata.po +98 -38
- udata/translations/it/LC_MESSAGES/udata.mo +0 -0
- udata/translations/it/LC_MESSAGES/udata.po +98 -38
- udata/translations/pt/LC_MESSAGES/udata.mo +0 -0
- udata/translations/pt/LC_MESSAGES/udata.po +98 -38
- udata/translations/sr/LC_MESSAGES/udata.mo +0 -0
- udata/translations/sr/LC_MESSAGES/udata.po +98 -38
- udata/translations/udata.pot +98 -38
- {udata-10.4.2.dev35475.dist-info → udata-10.4.3.dist-info}/METADATA +16 -4
- {udata-10.4.2.dev35475.dist-info → udata-10.4.3.dist-info}/RECORD +62 -61
- {udata-10.4.2.dev35475.dist-info → udata-10.4.3.dist-info}/LICENSE +0 -0
- {udata-10.4.2.dev35475.dist-info → udata-10.4.3.dist-info}/WHEEL +0 -0
- {udata-10.4.2.dev35475.dist-info → udata-10.4.3.dist-info}/entry_points.txt +0 -0
- {udata-10.4.2.dev35475.dist-info → udata-10.4.3.dist-info}/top_level.txt +0 -0
udata/translations/udata.pot
CHANGED
|
@@ -6,10 +6,10 @@
|
|
|
6
6
|
#, fuzzy
|
|
7
7
|
msgid ""
|
|
8
8
|
msgstr ""
|
|
9
|
-
"Project-Id-Version: udata 10.3.
|
|
9
|
+
"Project-Id-Version: udata 10.4.3.dev0\n"
|
|
10
10
|
"Report-Msgid-Bugs-To: i18n@opendata.team\n"
|
|
11
|
-
"POT-Creation-Date: 2025-
|
|
12
|
-
"PO-Revision-Date: 2025-
|
|
11
|
+
"POT-Creation-Date: 2025-06-23 10:12+0200\n"
|
|
12
|
+
"PO-Revision-Date: 2025-06-23 10:12+0200\n"
|
|
13
13
|
"Last-Translator: Open Data Team <i18n@opendata.team>\n"
|
|
14
14
|
"Language: en\n"
|
|
15
15
|
"Language-Team: Open Data Team <i18n@opendata.team>\n"
|
|
@@ -52,7 +52,7 @@ msgstr ""
|
|
|
52
52
|
msgid "Invalid URL \"{url}\": {reason}"
|
|
53
53
|
msgstr ""
|
|
54
54
|
|
|
55
|
-
#: udata/tests/api/test_datasets_api.py:
|
|
55
|
+
#: udata/tests/api/test_datasets_api.py:1113 udata/tests/test_model.py:403
|
|
56
56
|
#: udata/uris.py:55
|
|
57
57
|
#, python-brace-format
|
|
58
58
|
msgid "Invalid URL \"{url}\""
|
|
@@ -215,7 +215,7 @@ msgid "Your udata instance is ready!"
|
|
|
215
215
|
msgstr ""
|
|
216
216
|
|
|
217
217
|
#: udata/core/owned.py:64 udata/forms/fields.py:752
|
|
218
|
-
#: udata/tests/api/test_dataservices_api.py:
|
|
218
|
+
#: udata/tests/api/test_dataservices_api.py:540
|
|
219
219
|
msgid "You can only set yourself as owner"
|
|
220
220
|
msgstr ""
|
|
221
221
|
|
|
@@ -224,7 +224,7 @@ msgid "Unknown organization"
|
|
|
224
224
|
msgstr ""
|
|
225
225
|
|
|
226
226
|
#: udata/core/owned.py:77 udata/forms/fields.py:784
|
|
227
|
-
#: udata/tests/api/test_dataservices_api.py:
|
|
227
|
+
#: udata/tests/api/test_dataservices_api.py:553
|
|
228
228
|
msgid "Permission denied for this organization"
|
|
229
229
|
msgstr ""
|
|
230
230
|
|
|
@@ -282,16 +282,36 @@ msgstr ""
|
|
|
282
282
|
msgid "At least an email or a contact form is required for a contact point"
|
|
283
283
|
msgstr ""
|
|
284
284
|
|
|
285
|
-
#: udata/core/dataservices/
|
|
285
|
+
#: udata/core/dataservices/activities.py:21
|
|
286
|
+
msgid "created a dataservice"
|
|
287
|
+
msgstr ""
|
|
288
|
+
|
|
289
|
+
#: udata/core/dataservices/activities.py:27
|
|
290
|
+
msgid "updated a dataservice"
|
|
291
|
+
msgstr ""
|
|
292
|
+
|
|
293
|
+
#: udata/core/dataservices/activities.py:34
|
|
294
|
+
msgid "deleted a dataservice"
|
|
295
|
+
msgstr ""
|
|
296
|
+
|
|
297
|
+
#: udata/core/dataservices/api.py:62
|
|
298
|
+
msgid "Latest APIs"
|
|
299
|
+
msgstr ""
|
|
300
|
+
|
|
301
|
+
#: udata/core/dataservices/models.py:128
|
|
302
|
+
msgid "You can only set one condition for a given access audience role"
|
|
303
|
+
msgstr ""
|
|
304
|
+
|
|
305
|
+
#: udata/core/dataservices/models.py:158
|
|
286
306
|
msgid "dataservice"
|
|
287
307
|
msgstr ""
|
|
288
308
|
|
|
289
|
-
#: udata/core/dataservices/models.py:
|
|
309
|
+
#: udata/core/dataservices/models.py:240 udata/core/dataset/models.py:585
|
|
290
310
|
#: udata/mongo/datetime_fields.py:60
|
|
291
311
|
msgid "Creation date"
|
|
292
312
|
msgstr ""
|
|
293
313
|
|
|
294
|
-
#: udata/core/dataservices/models.py:
|
|
314
|
+
#: udata/core/dataservices/models.py:246 udata/core/dataset/models.py:590
|
|
295
315
|
#: udata/mongo/datetime_fields.py:66
|
|
296
316
|
msgid "Last modification date"
|
|
297
317
|
msgstr ""
|
|
@@ -308,6 +328,22 @@ msgstr ""
|
|
|
308
328
|
msgid "deleted a dataset"
|
|
309
329
|
msgstr ""
|
|
310
330
|
|
|
331
|
+
#: udata/core/dataset/activities.py:41
|
|
332
|
+
msgid "added a resource to a dataset"
|
|
333
|
+
msgstr ""
|
|
334
|
+
|
|
335
|
+
#: udata/core/dataset/activities.py:47
|
|
336
|
+
msgid "updated a resource"
|
|
337
|
+
msgstr ""
|
|
338
|
+
|
|
339
|
+
#: udata/core/dataset/activities.py:53
|
|
340
|
+
msgid "removed a resource from a dataset"
|
|
341
|
+
msgstr ""
|
|
342
|
+
|
|
343
|
+
#: udata/core/dataset/api.py:321
|
|
344
|
+
msgid "Latest datasets"
|
|
345
|
+
msgstr ""
|
|
346
|
+
|
|
311
347
|
#: udata/core/dataset/constants.py:10
|
|
312
348
|
msgid "Unknown"
|
|
313
349
|
msgstr ""
|
|
@@ -514,7 +550,7 @@ msgstr ""
|
|
|
514
550
|
msgid "Related dataset"
|
|
515
551
|
msgstr ""
|
|
516
552
|
|
|
517
|
-
#: udata/core/dataset/forms.py:138 udata/tests/api/test_datasets_api.py:
|
|
553
|
+
#: udata/core/dataset/forms.py:138 udata/tests/api/test_datasets_api.py:1025
|
|
518
554
|
msgid "Wrong contact point id or contact point ownership mismatch"
|
|
519
555
|
msgstr ""
|
|
520
556
|
|
|
@@ -580,38 +616,38 @@ msgstr ""
|
|
|
580
616
|
msgid "Restrict the dataset visibility to you or your organization only."
|
|
581
617
|
msgstr ""
|
|
582
618
|
|
|
583
|
-
#: udata/core/dataset/models.py:
|
|
619
|
+
#: udata/core/dataset/models.py:63
|
|
584
620
|
msgid "Pivotal data"
|
|
585
621
|
msgstr ""
|
|
586
622
|
|
|
587
|
-
#: udata/core/dataset/models.py:
|
|
623
|
+
#: udata/core/dataset/models.py:139
|
|
588
624
|
msgid "A schema must contains a name or an URL when a version is provided."
|
|
589
625
|
msgstr ""
|
|
590
626
|
|
|
591
|
-
#: udata/core/dataset/models.py:
|
|
592
|
-
#: udata/tests/api/test_datasets_api.py:
|
|
627
|
+
#: udata/core/dataset/models.py:171 udata/tests/api/test_datasets_api.py:1121
|
|
628
|
+
#: udata/tests/api/test_datasets_api.py:1132
|
|
593
629
|
#, python-brace-format
|
|
594
630
|
msgid "Schema name \"{schema}\" is not an allowed value. Allowed values: {values}"
|
|
595
631
|
msgstr ""
|
|
596
632
|
|
|
597
|
-
#: udata/core/dataset/models.py:
|
|
633
|
+
#: udata/core/dataset/models.py:190 udata/tests/api/test_datasets_api.py:1144
|
|
598
634
|
#, python-brace-format
|
|
599
635
|
msgid ""
|
|
600
636
|
"Version \"{version}\" is not an allowed value for the schema \"{name}\". "
|
|
601
637
|
"Allowed versions: {values}"
|
|
602
638
|
msgstr ""
|
|
603
639
|
|
|
604
|
-
#: udata/core/dataset/models.py:
|
|
640
|
+
#: udata/core/dataset/models.py:469 udata/core/dataset/rdf.py:603
|
|
605
641
|
#: udata/tests/dataset/test_dataset_rdf.py:687
|
|
606
642
|
#: udata/tests/dataset/test_dataset_rdf.py:700
|
|
607
643
|
msgid "Nameless resource"
|
|
608
644
|
msgstr ""
|
|
609
645
|
|
|
610
|
-
#: udata/core/dataset/models.py:
|
|
646
|
+
#: udata/core/dataset/models.py:564
|
|
611
647
|
msgid "Future date of update"
|
|
612
648
|
msgstr ""
|
|
613
649
|
|
|
614
|
-
#: udata/core/dataset/models.py:
|
|
650
|
+
#: udata/core/dataset/models.py:640
|
|
615
651
|
msgid "dataset"
|
|
616
652
|
msgstr ""
|
|
617
653
|
|
|
@@ -620,7 +656,7 @@ msgstr ""
|
|
|
620
656
|
msgid "{format} resource"
|
|
621
657
|
msgstr ""
|
|
622
658
|
|
|
623
|
-
#: udata/core/dataset/tasks.py:
|
|
659
|
+
#: udata/core/dataset/tasks.py:112
|
|
624
660
|
msgid "You need to update some frequency-based datasets"
|
|
625
661
|
msgstr ""
|
|
626
662
|
|
|
@@ -698,17 +734,17 @@ msgid "Refused"
|
|
|
698
734
|
msgstr ""
|
|
699
735
|
|
|
700
736
|
#: udata/core/organization/forms.py:25
|
|
701
|
-
#: udata/tests/api/test_organizations_api.py:
|
|
737
|
+
#: udata/tests/api/test_organizations_api.py:137
|
|
702
738
|
msgid "A siret number is made of 14 digits"
|
|
703
739
|
msgstr ""
|
|
704
740
|
|
|
705
741
|
#: udata/core/organization/forms.py:36
|
|
706
|
-
#: udata/tests/api/test_organizations_api.py:
|
|
742
|
+
#: udata/tests/api/test_organizations_api.py:149
|
|
707
743
|
msgid "A siret number is only made of digits"
|
|
708
744
|
msgstr ""
|
|
709
745
|
|
|
710
746
|
#: udata/core/organization/forms.py:39
|
|
711
|
-
#: udata/tests/api/test_organizations_api.py:
|
|
747
|
+
#: udata/tests/api/test_organizations_api.py:143
|
|
712
748
|
msgid "Invalid Siret number"
|
|
713
749
|
msgstr ""
|
|
714
750
|
|
|
@@ -740,23 +776,23 @@ msgstr ""
|
|
|
740
776
|
msgid "Business identification number"
|
|
741
777
|
msgstr ""
|
|
742
778
|
|
|
743
|
-
#: udata/core/organization/models.py:
|
|
779
|
+
#: udata/core/organization/models.py:37
|
|
744
780
|
msgid "Public Service"
|
|
745
781
|
msgstr ""
|
|
746
782
|
|
|
747
|
-
#: udata/core/organization/models.py:
|
|
783
|
+
#: udata/core/organization/models.py:38
|
|
748
784
|
msgid "Certified"
|
|
749
785
|
msgstr ""
|
|
750
786
|
|
|
751
|
-
#: udata/core/organization/models.py:
|
|
787
|
+
#: udata/core/organization/models.py:39
|
|
752
788
|
msgid "Association"
|
|
753
789
|
msgstr ""
|
|
754
790
|
|
|
755
|
-
#: udata/core/organization/models.py:
|
|
791
|
+
#: udata/core/organization/models.py:40
|
|
756
792
|
msgid "Company"
|
|
757
793
|
msgstr ""
|
|
758
794
|
|
|
759
|
-
#: udata/core/organization/models.py:
|
|
795
|
+
#: udata/core/organization/models.py:41
|
|
760
796
|
msgid "Local authority"
|
|
761
797
|
msgstr ""
|
|
762
798
|
|
|
@@ -798,6 +834,10 @@ msgstr ""
|
|
|
798
834
|
msgid "Your organization \"%(name)s\" has been identified as a local authority"
|
|
799
835
|
msgstr ""
|
|
800
836
|
|
|
837
|
+
#: udata/core/post/api.py:119
|
|
838
|
+
msgid "Latests posts"
|
|
839
|
+
msgstr ""
|
|
840
|
+
|
|
801
841
|
#: udata/core/post/constants.py:9
|
|
802
842
|
msgid "Markdown"
|
|
803
843
|
msgstr ""
|
|
@@ -882,6 +922,10 @@ msgstr ""
|
|
|
882
922
|
msgid "deleted a reuse"
|
|
883
923
|
msgstr ""
|
|
884
924
|
|
|
925
|
+
#: udata/core/reuse/api.py:141
|
|
926
|
+
msgid "Latests reuses"
|
|
927
|
+
msgstr ""
|
|
928
|
+
|
|
885
929
|
#: udata/core/reuse/constants.py:5
|
|
886
930
|
msgid "Application"
|
|
887
931
|
msgstr ""
|
|
@@ -966,11 +1010,11 @@ msgstr ""
|
|
|
966
1010
|
msgid "Open data tools"
|
|
967
1011
|
msgstr ""
|
|
968
1012
|
|
|
969
|
-
#: udata/core/reuse/models.py:
|
|
1013
|
+
#: udata/core/reuse/models.py:38
|
|
970
1014
|
msgid "This URL is already registered"
|
|
971
1015
|
msgstr ""
|
|
972
1016
|
|
|
973
|
-
#: udata/core/reuse/models.py:
|
|
1017
|
+
#: udata/core/reuse/models.py:183
|
|
974
1018
|
msgid "reuse"
|
|
975
1019
|
msgstr ""
|
|
976
1020
|
|
|
@@ -1079,34 +1123,50 @@ msgstr ""
|
|
|
1079
1123
|
msgid "French arrondissement"
|
|
1080
1124
|
msgstr ""
|
|
1081
1125
|
|
|
1126
|
+
#: udata/core/topic/activities.py:17
|
|
1127
|
+
msgid "created a topic"
|
|
1128
|
+
msgstr ""
|
|
1129
|
+
|
|
1130
|
+
#: udata/core/topic/activities.py:23
|
|
1131
|
+
msgid "updated a topic"
|
|
1132
|
+
msgstr ""
|
|
1133
|
+
|
|
1082
1134
|
#: udata/core/topic/forms.py:28
|
|
1083
1135
|
msgid "Featured"
|
|
1084
1136
|
msgstr ""
|
|
1085
1137
|
|
|
1086
|
-
#: udata/core/user/activities.py:
|
|
1087
|
-
msgid "followed
|
|
1138
|
+
#: udata/core/user/activities.py:35
|
|
1139
|
+
msgid "followed a user"
|
|
1088
1140
|
msgstr ""
|
|
1089
1141
|
|
|
1090
|
-
#: udata/core/user/activities.py:
|
|
1091
|
-
msgid "
|
|
1142
|
+
#: udata/core/user/activities.py:42
|
|
1143
|
+
msgid "discussed a dataservice"
|
|
1092
1144
|
msgstr ""
|
|
1093
1145
|
|
|
1094
|
-
#: udata/core/user/activities.py:
|
|
1146
|
+
#: udata/core/user/activities.py:47
|
|
1095
1147
|
msgid "discussed a dataset"
|
|
1096
1148
|
msgstr ""
|
|
1097
1149
|
|
|
1098
|
-
#: udata/core/user/activities.py:
|
|
1150
|
+
#: udata/core/user/activities.py:52
|
|
1099
1151
|
msgid "discussed a reuse"
|
|
1100
1152
|
msgstr ""
|
|
1101
1153
|
|
|
1102
|
-
#: udata/core/user/activities.py:
|
|
1154
|
+
#: udata/core/user/activities.py:57
|
|
1155
|
+
msgid "followed a dataservice"
|
|
1156
|
+
msgstr ""
|
|
1157
|
+
|
|
1158
|
+
#: udata/core/user/activities.py:62
|
|
1103
1159
|
msgid "followed a dataset"
|
|
1104
1160
|
msgstr ""
|
|
1105
1161
|
|
|
1106
|
-
#: udata/core/user/activities.py:
|
|
1162
|
+
#: udata/core/user/activities.py:67
|
|
1107
1163
|
msgid "followed a reuse"
|
|
1108
1164
|
msgstr ""
|
|
1109
1165
|
|
|
1166
|
+
#: udata/core/user/activities.py:72
|
|
1167
|
+
msgid "followed an organization"
|
|
1168
|
+
msgstr ""
|
|
1169
|
+
|
|
1110
1170
|
#: udata/core/user/forms.py:22
|
|
1111
1171
|
msgid "Avatar"
|
|
1112
1172
|
msgstr ""
|
|
@@ -1119,7 +1179,7 @@ msgstr ""
|
|
|
1119
1179
|
msgid "Roles"
|
|
1120
1180
|
msgstr ""
|
|
1121
1181
|
|
|
1122
|
-
#: udata/core/user/models.py:
|
|
1182
|
+
#: udata/core/user/models.py:304 udata/tests/api/test_me_api.py:297
|
|
1123
1183
|
msgid "Account deletion"
|
|
1124
1184
|
msgstr ""
|
|
1125
1185
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: udata
|
|
3
|
-
Version: 10.4.
|
|
3
|
+
Version: 10.4.3
|
|
4
4
|
Summary: Open data portal
|
|
5
5
|
Home-page: https://github.com/opendatateam/udata
|
|
6
6
|
Author: Opendata Team
|
|
@@ -140,17 +140,29 @@ It is collectively taken care of by members of the
|
|
|
140
140
|
|
|
141
141
|
# Changelog
|
|
142
142
|
|
|
143
|
-
##
|
|
143
|
+
## 10.4.3 (2025-06-23)
|
|
144
144
|
|
|
145
|
-
-
|
|
145
|
+
- Add access audience to dataservices [#3334](https://github.com/opendatateam/udata/pull/3334)
|
|
146
|
+
- Lock the updates of the resources list [#3338](https://github.com/opendatateam/udata/pull/3338)
|
|
147
|
+
- Expose permissions to cdata [#3336](https://github.com/opendatateam/udata/pull/3336)
|
|
148
|
+
- Add endpoint to get datasets followed by user [#3337](https://github.com/opendatateam/udata/pull/3337)
|
|
149
|
+
- Do not harvest spatial with invalid values [#3341](https://github.com/opendatateam/udata/pull/3341)
|
|
150
|
+
- Allow global admins to manually run harvesters in production [#3340](https://github.com/opendatateam/udata/pull/3340)
|
|
151
|
+
- Add monthly metrics to datasets, dataservices, reuses and organizations [#3342](https://github.com/opendatateam/udata/pull/3342)
|
|
152
|
+
- Fix user avatar deletion [#3346](https://github.com/opendatateam/udata/pull/3346)
|
|
153
|
+
|
|
154
|
+
## 10.4.2 (2025-06-05)
|
|
155
|
+
|
|
156
|
+
- :warning: Add migration to clean duplicate activities [#3327](https://github.com/opendatateam/udata/pull/3327)
|
|
157
|
+
- Add test for removing last contact point [#3322](https://github.com/opendatateam/udata/pull/3322)
|
|
146
158
|
- Add activities to dataservices, topics and resources, add Auditable class to refactor improve code [#3308](https://github.com/opendatateam/udata/pull/3308) [#3333](https://github.com/opendatateam/udata/pull/3333)
|
|
147
159
|
- Store activities for private objects [#3328](https://github.com/opendatateam/udata/pull/3328)
|
|
148
|
-
- :warning: Add migration to clean duplicate activities [#3327](https://github.com/opendatateam/udata/pull/3327)
|
|
149
160
|
- Do not crash if file doesn't exists during resource deletion [#3323](https://github.com/opendatateam/udata/pull/3323)
|
|
150
161
|
- Show user domain in suggest [#3324](https://github.com/opendatateam/udata/pull/3324)
|
|
151
162
|
- Add new global site metrics [#3325](https://github.com/opendatateam/udata/pull/3325)
|
|
152
163
|
- Keep the existing frequency if not found during harvesting [#3330](https://github.com/opendatateam/udata/pull/3330)
|
|
153
164
|
- Migrate atom feeds from udata-front to udata [#3326](https://github.com/opendatateam/udata/pull/3326)
|
|
165
|
+
- Add organization dataservices catalog route [#3332](https://github.com/opendatateam/udata/pull/3332)
|
|
154
166
|
|
|
155
167
|
## 10.4.1 (2025-05-20)
|
|
156
168
|
|