/
NEWS
4001 lines (2686 loc) · 157 KB
/
NEWS
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
Changes in 1.4.8 (2024-04-23):
* cavern:
+ The warning for a compass reading on a plumbed leg was already suppressed
for a compass or backcompass reading of 0, but is now also suppressed for a
backcompass of 180° (or equivalent) which seems to be common in some Compass
datasets, but also seems sensible generally. Thanks to Simeon Warner for
sharing some data which triggered such warnings.
+ The error for when a survey and station use the same name is now also
emitted in the case where a name was used first for a station, and then as
a survey on an explicitly prefixed name. Closes
https://github.com/ojwb/survex/pull/4, reported by Thomas Holder.
+ The error for when a survey and station use the same name now highlights
the problematic name within the line shown for context.
+ Fix the reported token string reported by some errors with readings. This
happened to work on at least x86-64 Linux, but the code was invalid and
failed on some architectures.
* Fix to build with newer FFmpeg versions.
* (Microsoft Windows version): The installer now offers the choice to install
for just the current user, which allows installing Survex without admin
rights.
* (Microsoft Windows version): Fix problems with valid coordinate systems being
rejected and aven's cavern log window not showing output. Reported by
Peter Mašič, Špela Borko, Răzvan Dumbravă and detrito. Thanks especially to
Špela Borko for a lot of testing to help track down the cause.
Changes in 1.4.7 (2024-04-07):
* cavern:
+ When using *declination auto we report the range of calculated declinations
for each location specified. After doing this we now reset the range
information we're tracking. Previously we'd misreport the range for
the second and subsequent locations.
+ Avoid undefined behaviour on handling filename fallback for filenames
containing non-ASCII characters.
+ Show context line with relevant item highlighted for more errors and
warnings.
+ The dynamic string handling routines are now more efficient.
+ Fix memory leak if a Compass MAK file opens folders it doesn't close.
+ Fix handling of clino-less legs in Compass DAT. These would cause cavern
to fail with a lot of "NaN" messages. Now they're treated as having a zero
clino with a standard deviation based on the leg length, just like in .svx
files.
* img library:
+ Compass PLT: Treat LRUD readings > 900 as omitted readings, which matches
what Compass does. Thanks to Larry Fish for clarifying this.
+ Avoid undefined behaviour after realloc(). We were adjusting a pointer
within the reallocated block by subtracting the old block address and
adding on the new one. Technically this is undefined behaviour, although
in practice it seems likely it'll work and we've not seen misbehaviour due
to it. However it's easy to avoid by calculating the offset before the
realloc().
* Portability:
+ Provide prototype for getopt() to avoid warnings with very recent compiler
versions.
+ Avoid using sprintf(), which now triggers warnings on some platforms.
* Build system:
+ Add configure --enable-werror option to turn compiler warnings into errors.
* Manual:
+ Expand details of Compass MAK CRS support.
+ Replace very out of date information about binary RPM packages.
* Minor translation updates.
* (Microsoft Windows version): Now uses PROJ 9.3.0 and ships all of the
ancillary files that PROJ comes with. Hoping this fixes use of coordinate
system EPSG:3912 failing, which was reported by Peter Mašič but I've not
managed to reproduce.
Changes in 1.4.6 (2024-03-07):
* cavern:
+ Workaround bug in PROJ < 9.3.0 with projected coordinate systems with
northing/easting axis order (such as EPSG:3042) which results in the grid
convergence being wrong by about 90°. Reported by Patrick Warren on the
mailing list.
+ If *declination auto was used before *cs out we would incorrectly calculate
the grid convergence as 0. We now handle this case correctly by
calculating lazily when we first read a compass reading, and report an
error if the output coordinate system hasn't been set by then.
+ When opening a file, cavern has fallback handling if the file isn't found
to help people processing datasets from platforms with case-insensitive
file systems. Previously cavern would fold the filename to lowercase and
retry. Now if this fails, it will also try the lower case version but
with the initial character of the leaf in upper case, and finally folding
the whole specified filename to upper case.
+ Dynamically pick a suitable level separator character and store it in .3d
file, instead of it being hard-coded to '.' (we still use '.' unless it
has been *set as a "name" character, or for Compass DAT/MAK files unless it
has been used in a station name). This is a step towards addressing the
situations raised by Thomas Holder in https://github.com/ojwb/survex/pull/4
and https://github.com/ojwb/survex/pull/5 .
+ Compass DAT files:
- The shot flag S is now understood to indicate a splay.
- The shot flag P is now interpreted as marking surface data. This flag
is described as "Exclude this shot from plotting", but the use suggested
in the Compass docs is for surface data, and legs flagged with it "[do]
not support passage modeling". Even if it's actually being used for a
different purpose, Survex programs don't show surface legs by default so
the end effect is at least to not plot as intended.
- Surveys which indicate a depth gauge was used for azimuth readings are
now marked as STYLE_DIVING in the 3d file.
- Compass and clino corrections are now implemented for backsights.
- The tape correction in Compass DAT files is now handled correctly. The
specified value is in feet, but cavern was incorrectly treating it as
being in metres.
- We now handle the newer 15 character "FORMAT:" encoding. Previously
cavern wouldn't detect when there were backsights in this case.
- We now treat survey date January 1st 1901 as "no date specified" since
this is the date Compass stores in this situation, and it seems very
unlikely to occur in real data.
- In Compass DAT files a dummy zero-length leg from a station to itself is
used to provide a place to specify LRUD for the start or end of a
traverse (depending if dimensions are measured at the from or to
station), and so we no longer issue a warning about equating a station to
itself for DAT files.
+ Compass MAK files:
- The base location command is now understood. This is how Compass
specifies a location to calculate magnetic declination at, and we
now handle this like Survex's native "*declination auto X Y Z".
- Survex uses the specified UTM zone and datum provided the combination can
be expressed as an EPSG code (lack of any EPSG codes for a datum suggests
it's obsolete; lack of a code for a particular datum+zone combination
suggests the zone is outside of the defined area of use of the datum).
Example Compass files we've seen use "North American 1927" outside of
where it's defined for use, presumably because some users fail to change
the datum from Compass' default. To enable reading such files we return
a PROJ4 string of the form "+proj=utm ..." for "North American 1927" and
"North American 1983" for UTM zones which don't have an EPSG code.
Please let us know if support for additional cases which aren't currently
supported would be useful to you.
- Folder commands are now understood.
- Flag fixed stations as entrances. Experimentation with Compass shows
this is how it treats them ("distance from entrance" in a .DAT file
counts from 0 at these points).
+ We now support reading Compass CLP files. These are very like DAT files,
except they contain loop-closed data. You might find this useful if you
want to keep existing stations at the same adjusted positions Compass gave
(for example to be able to draw extensions on an existing drawn-up survey),
or if the original DAT file has been lost but you still have the CLP file.
* aven:
+ Fix OpenGL scaling on high DPI displays with wxWidgets 3.0. Reported by
Philip Balister.
+ Split the filters for DAT and MAK files in the File->Open drop down list.
It seems more likely you'd want to see one type or the other, not both
together.
* aven/survexport:
+ Fix survey filtering when reading Compass PLT files.
+ .json,.kml: Enable export of surface legs. Currently surface and
underground legs aren't differentiated in these export formats when both
are enabled.
+ .3d: The coordinate system is now set.
+ .svg: Equated stations now get their correct names in the id attribute
of <circle> tags. Previously one of the names would be repeated for
all of a set of equated stations.
+ .plt:
- Anonymous stations previously resulted in an empty name in the PLT
file. This isn't explicitly disallowed by the PLT format description,
but Compass' viewer gives an error for such lines. Now we invent names
by encoding the station coordinates which should be unique.
- The S shot flag is now set for splays, and the P shot flag (hide from
plotting) is set for surface legs (which matches the use suggested in the
Compass docs).
* img library:
+ Fix bug handling timestamps before 1970. In C signed integer division
rounds towards zero, which previously resulted in timestamps before 1970
getting rounded to the end of the day instead of the start when converting
them to a count of days so they'd be off by one day unless the time was
midnight. This affected reading v3-v7 format 3d files with IMG_API_VERSION
set to 1 and writing v8 format 3d files with IMG_API_VERSION set to 0 (the
default).
+ Improve Compass PLT support (many of these are Compass features added
since Survex's support for Compass was originally added):
- Survey dates are now handled fully. We treat survey date January 1st
1901 as "no date specified" since this is the date Compass stores in this
situation, and it seems very unlikely to occur in real data.
- LRUD data is now translated to img_XSECT and img_XSECT_END.
- We now infer img_SFLAG_ENTRANCE for stations where the "Distance From
Entrance" field is present and zero.
- The shot flag L is now translated to img_FLAG_DUPLICATE.
- The shot flag S is now translated to img_FLAG_SPLAY. A station at the
far end of a shot flagged S gets img_SFLAG_WALL set since the Compass PLT
format specification says:
The shot is a "splay" shot, which is a shot from a station to the
wall to define the passage shape.
- The shot flag P is now interpreted as marking surface data. This flag
is described as "Exclude this shot from plotting", but the use suggested
in the Compass docs is for surface data, and legs flagged with it "[do]
not support passage modeling". Even if it's actually being used for a
different purpose, Survex programs don't show surface legs by default so
the end effect is at least to not plot as intended.
- The d plot command is now supported (previously img failed to parse
PLT files using this command) - it's like D but implies the P shot flag.
- If a PLT file only uses one datum and it is "WGS 1984" then the UTM zone
is converted to the appropriate EPSG code and this is reported as the
coordinate system. Other datums could be handled, but the mapping to
EPSG code is less simple. Also it seems Compass supports at least
24 datums but it doesn't document all the strings it uses for them.
Files with multiple datums could be handled too, but we'd need to convert
coordinates to a common coordinate system in the img library, which would
need it to depend on PROJ. Please let us know if support for more and/or
mixed datums would be useful to you.
- Duplicate img_LABEL items are no longer returned - this used to happen
for stations where more than two shots met within a single survey.
- We now infer img_SFLAG_EXPORTED for any station that appears in more
than one survey in the PLT file.
- We now set flag img_SFLAG_FIXED for any station which is listed as
a fixed point in the PLT file.
- If there's only one non-empty section name in a PLT file and we aren't
filtering by survey, we now report that section name as the title. If
there are multiple different non-empty section names, we still report the
basename of the file as before. If we're filtering by survey, we report
the comment for that survey as before.
- Fix bug handling PLT with omitted LRUD. The format specification
documents that LRUD may be omitted, though it seems Compass never
actually omits it and at least some versions of Compass failed to handle
it being omitted too.
* (Microsoft Windows version): Now using wxWidgets 3.2.4 (was 3.1.6).
* manual:
+ Document Compass support in detail.
+ Improve NATO mils example.
* INSTALL:
+ Add a link to the instructions for building from git. Reported by Andrew
Northall in https://github.com/ojwb/survex/pull/13
+ Document the requirement for a C99 compiler for building from source.
We made this a requirement in 1.4.2, but only noted it in NEWS.
* doc/TODO.htm: Update.
* Replace references to "libav" with "FFmpeg" since the libav project seems to
now be defunct, and we've always supported using either.
* Update build system to eliminate use of obsolete autotools macros and drop
probes for features that we can safely assume now we require a C99 compiler
and workarounds for obsolete platforms.
* Fix compilation warnings from newer compiler versions.
Changes in 1.4.5 (2023-06-29):
* aven: Fix rendering of crosses when drawn as sprites. Reported by echarlie.
* (macOS version): aven: Fix crash in export dialog. Fixes #133, reported by
rixyane. Thanks to Wookey for testing.
* manual: Expand docs on connecting to Compass data.
* Minor translation updates.
Changes in 1.4.4 (2023-02-03):
* aven: Fix red line in clino background to be grey (this was introduced in
1.4.3 and was a debugging change accidentally left in).
* aven: Accept weird .3d files from Therion which have empty components in
station names. That's not really valid by Survex's definition of station
names, but it's not very helpful to reject such files, so just disable the
checks that were rejecting this.
The result is empty entries in the survey tree, but I don't see what we can
really do that's better than that.
Reported by Vasily Vl. Suhachev.
* aven: Make it more obvious you can enter a custom scale by adding a "..."
entry to the scale combobox - selecting this clears the value and gives focus
to the combo box text entry. This control has always supported clicking to
enter a custom scale, but there wasn't really any indication that this was
possible before. Partly addresses #132, reported by Eric C. Landgraf.
* aven: Force export window to resize when the export format is changed as
different controls are shown depending on the export format.
* aven: Right-align tilt spin control value in print/export dialog to match the
bearing spin control.
* aven,survexport: Add ability to export as Survex 3d which is useful as you
can filter to a subset of surveys, filter out splays, convert from other
formats the img library can read, etc. This feature is a bit rough and ready
currently but please report issues.
* dump3d: Add --legs option which converts MOVE and LINE to a single LEG line
per leg with the from and to coordinates. Tools which parse dump3d output
should find this easier to process as it avoids having to track a "current
position".
* Update manual to have a complete list of quantities which *calibrate accepts.
Reported by echarlie
* cavern.tst: Fix testsuite to work with SOURCE_DATE_EPOCH set.
Changes in 1.4.3 (2022-05-17):
* aven: Much improved support for HiDPI monitors on all platforms.
* aven: When started without a file make sure the window has focus so menu
accelerators and shortcuts work without clicking on the window.
* aven,survexport: DXF export now puts splays in a separate layer and uses a
dotted linetype for them. Patch from echarlie, see #60.
* Improved survexport man page to include command line options and a short
note about DXF export. Patch from echarlie.
* Minor translation updates.
* (Unix version): aven: Fix handling of EGL-based wxGLCanvas (which wxGTK 3.1.5
has). Fix a build failure and don't force X11 (as the EGL-based wxGLCanvas
works on Wayland).
* (MacOS version): aven: Fix hang on startup without a file. Fixes #120,
reported by Enrico Fratnik.
* (Microsoft Windows version): Now using wxWidgets 3.1.6 (was 3.0.5).
* img library: Support reproducible builds which create .3d files by not
embedding a timestamp if environment variable SOURCE_DATE_EPOCH is set.
Requested by Martin Budaj.
Changes in 1.4.2 (2022-02-25):
* aven: Fix to be compatible with FFmpeg 5.0.
* Improve docs for *cs and *declination.
* cavern: Fix "*declination auto" not to crash when built with PROJ < 8.1.0.
Bug introduced in 1.4.0.
* cavern: For each `*declination auto` command cavern now reports an "info"
message showing the range of calculated declination values and the dates at
which the ends of the range were obtained, and also the grid convergence
(which doesn't vary with time). Fixes #92, reported by Rob Eavis.
* cavern: If any of the N-S, E-W or U-D ranges includes an anonymous station
then also report the range in that direction excluding anonymous stations.
Patch from Thomas Holder.
* cavern: The error from a bad `*cs custom` command now highlights the quoted
string properly.
* cavern: "FIX command with no coordinates - fixing at (0,0,0)" is now an
"info" rather than a "warning". It's not really reporting a problem and the
ability to omit the coordinates is a deliberate feature. It is useful for
the user to know where the "*fix" without coordinates is if they want to
change the survey to be in real coordinates, so an "info" diagnostic is a
good fit. This also means aven will no longer stay on the log view after
processing a dataset which fixes without coordinates.
* cavern: If "*fix" is used twice with no coordinates we no longer say
"FIX command with no coordinates - fixing at (0,0,0)" right before:
error: Already had FIX command with no coordinates for station "x"
* cavern: Include errors in Compass .mak files now report the error in the line
where the included filename is actually specified.
* cavern.tst: Add test coverage for warnings for *entrance and *export with
a station which doesn't exist otherwise.
* aven/survexport: Change JSON export to be valid JSON. This means the output
has changed incompatibly, but it wasn't valid JSON before which suggests
nobody was actually successfully using it. Fixes #128, reported by Pawczak.
* aven.tst: Skip one testcase on macos as it seems to hang, at least when
running on the Continuous Integration system.
* (Microsoft Windows version): The installer is now generated with a much
newer version of Innosetup. This means Microsoft Windows Vista is now the
minimum supported version but 2000 and XP are both many years out of support
anyway.
* (Microsoft Windows version): The coordinate system database for PROJ is
now included so "*cs" now works (broken since 1.4.0).
* Chinese translation updates from Qingqing Li.
* Building from source now requires a compiler with support for C99. C99
seems to be universally supported by compilers now so we don't expect this to
inconvenience anyone.
Changes in 1.4.1 (2021-11-08):
* This release should work with any PROJ version >= 6.2.0.
* cavern.tst: Fix to actually run tests when building outside the source
tree. Previously files for testcases weren't found, and tests were skipped
with a warning, which lead to 1.4.0 being released with two failing testcase.
Fix to find the files, and make not finding them an error.
* cavern.tst: Fix testcases gpxexport and require_fail which were failing
in 1.4.0.
* 3dformat.htm: Document that coordinate system can be ESRI:<number>.
Changes in 1.4.0 (2021-11-06):
* New release series to mark that Survex now uses the new PROJ API, and
requires PROJ >= 7.2.0. Survex 1.2.x will continue to support PROJ < 8
(and won't support newer PROJ versions). Fixes #102, reported by Bas
Couwenberg.
Due to these changes, PROJ will now convert directly between coordinate
systems where it knows how to, instead of always converting via WGS84.
This means conversions may now be more accurate in some cases, and you may
notice station coordinates changing - these should be for the better.
Also, the vertical datum is now taken into account automatically, and
terrain data now aligns much better vertically with surveys. Fixes #56.
* aven: Clicking and holding the left mouse button on the compass or clino,
then (while still holding) clicking the right button no longer causes a
wxWidgets assertion to fail. Reported by echarlie.
* img library: Rewrite certain proj strings when reading 3d files for
better compatibility with newer PROJ versions, where use of proj
strings is strongly discouraged.
`+init=epsg:` followed by a code number is rewritten to `EPSG:`.
`+init=esri:` followed by a code number is rewritten to `ESRI:`.
The proj strings which cavern used to put in 3d files for UTM zones and
S-MERC are rewritten to `EPSG:` follow by the appropriate code number.
* Also install survex.lang for gtksourceview 4. Fixes #125, reported by Martin
Green.
* Fix missing data style in interleaved example in manual. Reported by
echarlie.
* Use jw from docbook-utils instead of sgmltools-lite to process the manual.
The sgmltools-lite homepage says it's no longer being developed, and suggests
docbook-tools (which Debian packages as docbook-utils) as a replacement.
* doc/HACKING.htm: Update Debian packages to install
* doc/HACKING.htm: Update details of setting up mingw cross-build environment.
* Add simple tests for GPX and KML export.
* Expand cavern testcase csbad.
* cavern.tst: Parse warning/error counts more robustly. Previously we'd get
confused if the final line just contained an integer, e.g. if we end listing
stations not attached to a fixed point.
Changes in 1.2.45 (2021-03-09):
* Avoid undefined signed shifts in 3d file handling. Survex itself is only
affected on big-endian platforms (so most Linux machine, Microsoft Windows,
and current Macs are all OK), but this also affects the img library on all
platforms when used in standalone mode as it is in other programs. Fixes
#119, reported by Matěj Plch.
* aven:
+ When reading cavern output for the log window, we need special handling
for the case when a chunk of output ends mid-way through a UTF-8
sequence. Previously we lost the first byte of the sequence in this
case (and would then show it as an invalid character), but now it is
handled correctly. In practice, most of the cavern log output is ASCII so
it's quite possible nobody's ever actually hit this.
* testsuite:
+ Suppress reports of leaks on exit from the LeakSanitiser debugging tool.
We know we don't release all memory explicitly on exit since doing so would
mean extra work for no reason as the OS reclaims all memory when the
process exits.
* Convert OLDNEWS encoding from ISO-8859-1 to UTF-8.
Changes in 1.2.44 (2021-02-10):
* aven:
+ (Microsoft Windows version): Now using wxWidgets 3.0.5 (was 3.0.4).
* cavern:
* Add support for quadrant bearings (e.g. N30E). Patch from echarlie.
* Report error if angle units are specified for passage dimension.
Previously "*units left degrees" and similar were incorrectly quietly
accepted. Spotted by echarlie.
* Fix *data with no parameters to keep the current style and reset any state
as documented. Previously it actually instead ignored any survey data
until the next *data command with parameters.
* Fix minor memory leak in *data. We leaked a single memory allocation on
"*data default" or an invalid *data command.
* Improve test coverage.
* survexport:
* The check for whether a format supported --elevation, --plan, --bearing and
--tilt was inverted. Reported by echarlie.
* Fix reporting of export errors on Microsoft Windows. Reported by Matic Di
Batista.
* img library: Fix img_open() when used in other programs. Patch from Thomas
Holder.
* configure: Add wx-config-gtk3 to WX_CONFIG search for Arch Linux. Patch
from Thomas Holder.
* Improve documentation of interleaved data. Most notably, we now document
that a blank line breaks the current traverse.
* Fix typo in manual ('cypolar' -> 'cylpolar'). Patch from Wookey, fixes #117.
* Chinese translation updates from Qingqing Li.
* Russian translation updates from Vasily Vl. Suhachev.
* French translation updates from Jean-Marc and from Wassil Janssen.
* Bulgarian translation updates from Wassil Janssen
Changes in 1.2.43 (2020-02-28):
* cavern: Update to use v13 of the IGRF model for calculating declinations.
This was issued in December 2019 and should give slightly more accurate
declinations for surveys made since 2010.
* aven:
+ Fix colouring of "not in loop" when colouring by error. 1.2.42 introduced
a bug where surveys not in a loop were coloured as if they had zero error.
Fixes #111, reported by Bruce Mutton.
+ Fix handling of grid in export. The grid was always getting enabled
(probably since 1.2.8) even for formats which don't support exporting with
a grid. This resulted in the bounding box being set wrongly for some
formats such as SVG, as reported by Richard Knapp on the mailing list.
+ When showing errors processing the survey data we'd previously crash if
cavern incorrectly reported an error as being in a column off the end of
the line - now we just ignore the error column in this case.
+ Support colouring by survey style ("normal", "diving", "nosurvey", etc).
Changes in 1.2.42 (2019-09-04):
* aven:
+ Allow colouring by horizontal or vertical error.
+ (Unix version): Disable scaling for HiDPI displays with GTK3. The OpenGL
code needs work before this will work usefully, so just disable for now
(which simulates how things are when using GTK2).
+ (Unix version): Fix orientation of notebook tabs when build with wxWidgets
3.1 development versions. We want horizontal tab orientation, but were
passing a weird flag combination which now results in vertical tab
orientation.
* When exporting to a format where we support rotation in the horizontal
plane (such as SVG), the rotation was incorrectly applied to cross section
data (except for the default rotation of zero). Fixes #108, reported by
Richard Knapp.
* Add a section to the manual covering the command line tools, and what you
might still need to use them for.
* Fix compiler warning when building from source with GCC 9.
* Consistently refer to macOS not OS X - Apple have renamed it yet again.
* (macOS version): Revert the workaround for the crash on macOS 10.14. The
bug we were working around is fixed in git ready for wxWidgets 3.0.5 and
there's a backported fix in the homebrew wxmac 3.0.4-2 package, which is how
we now recommend people install on a Mac. Closes #101, reported by floho.
* (macOS version): Remove buildmacosx.sh script since installing from homebrew
is now the recommended approach.
Changes in 1.2.41 (2019-07-10):
* aven:
+ (Microsoft Windows version): Fix error on startup in the pre-built version
of 1.2.39 and 1.2.40. This is a recurrence of the same issue as affected
1.2.33 - this time I've patched out the unnecessary check in wxWidgets
which causes this problem so it shouldn't recur again. Reported by
Brian Clipstone.
+ (macOS version): Add work around for crash on macOS 10.14 (not fully tested
as I don't have access to a Mac). Hopefully fixed #101, reported by floho.
Changes in 1.2.40 (2019-07-04):
* aven: Draw the measuring line ring with an even shape. Previously the exact
shape of the ring varied slightly depending on the exact coordinates, which
could be visually distracting once you noticed it.
* We were casting a function pointer with a bool return type to the same type
but with a void return type. In practice this probably works fine on most
platforms, but it's undefined behaviour and also gives a compiler warning
with some compilers.
* Fix bug introduce in 1.2.39 with where the "esri" data file for PROJ is
installed.
Changes in 1.2.39 (2019-06-29):
* Support versions 5.x and 6.x of the PROJ library we use for handling
conversions between coordinate systems. Reported by Bas Couwenberg
in #102, by Richard Knapp in #103 and by Martin Sluka in email.
* (Unix and Mac OS versions): When checking if something is a file or if it is
a directory, we no longer treat a symlink as being neither, but instead
return an answer based on what the symlink points to.
* aven:
+ Improve handling of hidden splay ends. Previously, hidden splay ends still
served as "targets" for snapping the mouse pointer to, and still got
crosses when crosses were enabled. We don't have a handy flag for "this is
the outer end of a splay" and computing that on demand isn't so easy to do,
so for now we use the "anonymous station" flag so at least these cases now
behave properly for splays to anonymous stations (which is likely to be
what people with huge numbers of splays from disto-x, etc are using). This
does mean that anonymous stations on continuation passages will incorrectly
also be off when splays are hidden, but that seems an OK trade-off for now
and a definite improvement over the previous situation. The snapping of
the mouse pointer was reported by Frank Tully in #105.
+ Fix typo in export UI (CVS should be CSV).
* Documentation:
+ Add CSV to documented list of survexport output formats.
+ Fix *declination syntax synopsis - "auto" is a literal string, not a
placeholder.
+ Update PROJ project name and website - the name is now "PROJ" (all caps and
no ".4" suffix) and the website is now: https://proj.org/
* Install gtksourceview-3.0 language file so .svx files now get syntax
highlighting in gedit and other GtkSourceView-based editors. Patch
from Philip Withnall. Fixes #98.
* (Microsoft Windows version): The Survex installer doesn't uninstall the old
version when you upgrade, but just overwrites it with the new version. In
1.2.35 cad3d.exe was replaced with survexport.exe, but a user upgrading from
an older version would still have cad3d.exe from that old version. We now
remove any old cad3d.exe left over from a previous install in the same
location to avoid confusion.
* Add a few more message translations.
* Fix warnings when built with a C++11 compiler.
Changes in 1.2.38 (2019-03-02):
* cavern:
+ Deprecate MILS as angular units. Survex has long support MILS as an alias
for GRADS. However, this seems to be a bogus definition of a "mil" which
is unique to Survex (except that Therion has since copied it) - there are
several different definitions of a "mil" but they vary from 6000 to 6400 in
a full circle, not 400. Reported by Andy Edwards.
+ Fix segfault for *include "". This isn't useful, but shouldn't crash. It
now reports "file not found" instead.
+ Use isnan() to check for not-a-number. This is cleaner, more robust and
more efficient than formatting the number as a string and checking for
"NaN" or "nan" in the result.
* Avoid unused variable warning when compiling from source with modern ffmpeg.
* Drop support for wxWidgets < 3.0. 3.0.0 was released over 5 years ago and
should be easily available everywhere by now. I'm no longer easily able to
test with wxWidgets 2.8, and this allows a significant amount of cruft to be
removed.
* (Linux version): survex.spec: Fedora have removed gcc from the default build
environment so need to explicitly list it in the BuildRequires tag. See
https://fedoraproject.org/wiki/Changes/Remove_GCC_from_BuildRoot for more
information. Patch from James Begley.
Changes in 1.2.37 (2018-11-18):
* aven:
+ Add basic "Colour by Survey" feature. The colours used aren't currently
controllable.
+ Fix export of splays. Patch from Thomas Holder.
+ Fix KML export to avoid invalid geometry when a tube intersects itself.
Patch from Robert Jones.
+ (Unix version): Fix to work under Wayland by forcing the x11 GDK backend
for now. This is a workaround until wxWidgets OpenGL support is updated
to work under Wayland. Reported by Philip Balister.
+ Fix warnings about using deprecated functions when building movie export
code using FFmpeg 4.0.
* cavern:
+ Compass MAK files: Handle fixed point coordinates in feet - previously the
units were ignored and the coordinates assumed to be in metres.
+ Previously the first byte in a MAK file was ignored. Typically MAK files
start with a comment, and since cavern currently ignores lines that start
with characters it doesn't understand the meaning of, this bug would often
go unnoticed.
* survexport:
+ Fix exporting of passages, walls and cross-sections by running the code
aven uses to decide how much to rotate each cross-section. Previously all
cross-sections were aligned West-East. Reported by Robert Jones.
+ Default to .pos output if the program name is 3dtopos, and install a second
copy (or hardlink under Unix) as 3dtopos. This provides compatibility with
current releases of Tunnel. Reported by Becka Lawson, Wookey and
Stephen Crabtree.
* Fix some German translations. Patch from Thomas Holder.
* (MacOS X version): Fix aven-create-app to not delete converted icons.
Typo spotted by Robert Jones.
* Improve documentation for *team. Document the requirement to quote names
unless a person is identified by just one name. Document that the roles are
optional, as that information may not have been recorded, and to align with
therion's team command.
Changes in 1.2.36 (2018-07-18):
* aven:
+ Add support for exporting as a CSV (Comma-Separated Values) file.
+ Support exporting KML with altitude mode "clamp to ground". In this mode,
the altitude in the data is ignored and it's rendered on the surface of the
terrain. This is useful if your KML viewer renders the terrain as opaque
so underground data isn't visible. Rendering cave passages on the surface
isn't great, but is better than not being able to see them at all. This
option may also be helpful if you want to see where to look on the surface
for new entrances.
+ Highlight surveys with a white loop as the mouse is moved over them in
the survey tree. This is akin to how we highlight a station with a
white ring, and allows restoring "double-click survey in tree to zoom"
which temporarily required a quadruple-click in 1.2.35.
+ Only show checkboxes in the survey tree for surveys not stations.
+ Fix wxWidgets assertion if the user tried to select additional surveys
to show via the right-click menu.
+ Fix multiple survey filtering when both a parent and child survey are
selected. In this case it makes most sense to show all child surveys of
the parent, but we actually showed a slightly arbitrary subset of the
child surveys of the parent.
+ The checkbox area in the survey tree is now included in the area which
is considered by mouse-over updates such as highlighting the station or
survey.
+ Fix display of double quotes in cavern log window (they were being replaced
with control character 0x16 due to a typo in the code).
+ Add shortcuts to buttons in cavern log window.
+ Eliminate use of gluErrorString() function which eliminates some
deprecation warnings when building on macOS.
+ Reject multiple --survey command line options for now (only the last has
been used for a long time, but now we actually support multiple survey
filtering this matters more).
* survexport:
+ Report a useful error when trying to convert a .3d file without coordinate
system information to GPS. Reported by Mark Shinwell.
+ Handle multiple redundant --survey command line options correctly.
* dump3d: Report station flag "WALL", which was added in 1.2.7.
* Minor translation updates.
* Update manual for Microsoft Windows changes.
* tests/: Add test coverage for warnings about suspect readings
* Fix warning when compiling with clang.
Changes in 1.2.35 (2018-07-03):
* aven:
+ Viewing can now be restricted to multiple surveys. Use the right-button
menu on a survey in the survey tree and select "Show" to enable checkboxes
for that survey and all its siblings. Only the selected surveys are shown
on screen, printed and exported.
+ Don't open a survey when its name is double clicked. This was happening
due to code added to "allow double-clicking to work on wxMSW >= 2.8.11".
However, reverting that change still seems to allow double-clicking to work
on both wxMSW and wxGTK, but fixes the unwanted additional opening of the
survey.
+ Pick initial survey scaling based on whichever of the window width or
height gives the smaller scale. Previously we always used the window
width, which can result in parts of the cave being outside the initial
view. Reported by Wookey.
+ Drop ability to specify a PROJ string in the export dialog. This was added
to allow exporting to formats such as GPX before we added support for
specifying the projection in .svx files, and that support is now mature.
+ DXF export now uses 2 decimal places (was 6) for the bounding box, for
consistency with the precision used for coordinates.
+ Fix handling of surface flag during export. In formats which discriminate,
legs could previously have got assigned the wrong status.
+ Fix bug which probably prevented aven starting when OpenGL double buffering
is unavailable. This is unlikely to affect any common configurations.
+ (Microsoft Windows version): Fix loading of 3d files with non-ASCII
filenames. Issue reported by Matic.
+ (Microsoft Windows version): Fix incorrect display of some toolbar icons.
Probably broken since 1.2.17.
* survexport: New command-line export program which uses aven's export code.
Replaces 3dtopos, cad3d and findentrances, since it can do all that these
tools could do, plus much more.
* Merge more Spanish i18n updates from Evaristo Quiroga.
* Minor updates to various other translations.
* img library:
+ Now supports reading from and writing to an existing FILE*.
+ Improve API documentation.
* (Microsoft Windows version): Fix packaging to include wxWidgets translation
files like it was supposed to, which fixes a few missing translations. This
was probably broken by changes in 1.2.8. Reported by Evaristo Quiroga.
* (Microsoft Windows version): Drop two options from explorer bindings.
"Convert to DXF" and "Convert for hand plotting" have both been supported via
aven for a while, and that's a more useful way to access them as you can
control what gets exported.
Changes in 1.2.34 (2018-03-24):
* aven:
+ (Microsoft Windows version): Fix error on startup in the pre-built version
of 1.2.33.
+ (Microsoft Windows version): Now using wxWidgets 3.0.4 (was 3.0.2).
Changes in 1.2.33 (2018-03-22):
* aven:
+ Reliably disable scale bar in perspective view. This is supposed to happen
(because the scale across the screen varies in perspective view) but
actually the scale bar stayed around until an update was forced for another
reason. Spotted thanks to Pedro Silva Pinto.
+ Make "no date"/"not in loop" colour grey. The white was a bit bright and
made it harder to see the legs that had colours. The grey now used is
within the brightness range of the other colours. Fixes #94, reported by
Erin Lynch.
+ Fix KML export - exporting both survey legs and station names resulted in a
malformed KML file. This bug was introduced in 1.2.30 when support for
exporting passages and walls was added. Reported by Erin Lynch in #90.
+ Consistently use 2 decimal places for altitude in KML output. Some places
used 8 decimal places which is appropriate for lat and long, but clearly
overkill for an altitude in metres and increases the file size
unnecessarily.
+ Right-align bearing widget in print/export dialog. The change to allow the
value to wrap round from 360 to 0 in 1.2.27 inadvertently made this control
left-aligned (due to incorrect wxWidgets documentation of the default style
for this control).
+ (Unix version): Work around wxWidgets bug so that custom cursors work
under GTK3.
+ (Unix version): Update GTK version reporting - report GTK3, and don't
bother to report subversions of GTK2 (it seems to be fairly arbitrary
which subversions wxWidgets defines constants for).
+ Update code to work without warnings when using wxWidgets 3.1.0 (the
current development version).
+ Make movie export code compatible with upcoming FFmpeg 3.5 release.
It should still work with the older versions that worked before this
change. Reported by James Cowgill in https://bugs.debian.org/888334
* cavern:
+ Warn about 2 digit years. We can't change the assumption that these are
19xx without risking breaking existing datasets, but the further we get
into this century, the more likely such an assumption is to catch someone
out. The warning can easily be quashed by explicitly adding the assumed
"19".
* The Spanish translation is now up to date once more, thanks to updates from
Evaristo Quiroga.