Skip to content

Commit 4bfc522

Browse files
authored
Release 4.3.0 (GeoNode#12288)
1 parent 6cb3aaf commit 4bfc522

7 files changed

+110
-18
lines changed

CHANGELOG.md

+94-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,97 @@
1-
# Change Log
1+
# Changelogs
2+
3+
## [4.3.0](https://github.com/GeoNode/geonode/releases/tag/4.3.0) (2024-05-30)
4+
### New features and improvements
5+
6+
- **3D and MapSore catalog plugins available for maps**: This release includes a major upgrade of the MapStore framework upon which the GeoNode client is built. One of the key benefits brought by the alignment to the latest MapStore versions, is the integration of new plugins powered by MapStore. Two of these plugins have been enabled by default for maps: **3D view**, powered by Cesium and the [**Catalog tool**](https://docs.mapstore.geosolutionsgroup.com/en/latest/user-guide/catalog/) which gives users the option to include external layers (from WMS, TMS, CSW, etc. services) directly into a map. The 3D view is the first step toward the publishing of 3D content with GeoNode. Meanwhile external 3D Tiles sources can already be viewed inside a GeoNode map thanks to the [Catalog service for 3D Tiles](https://docs.mapstore.geosolutionsgroup.com/en/v2023.02.01/user-guide/catalog/#3d-tiles-catalog).
7+
- **Map Viewers**: Thanks again to the work done to extend the integration with MapStore, its concept of Application Contexts have been adapted and integrated in GeoNode under the the name "Map Viewers". With a Map Viewer the list of tools and plugins available in a map can be configured. Map Viewers can be created from a map (the feature is available under the Edit menu) and they can be used by multiple maps. With Map Viewers all the plugins offered by MapStore can be used inside GeoNode maps.
8+
- **Hiding resources from catalog listing**: There are cases where a resource is created only to be used within other resources. Images uploaded to be included in a geostory, datasets only meant to be viewed inside maps, are examples. Sometimes we don't want these resoruces to be visibile inside the catalog list, or inside search results. For these cases a new "Advertized" attribute is available under the Settings tab of the Metadata editor. When this flag is turned off the resource will only be listed to its owner. This doesn't affect the permissions on the resource. Users with view permissions can still visualize the resource, but it won't be listed in the catalog to them.
9+
- **Extended Users API**: The User API has been extended to support the full management of GeoNode accounts. This API makes GeoNode compliant with the Data policies that request to give users the option to delete their account and their data from apps. The new APIs also support the transfer of resource ownership to another user and the ability to step down from the Group Manager role for a user.
10+
- **Groups facet**: A new facet (filter) has been added to the filters panel for filtering resources by Group.
11+
12+
### Other minor improvements and fixes
13+
14+
- **Backup/Restore**: Several improvements that make the B/R service more robust and performant. Code customizations (layouts, etc.) are excluded now from projects backups.
15+
- **Owner was update when geoapp were saved**: This fixes a problem with geoapps (geostories and dashboards) where the current user was assigned as owner when the resource was saved.
16+
- **Fixed textara for rich HTML metadata fields**: It wasn't editable due to a regression introduced in previous versions.
17+
- **Metadata and SLD file uploads**: Fixed a problem with the legacy code that prevented the upload of XML and SLD metadata files for an existing resource.
18+
19+
### Software upgrades:
20+
- Django 4.2.9
21+
- Geoserver 2.24.3
22+
- MapStore 2024.01.00
23+
24+
The full list of changes [here](https://github.com/GeoNode/geonode/milestone/43?closed=1)
25+
26+
## [4.2.0](https://github.com/GeoNode/geonode/releases/tag/4.2.0) (2024-01-10)
27+
28+
### New features and improvements
29+
30+
- **Enhanced faceted filtering**: Filtering of resources has undergone a deep refactoring with the goal of improving its performance and implement proper (cascaded) faceted filtering. The resoruces, and their counting, are calculated from the intersection of the topics selected between different filters (AND logic) and the union of the optics selected from the same filter (OR logic). An improvement is planned for a future version to let users select additional topics from the same filter that happen to be hidden because not cointained in the current results.
31+
- **Location view and management**: A new "Location" tab is available inside the information side panel, where the bounding box of the resoruce and its centroid are displayed. The location for spatial resources (datasets and maps) are automatically retrieved by the data itself. For non-spatial resources the same panel gives editors the tools to set the bounding bos and the position of the resource.
32+
- **Linked resources**: The options to link resources has been extended to any type of resource. It's possible to related any resource with any other resource (one or many), and the relationship is disaplyed inside the new "Lined resources" tab inside the information side panel. The direction of the relationship is also visible, since linked resources are disaplyed under two distinct groups "Linked from" and "Lined to".
33+
34+
### Other minor improvements
35+
- Implemented a generic and pluggable OIDC SocialAccount Provider, which extends and improves the one provided by the `allauth` module already available in GeoNode
36+
- Documents from remote URLs can be created from the client
37+
- Regions are not assigned to new resources automatically anymore. A pluggable and configurable option lets administrators implement specific logic for the automatic assignmenet if required
38+
- Option to configure a WMTS service to generate thumbnail backgrounds
39+
- The rendering of thumbnails for the maps now take into account ordering and opacity
40+
- Implemented the option to do not register new users as contributors automatically (default behaviour)
41+
42+
### Software upgrades:
43+
- Django 3.2.23
44+
- Geoserver 2.23.3
45+
- PostgreSQL 15.3 / PostGIS 3.3
46+
- Nginx 1.25.3
47+
48+
The full list of changes [here](https://github.com/GeoNode/geonode/milestone/37?closed=1)
49+
50+
## [4.1.0](https://github.com/GeoNode/geonode/releases/tag/4.1.0) (2023-06-05)
51+
52+
### New upload engine
53+
GeoNode integrates a brand new importer module based on [GDAL/OGR](https://gdal.org/), which offers increased robustness and reliability to the upload UI and API services. GeoPackage (vector), GeoJSON, KML/KMZ formats and a new CSV handler have been implemented.
54+
55+
### Thesaurus faceting and date filtering
56+
If thesaurus and thesaurus keywords are configured and assigned to resources, they will be available inside the filters panel, along with the number of associated resources.
57+
Date filtering (from/top) has also been added.
58+
59+
### Time series configurable after the upload
60+
The configuration of (potential) time series at upload time was confusing for users, and not very robust.
61+
With the new importer, the optional configuration of vector time series can be done afterward, through the Settings tab inside the Metadata editing page
62+
Only vector fomats that provide date(time) fields natively are supported. Conversion from string fields is not implemented.
63+
64+
### Linked resources
65+
This restore a functionality available in previous versions of GeoNode.
66+
A tab inside the info panel has been added where relationships between datasets, maps and documents are reported.
67+
68+
### Vector dataset attributes
69+
A tab inside the info panel has been added showing the attributes of vector datasets
70+
71+
### Remote documents
72+
The API has been extended to permit the creation of document resources referencing remote URLs
73+
74+
### ISO-19115 XML upload via API
75+
The API now supports the upload of a metadata XML file along with the resource data
76+
77+
### Software upgrades
78+
79+
- [Geoserver 2.23.0](https://geoserver.org/announcements/2023/04/05/geoserver-2-23-0-released.html) is now the reference version. This version includes Geofence WPS rules which are employed by GeoNode to strengthen the security of the OGC/WPS processes.
80+
- [MapStore 2022.02.xx](https://github.com/geosolutions-it/MapStore2/tree/2022.02.xx)
81+
- [Django 3.2.19](https://docs.djangoproject.com/en/4.2/releases/3.2.19/)
82+
- PostgreSQL 13 and PostGIS 3.3.3
83+
84+
85+
### Security and Bug Fixes
86+
- [CVE-2023-26043](https://github.com/GeoNode/geonode/security/advisories/GHSA-mcmc-c59m-pqq8)
87+
Fixed a vulnerability to XML External Entity (XXE) injection
88+
- [CVE-2023-28442](https://github.com/GeoNode/geonode/security/advisories/GHSA-87mh-vw7c-5v6w)
89+
Fixed information leak
90+
91+
You can see the **full list of closed issues [here](https://github.com/GeoNode/geonode/compare/4.1.0...4.0.3)**.
92+
93+
## System requirements
94+
Python >3.9 is required to run GeoNode 4.1.0, since many of its dependencies have dropped support for older versions.
295

396
## [4.0.2](https://github.com/GeoNode/geonode/tree/4.0.2) (2022-12-20)
497

docker-compose-dev.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ services:
7979

8080
# Geoserver backend
8181
geoserver:
82-
image: geonode/geoserver:2.24.3-latest
82+
image: geonode/geoserver:2.24.3-v1
8383
container_name: geoserver4${COMPOSE_PROJECT_NAME}
8484
healthcheck:
8585
test: "curl -m 10 --fail --silent --write-out 'HTTP CODE : %{http_code}\n' --output /dev/null http://geoserver:8080/geoserver/ows"
@@ -105,7 +105,7 @@ services:
105105
condition: service_healthy
106106

107107
data-dir-conf:
108-
image: geonode/geoserver_data:2.24.3-latest
108+
image: geonode/geoserver_data:2.24.3-v1
109109
container_name: gsconf4${COMPOSE_PROJECT_NAME}
110110
entrypoint: sleep infinity
111111
volumes:

docker-compose-test.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ version: '3.9'
33
# Common Django template for GeoNode and Celery services below
44
x-common-django:
55
&default-common-django
6-
image: geonode/geonode:latest-ubuntu-22.04
6+
image: geonode/geonode:4.3.0
77
build:
88
context: ./
99
dockerfile: Dockerfile
@@ -92,7 +92,7 @@ services:
9292

9393
# Geoserver backend
9494
geoserver:
95-
image: geonode/geoserver:2.24.3-latest
95+
image: geonode/geoserver:2.24.3-v1
9696
container_name: geoserver4${COMPOSE_PROJECT_NAME}
9797
healthcheck:
9898
test: "curl -m 10 --fail --silent --write-out 'HTTP CODE : %{http_code}\n' --output /dev/null http://geoserver:8080/geoserver/ows"
@@ -118,7 +118,7 @@ services:
118118
condition: service_healthy
119119

120120
data-dir-conf:
121-
image: geonode/geoserver_data:2.24.3-latest
121+
image: geonode/geoserver_data:2.24.3-v1
122122
container_name: gsconf4${COMPOSE_PROJECT_NAME}
123123
entrypoint: sleep infinity
124124
volumes:

docker-compose.yml

+6-6
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@ version: '3.9'
33
# Common Django template for GeoNode and Celery services below
44
x-common-django:
55
&default-common-django
6-
image: geonode/geonode:latest-ubuntu-22.04
7-
build:
8-
context: ./
9-
dockerfile: Dockerfile
6+
image: geonode/geonode:4.3.0
7+
#build:
8+
# context: ./
9+
# dockerfile: Dockerfile
1010
restart: unless-stopped
1111
env_file:
1212
- .env
@@ -91,7 +91,7 @@ services:
9191

9292
# Geoserver backend
9393
geoserver:
94-
image: geonode/geoserver:2.24.3-latest
94+
image: geonode/geoserver:2.24.3-v1
9595
container_name: geoserver4${COMPOSE_PROJECT_NAME}
9696
healthcheck:
9797
test: "curl -m 10 --fail --silent --write-out 'HTTP CODE : %{http_code}\n' --output /dev/null http://geoserver:8080/geoserver/ows"
@@ -117,7 +117,7 @@ services:
117117
condition: service_healthy
118118

119119
data-dir-conf:
120-
image: geonode/geoserver_data:2.24.3-latest
120+
image: geonode/geoserver_data:2.24.3-v1
121121
container_name: gsconf4${COMPOSE_PROJECT_NAME}
122122
entrypoint: sleep infinity
123123
volumes:

geonode/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919

2020
import os
2121

22-
__version__ = (4, 3, 0, "dev", 0)
22+
__version__ = (4, 3, 0, "final", 0)
2323

2424

2525
def get_version():

requirements.txt

+2-3
Original file line numberDiff line numberDiff line change
@@ -85,9 +85,8 @@ Markdown==3.6
8585
git+https://github.com/GeoNode/pinax-notifications.git@django_upgrade#egg=pinax-notifications
8686

8787
# GeoNode org maintained apps.
88-
# django-geonode-mapstore-client==4.0.5
89-
git+https://github.com/GeoNode/[email protected]#egg=django_geonode_mapstore_client
90-
git+https://github.com/GeoNode/geonode-importer.git@master#egg=geonode-importer
88+
django-geonode-mapstore-client==4.3.0
89+
geonode-importer==1.0.9
9190
django-avatar==8.0.0
9291
git+https://github.com/GeoNode/geonode-oauth-toolkit.git@openid-connect#egg=geonode-oauth-toolkit
9392
git+https://github.com/GeoNode/geonode-user-messages.git@django_upgrade#egg=geonode-user-messages

setup.cfg

+2-2
Original file line numberDiff line numberDiff line change
@@ -111,8 +111,8 @@ install_requires =
111111
pinax-notifications @ git+https://github.com/GeoNode/pinax-notifications.git@django_upgrade#egg=pinax-notifications
112112

113113
# GeoNode org maintained apps.
114-
django-geonode-mapstore-client>=4.2.0,<5.0.0
115-
geonode-importer>=1.0.8
114+
django-geonode-mapstore-client==4.3.0
115+
geonode-importer==1.0.9
116116
django-avatar==8.0.0
117117
geonode-oauth-toolkit @ git+https://github.com/GeoNode/geonode-oauth-toolkit.git@openid-connect#egg=geonode-oauth-toolkit
118118
geonode-user-messages @ git+https://github.com/GeoNode/geonode-user-messages.git@django_upgrade#egg=geonode-user-messages

0 commit comments

Comments
 (0)