-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathNEWS.html
2619 lines (2619 loc) · 206 KB
/
NEWS.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<title>QGIS News</title>
<style>
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
span.underline{text-decoration: underline;}
div.column{display: inline-block; vertical-align: top; width: 50%;}
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
ul.task-list{list-style: none;}
</style>
</head>
<body>
<header id="title-block-header">
<h1 class="title">QGIS News</h1>
</header>
<nav id="TOC" role="doc-toc">
<ul>
<li><a href="#whats-new-in-version-3.26-buenos-aires">What’s new in Version 3.26 ‘Buenos Aires’?</a></li>
<li><a href="#whats-new-in-version-3.24-tisler">What’s new in Version 3.24 ‘Tisler’?</a></li>
<li><a href="#whats-new-in-version-3.22-białowieża">What’s new in Version 3.22 ‘Białowieża’?</a></li>
<li><a href="#whats-new-in-version-3.20-odense">What’s new in Version 3.20 ‘Odense’?</a></li>
<li><a href="#whats-new-in-version-3.18-zürich">What’s new in Version 3.18 ‘Zürich’?</a></li>
<li><a href="#whats-new-in-version-3.16-hannover">What’s new in Version 3.16 ‘Hannover’?</a></li>
<li><a href="#whats-new-in-version-3.14-pi">What’s new in Version 3.14 ‘Pi’?</a></li>
<li><a href="#whats-new-in-version-3.12-bucurești">What’s new in Version 3.12 ‘București’?</a></li>
<li><a href="#whats-new-in-version-3.10-a-coruña">What’s new in Version 3.10 ‘A Coruña’?</a></li>
<li><a href="#whats-new-in-version-3.8-zanzibar">What’s new in Version 3.8 ‘Zanzibar’?</a></li>
<li><a href="#whats-new-in-version-3.6.0-noosa">What’s new in Version 3.6.0 ‘Noosa’?</a></li>
<li><a href="#whats-new-in-version-3.4-ltr-madeira">What’s new in Version 3.4-LTR ‘Madeira’?</a></li>
<li><a href="#whats-new-in-version-3.2-bonn">What’s new in Version 3.2 ‘Bonn’?</a></li>
<li><a href="#whats-new-in-version-3.0-girona">What’s new in Version 3.0 ‘Girona’?</a></li>
<li><a href="#whats-new-in-version-2.18-las-palmas">What’s new in Version 2.18 ‘Las Palmas’?</a></li>
<li><a href="#whats-new-in-version-2.16-nødebo">What’s new in Version 2.16 ‘Nødebo’?</a></li>
<li><a href="#whats-new-in-version-2.14-essen">What’s new in Version 2.14 ‘Essen’?</a></li>
<li><a href="#whats-new-in-version-2.12-lyon">What’s new in Version 2.12 ‘Lyon’?</a></li>
<li><a href="#whats-new-in-version-2.10-pisa">What’s new in Version 2.10 ‘Pisa’?</a></li>
<li><a href="#whats-new-in-version-2.8-wien">What’s new in Version 2.8 ‘Wien’?</a></li>
<li><a href="#whats-new-in-version-2.6.0-brighton">What’s new in Version 2.6.0 ‘Brighton’?</a></li>
<li><a href="#whats-new-in-version-2.4.0-chugiak">What’s new in Version 2.4.0 ‘Chugiak’?</a></li>
<li><a href="#whats-new-in-version-2.2.0-valmiera">What’s new in Version 2.2.0 ‘Valmiera’?</a></li>
<li><a href="#whats-new-in-version-2.0.1-dufour">What’s new in Version 2.0.1 ‘Dufour’?</a></li>
<li><a href="#whats-new-in-version-2.0.0-dufour">What’s new in Version 2.0.0 ‘Dufour’?</a></li>
<li><a href="#whats-new-in-version-1.8.0-lisboa">What’s new in Version 1.8.0 ‘Lisboa’?</a></li>
<li><a href="#whats-new-in-version-1.7.2-wroclaw">What’s new in Version 1.7.2 ‘Wroclaw’?</a></li>
<li><a href="#whats-new-in-version-1.7.1-wroclaw">What’s new in Version 1.7.1 ‘Wroclaw’?</a></li>
<li><a href="#whats-new-in-version-1.7.0-wroclaw">What’s new in Version 1.7.0 ‘Wroclaw’?</a></li>
<li><a href="#whats-new-in-version-1.6.0-capiapo">What’s new in Version 1.6.0 ‘Capiapo’?</a></li>
<li><a href="#whats-new-in-version-1.5.0">What’s new in Version 1.5.0?</a></li>
<li><a href="#whats-new-in-version-1.4.0-enceladus">What’s new in Version 1.4.0 ‘Enceladus’?</a></li>
<li><a href="#whats-new-in-version-1.3.0-mimas">What’s new in Version 1.3.0 ‘Mimas’?</a></li>
<li><a href="#version-1.2.0-daphnis">Version 1.2.0 ‘Daphnis’</a></li>
<li><a href="#version-1.1.0-pan">Version 1.1.0 ‘Pan’</a></li>
<li><a href="#version-1.0.0-kore">Version 1.0.0 ‘Kore’</a></li>
<li><a href="#version-0.11.0-metis">Version 0.11.0 ‘Metis’</a></li>
<li><a href="#version-0.10.0-io">Version 0.10.0 ‘Io’</a></li>
<li><a href="#version-0.9.2rc1-ganymede">Version 0.9.2rc1 ‘Ganymede’</a></li>
<li><a href="#version-0.9.1-ganymede">Version 0.9.1 ‘Ganymede’</a></li>
<li><a href="#version-0.9-ganymede">Version 0.9 ‘Ganymede’</a></li>
<li><a href="#version-0.8-joesephine-.-development-version">Version 0.8 ‘Joesephine’ …. development version</a></li>
<li><a href="#version-0.6-simon">Version 0.6 ‘Simon’</a></li>
<li><a href="#version-0.5">Version 0.5</a></li>
<li><a href="#version-0.1-moroz-february-25-2004">Version 0.1 ‘Moroz’ February 25, 2004</a></li>
<li><a href="#version-0.0.13-december-8-2003">Version 0.0.13 December 8, 2003</a></li>
<li><a href="#version-0.0.12-alpha-june-10-2003">Version 0.0.12-alpha June 10, 2003</a></li>
<li><a href="#version-0.0.11-alpha-june-10-2003">Version 0.0.11-alpha June 10, 2003</a></li>
<li><a href="#version-0.0.10-alpha-may-13-2003">Version 0.0.10-alpha May 13, 2003</a></li>
<li><a href="#version-0.0.9-alpha-january-25-2003">Version 0.0.9-alpha January 25, 2003</a></li>
<li><a href="#version-0.0.8-alpha-december-11-2002">Version 0.0.8-alpha December 11, 2002</a></li>
<li><a href="#version-0.0.7-alpha-november-30-2002">Version 0.0.7-alpha November 30, 2002</a></li>
<li><a href="#version-0.0.6a-alpha-november-27-2002">Version 0.0.6a-alpha November 27, 2002</a></li>
<li><a href="#version-0.0.6-alpha-november-24-2002">Version 0.0.6-alpha November 24, 2002</a></li>
<li><a href="#version-0.0.5-alpha-october-5-2002">Version 0.0.5-alpha October 5, 2002</a></li>
<li><a href="#version-0.0.4-alpha-august-15-2002">Version 0.0.4-alpha August 15, 2002</a></li>
<li><a href="#version-0.0.3-alpha-august-10-2002">Version 0.0.3-alpha August 10, 2002</a></li>
</ul>
</nav>
<p>Change history for the QGIS Project</p>
<h1 id="whats-new-in-version-3.26-buenos-aires">What’s new in Version 3.26 ‘Buenos Aires’?</h1>
<p>This release has following new features:</p>
<ul>
<li>Breaking Changes: DB2 Support Removed</li>
<li>Map Tools: Selecting all features by attribute value from Identify Results panel</li>
<li>User Interface: Coordinate ordering according to CRS</li>
<li>User Interface: Select features from expression based symbols</li>
<li>User Interface: Copy preview expression value to clipboard</li>
<li>User Interface: Option to synchronize statistics panel with layer selection</li>
<li>User Interface: Implement scroll wheel action for color and symbol buttons</li>
<li>Accessibility: Horizontal table scroll with shift+wheel</li>
<li>Symbology: New “Animated Marker” symbol type</li>
<li>Symbology: Allow any symbol to be an animated symbol</li>
<li>Symbology: Point cloud style synchronization</li>
<li>Symbology: Add a new classification method for “Fixed interval”</li>
<li>Symbology: Custom dash pattern panel shows total pattern length</li>
<li>Symbology: Select style categories when storing styles in database</li>
<li>Labelling: Allow data-defined control over line anchor type</li>
<li>Labelling: Control label anchor placement relative to text position</li>
<li>Labelling: Interactively move curved line labels along their line features</li>
<li>Rendering: WMS provider resampling</li>
<li>Rendering: Selective masking vectorization</li>
<li>3D Features: Transparency support for 3D Phong material</li>
<li>3D Features: 3D Maps inherit terrain settings from project</li>
<li>3D Features: Sync 2D and 3D navigation</li>
<li>3D Features: 3D axis in 3D map viewer</li>
<li>Point Clouds: Point cloud triangulation in 3D views</li>
<li>Point Clouds: Cloud Optimized Point Clouds (COPC) support</li>
<li>Point Clouds: Point cloud filtering</li>
<li>Print Layouts: Apply font settings from layer conditional styling to layout attribute tables</li>
<li>Expressions: Between/ Not between operators</li>
<li>Expressions: Static parent variable in aggregate expression functions</li>
<li>Expressions: Static parent variable in aggregate expression functions</li>
<li>Digitising: Add a checkbox to disable vertex tool dock auto-opening behavior</li>
<li>Digitising: Integrate shape map tools into feature digitizing</li>
<li>Digitising: New constraints for advanced digitizing panel</li>
<li>Data Management: Add a “filter rules” search box to vector tile renderer and labeling widgets</li>
<li>Data Management: User defined field names in export</li>
<li>Data Management: Georeferencing vector layers in georeferencer</li>
<li>Data Management: Add field domain management capabilities to browser</li>
<li>Data Management: Buffered Transactional Editing</li>
<li>Forms and Widgets: Access form reference in python form actions</li>
<li>Forms and Widgets: Allow drag and drop forms label font and color customization</li>
<li>Forms and Widgets: Collapse form group by expression</li>
<li>Analysis Tools: “Keep disjoint features separate” option for dissolve algorithm</li>
<li>Processing: Raise message model tool</li>
<li>Processing: Run batch processing steps in tasks</li>
<li>Processing: Background processing of model algorithms</li>
<li>Processing: Allow setting Examples in graphical model help</li>
<li>Processing: Overlay tools with multiple overlay layers support</li>
<li>Application and Project Options: Project elevation properties framework</li>
<li>Application and Project Options: Optionally store UI configuration in projects</li>
<li>Application and Project Options: Optionally store layer edit state in projects</li>
<li>Application and Project Options: Project style databases support</li>
<li>Application and Project Options: Added setting to show feature counts by default for newly added layers</li>
<li>Application and Project Options: Add a “Skip” option for custom environmental variables in Settings->Options->Environment</li>
<li>Application and Project Options: Revamped projects’ default symbols, color ramp , and text format</li>
<li>Profile Plots: Elevation profile plotting tool</li>
<li>Profile Plots: Flexible vector layer symbology in elevation profiles</li>
<li>Profile Plots: Flexible symbology for point cloud profile plotting</li>
<li>Profile Plots: Vector feature extrusion for profile charts</li>
<li>Browser: Rename bookmark groups context menu control</li>
<li>Data Providers: Support reading ESRI vector tile packages (.vtpk) files directly</li>
<li>Data Providers: SQL Logging in the Debugging/ Development panel</li>
<li>QGIS Server: Alternate periodic check strategy for detecting project updates</li>
<li>QGIS Server: Add more server highlight label parameters</li>
<li>QGIS Server: Temporal properties support for WMS Server</li>
<li>Programmability: Add a QgsScaleCalculator function to calculate canvas width from a given extent, scale, and dpi</li>
<li>Programmability: Clear current symbol action in symbol button widget</li>
<li></li>
</ul>
<h1 id="whats-new-in-version-3.24-tisler">What’s new in Version 3.24 ‘Tisler’?</h1>
<p>This release has following new features:</p>
<ul>
<li>User Interface: Retrieve map extents directly from layout maps and bookmarks</li>
<li>User Interface: Easier creation of custom coordinate reference systems</li>
<li>Symbology: Marker/hash line: offsets along line by “percent” of line length (and negative offsets!)</li>
<li>Symbology: Control whether first/last vertex placements apply to every part of multi-part geometries</li>
<li>Symbology: Marker/hash line “on vertices” placement option replaced by “on inner vertices”</li>
<li>Symbology: Placement options in marker and hash line symbol layers are now checkboxes instead of mutually exclusive buttons</li>
<li>Symbology: Control the color model used when interpolating gradient ramps</li>
<li>Symbology: Resizable thumbnails in the style manager dialog</li>
<li>Symbology: “Lineburst” symbols</li>
<li>Symbology: “Raster Line” symbols</li>
<li>Symbology: Choice of clipping behaviour for line pattern fills</li>
<li>Symbology: Improved rendering of line pattern fills</li>
<li>Symbology: Rotation angle for point pattern fills</li>
<li>Symbology: Randomized point offsets for point pattern fills</li>
<li>Symbology: Coordinate reference mode setting for line pattern and point pattern fill symbol layers</li>
<li>Symbology: Control marker clipping for point pattern fills</li>
<li>Symbology: Expression functions for creating triangular/square/curved waves</li>
<li>Labelling: “Percentage” units for text buffer size, shadow offset and blur radius</li>
<li>Labelling: Data defined label positions by point geometries</li>
<li>Labelling: Stretched text for labels and text formats</li>
<li>Rendering: Rendering layers as groups</li>
<li>Rendering: Support for “Line pattern” when converting Mapbox GL vector tile layer styles</li>
<li>Rendering: Support background styles for Mapbox GL-styled vector tile layers</li>
<li>3D Features: Respect Z ordering when rendering point clouds in 2D</li>
<li>3D Features: Dock/Undock 3D views</li>
<li>3D Features: 3D map view manager</li>
<li>3D Features: Improved camera navigation</li>
<li>Print Layouts: Full text rendering capabilities for layout text labels</li>
<li>Expressions: geometry_type function</li>
<li>Expressions: Overlay intersects sort by intersection size</li>
<li>Expressions: Show all layer field names when building expressions</li>
<li>Expressions: represent_attributes function</li>
<li>Expressions: Optional minimum overlap area and circle radius for overlay_intersection</li>
<li>Expressions: map_prefix_keys function</li>
<li>Expressions: densify_by_count and densify_by_distance functions</li>
<li>Expressions: Rotate parts of multi-part geometries independently with “rotate” expression function</li>
<li>Expressions: apply_dash_pattern function</li>
<li>Expressions: scale function</li>
<li>Expressions: Filter by multiple attributes for get_feature function</li>
<li>Data Management: Multiedit support for relation editor</li>
<li>Metadata and Metasearch: Support for OGC API - Records in MetaSearch</li>
<li>Forms and Widgets: Form submit actions with HTTP POST</li>
<li>Forms and Widgets: New button to open attribute table on filtered features</li>
<li>Analysis Tools: Add roundness method to curve polygon</li>
<li>Processing: Extract labels algorithm</li>
<li>Processing: Optional output extent parameter for the GDAL Raster Calculator algorithm</li>
<li>Processing: Optional extent parameter for the GDAL clip raster by mask algorithm</li>
<li>Processing: Processing history rework</li>
<li>Processing: Advanced actions in Processing dialogs</li>
<li>Processing: Single file exports from Atlas to PDF algorithm</li>
<li>Processing: Project Models are shown in the Project menu</li>
<li>Processing: Add point cloud destination parameter and output to Processing</li>
<li>Processing: Array field support</li>
<li>Application and Project Options: qgis_process –no-python argument</li>
<li>Application and Project Options: Suppress “bad layers” handler on startup</li>
<li>Application and Project Options: Parameter values for qgis_process can be specified as a JSON object via stdin</li>
<li>Application and Project Options: Run Python script algorithms directly via qgis_process</li>
<li>Data Providers: Friendlier errors from XYZ raster tiles, WMS and vector tiles</li>
<li>Data Providers: Add out-of-the-box connection to Mapzen Global Terrain tiles</li>
<li>Data Providers: HMAC SHA256 auth method for MapTiler</li>
<li>Data Providers: Template parameter {usage} for XYZ raster and vector tiles</li>
<li>Data Providers: Convert WMTS/XYZ raster tiles to terrain (DEM)</li>
<li>Data Providers: Array field types for scratch layers</li>
<li>Data Providers: JSON field types for new GeoPackage layers</li>
<li>Data Providers: Delimited text type overrides and other improvements</li>
<li>Data Providers: New authentication method for HTTP header based authentication</li>
<li>Data Providers: Expose secondary PostGIS geometry columns as referenced geometries</li>
<li>QGIS Server: Allow better control of the response flow chain from server filters</li>
<li></li>
</ul>
<h1 id="whats-new-in-version-3.22-białowieża">What’s new in Version 3.22 ‘Białowieża’?</h1>
<p>This release has following new features:</p>
<ul>
<li>Annotations: Annotation layer properties and effects</li>
<li>Annotations: Edit nodes in an annotation item</li>
<li>Annotations: Move selected annotation with cursor keys</li>
<li>Annotations: Create line/ polygon annotation item tools</li>
<li>Annotations: New point text tool</li>
<li>Annotations: Annotations toolbar</li>
<li>Map Tools: Add a “measure bearing” map tool</li>
<li>User Interface: Toggle editing on multiple selected layers</li>
<li>User Interface: Identify layer groups and all selected layers</li>
<li>User Interface: Add a ‘Show in Files’ action for all file items in browser</li>
<li>Symbology: Custom units for geometry generator symbol layers</li>
<li>Symbology: Symbology reference scale for vector layers</li>
<li>Symbology: Invert colors filter option for raster rendering</li>
<li>Labelling: Specify unit for data defined label rotation</li>
<li>Mesh: Create new mesh layer</li>
<li>Mesh: Mesh frame editing</li>
<li>Mesh: Mesh frame editing lifecycle</li>
<li>Mesh: Edit mesh map tool</li>
<li>Mesh: Advanced mesh editing enhancements</li>
<li>Mesh: Select editable mesh elements by polygon</li>
<li>Mesh: Select mesh elements by existing geometries</li>
<li>Mesh: Select mesh elements by expression</li>
<li>Mesh: Transform single vertex</li>
<li>Mesh: Reindex/ renumber mesh layer</li>
<li>Mesh: Force mesh by polylines</li>
<li>Mesh: Mesh transform by expression</li>
<li>Rendering: Allow using physical DPI for map canvas</li>
<li>Rendering: Data defined raster layer opacity</li>
<li>Print Layouts: Predefined scale support for point-driven atlases</li>
<li>Print Layouts: Indentation of legend groups and subgroups</li>
<li>Expressions: Mesh expression functions for vertex_as_point and vertex_z</li>
<li>Expressions: Expression function for $z</li>
<li>Expressions: Affine transform expression</li>
<li>Expressions: Straight distance2d expression</li>
<li>Expressions: Add sinuosity expression</li>
<li>Expressions: New exif() and exif_geotag() functions</li>
<li>Digitising: Geometry snapper algorithm optimization</li>
<li>Digitising: Convert to curve with vertex tool</li>
<li>Digitising: Add Z/M support to Advanced Digitizing</li>
<li>Data Management: Drag and Drop support for external storage file widget</li>
<li>Data Management: File-based dataset size and last modified date in the layer properties dialog</li>
<li>Data Management: Rename files in QGIS Browser</li>
<li>Data Management: Move GPS tools “add gpx layer” functionality to Data Source Manager</li>
<li>Data Management: Load projects from GPKG using drag and drop</li>
<li>Data Management: External Storage support</li>
<li>Forms and Widgets: Drag & Drop designer form actions</li>
<li>Layer Legend: Use placeholder icon in legend for raster layers</li>
<li>Analysis Tools: Add if() function to raster calculator</li>
<li>Analysis Tools: Virtual raster support in raster calculator</li>
<li>Processing: Annotation layer parameter type for processing</li>
<li>Processing: Add a POST option to the FileDownloader processing algorithm</li>
<li>Processing: Add new “Select within distance” and “Extract within distance” algorithms</li>
<li>Processing: Point cloud parameter for Processing</li>
<li>Processing: Remove the GPS importer plugin</li>
<li>Processing: Convert GPX feature type processing algorithm</li>
<li>Processing: Add incremental field with modulo option</li>
<li>Processing: Duration parameter</li>
<li>Processing: Spatiotemporal ST-DBSCAN clustering algorithm</li>
<li>Processing: Move non-native processing providers into independent plugins</li>
<li>Application and Project Options: Export all keyboard shortcuts to XML or PDF</li>
<li>Application and Project Options: Move GPS Tools GPSbabel device configuration widget to global settings</li>
<li>Application and Project Options: Set default path structure for new projects</li>
<li>Browser: Improved delete action for browser files</li>
<li>Browser: Connections API result widget</li>
<li>Data Providers: Transactions in MSSQL provider</li>
<li>Data Providers: Show system and internal tables in sublayer selection</li>
<li>Data Providers: Automatically read and convert metadata from ESRI Personal Geodatabases</li>
<li>Data Providers: Create a generic data item provider for all file based datasources</li>
<li>QGIS Server: Enable multiple MetadataUrls</li>
<li>QGIS Server: Add version to QGIS Server CLI tools</li>
<li>Programmability: Expose scriptable vector tile encoder</li>
<li>Programmability: Encode and write vector tiles in different CRS than EPSG:3857</li>
<li>Programmability: DistanceWithin filter for QgsFeatureRequest</li>
<li>Programmability: API for preset combobox values</li>
<li>Programmability: QgsExifTools class support for fetching tag values</li>
<li>Notable Fixes: Bug fixes by Even Rouault</li>
<li>Notable Fixes: Bug fixes by Alessandro Pasotti</li>
<li>Notable Fixes: Bug fixes by Peter Petrik</li>
<li>Notable Fixes: Bug fixes by Sandro Santilli</li>
<li>Notable Fixes: Bug fixes by Loïc Bartoletti</li>
<li>Notable Fixes: Bug fixes by Denis Rouzaud</li>
<li>Notable Fixes: Bug fixes by Julien Cabieces</li>
<li>Notable Fixes: Bug fixes by Nyall Dawson</li>
<li></li>
</ul>
<h1 id="whats-new-in-version-3.20-odense">What’s new in Version 3.20 ‘Odense’?</h1>
<p>This release has following new features:</p>
<ul>
<li>General: Additional options for opening attribute tables</li>
<li>General: Set size for all columns in attribute table</li>
<li>General: Export/import of authentication configurations made easy</li>
<li>Temporal: Temporal navigation steps</li>
<li>Temporal: Improved WMS-T settings</li>
<li>Temporal: Horizontal mouse wheel temporal navigation</li>
<li>Map Tools: Nominatim Geocoder Integration</li>
<li>User Interface: Processing history dialog improvements</li>
<li>User Interface: Map layer icons in the expression builder dialog</li>
<li>User Interface: SVG browser filtering</li>
<li>Symbology: Interpolated line symbol layer type for vector layers</li>
<li>Symbology: Trim the simple line symbol</li>
<li>Symbology: New “Embedded styling” renderer with OGR feature styles support</li>
<li>Symbology: New shapes and cap styles for ellipse markers</li>
<li>Symbology: Set cap styles for simple markers</li>
<li>Symbology: Allow pen cap style to be set for ellipse marker symbol layers</li>
<li>Symbology: Polygon rings <span class="citation" data-cites="geometry_ring_num">@geometry_ring_num</span> variable</li>
<li>Labelling: Fill symbols for label background shields</li>
<li>Labelling: Blending mode settings for label callouts</li>
<li>Labelling: Anchor line labels by entire line</li>
<li>Labelling: Balloon callout corner radius</li>
<li>Labelling: Balloon (speech bubble) callouts</li>
<li>Labelling: Curved line callout style</li>
<li>Labelling: Highlight pinned callout start or end points</li>
<li>Labelling: Auto-creation of callout auxiliary fields</li>
<li>Labelling: Callout snapping</li>
<li>Labelling: Toggle label layers shortcut</li>
<li>Labelling: Data defined callout start and end points</li>
<li>Labelling: Allow callouts to be interactively moved using the Move Label tool</li>
<li>Point Clouds: Support for remote datasets (EPT)</li>
<li>Print Layouts: “Convert to Static Text” option</li>
<li>Print Layouts: Improvement to XYZ layers previewed in map items</li>
<li>Expressions: length3D Function</li>
<li>Expressions: Extended array expression functions</li>
<li>Expressions: MIME Type expression function</li>
<li>Digitising: Select attributes from the largest geometry when merging</li>
<li>Digitising: Streaming digitizing mode</li>
<li>Digitising: New “Line Endpoints” snapping option</li>
<li>Digitising: Select vertices by polygon</li>
<li>Data Management: Layer tree warning icon for layers with CRS inaccuracies</li>
<li>Data Management: Basic support for dynamic CRS coordinate epoch</li>
<li>Data Management: Projection information improvements</li>
<li>Data Management: Datum ensemble CRS warnings</li>
<li>Data Management: Persist layer metadata in vector file exports</li>
<li>Data Management: Layer notes</li>
<li>Data Management: Automatically load .shp.xml metadata</li>
<li>Data Management: Automatically translate layer data from ESRI Filegeodatabases to QGIS layer metadata</li>
<li>Data Management: Read field domains from datasets</li>
<li>Data Management: Allow loading GPKG layers with GEOMETRY type</li>
<li>Data Management: Offline editing support for string list and number list field types</li>
<li>Forms and Widgets: Per-field usage of last values for newly created features</li>
<li>Forms and Widgets: JSON View widget</li>
<li>Layer Legend: Vector “label” legend entries</li>
<li>Processing: Add option to save layer metadata to Package Layers algorithm</li>
<li>Processing: Raster Layer Properties Algorithm</li>
<li>Processing: Improved rasterize operation with 3D support</li>
<li>Processing: Save selected option for Package Layers Algorithm</li>
<li>Processing: Log levels for processing context</li>
<li>Processing: Geometry snapper rework offers major speed boost</li>
<li>Processing: Add a last_value function to the aggregate algorithm</li>
<li>Application and Project Options: Add global option to disable monitoring of directories</li>
<li>Application and Project Options: APIs for export and import of XML authentication configurations</li>
<li>Browser: Custom icon colors for folders in browser</li>
<li>Browser: OWS Group removed from the QGIS Browser</li>
<li>Data Providers: Add support for integer, real and integer64 list data types in OGR</li>
<li>Data Providers: Extend vector layer read capabilities to other layer types</li>
<li>QGIS Server: External layer opacity</li>
<li>QGIS Server: Configurable Service URL</li>
<li>Notable Fixes: Bug fixes by Even Rouault</li>
<li>Notable Fixes: Bug fixes by Alessandro Pasotti</li>
<li>Notable Fixes: Bug fixes by Paul Blottiere</li>
<li>Notable Fixes: Bug fixes by Denis Rouzaud</li>
<li>Notable Fixes: Bug fixes by Loïc Bartoletti</li>
<li>Notable Fixes: Bug fixes by Julien Cabieces</li>
<li>Notable Fixes: Bug fixes by Peter Petrik</li>
<li></li>
</ul>
<h1 id="whats-new-in-version-3.18-zürich">What’s new in Version 3.18 ‘Zürich’?</h1>
<p>This release has following new features:</p>
<ul>
<li>General: QGIS 3.18 highlights (changelog)</li>
<li>User Interface: Hide derived attributes from the Identify results</li>
<li>User Interface: Close all tabs at once from message logs interface</li>
<li>User Interface: API for layer source widgets</li>
<li>User Interface: GUI for dynamic SVGs</li>
<li>User Interface: Zoom and pan to selection for multiple layers</li>
<li>User Interface: Zoom in/out by scrolling mouse wheel over map overview panel</li>
<li>Accessibility: Improved color vision deficiency simulation</li>
<li>Accessibility: Rotation widget for the Georeferencer</li>
<li>Symbology: Data defined overall symbol opacity</li>
<li>Symbology: Open the style gallery from the style manager</li>
<li>Mesh: New mesh export algorithms</li>
<li>Mesh: Native export for mesh layers</li>
<li>Mesh: Mesh simplification for 3D</li>
<li>Mesh: Multiple native mesh processing algorithms</li>
<li>Rendering: “Merged feature” renderer for polygon and line layers</li>
<li>Rendering: Smarter Map Redraws</li>
<li>3D Features: Eye dome lighting</li>
<li>3D Features: Data defined 3D material colors</li>
<li>3D Features: 3D Orthographic projection support</li>
<li>Point Clouds: Point Cloud Support</li>
<li>Point Clouds: Add point clouds to browser</li>
<li>Point Clouds: Untwine PDAL Provider Integration</li>
<li>Print Layouts: Gradient ramp based legends</li>
<li>Print Layouts: Color ramp legend improvements</li>
<li>Print Layouts: Dynamic text presets</li>
<li>Expressions: Optional formatting of UUID results</li>
<li>Expressions: Layer CRS variable for expressions</li>
<li>Expressions: Support for min, max, majority, sum, mean, and median functions on numerical arrays</li>
<li>Expressions: Negative index for array_get function</li>
<li>Expressions: Add map_credits function</li>
<li>Digitizing: Select features context menu</li>
<li>Digitizing: Curve tracing settings added to UI</li>
<li>Digitizing: Feature scaling tool</li>
<li>Data Management: New export to spreadsheet algorithm</li>
<li>Data Management: Reproject coordinates in the Georeferencer</li>
<li>Data Management: Polymorphic relations/ Document management system</li>
<li>Forms and Widgets: Soft and hard constraints in forms</li>
<li>Analysis Tools: Nominatim geocoder API</li>
<li>Processing: Allow expression for order fields in PointsToPath algorithm</li>
<li>Processing: Override CRS for Clip Raster by extent output</li>
<li>Processing: Add “retain fields” algorithm</li>
<li>Processing: Reference common field parameter for multiple layers</li>
<li>Processing: Extend import geotagged photos to include exif_orientation</li>
<li>Processing: Export layer information algorithm</li>
<li>Processing: Cell stack percentile and percentrank algorithms</li>
<li>Processing: Points to lines processing algorithm</li>
<li>Application and Project Options: Hidden layers</li>
<li>Application and Project Options: Custom “Full Extent” definition</li>
<li>Application and Project Options: Toggle network caching to QgsNetworkAccessManager</li>
<li>Browser: Unify ArcGis Feature Service and ArcGIS Map Service connections in browser</li>
<li>Browser: Allow browsing ArcGIS REST by content groups</li>
<li>Data Providers: Native DXF export algorithm</li>
<li>Data Providers: Additional geometry types for PostGIS Export</li>
<li>Data Providers: Improved network requests with GDAL</li>
<li>Data Providers: Read only generated fields</li>
<li>Data Providers: Improve MSSQL loading with predefined parameters</li>
<li>Data Providers: Filter schemas for MS SQL</li>
<li>Data Providers: SAP HANA database support</li>
<li>Data Providers: Deprecate support for DB2</li>
<li>Data Providers: Oracle connection API</li>
<li>Data Providers: Add advanced options for raster data imports</li>
<li>QGIS Server: GetLegendGraphics Symbol Scale</li>
<li>QGIS Server: Drag and drop for WMS GetFeatureInfo response</li>
<li>Programmability: Run multiple items from command history dialog</li>
<li>Programmability: Enable or disable plugins from the command line</li>
<li>Notable Fixes: Bug fixes by Alessandro Pasotti</li>
<li>Notable Fixes: Bug fixes by Peter Petrik</li>
<li>Notable Fixes: Bug fixes by Even Rouault</li>
<li>Notable Fixes: Bug fixes by Julien Cabieces</li>
<li>Notable Fixes: Bug fixes by Nyall Dawson</li>
<li></li>
</ul>
<h1 id="whats-new-in-version-3.16-hannover">What’s new in Version 3.16 ‘Hannover’?</h1>
<p>This release has following new features:</p>
<ul>
<li>General: Add user groups easter egg</li>
<li>General: QGIS 3.16 Highlights (changelog)</li>
<li>Temporal: Ability to export temporal animation frames</li>
<li>Map Tools: Go-To locator</li>
<li>User Interface: Add context menu to map canvas</li>
<li>Symbology: Vector tile styling improvements</li>
<li>Symbology: Allow users to optionally specify the URL for the default style on vector tile connections</li>
<li>Symbology: Allow data-defined offset for fill symbol layers</li>
<li>Symbology: Import MapBox GL JSON styles for vector tile layers</li>
<li>Symbology: Expose option to offset simple line dash patterns by a preset amount</li>
<li>Symbology: Add options to dynamically tweak dash pattern in simple line symbol layers</li>
<li>Symbology: Manage 3D symbols through style manager</li>
<li>Labeling: Add option to allow users to control the placement of labels along line features</li>
<li>Labeling: Control anchor point for line labels</li>
<li>Diagrams: Render axis for stacked bar diagram</li>
<li>Mesh: In-memory mesh datasets with persistence</li>
<li>Mesh: Multi identify for mesh layer</li>
<li>Mesh: Virtual dataset groups for mesh layer</li>
<li>Mesh: Add export to QgsMesh method</li>
<li>Mesh: TIN Mesh creation</li>
<li>Rendering: Gamma correction filter for raster layers</li>
<li>3D Features: Allow 3D material texture files to be embedded in style/project</li>
<li>3D Features: Shadow rendering</li>
<li>3D Features: Export 3D scenes</li>
<li>3D Features: Directional lighting support for QGIS 3D</li>
<li>3D Features: Texturing support for vector layer</li>
<li>3D Features: Enable embedded and remote 3D models for 3D point symbols</li>
<li>3D Features: Add option to show light source origins</li>
<li>3D Features: Improvements for material handling</li>
<li>Print Layouts: Expose control over text format and alignment for individual cells in manual text tables</li>
<li>Print Layouts: Use QgsTextRenderer to render attribute table text</li>
<li>Print Layouts: Use QgsTextRenderer for drawing map grid text in layouts</li>
<li>Print Layouts: Expose option to control PDF image compression method when exporting layouts to PDF</li>
<li>Print Layouts: Add automatic clipping settings for atlas maps</li>
<li>Print Layouts: Add API to QgsMapSettings for specifying clipping regions to apply while rendering maps</li>
<li>Print Layouts: Layout legend maximum marker size</li>
<li>Print Layouts: Allow cells in manual text tables to have expression based contents</li>
<li>Print Layouts: Clip layout maps to shape</li>
<li>Print Layouts: Support for rotated ticks/annotation</li>
<li>Print Layouts: Add page offset expression for Y positions</li>
<li>Expressions: Add to_decimal() function to convert DMS to DD</li>
<li>Expressions: Add “main_angle” function to return the estimated main angle of a geometry</li>
<li>Expressions: Port refFunctions to core</li>
<li>Digitizing: Add option to calculate bearing based on travel direction</li>
<li>Digitizing: Digitizing and splitting curved features</li>
<li>Data Management: Rescale raster algorithm for Processing</li>
<li>Forms and Widgets: Multiple widgets for a single relation</li>
<li>Forms and Widgets: Show related features in identify results tree</li>
<li>Forms and Widgets: Filter expressions in relation reference widget</li>
<li>Analysis Tools: Add project load profile times to debugging tools dock</li>
<li>Analysis Tools: New Cell statistics algorithm</li>
<li>Analysis Tools: New Equal to frequency algorithm</li>
<li>Analysis Tools: New Greater than frequency algorithm</li>
<li>Analysis Tools: New Less than frequency algorithm</li>
<li>Analysis Tools: New Lowest position in raster stack algorithm</li>
<li>Analysis Tools: New Highest position in raster stack algorithm</li>
<li>Analysis Tools: New “Highest/Lowest position in raster stack” algorithms</li>
<li>Processing: Add help string for parameters</li>
<li>Processing: New “Align points to features” algorithm</li>
<li>Processing: Add modeler algorithm to create directories</li>
<li>Processing: Add modeler algorithm to set a project expression variable</li>
<li>Processing: Add processing algorithms to export a print layout as PDF/image</li>
<li>Processing: Add a save features to file algorithm</li>
<li>Processing: Export layout atlas as PDF algorithm</li>
<li>Processing: New “Flatten Relationship” algorithm</li>
<li>Processing: Export atlas layout as image algorithm</li>
<li>Processing: Load processing results to layer group</li>
<li>Processing: Add zonal statistics algorithm which creates new output</li>
<li>Processing: Add geometry processing parameter</li>
<li>Processing: Add an interface to determine whether it is safe for the application to exit</li>
<li>Application and Project Options: List available GDAL vector drivers</li>
<li>Application and Project Options: Detect GRASS installation folder on MacOS</li>
<li>Browser: Expose fields in the Browser</li>
<li>Data Providers: ArcGIS Vector Tile Service connections</li>
<li>Data Providers: Trust layer metadata propagation</li>
<li>Data Providers: Add support for virtual columns in Oracle</li>
<li>Data Providers: Add advanced options for data imports</li>
<li>QGIS Server: QGIS Server WFS3 API Sorting</li>
<li>QGIS Server: QGIS Server landing page</li>
<li>QGIS Server: Environment variable to disable GetPrint and to not load layouts</li>
<li>QGIS Server: Environment variable to trust layer metadata with server settings</li>
<li>Notable Fixes: Bug fixes by Even Rouault</li>
<li>Notable Fixes: Bug fixes by Alessandro Pasotti</li>
<li>Notable Fixes: Bug fixes by Peter Petrik</li>
<li>Notable Fixes: Bug fixes by Paul Blottiere</li>
<li>Notable Fixes: Bug fixes by Matthias Kuhn</li>
<li>Notable Fixes: Bug fixes by Julien Cabieces</li>
<li>Notable Fixes: Bug fixes by Denis Rouzaud</li>
<li>Notable Fixes: Bug fixes by Olivier Dalang</li>
<li>Notable Fixes: Bug fixes by Nyall Dawson</li>
<li></li>
</ul>
<h1 id="whats-new-in-version-3.14-pi">What’s new in Version 3.14 ‘Pi’?</h1>
<p>This release has following new features:</p>
<ul>
<li>General: New grid decoration annotations font settings</li>
<li>General: QGIS 3.14 Highlights (changelog)</li>
<li>Temporal: Cumulative temporal range setting in temporal controller</li>
<li>Temporal: Add a new “Redraw Layer Only” mode for temporal vector layers</li>
<li>Temporal: Add basic temporal handling support for vector layers</li>
<li>Temporal: Postgres raster temporal API support</li>
<li>Temporal: QGIS Project temporal settings</li>
<li>Temporal: WMS-T layers temporal constraints support</li>
<li>Temporal: Temporal API</li>
<li>Map Tools: Identify Tool Support for QGIS vector tile layers.</li>
<li>Map Tools: Show a menu next to scale widget buttons, to allow setting the widget directly to a scale from a print layout map</li>
<li>Map Tools: Add tool button to “Deselect Features from the Current Active layer”</li>
<li>User Interface: Allow the drag and drop of a layer across several QGIS instances</li>
<li>User Interface: Open attribute tables as tabs</li>
<li>Symbology: Raster Layer Contour Renderer</li>
<li>Symbology: Add percentage size unit for Raster Image Marker and Raster fill layers symbology.</li>
<li>Symbology: Add data-defined property to font family/style for font markers</li>
<li>Symbology: New font style setting for font markers</li>
<li>Labeling: Respect HTML colors in labels</li>
<li>Labeling: Automatic placement of labels outside polygons</li>
<li>Labeling: Vector tile layer - part 4 (labeling)</li>
<li>Labeling: Add control over anchor point for callout on label</li>
<li>Mesh: Use only specified dataset group</li>
<li>Mesh: Scalar color settings depending on classification</li>
<li>Mesh: Snap on mesh elements</li>
<li>Mesh: 1D mesh width/color varying</li>
<li>Mesh: Support for multiple mesh (since MDAL 0.5.91)</li>
<li>Mesh: Plug mesh layer to QGIS temporal framework</li>
<li>Mesh: Resampling from vertex values to face values</li>
<li>Mesh: Coloring mesh vector dataset with color ramp shader</li>
<li>Mesh: Save style for mesh layer</li>
<li>Mesh: Mesh 1D Renderer</li>
<li>Mesh: Mesh simplification</li>
<li>3D Features: Arrows for 3D mesh layer dataset rendering</li>
<li>Print Layouts: Temporal settings for layout map items</li>
<li>Print Layouts: Allow sorting attribute table by field not listed in the table</li>
<li>Print Layouts: Expose control over layer legend splitting behavior on a layer-by-layer basis</li>
<li>Print Layouts: Allow customization of division and subdivision symbols as distinct from scalebar tick horizontal symbol</li>
<li>Print Layouts: Allow overriding the default symbol for a legend node</li>
<li>Print Layouts: Allow placing manual column breaks in legends</li>
<li>Print Layouts: Add subdivisions in ticks scalebar right segments</li>
<li>Print Layouts: Allow overriding the legend patch size on a per-item basis</li>
<li>Print Layouts: Allow control over the horizontal spacing before legend group/subgroup/symbols</li>
<li>Print Layouts: Manage legend patch shapes through style manager</li>
<li>Print Layouts: Allow configuring legend patch shapes by double-clicking on legend items</li>
<li>Print Layouts: Support pasting pictures directly into layouts</li>
<li>Print Layouts: Allow marker items to sync rotation with maps</li>
<li>Print Layouts: New item type for marker symbols</li>
<li>Print Layouts: Add import content from clipboard for fixed table items</li>
<li>Print Layouts: Add numeric formatter “fraction” style</li>
<li>Print Layouts: Add “stepped line” and “hollow” scalebar styles</li>
<li>Print Layouts: Allow scalebar line style to be set using standard QGIS line symbols</li>
<li>Print Layouts: Rework picture item UI and behavior</li>
<li>Print Layouts: Make CRS controlable by a variable</li>
<li>Expressions: New expressions</li>
<li>Expressions: Feature browser for preview in expression builder</li>
<li>Expressions: Ability to remove custom functions</li>
<li>Expressions: Add ability to edit, import and export user expressions</li>
<li>Digitizing: Dedicated avoid geometry intersection/overlap mode</li>
<li>Digitizing: New snapping modes: Centroid and middle of a segment (midpoint)</li>
<li>Digitizing: Snapping to the currently digitized feature</li>
<li>Digitizing: Tracing now supports curved geometries</li>
<li>Forms and Widgets: Allow editing of links in file widget</li>
<li>Forms and Widgets: Expression controlled labels (aliases)</li>
<li>Forms and Widgets: Add description to value relation widget</li>
<li>Forms and Widgets: New database table name widget</li>
<li>Forms and Widgets: Get current parent form values in child forms</li>
<li>Forms and Widgets: Relation widget: add checkbox to hide save child edits button</li>
<li>Forms and Widgets: Relation widget force suppress popup</li>
<li>Layer Legend: Added move to bottom in layertreeview context menu</li>
<li>Layer Legend: Make Add Group button act as Group Selected if selected layers >= 2</li>
<li>Layer Legend: Allow renaming of the current map theme</li>
<li>Layer Legend: Turn on/off ALL selected layers with “Space” button</li>
<li>Analysis Tools: Network logger - more functionality</li>
<li>Analysis Tools: Inbuilt network logging tool</li>
<li>Processing: Collection of random raster generation algorithms</li>
<li>Processing: Vector tile layer - part 8 (writer in Processing)</li>
<li>Processing: New modeler algorithm for creating conditional branches</li>
<li>Processing: Allow reordering model inputs</li>
<li>Processing: Defer model validation</li>
<li>Processing: Added support for different raster data types in Create constant raster layer algorithm</li>
<li>Processing: Added Round raster algorithm</li>
<li>Processing: Allow copying/cut/paste of model components</li>
<li>Processing: Allow appending processing results to existing layers</li>
<li>Processing: Allow creation of group boxes in models</li>
<li>Processing: Processing: show input and output values for children after running model through designer</li>
<li>Processing: Add “Save Log to File” algorithm for models</li>
<li>Processing: Allow running algorithms directly on database (and other non-disk) sources without loading into projects first</li>
<li>Processing: Expose per-feature-source advanced options for processing inputs</li>
<li>Processing: Enable snapping to grid for models in designer</li>
<li>Processing: Add “filter by geometry type” and “filter by layer type” algorithms to processing</li>
<li>Processing: “Remove Null Geometries” algorithm can also remove EMPTY geometries</li>
<li>Processing: Add multi-selection handling to model designer, interactive resizing</li>
<li>Processing: Add undo/redo support to model designer</li>
<li>Processing: Remember parameter values between model designer runs</li>
<li>Processing: Comments in Processing Models</li>
<li>Processing: New standalone console tool for running processing algorithms</li>
<li>Processing: New parameter type for datetime (or date, or time) values</li>
<li>Processing: Add algorithms for raising warnings and exceptions from models</li>
<li>Processing: Add Fill NoData cells algorithm</li>
<li>Processing: Various fixes for Processing</li>
<li>Processing: Show “template layer” field constraints in the “Refactor Fields” algorithm interface</li>
<li>Processing: New convert to curves algorithm</li>
<li>Application and Project Options: Add <span class="citation" data-cites="layers">@layers</span>, <span class="citation" data-cites="layer_ids">@layer_ids</span> project scope variables</li>
<li>Data Providers: Allow adding attributes in the New Scratch Layer dialog</li>
<li>Data Providers: Allow creating geometryless DBF tables from the New Shapefile dialog</li>
<li>Data Providers: Allow filtering WM(T)S list in source dialog</li>
<li>Data Providers: Add vector tiles to Datasource manager dialog and Layers menu</li>
<li>Data Providers: Import/export for ArcGIS Map and FeatureServer connections</li>
<li>Data Providers: Add XYZ tiles to Datasource manager dialog and Layers menu</li>
<li>Data Providers: Spatialite transaction group</li>
<li>Data Providers: Allowing saving outputs direct to more database formats (and other nice stuff)</li>
<li>Data Providers: Add dedicated parameter type for database connections</li>
<li>Data Providers: PG: expose foreign tables</li>
<li>Data Providers: PG raster expose set filter to app</li>
<li>Data Providers: Postgres: save features into tables with generated fields</li>
<li>Data Providers: Date and DateTime field types support added to Spatialite and Delimited Text providers</li>
<li>QGIS Server: Add QGIS_SERVER_IGNORE_BAD_LAYERS config option</li>
<li>QGIS Server: Server project settings, add ‘expanded’ attribute</li>
<li>QGIS Server: Add DXF server export params NO_MTEXT and FORCE_2D</li>
<li>QGIS Server: WMS project validator</li>
<li>QGIS Server: Webp</li>
<li>Plugins: Allow plugins to register custom “Project Open” handlers</li>
<li>Plugins: Allow users to install stable or experimental plugins</li>
<li>Programmability: Support for adding dock widgets as tabs: addTabifyDockWidget()</li>
<li>Programmability: Port output parameter wrappers to new API</li>
<li>Programmability: Port last remaining input parameters to new API</li>
<li>Programmability: Port Feature Source, Raster, Vector and Mesh Layer parameters to new API</li>
<li>Programmability: Vector tile layer - part 1</li>
<li>Programmability: Port processing extent parameter to new api, many other improvements</li>
<li>Programmability: Interface and API for unified development/debugging tools</li>
<li>Programmability: Data type support for QgsProcessingParameterMapLayer</li>
<li>Programmability: Add processing parameter types for database schema and table name</li>
<li>Notable Fixes: Bug fixes by Alessandro Pasotti</li>
<li>Notable Fixes: Bug fixes by Loïc Bartoletti</li>
<li>Notable Fixes: Bug fixes by Even Rouault</li>
<li>Notable Fixes: Bug fixes by Paul Blottiere</li>
<li>Notable Fixes: Bug fixes by Julien Cabieces</li>
<li>Notable Fixes: Bug fixes by Bertrand Rix</li>
<li>Notable Fixes: Bug fixes by Sebastien Peillet</li>
<li>Notable Fixes: Bug fixes by Alexander Bruy</li>
<li>Notable Fixes: Bug fixes by Nyall Dawson</li>
<li>Notable Fixes: Bug fixes by Denis Rouzaud</li>
<li></li>
</ul>
<h1 id="whats-new-in-version-3.12-bucurești">What’s new in Version 3.12 ‘București’?</h1>
<p>This release has following new features:</p>
<ul>
<li>User Interface: Deselecting tables when adding PostgreSQL data after add button is clicked.</li>
<li>Symbology: Vector Trace Animation and Streamlines for Mesh Layer</li>
<li>Rendering: Play/Stop Buttons for Mesh Layer Playback</li>
<li>Rendering: On the Fly Resampling of Data Defined on Faces to Vertices (Mesh Layer)</li>
<li>Rendering: Support for Mesh Reference Time</li>
<li>3D Features: 3D Mesh Layer Terrain Renderer</li>
<li>3D Features: Harmonize 3D map view widget with 2D ones to display the map theme drop-down menu</li>
<li>Expressions: Search Tags for Functions</li>
<li>Expressions: List Referenced Layer Values</li>
<li>Expressions: New functions to check if a geometry is empty or null</li>
<li>Expressions: Hash expressions</li>
<li>Digitizing: Edit Invalid Attributes on Copy/Paste to Another Layer</li>
<li>Digitizing: Snapping cache parallelization</li>
<li>Data Management: DXF Export Improvements</li>
<li>Forms and Widgets: Create geometric feature from the relation editor</li>
<li>Forms and Widgets: Improve feature selection dialog</li>
<li>Analysis Tools: Smooth Export of the Contours from Mesh Layer</li>
<li>Analysis Tools: Support of Datasets Defined on Faces in QGIS Mesh Calculator</li>
<li>Processing: Package new layers to existing GeoPackage</li>
<li>Browser: Customization of the items shown in browser</li>
<li>Data Providers: Changed WMTS layer collection icon</li>
<li>Data Providers: Added Metadata URL property in the layer metadata tab for WMS / WMTS and WCS services</li>
<li>Data Providers: Fetch and show dimensions metadata for a WMS layer metadata</li>
<li>Data Providers: Added refresh action to OGC services entries</li>
<li>Data Providers: 3d Stacked Meshes</li>
<li>Data Providers: Oracle curve type edition support</li>
<li>Programmability: Exposes shape digitizing methods to QgisInterface</li>
<li>Notable Fixes: Bug fixes by Stephen Knox</li>
</ul>
<h1 id="whats-new-in-version-3.10-a-coruña">What’s new in Version 3.10 ‘A Coruña’?</h1>
<p>This release has following new features:</p>
<ul>
<li>Map Tools: Show 3D length for LineStringZ features in identify derived attributes</li>
<li>Symbology: Customizable default resampling settings for newly-added raster layers</li>
<li>Symbology: Add “extract symbols” action to QGS/QGZ project file context menu in browser</li>
<li>Symbology: Improved copy/paste of symbols</li>
<li>Symbology: “Center of segment” placement mode for marker and hash line symbol layers</li>
<li>Symbology: Allow array values as a valid result for data defined offset</li>
<li>Labeling: Allow creation and editing of text formats and label settings through style manager dialog</li>
<li>Labeling: New text “background” setting for marker symbol backgrounds</li>
<li>Labeling: Callouts support</li>
<li>Labeling: Add multiline alignment property to the change label tool</li>
<li>Labeling: Allow display of unplaced labels</li>
<li>Labeling: Add “overrun distance” setting for line labels</li>
<li>Labeling: Allow data defined control over “label every part of multipart features” setting</li>
<li>Labeling: Expose “label all parts” option via label properties tool</li>
<li>Labeling: Support vertical text orientation</li>
<li>Labeling: Expose font kerning setting</li>
<li>Rendering: Allow rendering raster layers outside the reported extent</li>
<li>Rendering: Add option to georeference PDFs and TIFs to save map canvas as image/PDF</li>
<li>Rendering: new map canvas image decoration</li>
<li>Rendering: logarithmic scale method for graduated renderer</li>
<li>3D Features: Measurement tool in 3D map view</li>
<li>3D Features: Billboard Rendering for Points</li>
<li>3D Features: 3D On-Screen Navigation</li>
<li>Print Layouts: Right-to-left arrangement for legends</li>
<li>Print Layouts: Control margin under legend group and subgroup headings</li>
<li>Print Layouts: Allow data defined settings in text formats</li>
<li>Print Layouts: <span class="citation" data-cites="scale_value">@scale_value</span> variable</li>
<li>Print Layouts: Add above/below segments placement option for scalebar labels</li>
<li>Print Layouts: Horizontal placement option for scale bar labels</li>
<li>Print Layouts: Add option to simplify PDF or SVG exports</li>
<li>Print Layouts: Improved SVG layered exports</li>
<li>Print Layouts: Add an indicator in the status bar while a map redraw is occurring in the background</li>
<li>Print Layouts: GeoPDF Export</li>
<li>Print Layouts: Data defined control over grid properties</li>
<li>Print Layouts: “fit segment size” mode for map grid interval</li>
<li>Print Layouts: layout map item extent to an existing bookmark</li>
<li>Expressions: New expression functions</li>
<li>Digitizing: GPS timestamp support</li>
<li>Data Management: Composite Foreign Keys</li>
<li>Data Management: Add circular data dependencies</li>
<li>Analysis Tools: Stored filter expressions</li>
<li>Analysis Tools: New operator for Raster Calculator</li>
<li>Processing: new algorithm point to layer</li>
<li>Processing: allow defining model parameters as advanced</li>
<li>Processing: All GDAL based algorithms now support free-form “additional parameters”</li>
<li>Processing: Add metatile size parameter to XYZ tiles algorithm</li>
<li>Processing: New parameter type for colors</li>
<li>Processing: New algorithm “Create style database from project”</li>
<li>Processing: Allow file filter and default value to be set for file/folder inputs in models</li>
<li>Processing: New algorithm “Combine style databases”</li>
<li>Processing: Generate XYZ tiles using multiple threads</li>
<li>Processing: New algorithms for exporting and importing to/from map layers</li>
<li>Processing: New algorithm “Split features by character”</li>
<li>Processing: New algorithm Climb Along Line</li>
<li>Processing: Port Create Grid algorithm to C++</li>
<li>General: Show news items on welcome page</li>
<li>General: Add a separate unit choice for milliradians (SI definition) vs mil (NATO definition)</li>
<li>General: Enable widget filtering in Interface Customization dialog</li>
<li>General: Improved auto-fix broken layers</li>
<li>General: Bookmark Revamp</li>
<li>General: “Reselect Features” action in Edit -> Select menu</li>
<li>General: Parallelize snap index build</li>
<li>Data Providers: Handle read-write support for .shz and .shp.zip</li>
<li>Data Providers: oracle provider: add support for auth manager</li>
<li>Data Providers: Improved PostGIS raster support</li>
<li>Data Providers: Oracle - Database transaction support</li>
<li>Data Providers: Add support for z/m dimensions to delimited text layers</li>
<li>Data Providers: Static data providers</li>
<li>QGIS Server: Using SVG in QGIS Server</li>
<li>QGIS Server: WMS dimension</li>
<li>QGIS Server: Server OAPIF (aka WFS3) support</li>
<li>Programmability: New class QgsBookmarkManager</li>
<li>Programmability: New API for provider database connections</li>
</ul>
<h1 id="whats-new-in-version-3.8-zanzibar">What’s new in Version 3.8 ‘Zanzibar’?</h1>
<p>This release has following new features:</p>
<ul>
<li>Expressions: Add order by support to expression aggregate and concatenation functions</li>
<li>Expressions: File Information</li>
<li>User Interface: Save to Template Button</li>
<li>Symbology: Allow strings for font markers</li>
<li>Symbology: Offset setting for point pattern fill symbol layer</li>
<li>Symbology: Average line angles for marker and hashed line</li>
<li>Digitizing: Floating widget for advanced input next to cursor</li>
<li>Digitizing: Chanied add vertex at endpoint</li>
<li>Forms and Widgets: Allow browsing feature list</li>
<li>Analysis Tools: New aggregate method: concatenate_unique</li>
<li>Processing: Add “Save layer styles into GeoPackage” option for Package Layers algorithm</li>
<li>Processing: Overlap Analysis</li>
<li>Processing: Allow rounding values in ExtentFromLayer</li>
<li>Processing: New options to autofill batch processing dialog</li>
<li>Processing: Generate raster XYZ tiles</li>
<li>Processing: Join attributes by nearest</li>
<li>QGIS Server: Allow configuring size for GetLegendGraphics</li>
<li>Programmability: Add REGEXP SQL syntax support to spatialite provider and python connections</li>
<li>Notable Fixes: Support for curves in DXF export</li>
<li>3D Features: Wide lines and polygon edge highlighting</li>
<li>3D Features: Export all frames from QGIS 3d animations as images</li>
<li>3D Features: Terrain generation from online source</li>
<li>3D Features: Configuration of field of view angle of camera</li>
</ul>
<h1 id="whats-new-in-version-3.6.0-noosa">What’s new in Version 3.6.0 ‘Noosa’?</h1>
<p>This release has following new features:</p>
<ul>
<li>Map Tools: Title label decoration</li>
<li>Map Tools: Top/bottom centering placement for decoration items</li>
<li>Map Tools: Vertex tool fixes and improvements</li>
<li>Map Tools: Identify tool supports mesh layers</li>
<li>Expressions: New Expression Functions</li>
<li>Expressions: Square brackets to easily access map array elements</li>
<li>Expressions: New map expression variables</li>
<li>User Interface: A new grayscale theme, “blend of gray”</li>
<li>User Interface: Multiline selections and editing in code/expression editors</li>
<li>Symbology: Better handling of .XML style libraries</li>
<li>Symbology: Optionally force right-hand-rule during polygon symbol rendering</li>
<li>Symbology: Option for simple lines and marker lines to only render exterior ring or interior rings</li>
<li>Symbology: Raster image marker</li>
<li>Symbology: Raster fill can have images set to remote URLs or embedded images</li>
<li>Symbology: Use represention values for classified renderers</li>
<li>Symbology: Option to merge categories in categorized renderer</li>
<li>Symbology: Show Project Colors in color bound data defined buttons</li>
<li>Symbology: Style manager dialog improvements</li>
<li>Digitizing: Georeferencer enhancements</li>
<li>Digitizing: New option to avoid minimizing georeferencer when adding points</li>
<li>Data Management: Comment option in db manager</li>
<li>Forms and Widgets: New form widget for binary (blob) fields</li>
<li>Map Composer: Grid frame improvements</li>
<li>Map Composer: Improved handling of text and label export</li>
<li>Map Composer: Map labeling improvements</li>
<li>Map Composer: Rework of map item extent/scale shortcuts</li>
<li>Map Composer: Layout items can “block” map labels</li>
<li>Map Composer: Warnings on exports</li>
<li>Map Composer: Control over stacking position of map overview extents</li>
<li>Map Composer: New expression variables for legend items</li>
<li>Map Composer: Expressions inside legend item text</li>
<li>Analysis Tools: Hardware acceleration for raster calculator</li>
<li>Processing: New algorithm “Remove duplicates by attribute”</li>
<li>Processing: Explode HStore algorithm</li>
<li>Processing: Force right-hand-rule</li>
<li>Processing: Extract Binary Field algorithm</li>
<li>Processing: Split Lines by Maximum Length algorithm</li>
<li>Processing: New parameter type for authentication config</li>
<li>Processing: resampling and format options in the gdaladdo algorithm</li>
<li>Processing: Raster zonal stats algorithm</li>
<li>Processing: Extract Z values and Extract M values algorithms</li>
<li>Processing: Geodesic line split at antimeridian algorithm</li>
<li>Processing: Geodesic mode for “Join by Lines (Hub lines)” algorithm</li>
<li>Processing: Raster Surface Volume algorithm</li>
<li>Processing: Resurrected model to Python script functionality</li>
<li>Application and Project Options: Delete settings from the Advanced tab in options</li>
<li>Browser: Add “export to file” options for raster and vector layers within the browser</li>
<li>Browser: Native file/folder properties</li>
<li>Browser: Preview layers and attributes</li>
<li>Browser: Explore QGS/QGZ project files in the browser</li>
<li>Browser: Directly Create Geopackage and Shapefiles</li>
<li>Browser: Open Terminal at Path</li>
<li>General: Improved “missing layer” handling on project load</li>
<li>General: Optional setting for disabling version checks</li>
<li>General: Add a toggle action to vector layer legend items</li>
<li>Data Providers: Open service info for ArcGIS Feature Server layers</li>
<li>Data Providers: Binary blob support for OGR providers</li>
<li>Data Providers: ArcGIS Feature Server picture marker and picture fill support</li>
<li>Data Providers: ArcGIS Feature Server labeling support</li>
<li>Data Providers: Boolean and binary field support for memory layers</li>
<li>Data Providers: JSON Support for GeoPackage</li>
<li>Data Providers: Postgres provider: save primary key selection</li>
<li>QGIS Server: Possibility to set ATLAS_PK in GetPrint request to print atlas sheet(s)</li>
<li>QGIS Server: WMTS tile matrices configuration</li>
<li>Programmability: New class QgsExifTools</li>
<li>Programmability: Iterate over parts of a QgsGeometry</li>
<li>Programmability: Improved QgsLineString PyQGIS API</li>
<li>Programmability: PyQGIS Geometry Collection API improvements</li>
<li>Programmability: Easier Processing algorithm creation via <span class="citation" data-cites="alg">@alg</span> decorator</li>
<li>Programmability: Blocking (non-async) network requests</li>
<li>Programmability: Custom validity checks on layout exports</li>
<li>Programmability: API for calculating Geodesic lines</li>
<li>3D Features: Terrain shading</li>
<li>3D Features: Configuration of lights in 3D map scenes</li>
<li>3D Features: Rule-based 3D renderer</li>
</ul>
<h1 id="whats-new-in-version-3.4-ltr-madeira">What’s new in Version 3.4-LTR ‘Madeira’?</h1>
<p>This release has following new features:</p>
<ul>
<li>Expressions: New expression functions and variables</li>
<li>Expressions: Code completion for expression builder</li>
<li>User Interface: Auto selection of exported files in file manager</li>
<li>User Interface: New “Open Directory” option for disabled welcome page projects</li>
<li>User Interface: UX Improvements for Temporary Scratch Layers</li>
<li>User Interface: Task manager improvements</li>
<li>User Interface: Hyperlinks to local vector & raster datasets in the information panel</li>
<li>User Interface: Style manager improvements</li>
<li>User Interface: Polished browser panel interface and experience</li>
<li>User Interface: QML chart and drawings widget</li>
<li>Symbology: Mesh layer styling</li>
<li>Symbology: Classify symmetric in graduated renderer</li>
<li>Digitizing: GPS tracking improvements</li>
<li>Digitizing: More angle choices in advanced digitizing dock</li>
<li>Digitizing: Vertex tool can work on the current layer only</li>
<li>Digitizing: Add reverse line maptools</li>
<li>Digitizing: Geometry Precision</li>
<li>Digitizing: Automatically remove duplicate nodes</li>
<li>Digitizing: Check for geometry validity</li>
<li>Digitizing: Topology checks while editing</li>
<li>Data Management: Translation of QGIS projects</li>
<li>Data Management: Switch Attribute Table dock mode on demand</li>
<li>Data Management: New locator filter to search across all layers</li>
<li>Data Management: Non-removable (required) layers highlighted in layer tree</li>
<li>Data Management: Append raster layer to an existing Geopackage</li>
<li>Map Composer: 3d map items</li>
<li>Processing: Edit in place</li>
<li>Processing: Store models inside project</li>
<li>Processing: Sample Raster Values</li>
<li>Processing: New ‘Raster pixels to polygons’ algorithm</li>
<li>Processing: K Means clustering algorithm</li>
<li>Processing: dbscan spatial clustering algorithm</li>
<li>Processing: Improved algorithms</li>
<li>Processing: Filter Vertices by M and Filter Vertices by Z algorithms</li>
<li>Processing: “Array of Translated Features” algorithm</li>
<li>Processing: “Array of offset (parallel) lines” algorithm</li>
<li>Processing: Choice of units for non degree/unknown distances</li>
<li>Processing: “Drape features to z/m” algorithms</li>
<li>Processing: “Raster pixels to points” algorithm</li>
<li>Processing: Line substring algorithm</li>
<li>Processing: “Interpolate point on line” algorithm</li>
<li>Processing: k-neighbour concave hull</li>
<li>Processing: Python scripts which implement algorithms now execute the algorithm on drag and drop and browser double-click</li>
<li>Processing: New GDAL’s rearrange band algorithm</li>
<li>Processing: “Precalculated” values for model algorithm parameters</li>
<li>Processing: “Categorize a layer using a style XML file” algorithm</li>
<li>General: Flatpak</li>
<li>General: SVG files can be embedded in projects and symbols</li>
<li>General: OpenCL based acceleration</li>
<li>Data Providers: OAuth2 authentication method plugin</li>
<li>Data Providers: Mesh layer: New mesh layer format support</li>
<li>Data Providers: Mesh layer: add function to identify value on mesh layers</li>
<li>Data Providers: Mesh layer: allow choosing different vector and scalar dataset</li>
<li>Data Providers: Mesh layer: allow render vectors/arrows on the user-defined grid</li>
<li>Data Providers: JSON/JSONB Type support</li>
<li>Data Providers: ESRI Token Authentication support</li>
<li>Data Providers: SQL Server - Invalid geometry handling</li>
<li>QGIS Server: Server Cache can be manage by plugins</li>
<li>QGIS Server: WMTS 1.0.0 support</li>
<li>QGIS Server: Add ability to define min. scale for WMTS</li>
<li>QGIS Server: Support QGIS Server logs to stderr</li>
<li>Plugins: Support for encrypted zips in the Plugin Manager</li>
<li>Plugins: Offline Editing GeoPackage</li>
<li>Programmability: QgsSpatialIndexKDBush</li>
<li>Programmability: QgsRasterDataProvider::sample method for efficient sampling of rasters at a given point</li>
<li>Programmability: New geometry API call to return a curve substring</li>
<li>Programmability: sip Module API Changes</li>
<li>3D Features: Improved navigation</li>
<li>3D Features: Animation</li>