Release Notes
New Layout
GeoNode 5 introduces a completely redesigned layout aimed at improving usability, clarity, and visual consistency. The new interface offers a more intuitive navigation flow and a streamlined, modern look that enhances the user experience across the entire platform.
Beyond aesthetics, the redesigned layout enables a much higher degree of customization. Integrators and administrators can now easily compose custom pages and sections for individual projects, without requiring deep code-level changes. This flexible structure allows GeoNode to adapt smoothly to the specific workflows and branding needs of different deployments.
Metadata Engine and Editor
One of the most transformative changes in GeoNode 5 is the complete rewrite of the metadata engine and the metadata editor. The new system allows full customization of metadata schemas and validation rules without modifying GeoNode’s codebase or its internal models. All metadata behavior is now defined through configurable JSON Schemas, resulting in a cleaner, modular, and extensible metadata framework. You can find all the details and further information in the documentation.
This new design makes it easy to adapt standards such as ISO to specialized profiles. For example, the Italian INSPIRE profile (RNDT) has been fully rewritten using the new JSON Schema–based system, demonstrating the engine’s ability to support diverse and complex metadata standards.
GeoNode 5 also upgrades the PyCSW engine to version 3 Beta, opening the door for support of the new OGC APIs currently under development. GeoNode is now better positioned to integrate the next generation of interoperable geospatial services.
Dataset Replacement and Update
GeoNode 5 reintroduces the highly requested ability to replace datasets with newer versions. This feature is available for both vector and raster datasets, making it simple to update published data without duplicating or recreating resources.
Alongside replacement, the system now includes an experimental Update mode specifically designed for vector datasets. The functionality has been tested in several scenarios, but we wait to have it battle-tested in production environments before it can be considered a stable solution.
Update operations allow GeoNode to:
- update existing records,
- insert new records,
- and intelligently compare incoming data with existing data.
This comparison is based on a primary key, which by default is the FID field. GeoNode now automatically generates this field when a dataset is imported. To perform an update, the incoming dataset must contain the same primary key field so that GeoNode can match records correctly.
Notably:
- Updates work even if the incoming data is in a different vector format from the original dataset.
- Update operations fully support data validation, ensuring consistency and integrity.
Validation, Constraints, and Dataset Creation
Thanks to support introduced in GeoServer 2.27.3, it is now possible to define constraints on vector dataset fields, including numeric ranges and predefined lists of allowed values. GeoNode integrates these constraints as validation rules during dataset updates or replacement operations.
The newly rewritten dataset creation interface in GeoNode allows users to:
- define field constraints directly when creating a new dataset,
- have these constraints automatically propagated to GeoServer,
- enforce validation consistently across all data interactions, including manual edits in the attribute table.
For fields with enumerated values, the interface automatically shows dropdown menus. For numeric fields, values outside the defined range are blocked.
This significantly strengthens data quality management throughout the entire dataset lifecycle.
Permissions and Access Rules
GeoNode 5 introduces a new dynamic rule-based permission system that makes access control more flexible and customizable than ever. Access rules can now be defined using virtually any criteria — including temporal or contextual conditions — and custom rules can be added through plugins.
A new optional control has also been introduced to regulate whether resource editors are allowed to modify sharing permissions. Administrators can now restrict the ability to make resources public or share them broadly, ensuring that publication workflows remain properly supervised. When enabled, users who create resources cannot make them public until a staff member or administrator approves.
New Download Formats
This release adds two widely requested download formats: Excel and CSV. These formats offer greater flexibility for exporting tabular data, making it easier to analyse and share datasets using common spreadsheet tools or external systems.
MapStore Version Updates
Since GeoNode’s client is built on the MapStore framework, a major effort has been made during the development of GeoNode 5 to improve synchronisation between the two products. The client now follows MapStore’s release cycle much more closely.
As a result, GeoNode 5 includes all recent MapStore enhancements, including:
- new and improved mapping tools,
- updated and extended plugins,
- enhancements to GeoStories,
- significant improvements to dashboards and widget interactions.
This ensures a more feature-rich, modern, and consistent user experience across the client.
Asynchronous engine upgrade [Breaking Change]
GeoNode 5 also modernizes the way background tasks are executed by introducing Redis as the core component for Celery’s result backend and message handling. In previous versions, Celery relied on RabbitMQ as the broker and used the database to track task results. With GeoNode 5, Redis now manages both responsibilities, providing a much lighter and more efficient execution layer.
This shift brings several advantages. Long-running processes — such as harvesting remote services — become significantly more resilient, as Redis handles task state far more efficiently than the database. By reducing the workload on the main database, the overall performance and stability of the system improves, particularly under heavy or sustained asynchronous activity.
From an operational perspective, this migration also simplifies deployments: Redis is easier to configure, maintain, and monitor compared to a dedicated RabbitMQ service. As a result, the background processing pipeline becomes both cleaner and more scalable.
It is worth noting that this migration is the only breaking change that requires adjustments to deployment configurations when upgrading from GeoNode 4 to GeoNode 5. As outlined in the official Migration Guidelines, installations previously using RabbitMQ must update their environment settings to align with the new Redis-based configuration.
Enhanced Harvesting System Architecture
GeoNode 5 introduces several backend improvements that make the harvesting subsystem faster, more resilient, and easier to operate.
Harvesting often involves long-running operations. GeoNode 5 now applies dynamic task expiration, allowing Celery to adjust timeouts based on workload and execution context. This reduces premature failures and improves stability when interacting with slow or large remote services.
A new monitoring layer provides clearer insight into each step of the harvesting pipeline, from service discovery to metadata synchronization. This enhances troubleshooting, makes failures easier to interpret, and improves overall observability of long-running harvesting tasks.
Several internal steps in the harvesting process have been consolidated or optimized, reducing the number of Celery tasks and inter-process calls. These changes increase harvesting throughput, lower processing overhead, and improve scalability during intensive synchronization cycles.
Observable harvesting system
The harvesting subsystem has received several backend improvements in GeoNode 5, making it faster, more robust, and easier to operate.
Dynamic expiration of asynchronous tasks allows harvesting jobs to adapt to workload and execution context, reducing premature failures when dealing with slow or large remote services. A new monitoring layer provides clearer visibility into each step of the harvesting pipeline, improving troubleshooting and observability.
At the same time, internal workflow optimizations reduce the number of processing steps and Celery tasks involved, increasing throughput and scalability during intensive harvesting operations.
QGIS Plugin Update
The GeoNode QGIS plugin has been updated to version 2.1.0, now supporting both GeoNode 4 and 5. Support for GeoNode 3 has been deprecated. The new plugin is already available in the official QGIS Plugin Repository, ensuring seamless integration with the latest GeoNode capabilities.
Other Software Updates
Several underlying technologies have been updated to modern, secure, and well-supported versions:
- The standard Docker images are now based on Ubuntu 24.04, addressing numerous system-level security vulnerabilities.
- GeoNode now supports Python 3.12.
- The Django framework has been upgraded to version 5, ensuring long-term stability and compatibility with modern tooling.
- All legacy front-end libraries and unused components were removed from the front-end system to clean the codebase and simplify long-term maintenance
Full changelog
5.0.0 Milestone (2025-12-16)