Releases
v1.6.0
Compare
Sorry, something went wrong.
No results found
1.6.0 (2026-10-22)
Features
add BulkEditAction for dynamic bulk edits (3d10f84 )
add BulkEditAction for dynamic bulk edits OC:8133 (#233 ) (3d10f84 )
add Layer component copying feature OC:7642 (#218 ) (6427643 )
add super-admin email gating and new actions OC:7911_7912 (#217 ) (dec14bb )
analytics: ✨ add PostHog analytics integration for Nova (2fa4ef1 )
auth: ✨ add exceptions for unit tests and API logins in Nova access enforcement (7aa3f8b )
command: ✨ add config option to wm:backup-run command (45df1ba )
command: ✨ add WmSyncUgcTaxonomyWhereCommand for UGC taxonomy synchronization oc:7377 (#215 ) (5ba9039 )
config: ✨ add 'from' and 'to' fields to wm-elasticsearch configuration (#214 ) (fd77c39 )
config: ✨ add supervisor-dem configuration to wm-horizon (d14655a )
config: ✨ update AWS configuration with environment variables (77a4cde )
extend BulkEditAction default exclusions OC:8133 (3d10f84 )
geojson-upload: ✨ add GeoJSON file upload to FeatureCollection OC:8175 (#238 ) (cb61dc2 )
localization: ✨ add minimum app version strings in English and Italian oc:7824 (#212 ) (476541b )
localization: 🌐 add new tile layer selection description OC:7806 (#211 ) (92b6464 )
migrations: gate publish-missing-migrations con confronto schema DB oc:8218 (9c10952 )
migrations: gate publish-missing-migrations con confronto schema DB oc:8218 (9c10952 )
migrations: gate publish-missing-migrations con confronto schema DB oc:8218 (b8419ed )
nova: ✨ add role modification capability in Nova user resource OC:8072 (#228 ) (6e4e83b )
nova: disable geolocation field when auth_show_at_startup is off OC:7852 (#227 ) (320120e )
observer: ✨ oc:7641 add layer association to new UGC models (2a709e7 )
oc:7546: builder traduzioni App (#248 ) (e33260c )
oc:7645: add use_image_as_icon to EC POI related map display (fc7ab80 )
oc:7648: add dynamic range support to AnalyticsService with per-range cache and TTL (ba9a255 )
oc:7648: add range selector dropdown and per-track download table to LayerAnalyticsCard (441f3b2 )
oc:7648: Analytics Layer — selezione range temporale + download per traccia (2e528ca )
oc:7648: AnalyticsController reads and validates ?days/?month query params (e2c44ea )
oc:7648: merge develop into feature branch — resolve conflicts keeping range support (5474f5a )
oc:7648: pass tracking_since prop from LayerAnalyticsCard (bbe917a )
oc:7756: add BboxField standalone Nova component for bounding box (#223 ) (fb3c055 )
oc:8014: add ImportTaxonomyThemeJob and TaxonomyTheme Nova resource (#225 ) (0f775ff )
oc:8079: expose resolveLayerByProximity publicly and make search distance configurable via env (91f44d6 )
oc:8079: merge auto-assign layer_id on UGC reports (efe029d )
oc:8139: auto-associate EcPoi to layer via track relation (#234 ) (c9f1081 )
oc:8158: import UGC (POI, Track, Media) e autori da GeoHub (#262 ) (9fd3659 )
oc:8160: move Geometry to dedicated Map panel and show EcPoi on layer map (#237 ) (a94a634 )
oc:8161: block web login for users without access-nova permission (b969a89 )
oc:8163: cognome obbligatorio in fase di registrazione (798ead3 )
oc:8165: origine della traccia UGC e limite sui tratti dritti lunghi (46a3d68 )
oc:8165: origine della traccia UGC e limite sui tratti dritti lunghi (3c389b9 )
oc:8231: add Nova impersonate with role-based authorization (#242 ) (4c833cd )
oc:8239: move OSM EcPoi import from Maphub into wm-package (#244 ) (818a6dd )
oc:8241: add Poi/Track horizontal scroll box with custom search field (#246 ) (65107c3 )
oc:8242: export token middleware (WM_EXPORT_TOKEN, 403 se assente, 401 se errato) (d045378 )
oc:8242: versioned apps export endpoint /api/v1/export/apps (v1 contract) (991da81 )
oc:8247: validate minimum icon/splash dimensions on upload (#245 ) (4d8fdd8 )
oc:8272: add Logo Nova field with png/webp and square ratio validation (798ead3 )
oc:8303: add static translatable description field to EcPoi/EcTrack (#251 ) (5f44215 )
oc:8333: applica throttle al login API (#268 ) (c83c26e )
oc:8486: due modali per la selezione where da GeoHub (#273 ) (f30c5d0 )
oc:8486: import TaxonomyWhere da GeoHub per una data app (#272 ) (48b8905 )
oc:8487: generalizza sync taxonomy_where a EcTrack e EcPoi (#275 ) (7650b42 )
oc:8489: apre la creazione d'ufficio dell'istanza con upload della geometria (d1292f6 )
oc:8489: dominio trail_registry — registro dei codici REI, istanze e anomalie (#8489 ) (76515a2 )
oc:8489: il registro si apre sui codici più recenti, la ricerca resta in ordine (867b286 )
oc:8492: domini opzionali — stub di migration e feature opt-in (#270 ) (bee0ff6 )
oc:8539: dominio Catasto Sentieri estendibile dagli shard (#288 ) (318a8dc )
oc:8540: chiave via (meta intermedia) nelle properties del sentiero (#293 ) (fbae771 )
oc:8543: inversione del verso della traccia (#278 ) (92ffb90 )
oc:8567: motivazione del respingimento e azioni solo dal dettaglio dell'istanza (#292 ) (bdd9c05 )
oc:8568: sentieri vicini con numero e variante nella mappa del registro (#279 ) (2f056e3 )
oc:8569: sostituzione del numero dall'istanza, con la variante (b86d998 )
oc:8570: il numero proposto continua la numerazione dei sentieri vicini (#281 ) (d62e774 )
oc:8571: DEM, valori manuali e mappa del codice sull'istanza (#284 ) (631a294 )
oc:8585: aggrega e mostra l'uso dei filtri avanzati (route) in Analytics (#280 ) (546c1f1 )
oc:8588: località mostrate per App e formato unico di taxonomy_where (#285 ) (54a3810 )
oc:8637: nome utente sul marker live attivabile per shard (#286 ) (e9f16ec )
oc:8660: DEM mancante ricalcolato all'apertura del dettaglio anche per EcTrack (#289 ) (9d4beaa )
oc:8700: Catasto visibile solo ad Administrator ed Editor (#294 ) (e299404 )
oc:8702: renderer della mappa a più layer per le immagini di condivisione (#298 ) (ea3eaa6 )
oc:8703: etichette di testo facoltative in MapRenderService::renderLayers (#301 ) (b6572eb )
oc:8719: pulizia automatica dei punti GPS errati nelle tracce UGC (#300 ) (5b40269 )
oc:8742: dati tecnici delle UgcTrack calcolati dal server (properties.stats) (c082374 )
oc:8742: dati tecnici delle UgcTrack calcolati dal server in properties.stats (295ad87 )
oc:8747: mappa Nova delle UgcTrack con i cammini dell'App nella zona (e29863a )
oc:8747: mappa Nova delle UgcTrack con i cammini dell'App nella zona (29d77ca )
oc:8747: origine della UgcTrack in Nova (registrata o file importato) (6ed3ce4 )
oc:8747: origine della UgcTrack in Nova (registrata o file importato) (b28c750 )
oc:8773: corrispondenza UGC track ↔ EC track per segmenti (5350b45 )
oc:8773: corrispondenza UGC track ↔ EC track per segmenti (1d91184 )
oc:8776: mappa della UGC track leggibile, tracce e tappe sovrapposte (a285f7a )
oc:8776: mappa della UGC track leggibile, tracce e tappe sovrapposte (8b4b4f9 )
oc:8803: link unico dell'App con QR code verso store, app e webapp (#311 ) (77d79ee )
tiles: ✨ add tiles and app_tile migration, model, and Nova resource oc:7657 (#207 ) (78fa887 )
Bug Fixes
AppTiles: 🔧 update tile URL for improved resource access (c4f1a55 )
config: 🐛 resolve URL fallback logic for wmfeUrl OC:7896 (#216 ) (6f6bdb7 )
config: 🛠️ add visibility setting to wm-s3 filesystem (6547351 )
GeometryComputationService: rollback esplicito su errore SQL in geometryModelToBbox (60f88f4 )
nova: required(false) su config_detail per evitare crash creation/update-fields (e5aa1c4 )
nova: update SKU field validation rules (e456df8 )
oc:7645: move show_image_on_map field next to image in Nova index (b2d3299 )
oc:7645: resolve show_image_on_map into feature_image, remove from properties (5df0e0f )
oc:7953: 🐛 add missing options to POI Search In multiselect OC:7953 (#220 ) (e062019 )
oc:7953: 🔧 update wm-package pointer (e062019 )
oc:7984: 🐛 use classifyField for DEM fields in EcTrackExcelExporter OC:7984 (#219 ) (caed72d )
oc:8013: use entityId instead of model->id in getTaxonomyMorphableRecords call (#224 ) (bcac90b )
oc:8041: use geohub_id from model properties in processDependencies (#232 ) (01ff3f6 )
oc:8042: resolve role assignment errors (1d1dc8e )
oc:8063: sync properties['name'] from getTranslations in EcPoiRowProcessor (#226 ) (b919276 )
oc:8089: add novaPath prop to LayerFeatures field for correct eye-link URL (60ee095 )
oc:8089: merge fix/oc-8089-fix-ui-layer-owner into oc_561 (073260c )
oc:8093: recompile FeatureCollectionMap dist to remove spurious inline-geojson prop (3377f58 )
oc:8094: fix race condition on taxonomy pivot sync + scope taxonomy import (#263 ) (15c49fd )
oc:8140: skip updateLayersProperty when layer has no filters or manual models (#235 ) (f72224d )
oc:8158: carry over Geohub's raw properties/raw_data/metadata for UGC (9fd3659 )
oc:8158: decode Geohub's jsonb properties before User::create() (9fd3659 )
oc:8158: merge Geohub properties flat instead of nesting/raw_data (9fd3659 )
oc:8158: normalize properties.app_id on imported UGC to the local app id (9fd3659 )
oc:8162: permessi Nova ruolo Editor — scoping per-app EC/UGC (#265 ) (23c4b5e )
oc:8242: author() relation used implicit author_id FK instead of user_id (915f9c5 )
oc:8314: persisti modalita auto/manuale del layer lato backend (4c01c9a )
oc:8314: persisti modalita auto/manuale del layer lato backend (d289162 )
oc:8463: escludi chiavi interne dichiarate dal consumer da config.json e layer() (#277 ) (489260d )
oc:8469: identifier per TaxonomyWhere derivato dalla sorgente (#266 ) (b6ddbda )
oc:8489: le voci dichiarate dal consumer non spariscono più dal menu (b39b6a4 )
oc:8586: rimuovi nome utente reale e link dal marker live sulla mappa (#283 ) (4b9b281 )
oc:8590: punta l'embed wm-layer-map al repo mantenuto wm-elements (#282 ) (2bf3491 )
oc:8662: numero del codice in esame, segnavia CAI e profilo sulla mappa del catasto (3ce9b57 )
oc:8662: settore davanti al numero sui segnavia della mappa del catasto (a685012 )
oc:8672: chiavi di traduzione in inglese nel Catasto Sentieri (#296 ) (0f2cf63 )
oc:8679: import Geohub converte related_url di POI e tracce, logica condivisa in un trait (#299 ) (ef5cd39 )
oc:8681: la ricerca restituisce il nome delle tracce in tutte le lingue (5de6413 )
oc:8718: UGC duplicati per uuid, store idempotente e normalizzazione (#302 ) (1dd52b3 )
oc:8773: supervisor-ugc-track-matching in tutti gli ambienti di Horizon (d67cdbd )
oc:8773: supervisor-ugc-track-matching in tutti gli ambienti di Horizon (4b3c535 )
ricarica geometry corretta per i settori OSM2CAI (#267 ) (3382e6e )
taxonomy: generate identifier from name if empty, fix uniqueness check (02479f7 )
typo: 🐛 correct misspellings of 'searchable' in method and tab name OC:7833 (#213 ) (6028446 )
use default cache store in BuildAppPoisGeojsonJob uniqueVia (e9c717d )
Reverts
restore Cache::store('redis') in BuildAppPoisGeojsonJob uniqueVia (c51048a )
Miscellaneous Chores
add translations and labels for Activity, POI Type, Theme, and Where resources (d5130ec )
dependencies: 🔄 update marshmallow/nova-tiptap version constraint (ff34028 )
dependencies: 🔧 update illuminate/contracts and laravel/sanctum version constraints (d2418b3 )
file di build generati dai test fuori dall'indice (#290 ) (f46e5e1 )
oc:7648: add package-lock.json for LayerAnalytics card (9acdec2 )
You can’t perform that action at this time.