source: git/NEWS @ e7c76ea

stereo-2025
Last change on this file since e7c76ea was 282afeb, checked in by Olly Betts <olly@…>, 8 months ago

Update draft NEWS entry

  • Property mode set to 100644
File size: 183.1 KB
Line 
1up to: 778e74882455b7d9f0fc42e4b7d647647823fd8f
2
3Changes in 1.4.13 (2024-11-??):
4
5* aven:
6
7  + Don't show crosses on anonymous stations since they just clutter up the
8    display (especially for anonymous splays).  Suggested by Andrew Atkinson.
9
10  + Fix 1.4.10 regression in plotting of station names.  Each anonymous station
11    was blocking out a small rectangle which no actual station name could
12    overlap.  Reported by Špela Borko.
13
14  + Reduced start-up time by only initialising GDAL if we have overlays to
15    show.
16
17  + (Microsoft Windows version): Avoid recurring "GDAL support not enabled in
18    this build" message box.  This message is now only shown once if you try to
19    add an overlay.  Reported by Špela Borko.
20
21* cavern:
22
23  + The component count was wrong in some cases, and we calculate the number
24    of loops using this component count, so the loop count would also be wrong
25    by the same amount in these cases.
26
27  + The component count and loop count are now reported when there are
28    unconnected survey stations.
29
30  + If the output directory isn't writable or doesn't exist we would complain
31    that we can't create the .err file - now we try to create the .3d file
32    first so complain about that instead which seems more helpful.  Reported by
33    Eric C. Landgraf.
34
35  + When inventing a fixed point we now avoid picking a fixed point which is
36    only attached to nosurvey legs if there's another option.  The code was
37    already meant to do this but it was buggy and we lacked a testcase for this
38    situation.
39
40  + Survey network reduction now finds some delta-star opportunities which were
41    being overlooked.  This allows more complicated networks to be reduced
42    further so fewer and/or smaller matrices need solving, which is faster.
43
44  + Survey network reduction now handles a "lollipop" with a fixed stick end
45    specially which is a little bit faster.  A more visible consequence is
46    fewer "Solving one equation..." messages when solving a complex survey
47    network.
48
49  + Survey network reduction now makes use of articulating legs to split up the
50    problem a little more, so we will often now solve more but smaller matrices
51    which should be faster.
52
53  + Assigning matrix row numbers now identifies equated stations in a slightly
54    more efficient way.
55
56* Test suite:
57
58  + Adjust hpglexport testcase to avoid i386 excess precision causing one of
59    the HPGL coordinates to differ by one from its value calculated without
60    excess precision.
61
62* Assorted translation updates.
63
64Changes in 1.4.12 (2024-10-23):
65
66* aven:
67
68  + (Microsoft Windows version): Geodata overlays are (hopefully temporarily)
69    no longer available in the pre-built version of Survex installed by the
70    Microsoft Windows installer.  We use the GDAL library to load them and
71    there's a hard to debug problem during DLL initialisation somewhere in its
72    dependency tree.  If you really need geodata overlays, the 1.4.9 installer
73    still works.  Thanks to Wookey for extensive testing to investigate the
74    problem, and to everyone else who reported this.
75
76* cavern:
77
78  + A leg with the same station as from and to is now only a warning in
79    Compass data.  Compass itself seems to quietly ignore such legs, but
80    they seem worth warning about.  In native Survex data this is still
81    an error.
82
83  + Short survey and station names are now stored without an extra memory
84    allocation.  On a 64-bit platform (most modern computers) we can store
85    name components up to 7 characters in this way; on a 32-bit platform
86    up to 3 characters.  On a large dataset which needs large matrices
87    solving this reduces cavern's memory usage by 3.5MB (~4.5%).  It's
88    also fractionally faster (but only ~0.05% which is not normally even
89    measurable).
90
91  + Assigning matrix row numbers to stations is now faster and allocates
92    less memory.
93
94* (Microsoft Windows version): The Microsoft Windows installer is now
95  named `survex-microsoft-windows-1.4.12.exe`.  The old name was
96  `survex-win32-1.4.11.exe` but the "win32" is now misleading as it's been a
97  64-bit build since 1.4.9.  Reported by Wookey.
98
99* Testsuite:
100
101  + dump3d.tst: Add tests of img library's survey filtering.
102
103  + cavern.tst: Normalise `-0.00` to `0.00` in JSON test output before
104    comparing with expected output.  We can get -0.00 on x86 due to excess
105    precision.
106
107* img library:
108
109  + Survey filtering now works correctly for files which use a survey level
110    separator other than `.`.  Patch https://github.com/ojwb/survex/pull/14
111    from Thomas Holder.
112
113  + Reading a v7 or earlier .3d format extended elevation with survey filtering
114    was failing to set is_extended_elevation.
115
116Changes in 1.4.11 (2024-08-14):
117
118* aven:
119
120  + Add imperial scales for export and printing.  Fixes #132, reported by Eric
121    C. Landgraf.
122
123* aven/survexport:
124
125  + HPGL export now uses pen 2 for splays and pen 3 for surface legs.  Partly
126    addresses #60.
127
128  + HPGL export now supports scaling (previous the scale was always
129    1:40000).
130
131  + KML export now distinguishes surface legs and splays using different
132    line styles.  Partly addresses #60.
133
134  + Remove Skencil export support.  The last release of Skencil was in 2005.
135    There was an attempt to revive the project in 2010, but that didn't lead to
136    another release and seems to have petered out.  No current Linux distro (or
137    other package system) seems to have Skencil packages, and the current git
138    version still appears to require Python 2 which is being phased out.
139
140* cavern:
141
142  + Support `*data ignore` to allow ignoring a block of survey data lines.
143    Closes #114, reported by Alastair Gott.
144
145  + Report error for bad final reading in `*data` command (previously such a
146    bad reading was quietly ignored).
147
148  + If the survey in `*end` doesn't match that in `*begin` the location of
149    that `*begin` is now reported as well - the second message here is new
150    for example:
151
152     badbegin.svx:6:8: error: Survey name doesn't match BEGIN
153      *end   bar
154             ^~~
155     badbegin.svx:4:13: info: Corresponding BEGIN was here
156      *begin      foo
157                  ^~~
158
159  + Now shows a context line for a reading which was on the previous line,
160    which can happen for interleaved data styles.
161
162  + Warn when a token is not followed by a blank, comment or end of line.
163    This is an unintentional tokenisation oddity which has been present
164    for a really long time.  We don't want to break files that rely on this
165    (even if they likely only do accidentally) so emit a warning rather than
166    an error.
167
168    This warning can easily be eliminated by adding a space where indicated,
169    which will work with old and new Survex versions.  Fixes #135.
170
171  + Errors and warnings which report an unexpected token now report a
172    contiguous span of letters and numbers rather than just letters in cases
173    where a number can't follow (which is the majority of cases).
174
175  + If `*require` isn't satisfied, the `*require` line is now shown for
176    context (especially helpful if there's a comment after the command noting
177    the reason for the requirement, as we now suggest in the manual).
178
179  + `*require` version parsing improved - spaces are no longer tolerated in
180    a version number and trailing junk after the version number is now
181    handled more consistently.
182
183  + Fixed several situations in which the highlighting of the context for a
184    diagnostic was off by a small number of columns.
185
186  + Optimise building of matrix during network solving.
187
188  + Enhancements and fixes to reading Walls WPJ and SRV files:
189
190    - After reporting an error for an unsupported datum, we now set the datum
191      to WGS84 to prevent triggering further errors from code which tries to
192      use the datum.
193
194    - Parse Walls WPJ commands as alphanumeric rather than alphabetic tokens,
195      which better matches how Walls parses them.  This only makes a difference
196      in the error message when we don't recognise a WPJ command.
197
198* Documentation:
199
200  + Note `feet` are international feet and how to select a different
201    definition in `*units` docs.
202
203  + Document `grads` are also known as "neugrads" and "gons" in `*units` docs.
204
205* Assorted translation updates.
206
207* testsuite:
208
209  + Fix bug in normalisation of `-0.00` to `0.00` in DXF output before
210    comparing with expected output.
211
212* Update and improve vim syntax highlighting:
213
214  + `*cartesian` added
215
216  + `*data ignore` added
217
218  + `mils` units now highlighted as deprecated
219
220  + `UP` and `DOWN` are no longer highlighted anywhere in a command
221
222  + `U`, `D`, `LEVEL`, `-V`, `+V`, `.`, `..` and `...` now highlighted in data
223    lines
224
225  + Repeated `NOT` in `*flags` is now highlighted as an error
226
227  + Fix error highlighting for unquoted `*include` to not flag an error just
228    because there's a comment after the filename
229
230  + Fix error highlighting for unquoted `*include` to work when there's
231    whitespace between `*` and `include`
232
233Changes in 1.4.10 (2024-08-05):
234
235* aven:
236
237  + Use a fixed rotation rate for rotating the view to North, South, East or
238    West (shortcut keys `N`, `S`, `E` and `W`).  We were using the same
239    variable rate which auto-rotation does for this case, but really these are
240    just animations to help the user see the change that's happening, so a
241    fixed rate makes more sense (and is what tilting to plan or elevation
242    does).  The new fixed rotation rate for this is double what the default
243    variable rate was, which means the longest rotation (e.g. from S to N)
244    takes 3 seconds rather than 6.
245
246* aven/survexport:
247
248  + Fix syntax of shot flags in PLT export (incorrect since introduced in
249    1.4.6).
250
251  + Map Survex duplicate flag to `L` shot flag in PLT export.
252
253  + Invent shorter names for anonymous stations in PLT export.  The PLT file
254    format documentation says station names can be up to 12 characters, but the
255    ones we generated were longer than this which is liable to trip up
256    consumers of this format that only allow for the specified length.
257    We now generate names using a sequential counter with a two character
258    prefix so they should fit in the 12 character limit for any cave
259    survey.
260
261  + 3D export now includes all leg and station flags.
262
263* cavern:
264
265  + Unconnected survey stations are now handled as a warning, whereas
266    previously this was an error.  This is necessary when processing Walls data
267    where it seems having hanging surveys is the norm, and Walls itself only
268    warns about them.
269
270    The support is also enabled for native Survex data since it allows viewing
271    the connected parts of a survey with missing connections without having to
272    comment out the unconnected parts (and then remember to fully uncomment
273    once connections are surveyed).  Fixes #16, reported by Duncan Collis.
274
275    Currently the component count and loop count are not shown in this case.
276
277  + Avoid multiple reports of an unconnected survey station.  This could happen
278    in some cases where a group of equated stations had more than four legs
279    connected to it.
280
281  + Fix missing report of unconnected survey station.  We aim to report at
282    least one station in every unconnected piece of survey, but if a piece had
283    been simplified to a single station which was anonymous (e.g. a disto splay
284    shot) then we wouldn't report anything for that piece.  Now we find the
285    traverse that was attached to it and report the next station along that
286    traverse.
287
288  + Report file and line location each unconnected survey station.
289
290  + This warning now says either `*entrance` or `*export` depending on which
291    it actually was:
292
293      Station "bar.1" referred to by *entrance or *export but never used
294
295  + Fix several cases of mishandling comments without blanks before them:
296
297    - After an anonymous station.
298
299    - After an ignored reading.  The `ignore` would incorrectly also skip the
300      comment character and any characters which followed up to the next blank
301      or end of line.
302
303    - In a `*alias` command.
304
305    - Diagnostic highlighting could continue into a comment.
306
307  + New `*cartesian` command which supports different orientations of
308    `cartesian` style data.
309
310  + Anonymous stations are now supported in `cartesian` style data.
311
312  + `*fix a reference` (without any coordinates) is now an error.  The
313    `reference` token provides a way to have a list of known fixed points which
314    are not expected to all be currently used, while omitting the coordinates
315    provides a way to specify a point to arbitrarily fix rather than rely on
316    cavern picking one.  Allowing both together doesn't really make sense.
317
318  + Improve check for 180° backclino to suppress the warning about a compass
319    reading on a plumbed leg (introduced in 1.4.8) to allow a small tolerance
320    on the value.  Previously the check wasn't working on x86 Linux for
321    example.
322
323  + When showing a line as the location of a diagnostic we now render any
324    tab character as a single space which means the `^~~~~` highlight length
325    is now correct even when the highlighted part contains tabs.  This only
326    affects use from a terminal as the highlight was already correctly handled
327    when viewing the log in aven.
328
329  + Enhancements and fixes to reading Walls WPJ and SRV files (thanks to Eric
330    C. Landgraf and Joe for a lot of great feedback from testing with large
331    datasets):
332
333    - The `RECT=` option is now fully supported.
334
335    - Fix `#DATE` with an active `.REF` to act like `DECL=`.  This matches what
336      the documentation says and what Walls seems to actually do.
337
338    - Allow completely omitting the clino on a wall shot (with `ORDER=DAV` or
339      `ORDER=ADV`).
340
341    - Resolve WPJ `.PATH` relative to innermost containing book.
342
343    - Handle an empty Walls station name.  Walls allows a station with an
344      explicit prefix to have an empty name, e.g. `PEP:`.  The Walls
345      documentation doesn't mention this, though it also doesn't explicitly say
346      the name can't be empty.  This quirk seems unlikely to be intentionally
347      used and Survex doesn't allow an empty station name, so we issue a
348      warning and use the name `empty name` (which has a space in, so can't
349      collide with a real Walls station name which can't contain a space) - so
350      `PEP:` in Walls becomes `PEP.empty name` in Survex.
351
352    - Flag stations with explicit Walls prefix as exported.
353
354    - Fix setting empty Walls macro with a comment right after it.
355
356    - Walls quietly ignores junk after the numeric argument in `TYPEAB=`,
357      `TYPEVB=`, `UV=`, `UVH=`, and `UVV=`.  This seems to be an undocumented
358      feature/bug so Survex emits a warning and skips the junk.
359
360    - After an unknown Walls option we now process the rest of the line.
361      Previously we were skipping the rest of the line.
362
363    - We no longer skip the rest of the line after a bad Walls `ORDER=` option.
364
365    - Correct the reported column for some Walls option diagnostics.
366
367    - Support explicit units on Walls clino readings.
368
369    - Allow `#` in Walls station names.  This is explicitly documented as not
370      allowed, but the documentation doesn't match the implementation and `#`
371      is present in some real-world data.
372
373    - Improve handling of Walls `RESTORE` error.  Highlight the position in the
374      line and don't skip the rest of the line.
375
376    - Don't warn about `INCH=` with a zero argument since that's the one case
377      of it we do handle!
378
379    - Fix not to skip the rest of the line after Walls `INCH=` option.
380      We currently don't support `INCH=` so we warn about it, but we were
381      skipping the rest of the line, then trying to read and discard the
382      argument to `INCH=` which gave an error.
383
384    - Relax handling of Walls `CASE=`.  It's not documented, but Walls32.exe
385      quietly treats unknown values as "Mixed".
386
387    - Support DM and DMS format for latitude and longitude in Walls `#FIX`,
388      e.g. `W97:43.875` and `W97:43:52.5` .
389
390    - Treat a zero length leg with finite variance like a Survex `*equate`.
391
392    - Apply Walls variance overrides to survey legs.
393
394    - The optional instrument and target heights are now parsed, but their
395      values are currently ignored.
396
397    - The delimiters around LRUD data are now parsed, but the LRUD data between
398      them is currently ignored.
399
400    - If a `#SEGMENT` value looks like a set of Compass shot flags (i.e.
401      consists only of upper case characters from `CLPSX`, optionally prefixed
402      with a `/` or `\`) then we interpret them as Compass shot flags (except
403      that `X` is mapped the same way as `L`).  This is apparently a common way
404      to use `#SEGMENT`, and unlikely to be triggered accidentally.
405
406    - Avoid a doubled directory separator when building Walls path names.
407
408* documentation:
409
410  + The manual has been converted from DocBook to reStructured Text.  The
411    plain-text format is much easier for making changes, and for users the
412    output from sphinx looks nicer and has extra features (like built-in
413    "Quick search" in the HTML output).
414
415    The plain text version of the manual is no longer generated.  Sphinx can
416    produce one but the .rst sources actually seem more readable for anyone
417    wanting to read the manual in plain text.
418
419    The extra targets to generate the manual in RTF and PostScript
420    have been dropped as I doubt they are still used (we stopped
421    providing them on the website years ago).  They could probably be
422    reinstated if there's a demand for them.
423
424    The conversion was partly automated followed by a full pass over the
425    result fixing issues with the automated conversion.  We took the
426    opportunity to also review the content and update or remove out of
427    date and other incorrect information, and to reorder some of the content.
428
429  + Document all the statistics in the `.err` file
430
431  + Document PLT export.
432
433  + Minor improvements to --help output
434
435  + The HTML version of the 1.4.9 manual was missing the Walls chapter
436    and had messed up paging links around it (due to the new CMAP chapter
437    accidentally also being given the filename `walls.htm`).  Reported by Eric
438    C. Landgraf.
439
440  + Document we don't enforce Walls' station or prefix length limits.
441
442  + Document handling of Walls `#NOTE`.
443
444  + Fix documentation of Walls `FLAG=` which is correctly handled, not skipped.
445
446  + Document how to compare Walls and Survex output via Shapefile.
447
448  + Document how to suppress unused fixed point warning in Walls SRV.
449
450* testsuite:
451
452  + Add testcase for Walls `#units order=da`.
453
454  + Add expected output for more testcases
455
456  + Add testcase for exporting .3d files.
457
458  + Normalise `-0.00` to `0.00` in DXF output before comparing to avoid bogus
459    test failures due to excess precision on x86 when using 387 FP
460    instructions.
461
462  + Add test of DXF export with full coordinates.
463
464* translations:
465
466  + Diagnostics can now use positional arguments which sometimes allows a
467    more natural word order in a translated message.
468
469Changes in 1.4.9 (2024-07-04):
470
471* aven:
472
473  + Support showing geodata overlays in Aven.  We use the GDAL library to load
474    the data, so this should work for any format which GDAL supports so long as
475    it can be read from the filing system and is geo-referenced vector data -
476    see https://gdal.org/drivers/vector/index.html for a list.  Currently the
477    dialog to select a file defaults to showing GPX, KML, GeoJSON and shape
478    files - set the filter to "All Files" to chose other formats.
479
480  + Reimplement display of cavern output.  The old version turned the log into
481    HTML and displayed it using wxHtmlWindow, but that adds a lot of overhead
482    and is especially inefficient if there are many diagnostics - cavern could
483    finish almost instantly yet aven could take many seconds to process the
484    output.  The new version renders directly from the log data.  It should
485    have most of the features from before - the only missing feature I'm
486    currently aware of is that you can't now select and copy text from the log
487    window, which wxHtmlWindow provided for free.  If people miss this feature,
488    we could add it to the new implementation.
489
490  + (Microsoft Windows version): Clicks in the cavern log window which load
491    files into an editor now protect the filename if it starts with a dash
492    to prevent it being interpreted as a command line option.  We already
493    do this for other platforms, but weren't on Microsoft Windows on the
494    assumption that it isn't needed because the filenames will be fully
495    qualified, but that may not be the case if aven if run by hand from the
496    command line or from some other launcher.
497
498* cavern:
499
500  + Add support for processing Walls format survey data (.SRV and .WPJ files).
501    This support is somewhat experimental but at a point where it seems useful
502    to make it easier for people to try out.  See the manual for a list of
503    known shortcomings.  Thanks to Eric C. Landgraf for a lot of testing and
504    encouragement.
505
506  + Fix bug with Compass DAT diving data.  If a survey uses the depth gauge
507    then since 1.4.6 we set its style to "diving", but we weren't clearing that
508    so all surveys after than in the same DAT file were also set as "diving".
509
510  + When parsing of Compass DAT files we report errors in more cases if the
511    input doesn't conform to the format we expect, rather than potentially
512    quietly misinterpreting the data.
513
514  + *entrance now suppresses "Unused fixed point" warning.  This warning is
515    intended to catch typos, which is much less likely for a station named
516    twice.  It's also reasonable to use only *fix and *entrance on a station at
517    the entrance of an unsurveyed cave.
518
519  + Highlight plumbed clino readings fully in diagnostics.  Now the full reading
520    is highlighted instead of just the first character.
521
522  + Report location of previous fix after "already fixed" error/warning.
523
524  + Use "info" diagnostic category for "Originally entered here" message.  This
525    is more logical as the original *begin isn't something to be warned about,
526    only the reentering is.  This was only a warning before because we didn't
527    used to have "info" diagnostics.
528
529  + Use "info" diagnostic category for message about not reporting further
530    uses of a deprecated feature.  Previously this was a warning, but the newer
531    "info" category is more appropriate here.
532
533  + The message about inventing a fixed point is now an "info" diagnostic which
534    allows us to report a location which is where that station is defined,
535    which may be useful to the user.
536
537  + Make highlighting position in error reporting more robust.  We no longer
538    try to highIight if we calculate a negative column offset, when previously
539    we would print billions of spaces.  As far as I know this has never
540    happened in a released version.
541
542  + Error messages which report the program name now remove any ".exe" suffix.
543    This helps the testsuite by making the expected output the same
544    cross-platform, but also seems slightly nicer for users.
545
546* dump3d:
547
548  + The timestamp reported by DATE_NUMERIC is now printed portably.  Previously
549    we were assuming that a time_t is the same size as a long int, which is not
550    true on all platforms.
551
552* manual:
553
554  + (Microsoft Windows version): Update information about installation
555    with/without admin rights.
556
557  + Summarise support for reading CMAP data and its assumptions and
558    limitations.
559
560  + Mention Compass, Walls and CMAP support in the importing data howto
561    section.
562
563  + Drop mention of Rosetta Stal from the manual.  The referred to link from
564    our website was removed in 2015 because Rosetta Stal hadn't been updated
565    for 13.5 years at that point.  Now the domain it was available from has
566    lapsed and is a domain squatter "for sale" page.
567
568* img library:
569
570  + The coordinates in CMAP data are in feet but we were dividing rather
571    than multiplying by the conversion factor to get metres so all
572    coordinates were about 10.76 times too large.
573
574  + Stations in CMAP "station" variant XYZ files are now flagged as
575    underground (as they always have been for "shot" variant XYZ files).
576
577  + When reading CMAP XYZ files, we no longer emit duplicate img_LABEL for
578    stations in loops.
579
580  + A CMAP XYZ file without a survey title is now handled correctly (this was
581    reporting a bogus "Out of memory" error).
582
583  + The img.h header now defines constants IMG_VERSION_SURVEX_POS, etc for the
584    values reported in the version field for non-.3d formats.
585
586  + (Microsoft Windows version): Workaround limitation of Microsoft's C
587    library so we handle dates before 1970 in Compass PLT files, CMAP XYZ
588    files, and older format .3d files.  Previously these were reported
589    as "unknown date".
590
591* We now support overriding the location of support files by setting the
592  SURVEXLIB environment variable.  We no longer look at the srcdir
593  environment variable for this.
594
595* (Microsoft Windows version): The installer is now created automatically
596  on Github actions, which has required a few changes.  It now packages a
597  64-bit build, and is created with Innosetup 6.3.2 which no longer supports
598  Vista.  The installer is also now significantly larger, which is mostly
599  because we now need to include a large number of DLLs, most of which are
600  dependencies of the mingw64 FFmpeg and GDAL packages.
601
602* (Microsoft Windows version): If the directory where we expect the PROJ
603  support files to be does not exist for some reason we now avoid triggering
604  a segmentation fault in PROJ.
605
606* Build system:
607
608  + The GDAL library is now required to build Survex.
609
610  + (Microsoft Windows version): The probe for GL and GLU libraries now also
611    checks for Microsoft's non-standard library names.
612
613  + Correct configure --help output for --enable-werror for which the default
614    is actually "no" rather than "maintainer-mode".
615
616* testsuite:
617
618  + aven.tst: Skip a testcase when running on mingw as it seems to hang there.
619    We already skip this testcase on macos for what appears to be the same
620    problem.
621
622  + Fix comparison of output to work on platforms using DOS line endings.
623
624Changes in 1.4.8 (2024-04-23):
625
626* cavern:
627
628  + The warning for a compass reading on a plumbed leg was already suppressed
629    for a compass or backcompass reading of 0, but is now also suppressed for a
630    backcompass of 180° (or equivalent) which seems to be common in some Compass
631    datasets, but also seems sensible generally.  Thanks to Simeon Warner for
632    sharing some data which triggered such warnings.
633
634  + The error for when a survey and station use the same name is now also
635    emitted in the case where a name was used first for a station, and then as
636    a survey on an explicitly prefixed name.  Closes
637    https://github.com/ojwb/survex/pull/4, reported by Thomas Holder.
638
639  + The error for when a survey and station use the same name now highlights
640    the problematic name within the line shown for context.
641
642  + Fix the reported token string reported by some errors with readings.  This
643    happened to work on at least x86-64 Linux, but the code was invalid and
644    failed on some architectures.
645
646* Fix to build with newer FFmpeg versions.
647
648* (Microsoft Windows version): The installer now offers the choice to install
649  for just the current user, which allows installing Survex without admin
650  rights.
651
652* (Microsoft Windows version): Fix problems with valid coordinate systems being
653  rejected and aven's cavern log window not showing output.  Reported by
654  Peter Mašič, Špela Borko, Răzvan Dumbravă and detrito.  Thanks especially to
655  Špela Borko for a lot of testing to help track down the cause.
656
657Changes in 1.4.7 (2024-04-07):
658
659* cavern:
660
661  + When using *declination auto we report the range of calculated declinations
662    for each location specified.  After doing this we now reset the range
663    information we're tracking.  Previously we'd misreport the range for
664    the second and subsequent locations.
665
666  + Avoid undefined behaviour on handling filename fallback for filenames
667    containing non-ASCII characters.
668
669  + Show context line with relevant item highlighted for more errors and
670    warnings.
671
672  + The dynamic string handling routines are now more efficient.
673
674  + Fix memory leak if a Compass MAK file opens folders it doesn't close.
675
676  + Fix handling of clino-less legs in Compass DAT.  These would cause cavern
677    to fail with a lot of "NaN" messages.  Now they're treated as having a zero
678    clino with a standard deviation based on the leg length, just like in .svx
679    files.
680
681* img library:
682
683  + Compass PLT: Treat LRUD readings > 900 as omitted readings, which matches
684    what Compass does.  Thanks to Larry Fish for clarifying this.
685
686  + Avoid undefined behaviour after realloc().  We were adjusting a pointer
687    within the reallocated block by subtracting the old block address and
688    adding on the new one.  Technically this is undefined behaviour, although
689    in practice it seems likely it'll work and we've not seen misbehaviour due
690    to it.  However it's easy to avoid by calculating the offset before the
691    realloc().
692
693* Portability:
694
695  + Provide prototype for getopt() to avoid warnings with very recent compiler
696    versions.
697
698  + Avoid using sprintf(), which now triggers warnings on some platforms.
699
700* Build system:
701
702  + Add configure --enable-werror option to turn compiler warnings into errors.
703
704* Manual:
705
706  + Expand details of Compass MAK CRS support.
707
708  + Replace very out of date information about binary RPM packages.
709
710* Minor translation updates.
711
712* (Microsoft Windows version): Now uses PROJ 9.3.0 and ships all of the
713  ancillary files that PROJ comes with.  Hoping this fixes use of coordinate
714  system EPSG:3912 failing, which was reported by Peter Mašič but I've not
715  managed to reproduce.
716
717Changes in 1.4.6 (2024-03-07):
718
719* cavern:
720
721  + Workaround bug in PROJ < 9.3.0 with projected coordinate systems with
722    northing/easting axis order (such as EPSG:3042) which results in the grid
723    convergence being wrong by about 90°.  Reported by Patrick Warren on the
724    mailing list.
725
726  + If *declination auto was used before *cs out we would incorrectly calculate
727    the grid convergence as 0.  We now handle this case correctly by
728    calculating lazily when we first read a compass reading, and report an
729    error if the output coordinate system hasn't been set by then.
730
731  + When opening a file, cavern has fallback handling if the file isn't found
732    to help people processing datasets from platforms with case-insensitive
733    file systems.  Previously cavern would fold the filename to lowercase and
734    retry.  Now if this fails, it will also try the lower case version but
735    with the initial character of the leaf in upper case, and finally folding
736    the whole specified filename to upper case.
737
738  + Dynamically pick a suitable level separator character and store it in .3d
739    file, instead of it being hard-coded to '.' (we still use '.' unless it
740    has been *set as a "name" character, or for Compass DAT/MAK files unless it
741    has been used in a station name).  This is a step towards addressing the
742    situations raised by Thomas Holder in https://github.com/ojwb/survex/pull/4
743    and https://github.com/ojwb/survex/pull/5 .
744
745  + Compass DAT files:
746
747    - The shot flag S is now understood to indicate a splay.
748
749    - The shot flag P is now interpreted as marking surface data.  This flag
750      is described as "Exclude this shot from plotting", but the use suggested
751      in the Compass docs is for surface data, and legs flagged with it "[do]
752      not support passage modeling".  Even if it's actually being used for a
753      different purpose, Survex programs don't show surface legs by default so
754      the end effect is at least to not plot as intended.
755
756    - Surveys which indicate a depth gauge was used for azimuth readings are
757      now marked as STYLE_DIVING in the 3d file.
758
759    - Compass and clino corrections are now implemented for backsights.
760
761    - The tape correction in Compass DAT files is now handled correctly.  The
762      specified value is in feet, but cavern was incorrectly treating it as
763      being in metres.
764
765    - We now handle the newer 15 character "FORMAT:" encoding.  Previously
766      cavern wouldn't detect when there were backsights in this case.
767
768    - We now treat survey date January 1st 1901 as "no date specified" since
769      this is the date Compass stores in this situation, and it seems very
770      unlikely to occur in real data.
771
772    - In Compass DAT files a dummy zero-length leg from a station to itself is
773      used to provide a place to specify LRUD for the start or end of a
774      traverse (depending if dimensions are measured at the from or to
775      station), and so we no longer issue a warning about equating a station to
776      itself for DAT files.
777
778  + Compass MAK files:
779
780    - The base location command is now understood.  This is how Compass
781      specifies a location to calculate magnetic declination at, and we
782      now handle this like Survex's native "*declination auto X Y Z".
783
784    - Survex uses the specified UTM zone and datum provided the combination can
785      be expressed as an EPSG code (lack of any EPSG codes for a datum suggests
786      it's obsolete; lack of a code for a particular datum+zone combination
787      suggests the zone is outside of the defined area of use of the datum).
788      Example Compass files we've seen use "North American 1927" outside of
789      where it's defined for use, presumably because some users fail to change
790      the datum from Compass' default.  To enable reading such files we return
791      a PROJ4 string of the form "+proj=utm ..." for "North American 1927" and
792      "North American 1983" for UTM zones which don't have an EPSG code.
793      Please let us know if support for additional cases which aren't currently
794      supported would be useful to you.
795
796    - Folder commands are now understood.
797
798    - Flag fixed stations as entrances.  Experimentation with Compass shows
799      this is how it treats them ("distance from entrance" in a .DAT file
800      counts from 0 at these points).
801
802  + We now support reading Compass CLP files.  These are very like DAT files,
803    except they contain loop-closed data.  You might find this useful if you
804    want to keep existing stations at the same adjusted positions Compass gave
805    (for example to be able to draw extensions on an existing drawn-up survey),
806    or if the original DAT file has been lost but you still have the CLP file.
807
808* aven:
809
810  + Fix OpenGL scaling on high DPI displays with wxWidgets 3.0. Reported by
811    Philip Balister.
812
813  + Split the filters for DAT and MAK files in the File->Open drop down list.
814    It seems more likely you'd want to see one type or the other, not both
815    together.
816
817* aven/survexport:
818
819  + Fix survey filtering when reading Compass PLT files.
820
821  + .json,.kml: Enable export of surface legs.  Currently surface and
822    underground legs aren't differentiated in these export formats when both
823    are enabled.
824
825  + .3d: The coordinate system is now set.
826
827  + .svg: Equated stations now get their correct names in the id attribute
828    of <circle> tags.  Previously one of the names would be repeated for
829    all of a set of equated stations.
830
831  + .plt:
832
833    - Anonymous stations previously resulted in an empty name in the PLT
834      file.  This isn't explicitly disallowed by the PLT format description,
835      but Compass' viewer gives an error for such lines.  Now we invent names
836      by encoding the station coordinates which should be unique.
837
838    - The S shot flag is now set for splays, and the P shot flag (hide from
839      plotting) is set for surface legs (which matches the use suggested in the
840      Compass docs).
841
842* img library:
843
844  + Fix bug handling timestamps before 1970.  In C signed integer division
845    rounds towards zero, which previously resulted in timestamps before 1970
846    getting rounded to the end of the day instead of the start when converting
847    them to a count of days so they'd be off by one day unless the time was
848    midnight.  This affected reading v3-v7 format 3d files with IMG_API_VERSION
849    set to 1 and writing v8 format 3d files with IMG_API_VERSION set to 0 (the
850    default).
851
852  + Improve Compass PLT support (many of these are Compass features added
853    since Survex's support for Compass was originally added):
854
855    - Survey dates are now handled fully.  We treat survey date January 1st
856      1901 as "no date specified" since this is the date Compass stores in this
857      situation, and it seems very unlikely to occur in real data.
858
859    - LRUD data is now translated to img_XSECT and img_XSECT_END.
860
861    - We now infer img_SFLAG_ENTRANCE for stations where the "Distance From
862      Entrance" field is present and zero.
863
864    - The shot flag L is now translated to img_FLAG_DUPLICATE.
865
866    - The shot flag S is now translated to img_FLAG_SPLAY.  A station at the
867      far end of a shot flagged S gets img_SFLAG_WALL set since the Compass PLT
868      format specification says:
869
870          The shot is a "splay" shot, which is a shot from a station to the
871          wall to define the passage shape.
872
873    - The shot flag P is now interpreted as marking surface data.  This flag
874      is described as "Exclude this shot from plotting", but the use suggested
875      in the Compass docs is for surface data, and legs flagged with it "[do]
876      not support passage modeling".  Even if it's actually being used for a
877      different purpose, Survex programs don't show surface legs by default so
878      the end effect is at least to not plot as intended.
879
880    - The d plot command is now supported (previously img failed to parse
881      PLT files using this command) - it's like D but implies the P shot flag.
882
883    - If a PLT file only uses one datum and it is "WGS 1984" then the UTM zone
884      is converted to the appropriate EPSG code and this is reported as the
885      coordinate system.  Other datums could be handled, but the mapping to
886      EPSG code is less simple.  Also it seems Compass supports at least
887      24 datums but it doesn't document all the strings it uses for them.
888      Files with multiple datums could be handled too, but we'd need to convert
889      coordinates to a common coordinate system in the img library, which would
890      need it to depend on PROJ.  Please let us know if support for more and/or
891      mixed datums would be useful to you.
892
893    - Duplicate img_LABEL items are no longer returned - this used to happen
894      for stations where more than two shots met within a single survey.
895
896    - We now infer img_SFLAG_EXPORTED for any station that appears in more
897      than one survey in the PLT file.
898
899    - We now set flag img_SFLAG_FIXED for any station which is listed as
900      a fixed point in the PLT file.
901
902    - If there's only one non-empty section name in a PLT file and we aren't
903      filtering by survey, we now report that section name as the title.  If
904      there are multiple different non-empty section names, we still report the
905      basename of the file as before.  If we're filtering by survey, we report
906      the comment for that survey as before.
907
908    - Fix bug handling PLT with omitted LRUD.  The format specification
909      documents that LRUD may be omitted, though it seems Compass never
910      actually omits it and at least some versions of Compass failed to handle
911      it being omitted too.
912
913* (Microsoft Windows version): Now using wxWidgets 3.2.4 (was 3.1.6).
914
915* manual:
916
917  + Document Compass support in detail.
918
919  + Improve NATO mils example.
920
921* INSTALL:
922
923  + Add a link to the instructions for building from git.  Reported by Andrew
924    Northall in https://github.com/ojwb/survex/pull/13
925
926  + Document the requirement for a C99 compiler for building from source.
927    We made this a requirement in 1.4.2, but only noted it in NEWS.
928
929* doc/TODO.htm: Update.
930
931* Replace references to "libav" with "FFmpeg" since the libav project seems to
932  now be defunct, and we've always supported using either.
933
934* Update build system to eliminate use of obsolete autotools macros and drop
935  probes for features that we can safely assume now we require a C99 compiler
936  and workarounds for obsolete platforms.
937
938* Fix compilation warnings from newer compiler versions.
939
940Changes in 1.4.5 (2023-06-29):
941
942* aven: Fix rendering of crosses when drawn as sprites.  Reported by echarlie.
943
944* (macOS version): aven: Fix crash in export dialog.  Fixes #133, reported by
945  rixyane.  Thanks to Wookey for testing.
946
947* manual: Expand docs on connecting to Compass data.
948
949* Minor translation updates.
950
951Changes in 1.4.4 (2023-02-03):
952
953* aven: Fix red line in clino background to be grey (this was introduced in
954  1.4.3 and was a debugging change accidentally left in).
955
956* aven: Accept weird .3d files from Therion which have empty components in
957  station names.  That's not really valid by Survex's definition of station
958  names, but it's not very helpful to reject such files, so just disable the
959  checks that were rejecting this.
960
961  The result is empty entries in the survey tree, but I don't see what we can
962  really do that's better than that.
963
964  Reported by Vasily Vl. Suhachev.
965
966* aven: Make it more obvious you can enter a custom scale by adding a "..."
967  entry to the scale combobox - selecting this clears the value and gives focus
968  to the combo box text entry. This control has always supported clicking to
969  enter a custom scale, but there wasn't really any indication that this was
970  possible before.  Partly addresses #132, reported by Eric C. Landgraf.
971
972* aven: Force export window to resize when the export format is changed as
973  different controls are shown depending on the export format.
974
975* aven: Right-align tilt spin control value in print/export dialog to match the
976  bearing spin control.
977
978* aven,survexport: Add ability to export as Survex 3d which is useful as you
979  can filter to a subset of surveys, filter out splays, convert from other
980  formats the img library can read, etc.  This feature is a bit rough and ready
981  currently but please report issues.
982
983* dump3d: Add --legs option which converts MOVE and LINE to a single LEG line
984  per leg with the from and to coordinates.  Tools which parse dump3d output
985  should find this easier to process as it avoids having to track a "current
986  position".
987
988* Update manual to have a complete list of quantities which *calibrate accepts.
989  Reported by echarlie
990
991* cavern.tst: Fix testsuite to work with SOURCE_DATE_EPOCH set.
992
993Changes in 1.4.3 (2022-05-17):
994
995* aven: Much improved support for HiDPI monitors on all platforms.
996
997* aven: When started without a file make sure the window has focus so menu
998  accelerators and shortcuts work without clicking on the window.
999
1000* aven,survexport: DXF export now puts splays in a separate layer and uses a
1001  dotted linetype for them.  Patch from echarlie, see #60.
1002
1003* Improved survexport man page to include command line options and a short
1004  note about DXF export.  Patch from echarlie.
1005
1006* Minor translation updates.
1007
1008* (Unix version): aven: Fix handling of EGL-based wxGLCanvas (which wxGTK 3.1.5
1009  has).  Fix a build failure and don't force X11 (as the EGL-based wxGLCanvas
1010  works on Wayland).
1011
1012* (MacOS version): aven: Fix hang on startup without a file.  Fixes #120,
1013  reported by Enrico Fratnik.
1014
1015* (Microsoft Windows version): Now using wxWidgets 3.1.6 (was 3.0.5).
1016
1017* img library: Support reproducible builds which create .3d files by not
1018  embedding a timestamp if environment variable SOURCE_DATE_EPOCH is set.
1019  Requested by Martin Budaj.
1020
1021Changes in 1.4.2 (2022-02-25):
1022
1023* aven: Fix to be compatible with FFmpeg 5.0.
1024
1025* Improve docs for *cs and *declination.
1026
1027* cavern: Fix "*declination auto" not to crash when built with PROJ < 8.1.0.
1028  Bug introduced in 1.4.0.
1029
1030* cavern: For each `*declination auto` command cavern now reports an "info"
1031  message showing the range of calculated declination values and the dates at
1032  which the ends of the range were obtained, and also the grid convergence
1033  (which doesn't vary with time).  Fixes #92, reported by Rob Eavis.
1034
1035* cavern: If any of the N-S, E-W or U-D ranges includes an anonymous station
1036  then also report the range in that direction excluding anonymous stations.
1037  Patch from Thomas Holder.
1038
1039* cavern: The error from a bad `*cs custom` command now highlights the quoted
1040  string properly.
1041
1042* cavern: "FIX command with no coordinates - fixing at (0,0,0)" is now an
1043  "info" rather than a "warning".  It's not really reporting a problem and the
1044  ability to omit the coordinates is a deliberate feature.  It is useful for
1045  the user to know where the "*fix" without coordinates is if they want to
1046  change the survey to be in real coordinates, so an "info" diagnostic is a
1047  good fit.  This also means aven will no longer stay on the log view after
1048  processing a dataset which fixes without coordinates.
1049
1050* cavern: If "*fix" is used twice with no coordinates we no longer say
1051  "FIX command with no coordinates - fixing at (0,0,0)" right before:
1052
1053  error: Already had FIX command with no coordinates for station "x"
1054
1055* cavern: Include errors in Compass .mak files now report the error in the line
1056  where the included filename is actually specified.
1057
1058* cavern.tst: Add test coverage for warnings for *entrance and *export with
1059  a station which doesn't exist otherwise.
1060
1061* aven/survexport: Change JSON export to be valid JSON.  This means the output
1062  has changed incompatibly, but it wasn't valid JSON before which suggests
1063  nobody was actually successfully using it. Fixes #128, reported by Pawczak.
1064
1065* aven.tst: Skip one testcase on macos as it seems to hang, at least when
1066  running on the Continuous Integration system.
1067
1068* (Microsoft Windows version): The installer is now generated with a much
1069  newer version of Innosetup.  This means Microsoft Windows Vista is now the
1070  minimum supported version but 2000 and XP are both many years out of support
1071  anyway.
1072
1073* (Microsoft Windows version): The coordinate system database for PROJ is
1074  now included so "*cs" now works (broken since 1.4.0).
1075
1076* Chinese translation updates from Qingqing Li.
1077
1078* Building from source now requires a compiler with support for C99.  C99
1079  seems to be universally supported by compilers now so we don't expect this to
1080  inconvenience anyone.
1081
1082Changes in 1.4.1 (2021-11-08):
1083
1084* This release should work with any PROJ version >= 6.2.0.
1085
1086* cavern.tst: Fix to actually run tests when building outside the source
1087  tree.  Previously files for testcases weren't found, and tests were skipped
1088  with a warning, which lead to 1.4.0 being released with two failing testcase.
1089  Fix to find the files, and make not finding them an error.
1090
1091* cavern.tst: Fix testcases gpxexport and require_fail which were failing
1092  in 1.4.0.
1093
1094* 3dformat.htm: Document that coordinate system can be ESRI:<number>.
1095
1096Changes in 1.4.0 (2021-11-06):
1097
1098* New release series to mark that Survex now uses the new PROJ API, and
1099  requires PROJ >= 7.2.0.  Survex 1.2.x will continue to support PROJ < 8
1100  (and won't support newer PROJ versions).  Fixes #102, reported by Bas
1101  Couwenberg.
1102
1103  Due to these changes, PROJ will now convert directly between coordinate
1104  systems where it knows how to, instead of always converting via WGS84.
1105  This means conversions may now be more accurate in some cases, and you may
1106  notice station coordinates changing - these should be for the better.
1107
1108  Also, the vertical datum is now taken into account automatically, and
1109  terrain data now aligns much better vertically with surveys.  Fixes #56.
1110
1111* aven: Clicking and holding the left mouse button on the compass or clino,
1112  then (while still holding) clicking the right button no longer causes a
1113  wxWidgets assertion to fail.  Reported by echarlie.
1114
1115* img library: Rewrite certain proj strings when reading 3d files for
1116  better compatibility with newer PROJ versions, where use of proj
1117  strings is strongly discouraged.
1118
1119  `+init=epsg:` followed by a code number is rewritten to `EPSG:`.
1120
1121  `+init=esri:` followed by a code number is rewritten to `ESRI:`.
1122
1123  The proj strings which cavern used to put in 3d files for UTM zones and
1124  S-MERC are rewritten to `EPSG:` follow by the appropriate code number.
1125
1126* Also install survex.lang for gtksourceview 4. Fixes #125, reported by Martin
1127  Green.
1128
1129* Fix missing data style in interleaved example in manual.  Reported by
1130  echarlie.
1131
1132* Use jw from docbook-utils instead of sgmltools-lite to process the manual.
1133  The sgmltools-lite homepage says it's no longer being developed, and suggests
1134  docbook-tools (which Debian packages as docbook-utils) as a replacement.
1135
1136* doc/HACKING.htm: Update Debian packages to install
1137
1138* doc/HACKING.htm: Update details of setting up mingw cross-build environment.
1139
1140* Add simple tests for GPX and KML export.
1141
1142* Expand cavern testcase csbad.
1143
1144* cavern.tst: Parse warning/error counts more robustly.  Previously we'd get
1145  confused if the final line just contained an integer, e.g. if we end listing
1146  stations not attached to a fixed point.
1147
1148Changes in 1.2.45 (2021-03-09):
1149
1150* Avoid undefined signed shifts in 3d file handling.  Survex itself is only
1151  affected on big-endian platforms (so most Linux machine, Microsoft Windows,
1152  and current Macs are all OK), but this also affects the img library on all
1153  platforms when used in standalone mode as it is in other programs.  Fixes
1154  #119, reported by Matěj Plch.
1155
1156* aven:
1157
1158  + When reading cavern output for the log window, we need special handling
1159    for the case when a chunk of output ends mid-way through a UTF-8
1160    sequence.  Previously we lost the first byte of the sequence in this
1161    case (and would then show it as an invalid character), but now it is
1162    handled correctly.  In practice, most of the cavern log output is ASCII so
1163    it's quite possible nobody's ever actually hit this.
1164
1165* testsuite:
1166
1167  + Suppress reports of leaks on exit from the LeakSanitiser debugging tool.
1168    We know we don't release all memory explicitly on exit since doing so would
1169    mean extra work for no reason as the OS reclaims all memory when the
1170    process exits.
1171
1172* Convert OLDNEWS encoding from ISO-8859-1 to UTF-8.
1173
1174Changes in 1.2.44 (2021-02-10):
1175
1176* aven:
1177
1178  + (Microsoft Windows version): Now using wxWidgets 3.0.5 (was 3.0.4).
1179
1180* cavern:
1181
1182  * Add support for quadrant bearings (e.g. N30E).  Patch from echarlie.
1183
1184  * Report error if angle units are specified for passage dimension.
1185    Previously "*units left degrees" and similar were incorrectly quietly
1186    accepted.  Spotted by echarlie.
1187
1188  * Fix *data with no parameters to keep the current style and reset any state
1189    as documented.  Previously it actually instead ignored any survey data
1190    until the next *data command with parameters.
1191
1192  * Fix minor memory leak in *data.  We leaked a single memory allocation on
1193    "*data default" or an invalid *data command.
1194
1195  * Improve test coverage.
1196
1197* survexport:
1198
1199  * The check for whether a format supported --elevation, --plan, --bearing and
1200    --tilt was inverted.  Reported by echarlie.
1201
1202  * Fix reporting of export errors on Microsoft Windows.  Reported by Matic Di
1203    Batista.
1204
1205* img library: Fix img_open() when used in other programs.  Patch from Thomas
1206  Holder.
1207
1208* configure: Add wx-config-gtk3 to WX_CONFIG search for Arch Linux.  Patch
1209  from Thomas Holder.
1210
1211* Improve documentation of interleaved data.  Most notably, we now document
1212  that a blank line breaks the current traverse.
1213
1214* Fix typo in manual ('cypolar' -> 'cylpolar').  Patch from Wookey, fixes #117.
1215
1216* Chinese translation updates from Qingqing Li.
1217
1218* Russian translation updates from Vasily Vl. Suhachev.
1219
1220* French translation updates from Jean-Marc and from Wassil Janssen.
1221
1222* Bulgarian translation updates from Wassil Janssen
1223
1224Changes in 1.2.43 (2020-02-28):
1225
1226* cavern: Update to use v13 of the IGRF model for calculating declinations.
1227  This was issued in December 2019 and should give slightly more accurate
1228  declinations for surveys made since 2010.
1229
1230* aven:
1231
1232  + Fix colouring of "not in loop" when colouring by error.  1.2.42 introduced
1233    a bug where surveys not in a loop were coloured as if they had zero error.
1234    Fixes #111, reported by Bruce Mutton.
1235
1236  + Fix handling of grid in export.  The grid was always getting enabled
1237    (probably since 1.2.8) even for formats which don't support exporting with
1238    a grid.  This resulted in the bounding box being set wrongly for some
1239    formats such as SVG, as reported by Richard Knapp on the mailing list.
1240
1241  + When showing errors processing the survey data we'd previously crash if
1242    cavern incorrectly reported an error as being in a column off the end of
1243    the line - now we just ignore the error column in this case.
1244
1245  + Support colouring by survey style ("normal", "diving", "nosurvey", etc).
1246
1247Changes in 1.2.42 (2019-09-04):
1248
1249* aven:
1250
1251  + Allow colouring by horizontal or vertical error.
1252
1253  + (Unix version): Disable scaling for HiDPI displays with GTK3.  The OpenGL
1254    code needs work before this will work usefully, so just disable for now
1255    (which simulates how things are when using GTK2).
1256
1257  + (Unix version): Fix orientation of notebook tabs when build with wxWidgets
1258    3.1 development versions.  We want horizontal tab orientation, but were
1259    passing a weird flag combination which now results in vertical tab
1260    orientation.
1261
1262* When exporting to a format where we support rotation in the horizontal
1263  plane (such as SVG), the rotation was incorrectly applied to cross section
1264  data (except for the default rotation of zero).  Fixes #108, reported by
1265  Richard Knapp.
1266
1267* Add a section to the manual covering the command line tools, and what you
1268  might still need to use them for.
1269
1270* Fix compiler warning when building from source with GCC 9.
1271
1272* Consistently refer to macOS not OS X - Apple have renamed it yet again.
1273
1274* (macOS version): Revert the workaround for the crash on macOS 10.14.  The
1275  bug we were working around is fixed in git ready for wxWidgets 3.0.5 and
1276  there's a backported fix in the homebrew wxmac 3.0.4-2 package, which is how
1277  we now recommend people install on a Mac.  Closes #101, reported by floho.
1278
1279* (macOS version): Remove buildmacosx.sh script since installing from homebrew
1280  is now the recommended approach.
1281
1282Changes in 1.2.41 (2019-07-10):
1283
1284* aven:
1285
1286  + (Microsoft Windows version): Fix error on startup in the pre-built version
1287    of 1.2.39 and 1.2.40.  This is a recurrence of the same issue as affected
1288    1.2.33 - this time I've patched out the unnecessary check in wxWidgets
1289    which causes this problem so it shouldn't recur again.  Reported by
1290    Brian Clipstone.
1291
1292  + (macOS version): Add work around for crash on macOS 10.14 (not fully tested
1293    as I don't have access to a Mac).  Hopefully fixed #101, reported by floho.
1294
1295Changes in 1.2.40 (2019-07-04):
1296
1297* aven: Draw the measuring line ring with an even shape.  Previously the exact
1298  shape of the ring varied slightly depending on the exact coordinates, which
1299  could be visually distracting once you noticed it.
1300
1301* We were casting a function pointer with a bool return type to the same type
1302  but with a void return type.  In practice this probably works fine on most
1303  platforms, but it's undefined behaviour and also gives a compiler warning
1304  with some compilers.
1305
1306* Fix bug introduce in 1.2.39 with where the "esri" data file for PROJ is
1307  installed.
1308
1309Changes in 1.2.39 (2019-06-29):
1310
1311* Support versions 5.x and 6.x of the PROJ library we use for handling
1312  conversions between coordinate systems.  Reported by Bas Couwenberg
1313  in #102, by Richard Knapp in #103 and by Martin Sluka in email.
1314
1315* (Unix and Mac OS versions): When checking if something is a file or if it is
1316  a directory, we no longer treat a symlink as being neither, but instead
1317  return an answer based on what the symlink points to.
1318
1319* aven:
1320
1321  + Improve handling of hidden splay ends.  Previously, hidden splay ends still
1322    served as "targets" for snapping the mouse pointer to, and still got
1323    crosses when crosses were enabled.  We don't have a handy flag for "this is
1324    the outer end of a splay" and computing that on demand isn't so easy to do,
1325    so for now we use the "anonymous station" flag so at least these cases now
1326    behave properly for splays to anonymous stations (which is likely to be
1327    what people with huge numbers of splays from disto-x, etc are using).  This
1328    does mean that anonymous stations on continuation passages will incorrectly
1329    also be off when splays are hidden, but that seems an OK trade-off for now
1330    and a definite improvement over the previous situation.  The snapping of
1331    the mouse pointer was reported by Frank Tully in #105.
1332
1333  + Fix typo in export UI (CVS should be CSV).
1334
1335* Documentation:
1336
1337  + Add CSV to documented list of survexport output formats.
1338
1339  + Fix *declination syntax synopsis - "auto" is a literal string, not a
1340    placeholder.
1341
1342  + Update PROJ project name and website - the name is now "PROJ" (all caps and
1343    no ".4" suffix) and the website is now: https://proj.org/
1344
1345* Install gtksourceview-3.0 language file so .svx files now get syntax
1346  highlighting in gedit and other GtkSourceView-based editors.  Patch
1347  from Philip Withnall.  Fixes #98.
1348
1349* (Microsoft Windows version): The Survex installer doesn't uninstall the old
1350  version when you upgrade, but just overwrites it with the new version.  In
1351  1.2.35 cad3d.exe was replaced with survexport.exe, but a user upgrading from
1352  an older version would still have cad3d.exe from that old version.  We now
1353  remove any old cad3d.exe left over from a previous install in the same
1354  location to avoid confusion.
1355
1356* Add a few more message translations.
1357
1358* Fix warnings when built with a C++11 compiler.
1359
1360Changes in 1.2.38 (2019-03-02):
1361
1362* cavern:
1363
1364  + Deprecate MILS as angular units.  Survex has long support MILS as an alias
1365    for GRADS.  However, this seems to be a bogus definition of a "mil" which
1366    is unique to Survex (except that Therion has since copied it) - there are
1367    several different definitions of a "mil" but they vary from 6000 to 6400 in
1368    a full circle, not 400.  Reported by Andy Edwards.
1369
1370  + Fix segfault for *include "".  This isn't useful, but shouldn't crash.  It
1371    now reports "file not found" instead.
1372
1373  + Use isnan() to check for not-a-number.  This is cleaner, more robust and
1374    more efficient than formatting the number as a string and checking for
1375    "NaN" or "nan" in the result.
1376
1377* Avoid unused variable warning when compiling from source with modern ffmpeg.
1378
1379* Drop support for wxWidgets < 3.0.  3.0.0 was released over 5 years ago and
1380  should be easily available everywhere by now.  I'm no longer easily able to
1381  test with wxWidgets 2.8, and this allows a significant amount of cruft to be
1382  removed.
1383
1384* (Linux version): survex.spec: Fedora have removed gcc from the default build
1385  environment so need to explicitly list it in the BuildRequires tag.  See
1386  https://fedoraproject.org/wiki/Changes/Remove_GCC_from_BuildRoot for more
1387  information.  Patch from James Begley.
1388
1389Changes in 1.2.37 (2018-11-18):
1390
1391* aven:
1392
1393  + Add basic "Colour by Survey" feature.  The colours used aren't currently
1394    controllable.
1395
1396  + Fix export of splays.  Patch from Thomas Holder.
1397
1398  + Fix KML export to avoid invalid geometry when a tube intersects itself.
1399    Patch from Robert Jones.
1400
1401  + (Unix version): Fix to work under Wayland by forcing the x11 GDK backend
1402    for now.  This is a workaround until wxWidgets OpenGL support is updated
1403    to work under Wayland.  Reported by Philip Balister.
1404
1405  + Fix warnings about using deprecated functions when building movie export
1406    code using FFmpeg 4.0.
1407
1408* cavern:
1409
1410  + Compass MAK files: Handle fixed point coordinates in feet - previously the
1411    units were ignored and the coordinates assumed to be in metres.
1412
1413  + Previously the first byte in a MAK file was ignored.  Typically MAK files
1414    start with a comment, and since cavern currently ignores lines that start
1415    with characters it doesn't understand the meaning of, this bug would often
1416    go unnoticed.
1417
1418* survexport:
1419
1420  + Fix exporting of passages, walls and cross-sections by running the code
1421    aven uses to decide how much to rotate each cross-section.  Previously all
1422    cross-sections were aligned West-East.  Reported by Robert Jones.
1423
1424  + Default to .pos output if the program name is 3dtopos, and install a second
1425    copy (or hardlink under Unix) as 3dtopos.  This provides compatibility with
1426    current releases of Tunnel.  Reported by Becka Lawson, Wookey and
1427    Stephen Crabtree.
1428
1429* Fix some German translations.  Patch from Thomas Holder.
1430
1431* (MacOS X version): Fix aven-create-app to not delete converted icons.
1432  Typo spotted by Robert Jones.
1433
1434* Improve documentation for *team.  Document the requirement to quote names
1435  unless a person is identified by just one name.  Document that the roles are
1436  optional, as that information may not have been recorded, and to align with
1437  therion's team command.
1438
1439Changes in 1.2.36 (2018-07-18):
1440
1441* aven:
1442
1443  + Add support for exporting as a CSV (Comma-Separated Values) file.
1444
1445  + Support exporting KML with altitude mode "clamp to ground".  In this mode,
1446    the altitude in the data is ignored and it's rendered on the surface of the
1447    terrain.  This is useful if your KML viewer renders the terrain as opaque
1448    so underground data isn't visible.  Rendering cave passages on the surface
1449    isn't great, but is better than not being able to see them at all.  This
1450    option may also be helpful if you want to see where to look on the surface
1451    for new entrances.
1452
1453  + Highlight surveys with a white loop as the mouse is moved over them in
1454    the survey tree.  This is akin to how we highlight a station with a
1455    white ring, and allows restoring "double-click survey in tree to zoom"
1456    which temporarily required a quadruple-click in 1.2.35.
1457
1458  + Only show checkboxes in the survey tree for surveys not stations.
1459
1460  + Fix wxWidgets assertion if the user tried to select additional surveys
1461    to show via the right-click menu.
1462
1463  + Fix multiple survey filtering when both a parent and child survey are
1464    selected.  In this case it makes most sense to show all child surveys of
1465    the parent, but we actually showed a slightly arbitrary subset of the
1466    child surveys of the parent.
1467
1468  + The checkbox area in the survey tree is now included in the area which
1469    is considered by mouse-over updates such as highlighting the station or
1470    survey.
1471
1472  + Fix display of double quotes in cavern log window (they were being replaced
1473    with control character 0x16 due to a typo in the code).
1474
1475  + Add shortcuts to buttons in cavern log window.
1476
1477  + Eliminate use of gluErrorString() function which eliminates some
1478    deprecation warnings when building on macOS.
1479
1480  + Reject multiple --survey command line options for now (only the last has
1481    been used for a long time, but now we actually support multiple survey
1482    filtering this matters more).
1483
1484* survexport:
1485
1486  + Report a useful error when trying to convert a .3d file without coordinate
1487    system information to GPS.  Reported by Mark Shinwell.
1488
1489  + Handle multiple redundant --survey command line options correctly.
1490
1491* dump3d: Report station flag "WALL", which was added in 1.2.7.
1492
1493* Minor translation updates.
1494
1495* Update manual for Microsoft Windows changes.
1496
1497* tests/: Add test coverage for warnings about suspect readings
1498
1499* Fix warning when compiling with clang.
1500
1501Changes in 1.2.35 (2018-07-03):
1502
1503* aven:
1504
1505  + Viewing can now be restricted to multiple surveys.  Use the right-button
1506    menu on a survey in the survey tree and select "Show" to enable checkboxes
1507    for that survey and all its siblings.  Only the selected surveys are shown
1508    on screen, printed and exported.
1509
1510  + Don't open a survey when its name is double clicked.  This was happening
1511    due to code added to "allow double-clicking to work on wxMSW >= 2.8.11".
1512    However, reverting that change still seems to allow double-clicking to work
1513    on both wxMSW and wxGTK, but fixes the unwanted additional opening of the
1514    survey.
1515
1516  + Pick initial survey scaling based on whichever of the window width or
1517    height gives the smaller scale.  Previously we always used the window
1518    width, which can result in parts of the cave being outside the initial
1519    view.  Reported by Wookey.
1520
1521  + Drop ability to specify a PROJ string in the export dialog.  This was added
1522    to allow exporting to formats such as GPX before we added support for
1523    specifying the projection in .svx files, and that support is now mature.
1524
1525  + DXF export now uses 2 decimal places (was 6) for the bounding box, for
1526    consistency with the precision used for coordinates.
1527
1528  + Fix handling of surface flag during export.  In formats which discriminate,
1529    legs could previously have got assigned the wrong status.
1530
1531  + Fix bug which probably prevented aven starting when OpenGL double buffering
1532    is unavailable.  This is unlikely to affect any common configurations.
1533
1534  + (Microsoft Windows version): Fix loading of 3d files with non-ASCII
1535    filenames.  Issue reported by Matic.
1536
1537  + (Microsoft Windows version): Fix incorrect display of some toolbar icons.
1538    Probably broken since 1.2.17.
1539
1540* survexport: New command-line export program which uses aven's export code.
1541  Replaces 3dtopos, cad3d and findentrances, since it can do all that these
1542  tools could do, plus much more.
1543
1544* Merge more Spanish i18n updates from Evaristo Quiroga.
1545
1546* Minor updates to various other translations.
1547
1548* img library:
1549
1550  + Now supports reading from and writing to an existing FILE*.
1551
1552  + Improve API documentation.
1553
1554* (Microsoft Windows version): Fix packaging to include wxWidgets translation
1555  files like it was supposed to, which fixes a few missing translations.  This
1556  was probably broken by changes in 1.2.8.  Reported by Evaristo Quiroga.
1557
1558* (Microsoft Windows version): Drop two options from explorer bindings.
1559  "Convert to DXF" and "Convert for hand plotting" have both been supported via
1560  aven for a while, and that's a more useful way to access them as you can
1561  control what gets exported.
1562
1563Changes in 1.2.34 (2018-03-24):
1564
1565* aven:
1566
1567  + (Microsoft Windows version): Fix error on startup in the pre-built version
1568    of 1.2.33.
1569
1570  + (Microsoft Windows version): Now using wxWidgets 3.0.4 (was 3.0.2).
1571
1572Changes in 1.2.33 (2018-03-22):
1573
1574* aven:
1575
1576  + Reliably disable scale bar in perspective view.  This is supposed to happen
1577    (because the scale across the screen varies in perspective view) but
1578    actually the scale bar stayed around until an update was forced for another
1579    reason.  Spotted thanks to Pedro Silva Pinto.
1580
1581  + Make "no date"/"not in loop" colour grey.  The white was a bit bright and
1582    made it harder to see the legs that had colours.  The grey now used is
1583    within the brightness range of the other colours.  Fixes #94, reported by
1584    Erin Lynch.
1585
1586  + Fix KML export - exporting both survey legs and station names resulted in a
1587    malformed KML file.  This bug was introduced in 1.2.30 when support for
1588    exporting passages and walls was added.  Reported by Erin Lynch in #90.
1589
1590  + Consistently use 2 decimal places for altitude in KML output.  Some places
1591    used 8 decimal places which is appropriate for lat and long, but clearly
1592    overkill for an altitude in metres and increases the file size
1593    unnecessarily.
1594
1595  + Right-align bearing widget in print/export dialog.  The change to allow the
1596    value to wrap round from 360 to 0 in 1.2.27 inadvertently made this control
1597    left-aligned (due to incorrect wxWidgets documentation of the default style
1598    for this control).
1599
1600  + (Unix version): Work around wxWidgets bug so that custom cursors work
1601    under GTK3.
1602
1603  + (Unix version): Update GTK version reporting - report GTK3, and don't
1604    bother to report subversions of GTK2 (it seems to be fairly arbitrary
1605    which subversions wxWidgets defines constants for).
1606
1607  + Update code to work without warnings when using wxWidgets 3.1.0 (the
1608    current development version).
1609
1610  + Make movie export code compatible with upcoming FFmpeg 3.5 release.
1611    It should still work with the older versions that worked before this
1612    change.  Reported by James Cowgill in https://bugs.debian.org/888334
1613
1614* cavern:
1615
1616  + Warn about 2 digit years.  We can't change the assumption that these are
1617    19xx without risking breaking existing datasets, but the further we get
1618    into this century, the more likely such an assumption is to catch someone
1619    out.  The warning can easily be quashed by explicitly adding the assumed
1620    "19".
1621
1622* The Spanish translation is now up to date once more, thanks to updates from
1623  Evaristo Quiroga.
1624
1625* Merge French translation updates from Jean-Marc.
1626
1627* Fix transposed German Northing and Easting labels.  Fixes #95, reported by
1628  milosch.
1629
1630* Fill in missing translations of "Easting", "Northing", "E" and "N" for
1631  Bulgarian, Greek, Hungarian, Polish and Russian based on other existing
1632  translated messages.
1633
1634* Align .pos file headings better with columns of coordinates below for
1635  Indonesian and Polish.
1636
1637* Fix handling of the message string "error" before messages loaded.  If
1638  there's an error loading messages, we need this message to report it.
1639  Reported by Martin Sluka.
1640
1641* Fix a few compiler warnings.
1642
1643* img library: Fix extracting leaf survey name for survey title.  When there
1644  are three or more levels of survey, we were taking everything after the first
1645  dot rather than everything after the last dot.
1646
1647* Fix problems with testsuite on macOS:
1648
1649  + cavern.tst: Skip "ONELEG" testcase on case-insensitive filing systems
1650    - this test isn't meaningful unless the filing system is case-sensitive,
1651    but happens to fail if it isn't.
1652
1653  + cavern.tst: Workaround limitations of Apple's sed.
1654
1655  + aven.tst: Fix not to hang on macOS.
1656
1657  + smoke.tst: Remove aven testcases which duplicate those in aven.tst.
1658
1659* Clean up handling of support files in relocatable installs - this is now
1660  detected at run time on macOS.
1661
1662* Split out macOS Aven.app creation into a make rule so it can be easily used
1663  by the homebrew formula.
1664
1665* buildmacosx.sh:
1666
1667  + Fix when WX_CONFIG not specified - this was giving a confusing error like:
1668    ./buildmacosx.sh: line 163: --cc: command not found
1669
1670  + Use wxWidgets 3.0.4.
1671
1672* Stop checking wx-config --ldflags as this option was removed in wxWidgets 2.6
1673  and we currently require 2.8 or newer.
1674
1675Changes in 1.2.32 (2017-07-08):
1676
1677* aven:
1678
1679  + Make splays on printouts a darker shade of grey.  Reported by Erin Lynch
1680    and Anthony Day.
1681
1682  + In export formats which include 3 dimensions (DXF, PLT, GPX, KML, JSON,
1683    POS), the value in the Z dimension was negated.  Bug introduced by fixes
1684    for export of rotated plans and tilted elevations in 1.2.27.  Reported by
1685    Erin Lynch in #89.
1686
1687  + Ignore viewing angles for export formats which work in 3D.  When the
1688    rotation and tilt controls are hidden in the export dialog we were still
1689    using their values to transform the data, so if you set them with for one
1690    export format which support them, then switched to an export format which
1691    doesn't, you'd get bogus coordinates in the exported file.  Bug probably
1692    introduced in 1.2.27 by fixes for exports of rotated plans and tilted
1693    elevations.
1694
1695  + Fix exporting to skencil and Survex .pos formats.  When aven's export to
1696    .pos was added in 1.2.19, the ordering didn't match up and since then .pos
1697    export has produced skencil files and vice versa.
1698
1699  + Don't leave terrain on if loading terrain data fails.  Previously if you
1700    clicked the terrain icon (or via the menu) with no terrain loaded, but no
1701    terrain got loaded (e.g. because the survey data lacks an explicit
1702    coordinate system, or because the file failed to load, or because you
1703    cancelled the dialog) then the terrain icon/menu item was still changed to
1704    "on".
1705
1706  + Disable texturing while drawing terrain.  Previously the terrain got a bit
1707    darker when "Textured Walls" were enabled.
1708
1709  + Force a refresh when "Textured Walls" are enabled or disabled.  Previously
1710    the display wouldn't update right away.
1711
1712* Manual:
1713
1714  + Document how to specify fixed point altitude in feet.
1715
1716  + Explain why *fix warns about unused fixed points
1717
1718* Building from source now requires a compiler with decent support for C++11.
1719  If you're using GCC, then GCC 4.7 should suffice.  This should not be an
1720  onerous requirement - e.g. Debian wheezy and Ubuntu trusty both have a recent
1721  enough GCC.  If special options are needed, these should get probed for and
1722  automatically.  Fixes building 1.2.31 with GCC < 6, reported by Wookey.
1723
1724Changes in 1.2.31 (2017-07-01):
1725
1726* aven:
1727
1728  + Use superscript 'g' symbol instead of word 'grads' in status bar.  This
1729    conserves the limited space available, and we already do this in the
1730    compass and clino indicators so it's more consistent too.
1731
1732  + Show one decimal place on measure line bearing.  Pointed out by Benedikt
1733    Hallinger on the therion list, though I'm sure this has been asked for
1734    before by others.
1735
1736  + Show gradient of the measuring line when both ends are stations.
1737
1738  + Allow selection of text in cavern log window.  Selection was disabled in
1739    1.2.28 because it seemed you couldn't actually copy selected text to the
1740    clipboard, but retesting this now actually works fine for me, both with
1741    current git master with the change reverted, and with code just before the
1742    original change.
1743
1744  + More robust parsing of cavern output (cleanly handle context highlighting
1745    which extends beyond the end of the line).
1746
1747  + Allow showing duplicate legs as dashed lines or hiding them entirely,
1748    with dashed now being the default.  Implemented by Patrick Warren.
1749
1750  + Also allow "Dashed" for splays and "Faded" for duplicate legs.
1751
1752  + Splay legs in surface data are also shown faded.
1753
1754  + Check environment variables VISUAL and EDITOR when looking for editor to
1755    use when a warning or error is clicked on in the cavern log window.  The
1756    specified editor may have a GUI or need to run in a terminal, so we have to
1757    special-case each editor supported, and that means we can pass extra
1758    options needed to position the cursor on the appropriate line/column.
1759    Currently these editors are supported: gvim, nvim, vim, gedit, pluma,
1760    emacs, nano, jed, kate.  Suggested by Wookey.
1761
1762  + Fix handling of non-square terrain data files - the X and Y dimensions were
1763    swapped.  Reported by detrito.
1764
1765  + Improve parsing of DEM data with .hdr file.  Use documented defaults for
1766    more values, and where we only support a subset of values (or a particular
1767    value) check for unsupported values in more cases.
1768
1769  + When colouring by depth, fix colouring and texturing of polygons which
1770    cross depth bands.  The previous problems were most obvious with high
1771    chambers and long legs down deep pitches, especially in for surveys without
1772    much vertical range.
1773
1774  + Support for drawing blobs using point sprites was added in 1.2.28,
1775    but caching that this worked wasn't hooked up properly so the test to
1776    see if this worked would happen at the start of each run.  This is now
1777    cached as intended which should reduce start up time a little when blobs
1778    are drawn in this way.
1779
1780  + Fix drawing of crosses with lines.  This is a fall-back case which is
1781    rarely used as most OpenGL setups will handle a better method, but it was
1782    resulting in crosses with a four-pixel square in the centre - now the
1783    centre should be a single pixel.
1784
1785* cavern:
1786
1787  + Allow *data with no arguments to reset the current style - useful for
1788    entering passage data where there are side passages.
1789
1790  + Fix hang processing file without newline at end.  This bug was introduced
1791    by changes in 1.2.28.  Reported by Mark Brown.
1792
1793  + (Mac OS X and Microsoft Windows versions): Build with newer version of
1794    PROJ library which fixes buggy handling of *fix with lat-long coordinates.
1795    Also add a testcase to the testsuite to alert users building for themselves
1796    with an affected PROJ version on any platform.  Reported by Ross Davidson.
1797
1798  + Fix cavern to handle Compass .DAT with no survey team.  Previously this
1799    resulted in the bogus error: Expecting numeric field, found "FROM"
1800    Reported by Erin Lynch.
1801
1802  + Handle UTF-8 "BOM" at start of .svx files.  Unicode doesn't recommend its
1803    use, but Microsoft stuff seems to like to create files with it in, and the
1804    error cavern currently reports for such files is very confusing, so it
1805    seems best to just handle it.  Reported by Rob Eavis.
1806
1807  + Change a couple of messages to use double quotes for consistency with all
1808    other messages.
1809
1810* extend:
1811
1812  + Now runs a bit faster.
1813
1814  + Splays are now carried over the extended survey.  The current handling
1815    is simplistic, but should do a good enough job to be more useful than
1816    discarding splays.  The splays at each station are all rotated together
1817    based on the bearing between the stations either side of the current one
1818    along the first path extended through that station.  This nicely handles
1819    dead ends and the situation at the top or bottom of a pitch, and should
1820    tend to pick an angle close to the passage orientation along a traverse.
1821    It's weakest at junctions.  Feedback (especially examples which could
1822    be handled better) most welcome.
1823
1824* French translation is now up to date again, thanks to Jean-Marc.
1825
1826* Remove erroneous menu shortcut markers from Polish translations.
1827
1828* Fill in some missing translations in several languages by using message
1829  translations from therion.
1830
1831* Add note to *fix documentation to clarify the coordinate order with *cs
1832  long-lat.  Issue raised by Ross Davidson.
1833
1834* Fix errors in documentation of *units: "DEG" should be "DEGS", and
1835  "MINUTES" has been supported for ages but wasn't documented.  Reported by
1836  Footleg.
1837
1838* Fix a few typos in the documentation.
1839
1840* Fix compilation warning with recent GCC.
1841
1842Changes in 1.2.30 (2016-10-03):
1843
1844* aven:
1845
1846  + (Microsoft Windows version): Fix crash when trying to print or export
1847    (probably introduced in 1.2.28).  Reported by Brian Clipstone.
1848
1849  + Report error if terrain file contains no terrain data in area of survey.
1850    Suggested by detrito.
1851
1852  + Errors when writing an export file were reported with the wrong filename
1853    - the .3d file, not the filename we were trying to write to.
1854
1855  + Export to KML now supports exporting passages, walls and cross-sections.
1856    Addresses the remainder of ticket #4.
1857
1858* Add man page for dump3d.
1859
1860Changes in 1.2.29 (2016-09-27):
1861
1862* aven:
1863
1864  + Fix SVG output with non-ASCII characters (the charset in the SVG file
1865    is now set to UTF-8 not ISO-8859-1).
1866
1867  + (Microsoft Windows version): Fix error dialog on startup in pre-built
1868    version.  Reported by Brian Clipstone.
1869
1870* Manual: Add link to TerrainData wiki page.  Omission highlighted by Erin
1871  Lynch and "detrito".
1872
1873* Fix to build without FFmpeg/libav and with older versions, broken by changes
1874  in 1.2.28.  Reported by James Begley.
1875
1876Changes in 1.2.28 (2016-09-24):
1877
1878* cavern:
1879
1880  + Show the contents of the line after error and warning messages while
1881    processing survey data, and indicate the region of the line in many cases
1882    in the same style that compilers such as GCC and clang use (using the
1883    column number we already have, plus new width information).  Based on a
1884    patch from Mateusz Golicz.
1885
1886  + Add column and width information for many more error and warning messages.
1887
1888  + Fix column for "Separator in survey name" warning.
1889
1890  + Improve warnings when using a backclino with range 0-180 degrees (reusing
1891    the same machinery we already have for a forward clino with range 0-180
1892    degrees).
1893
1894* aven:
1895
1896  + Include LRUD in printout/export of extended elevations, broken by
1897    improvements to export of tilted elevations in 1.2.27.  Reported by Anthony
1898    Day.
1899
1900  + Name <trk> tags in GPX output, so Garmin GPS units name the imported track
1901    usefully.  Reported by Anthony Day.
1902
1903  + Remember scale from previous print or export operation in the same run of
1904    aven.  Suggested by Stuart Bennett.
1905
1906  + Convert range indication below shown line to a highlight on that region
1907    of the line in cavern log window.
1908
1909  + Fix colouring of error/warning without column in cavern log window.
1910
1911  + Fix click on error/warning without column in cavern log window.
1912
1913  + Fix highlight of translations of "error" or "warning" containing non-ASCII
1914    characters.  This fix for this only works with a Unicode build of
1915    wxWidgets, but as of wxWidgets 3.0, all builds are Unicode, so this
1916    shouldn't be much of a problem as wxWidgets 2.x is close to obsolete now.
1917    Reported by Mateusz Golicz.
1918
1919  + Disable selection of text in cavern log window - you can't currently copy
1920    it to the clipboard, so until that's implemented it seems better to disable
1921    the ability to select it.  Reported by Wookey.
1922
1923  + Avoid special "1000" scale entry when exporting.
1924
1925  + Show 1 page when "One Page" selected.
1926
1927  + Reload processed data when restricting view.  Fixes failure when
1928    restricting view on data just processed via aven.  Spotted by Andrew
1929    Atkinson and myself.
1930
1931  + Don't hide blobs and crosses behind terrain.  Reported by Jenny Black.
1932
1933  + Fix rendering of crosses using point sprites.  The texture being used was
1934    misaligned relative to the image used for the visual fidelity check, so the
1935    check always failed and point sprites would never be used.  Where point
1936    sprites are supported, they're probably the fastest option - on my netbook
1937    this change improves FPS by ~6 fold when displaying crosses for a large
1938    survey.
1939
1940  + Support drawing blobs using point sprites.  About 5 times faster than using
1941    lines on my netbook.
1942
1943  + Recheck how best to draw crosses and blobs on the first run after Survex
1944    is upgraded (or downgraded) as the rendering code may have changed (we
1945    already recheck when the OpenGL hardware or driver changes).
1946
1947  + Change "MPEG" export to be MPEG4 (.mp4) rather than MPEG1 (.mpg).
1948    MPEG4 produces smaller output of higher quality, and should be widely
1949    supported these days.  And I can't get the MPEG1 output to work without
1950    buffer underflows, resulting in a file which doesn't play without
1951    glitches.
1952
1953  + Add OGG video to the list of formats - it's more compact than the others
1954    we currently list, though slower to write.
1955
1956  + Fix export to movie formats for which libav/FFmpeg needs to seek the file
1957    being written.  This was broken by changes in 1.2.27.
1958
1959  + Overhaul movie export for the current FFmpeg API, fixing deprecation
1960    warnings when building against a recent version.
1961
1962  + (Microsoft Windows version): Fix corrupted exported movie files.  1.2.27
1963    changed the movie export code to allow writing to files with non-ASCII
1964    characters in the names, but the new code failed to open the file in binary
1965    mode, leading to corrupt output.  Fixes #81, reported by Erin Lynch.
1966
1967  * (Microsoft Windows version): Pre-built version now uses FFmpeg 3.1.3 for
1968    movie export.
1969
1970  * (Mac OS X version): Pre-built version now uses FFmpeg 3.1.3 for movie
1971    export.
1972
1973* Fix to build without FFmpeg/libav, broken by changes in 1.2.27.  Reported by
1974  James Begley.
1975
1976* The Polish translation is now very close to being complete, thanks to a
1977  substantial update from Mateusz Golicz.
1978
1979* Merge catalan translation updates from Adolfo Jayme.
1980
1981* (Microsoft Windows version): Map LANG_CHINESE to zh_CN not zh so Chinese
1982  messages get used automatically.
1983
1984* cavern.tst: Remove random : from after ] - dash ignores the extra character,
1985  but it causes this test to fail if /bin/sh is a different shell (e.g. bash).
1986
1987* cavern.tst: Add expected output for more testcases.
1988
1989* Remove unwanted execute bit from some testcase data.
1990
1991* Use https for more URLs which support it.
1992
1993Changes in 1.2.27 (2016-06-06):
1994
1995* aven:
1996
1997  + Right click on a survey in the survey tree now gives a pop-up menu
1998    with "Hide others", which restricts the view to just that survey
1999    and any subsurveys.  Right click on the root of the survey tree
2000    gives a menu with "Show all" to undo any restriction in effect.
2001    (Currently these are implemented by reloading the file and using
2002    the same machinery as the --survey= command line option, but that will
2003    probably change in the future).
2004
2005  + If there's a sub-survey restriction (from the --survey= command line
2006    option or the new UI described above) it is now shown in brackets after
2007    the survey tree root.
2008
2009  + When reloading a survey, preserve the current view position (previously
2010    the view was recentred).
2011
2012  + When reloading a survey, actually preserve the current scale factor
2013    (this was meant to happen, but the adjustment was applied in the
2014    wrong direction).
2015
2016  + New "File->Extended Elevation..." menu item provides a way to generate
2017    extended elevations for simple cases without having to use the command
2018    line.  Suggested by Fleur Loveridge.
2019
2020  + Don't process key presses if accompanied by an unexpected modifier key.
2021    In particular, this means that aven no longer interferes with Alt+<function
2022    key> (which is typically handled by the desktop) and Alt+<letter> (which is
2023    typically a menu short cut).  Reported by Владимир Георгиев.
2024
2025  + Reduce file loading time by ~5%.  The station name compare function was
2026    something of a hot spot, and optimising it yielded a nice improvement.
2027
2028  + Allow splay legs to be disabled in when printing and exporting.  Mostly
2029    addresses #60.
2030
2031  + SVG export now shows splay legs thinner and in grey.  See #60.
2032
2033  + Fix export of rotated plans and tilted elevations - previously plans were
2034    always aligned with North up, and elevations which weren't exactly side on
2035    were exported as plans.  Reported by Stuart Bennett.
2036
2037  + Fix offset bounding box for exported elevations.
2038
2039  + In print/export dialog the bearing value now wraps if you scroll up past
2040    360 or down past 0.
2041
2042  + Fix greying out of LRUD-based controls in the print/export dialog when the
2043    view is tilted (i.e. not plan or elevation).  This stopped working in
2044    1.2.18 when the pan and tilt spin controls were changed from integer- to
2045    real-valued ones.
2046
2047  + Printouts now show LRUD as pale grey arrows from the station they are
2048    measured from.  Based on patch from Michael Sargent.  Closes #65.
2049
2050  + Take LRUD into account for printout size.  Fixes #72, reported by Erin
2051    Lynch.
2052
2053  + Update movie export code to work with latest version of FFmpeg.
2054
2055  + Make "Show Log" a toggle, so you can click on the button to take a look at
2056    the log, and a second click returns you to the survey view.
2057
2058  + (Microsoft Windows version): Open the font file in binary mode - it looks
2059    like we were lucky and the font file (or at least its current version)
2060    would have loaded OK in text mode despite being binary data.
2061
2062  + (Microsoft Windows version): Exporting to files with non-ASCII filenames
2063    should now work.
2064
2065* cavern:
2066
2067  + Allow tape or backtape to be omitted.  Reported by Erin Lynch.
2068
2069  + Grid convergence is now corrected for when using automatically
2070    calculated declinations (*declination auto <X> <Y> <Z>).  Requested
2071    by Mateusz Golicz on the mailing list.
2072
2073  + Clear any cached calculated declination upon another *declination auto
2074    with different coordinates.  Previously if the date stayed the same,
2075    a previously cached declination for the old coordinates was used.
2076
2077  + Fix check for end of version number array in *require.  We would check up
2078    to 12 version components, the last 9 being bogus.  In practice, *require is
2079    only likely to be used with up to three components, so this wouldn't be an
2080    issue.
2081
2082  + *begin with an invalid prefix could cause a crash in some cases.  Fixed
2083    by patch from Colin Watson.
2084
2085  + Report column locations for errors to do with readings.
2086
2087* Merge translation updates from Jean-Marc.
2088
2089* img library: Better document which members can be set when writing.
2090  Highlighted by email query about use of img API from Владимир Георгиев.
2091
2092* Document how *declination interacts with *calibrate declination if both are
2093  used in the same dataset.
2094
2095* doc/3dformat.htm: Update details of how changes to the current label buffer
2096  are encoded to reflect changes in v8.  Reported by Angus Sawyer.
2097
2098* Use docbook2man instead of docbook-to-man to generated Unix man pages
2099  from SGML source.  The latter seems to be no longer actively maintained, and
2100  docbook2man now does a similarly good job.
2101
2102* Use https for survex.com links, and for other sites which support it.
2103
2104Changes in 1.2.26 (2016-01-07):
2105
2106* aven:
2107
2108  + (Microsoft Windows version): Fix to be able to process .svx files with
2109    cavern again.
2110
2111* (Microsoft Windows version): Simplify upgrading process with innosetup
2112  installer - if Survex is already installed, we now just install to the same
2113  location and use the same start menu folder.
2114
2115* (Linux version): survex.spec: Update for filetype metadata change in 1.2.25.
2116  Fixes #79, reported by James Begley.
2117
2118* (Linux version): survex.spec: Fix to work with RPM 4.13.  Fixes #79, reported
2119  by James Begley.
2120
2121Changes in 1.2.25 (2016-01-05):
2122
2123* aven:
2124
2125  + Drop broken code which attempts to fix 2D pitches.  Fixes #73, reported by
2126    Erin Lynch.  #76 tracks the issue the removed code was trying (but failing)
2127    to address.
2128
2129  + When animating, don't try to update station info based on mouse movement
2130    over the survey tree.
2131
2132  + Further improve code to handle cavern subprocess in aven.
2133
2134  + Fix jump to error for filenames containing colons when the error location
2135    doesn't have a column number.  Bug noted by Jenny Black.
2136
2137  + If we encounter bad UTF-8 in cavern output, replace it with a red and white
2138    ? in a diamond (previously we gave up showing output at the first bad
2139    sequence).  This can happen if you process a .svx file which isn't UTF-8
2140    encoded.
2141
2142  + (Unix version): Don't try to set the terminal window title when opening an
2143    editor from the cavern log window - gnome-terminal no longer supports this,
2144    and there doesn't seem to be a portable option for specifying the title for
2145    terminals which do still support this.
2146
2147  + (Microsoft Windows version): Also quote for cmd.exe so that paths with
2148    spaces in work reliably.  Reported by Marco Cotto.
2149
2150* cavern:
2151
2152  + Improve error for mismatched fore/back-sight plumbs, reported by Andy
2153    Edwards (see #78).
2154
2155  + Fix to use correct sd for backcompass.  We were using zero instead, the
2156    most obvious effect of which was that the threshold for warning about
2157    differing COMPASS and BACKCOMPASS was about 71% of what it should have
2158    been, so we were warning in more cases than we should have been.
2159
2160  + Implement support for specifying a length on backsights - if you're using
2161    something like a disto-x, you'll get a distance reading for the backsight
2162    too.  Fixes #71, reported by Erin Lynch.
2163
2164  + Make line counting more robust to mixed line ends.  Noticed in example file
2165    from Pete Smart (see #69).
2166
2167* extend: New --show-breaks option which adds a leg flagged as surface survey
2168  between each points at which a loop has been broken.  Suggested by Jenny
2169  Black.
2170
2171* (Unix version): Update filetype metadata to work with modern desktops.
2172
2173* Fix incorrect reporting of errors reading and writing processed survey data.
2174  Since 1.2.8, the error strings corresponding to IMG_CANTOPENOUT,
2175  IMG_BADFORMAT and IMG_DIRECTORY have been mixed up (this doesn't affect
2176  external programs using the img library, only Survex).  Reported by Jenny
2177  Black.
2178
2179* Add missing options to extend man page and --help output.  Noted by Jenny
2180  Black.
2181
2182* Document Document Ctrl+cursor keys for rotating and tilting in aven man page.
2183
2184* Fix broken SGML markup in manual.
2185
2186* Fix typo in manual reported by Jenny Black.
2187
2188* Update vim syntax file for newer commands, etc.
2189
2190* Minor translation updates.  Thanks to Piotr Strębski and Jean-Marc.
2191
2192* Fix to compile with FFmpeg 2.9.  Reported by Andreas Cadhalpun in
2193  https://bugs.debian.org/803863
2194
2195* Stop maintaining ChangeLog files.  They make merging patches harder, and stop
2196  'git cherry-pick' from working as it should.  The git repo history should be
2197  sufficient for complying with GPLv2 2(a).
2198
2199* (Microsoft Windows version): The installer requires admin privileges on Vista
2200  and later and OS versions older than Vista are past end of life, so drop code
2201  which tries to set up the registry differently depending if we have admin
2202  privileges or not.
2203
2204Changes in 1.2.24 (2015-09-23):
2205
2206* aven:
2207
2208  + (Microsoft Windows version): Fix the cavern log window.  Reported by Brian
2209    Clipstone.
2210
2211  + (Microsoft Windows version): Add workaround to avoid breakage in Therion.
2212    Reported by Jenny Black.
2213
2214  + If wx was built with thread support, aven now runs cavern from a separate
2215    thread, which works much better under wxMSW (where we can't use select),
2216    and also seems a bit smoother on Linux.
2217
2218  + Fix handling of encoding of filenames when the operating system has no
2219    locale installed corresponding to the language selected for Survex's
2220    messages.
2221
2222  + Undo accidentally committed debugging code which was sending message to
2223    the terminal in 1.2.23.
2224
2225* (Linux version): configure now looks first for wx-config-3.0, which Fedora's
2226  wx3 packages have.  Reported by James Begley.
2227
2228* Indonesian translation fully up to date again.
2229
2230* Manual: Document anonymous stations, based on the text from NEWS.  Reported
2231  by Wookey.
2232
2233Changes in 1.2.23 (2015-09-06):
2234
2235* aven:
2236
2237  + Updating the cavern log window is now much smoother, especially on slower
2238    machines.
2239
2240  + Show "busy" mouse cursor while processing survey data.
2241
2242  + Fix an assertion if you try to start processing a survex file while one is
2243    already being processed.
2244
2245  + Processing a .svx file with an error now still adds it to the file history.
2246    Reported by Martin Green.
2247
2248  + Fix the orientation of the starting end of tubes.
2249
2250* cavern:
2251
2252  + New *ref command to allow specifying an external reference (e.g. where to
2253    find the original survey notes).
2254
2255  + Drop support for showing percentage progress in cavern.  It's confusing in
2256    a multiple-file dataset as it shows progress in the current file so jumps
2257    around.  It also slows down processing, and on a slow machine you'd don't
2258    want that, while on a fast machine processing isn't slow enough for the
2259    progress display to be useful.
2260
2261* French translation is now completely up to date, thanks to Michel Bovey.
2262
2263* Bundle proj's EPSG and ESRI code lists in the installers for MS Windows and
2264  OS X so that things like "*cs EPSG:29903" work.  Reported by Graham Mullan.
2265
2266* (Microsoft Windows version): Process survey data with aven rather than
2267  running cavern.
2268
2269* (Microsoft Windows version): Installer built with InnoSetup 5.5.6 (recent
2270  releases have been built with 5.5.3) to see if that solves Ray Duffy's
2271  reported issue with not having file associations for .svx files created.
2272
2273Changes in 1.2.22 (2015-08-17):
2274
2275* aven:
2276
2277  + Ensure that the window has a depth buffer.  Whether it does by default
2278    seems to vary depending on OS and maybe graphics card.  Fixes #55 (terrain
2279    is no longer visible through itself), and also the rendering of passage
2280    tubes.  Thanks to Martin Green for pointing me in the right direction for
2281    finding this fix.
2282
2283* cavern:
2284
2285  + Fix *declination with an angle to actually work.
2286
2287  + Fix assertion if we try to identify a hanging survey by an anonymous
2288    station.
2289
2290  + Improve errors for invalid survey names in *begin, *end, *equate and
2291    *export.
2292
2293Changes in 1.2.21 (2015-07-28):
2294
2295* aven:
2296
2297  + Fix exporting to KML and other text-based formats to always use "." for the
2298    decimal separator - previously "," would be used when the user's locale
2299    specified this for the decimal separator.  Reported by Jan Schorn.
2300
2301  + Implement exporting of survey legs in KML format.
2302
2303  + Put "paddle" placemarker icons on stations in exported KML files, using the
2304    same colour coding for entrances, fixed points and exported points as aven
2305    does.
2306
2307  + Remove the "Coordinate projection" field from the print dialog, as it isn't
2308    relevant there.  Reported by Wookey.
2309
2310  + Fix the initial scale for small caves (since 1.2.18 the initial scale has
2311    been too small).  Reported by Wookey.
2312
2313  + Don't rescale if the same file is reloaded, but adjust the volume diameter
2314    as appropriate.
2315
2316  + Use wxGetenv() to read the SURVEXEDITOR variable, so we can accept Unicode
2317    values on Windows.
2318
2319* cavern:
2320
2321  + Fix coordinate systems using latitude and longitude - PROJ.4 wants these in
2322    radians, but we were passing degrees, which would generally cause the
2323    conversion to the output coordinate system to fail.  Reported by Wookey.
2324
2325  + Fix *fix with standard deviations when *cs is in use, give an error for use
2326    of *fix with standard deviations before *cs.
2327
2328  + Add new *declination command with support for setting the declination
2329    automatically from the IGRF model based on the survey date.  Thanks to the
2330    Therion developers for the IGRF support code, which we're reusing.
2331    Fixes #54, reported by Wookey.
2332
2333  + Allow the units for the zero error to be specified, making it easier to
2334    specify calibration with a scale if you measure the zero error externally
2335    (rather than using the instrument itself).  Fixes #61, reported by Andrew
2336    Atkinson.
2337
2338  + Report the error from PROJ when coordinate conversion fails as part of the
2339    actual error rather than on a separate line.
2340
2341  + Fix use after free after *solve.  This only occurs if a leg between the two
2342    exact same stations appears right before and right after the *solve, which
2343    is unlikely in real data, but the testsuite has an instance of this.  This
2344    was introduced by the repeat leg averaging added in 1.2.17.
2345
2346  + Fix small memory leak when solving network.  This doesn't really matter
2347    when solving at the end of processing as cavern will exit after that, but
2348    if *solve is used we continue processing after solving.
2349
2350* Remove compatibility handling for specifying a country variant of a language
2351  in SURVEXLANG using "-" with a lower case country code (e.g. "en-us") - we
2352  changed to the standard "en_US" way back in 2001.  This code was mangling
2353  character sets with a "-" in, and is no longer useful.
2354
2355* Ignore any "@<something>" modifier in the language code.
2356
2357* Improve documentation of magnetic declination handling, and cover the new
2358  "*DECLINATION" command.
2359
2360* Document aven's command line options in the manual and its man page.
2361  Reported by Jenny Black.
2362
2363* Point to '*case' and '*truncate' from the 'SEE ALSO' sections of each other's
2364  documentation.
2365
2366* Remove references to SpeleoGen from the documentation - it hasn't been
2367  updated for many years, and can't read recent versions of the .3d format.
2368
2369* Strip documentation references to obsolete versions of MS Windows.
2370
2371* doc/HACKING.htm: Update list of debian packages to install to build from git.
2372
2373Changes in 1.2.20 (2015-06-26):
2374
2375* aven:
2376
2377  + When printing, use the top margin rather than the right margin to calculate
2378    the height of the printable area.  In practice, the two values seem to be
2379    the same or very similar by default.
2380
2381  + Avoid assertion if the about dialog image fails to load.  Reported by Phil
2382    Maynard.
2383
2384  + Optimise the size of the about dialog images.
2385
2386  + Add support for reading terrain data which isn't in a .zip file.
2387
2388  + Force a refresh after loading terrain data so that it gets displayed right
2389    away.
2390
2391  + Make checks for terrain data extensions in zip files case insensitive.
2392
2393  + If reading terrain data fails, always report an error and never try to
2394    display it.
2395
2396* cavern: Allow clino readings in diving style data, suggested by Andrew
2397  Atkinson.  Currently these readings are ignored, but a future version will
2398  check that they're consistent with the angle given by the depth gauge and
2399  tape, and perform suitable averaging.
2400
2401* Remove lingering traces of svxedit.
2402
2403* configure: Fix to allow compiling without libav/ffmpeg, as was possible
2404  before 1.2.19.
2405
2406* (Unix version): Install the filetype and aven application icons under
2407  /usr/share/icons/hicolor, which is where they're expected to be these days.
2408
2409* (Unix version): Add %f to Exec in survex-aven.desktop.
2410
2411* (Mac OS X version): Remove useless extra copy of about box images from OS X
2412  disk image.
2413
2414* (Mac OS X version): Only ship one copy of each of the translations.
2415
2416* (Mac OS X version): Reduce the size of the aven binary by disabling a load of
2417  libav features we don't use.
2418
2419* (Microsoft Windows version): Reduce the size of the aven binary by disabling
2420  a load of libav features we don't use.
2421
2422* (Microsoft Windows version): Update message files to fix a missing Chinese
2423  message in the installer.
2424
2425Changes in 1.2.19 (2015-06-18):
2426
2427* aven:
2428
2429  + Fix exporting to GPX, KML and HPGL, which all failed to write the header to
2430    the exported file in 1.2.18.
2431
2432  + Add exporting to Survex .pos format.
2433
2434  + If the measuring line isn't currently active, pressing "Escape" will now
2435    exit full screen mode.
2436
2437  + (Mac OS X version): Change the shortcut for full screen mode to be the
2438    standard Ctrl+Command+F (rather than Shift+Command+F which we have been
2439    using since 1.2.7).
2440
2441  + (Mac OS X version): When we centre the view on the station this can
2442    generate a mouse move event, so clear the variable which says we are
2443    dragging before we process a left click on a station.  This avoids random
2444    rotations of the survey when clicking on a station, reported in #47 by Hugh
2445    St. Lawrence.
2446
2447  + (Mac OS X version): Force use of a non-native toolbar to stop the toolbar
2448    icons from being rescaled and looking fuzzy.
2449
2450  + (Mac OS X version): Remove code added in 1.2.18 which tries to set stop the
2451    toolbar icons from being rescaled, but which requires an unreleased version
2452    of wxWidgets, had a typo in, and doesn't actually seem to work anyway.
2453
2454  + (Mac OS X version): Drop out of full screen mode if the mouse is mode to
2455    the top of the screen, since we can't seem to display the menu bar in this
2456    case like we do on other platforms.
2457
2458  + (Mac OS X version): Enable aven's movie export feature.
2459
2460  + (Mac OS X version): Enable wxDisplay when building wxWidgets to better
2461    support multi-monitor setups.
2462
2463  + (Mac OS X version): Silence warning visible when aven is run from a
2464    terminal about a missing CFBundleTypeRole.
2465
2466  + When reading terrain data from a .zip file, report an error if the .zip
2467    file is bad, or if it doesn't contain any terrain data we recognise.
2468
2469  + Tweak error message in terrain reading code to distinguish two failure
2470    cases.
2471
2472  + Add viewing angles and scale to footer, and shorten some of the other items
2473    to make room for this extra information.  (Fixes ticket #52, reported by
2474    Erin Lynch)
2475
2476  + If the footer is wider than the printout width, scale down the font used
2477    so that it exactly fits; if the footer is narrower, than space out the
2478    items in in so it uses the full width.
2479
2480  + If the saved size for aven's window exceeds the current display size
2481    (mostly likely because we're now plugged into a smaller monitor), then
2482    reduce the size of the window to fit the display.  If the saved size is <
2483    (480x320), increase it to at least that, as aven isn't usable in a smaller
2484    window.
2485
2486  + Remove crude bodge which tries to pick a nicer initial window size when
2487    using wxWidgets without wxDisplay on a multi-monitor setup - aven now opens
2488    with the same size window it had when it was closed, so the initial size is
2489    only relevant on the first ever run.
2490
2491* Assorted translation updates.  Notably Indonesian is at 100% again.
2492
2493* Stop trying to catch and report signals.  The only real reason to do it is so
2494  we can say "Bug in program detected! Please report this to the authors"
2495  before we exit, but when the program crashes that's pretty obvious.  In aven
2496  we try to pop up a message box for this message, which may fail due to
2497  whatever caused the signal, while with the command line tools there's no
2498  great benefit over just letting the shell report the signal.
2499
2500* Use pkg-config to probe for libav and proj, which sorts out the correct flags
2501  for building on OS X against a static install of libav.
2502
2503Changes in 1.2.18 (2015-06-03):
2504
2505* aven:
2506
2507  + Add support for reading terrain data (from a zip file containing either an
2508    SRTM .hgt file, or an ESRI .bil file and associated metadata files), and
2509    rendering it as a transparent surface.
2510
2511  + Remove actions from 'Orientation' and 'Rotation' menus which you wouldn't
2512    sanely want to perform from the menu.
2513
2514  + Create a "Colour by" submenu of the "View" menu to house the various
2515    colouring options.
2516
2517  + Add "Colour by Gradient" and "Colour by Length".
2518
2519  + Make the button to dismiss the "About" dialog "OK" rather than "Close",
2520    which seems more logical, and also allows the dialog to be closed by
2521    pressing "Escape".
2522
2523  + Destroy any existing clipping region before we write the page footer.
2524    Hopefully solves ticket #52, reported by Erin Lynch.
2525
2526  + Don't round bearing and tilt angles to integers when printing and
2527    exporting.
2528
2529  + Add passage export for EPS format.  (Partly addresses ticket #4)
2530
2531  + Add JSON export.  This should be regarded as experimental, and the format
2532    is quite likely to change.
2533
2534  + Pressing F6 now toggles the display of rendering stats, currently FPS
2535    (Frames Per Second) and the number of triangles in the terrain mesh.
2536
2537  + Add a menu item and toolbar button to show the cavern log window if the
2538    currently shown survey data was processed by aven.  Reported by Hugh St
2539    Lawrence in #47, and by Dave Clucas and others previously on the list.
2540
2541  + Add "Save Log" button to Aven's cavern log window.
2542
2543  + In cavern log window, highlight "error" markers in red and "warning"
2544    markers in orange.
2545
2546  + Rework code to read cavern's output.  In particular, we no longer mix
2547    buffered and non-buffered system calls.
2548
2549  + Aven's support for reading colours and font sizes for printouts from
2550    print.ini has never worked - the contents of the ini files are ignored due
2551    to a bug which has been there since the code was added in 2005 - but nobody
2552    has ever complained.  So just strip out that code entirely - we should
2553    support setting the colours and font sizes, but a GUI interface for setting
2554    them would be better.
2555
2556  + Fix to compile with a Unicode build of wxWidgets 2.8.  Reported by Bill
2557    Gee.
2558
2559  + Take the width of the messages used above the compass and clino into
2560    account when calculating how much space to allow for them - now the labels
2561    won't overlap or be cut off in translations where they are long.
2562
2563  + (Mac OS X version): Attempt to address the size of the toolbar icons.
2564
2565* cavern:
2566
2567  + Reject *fix with SDs which aren't all positive.  (fixes#2, reported by
2568    susscorfa).
2569
2570  + Use the currently set units when outputting measurements in warnings,
2571    errors, and the stats at the end of the run.  Requested by Bill Gee.
2572
2573  + Include column number when a *include file isn't found.
2574
2575  + Show 'error' in front of error messages, like we show 'warning' in front of
2576    warnings.  Fixes #48, reported by Wookey.
2577
2578  + Increase the threshold for warning that fore and back measurements differ
2579    from 2 SDs to 3 SDs.
2580
2581* findentrances: If the 3d file specifies the coordinate system, use it.
2582
2583* svxedit: Remove svxedit - while an editor with built-in knowledge of survex
2584  would be nice to have, svxedit doesn't really offer that, and it looks ugly
2585  in a modern desktop.
2586
2587* If we run out of memory while reading a processed survey data file, include
2588  the filename in the error message.
2589
2590* Many translation updates - notably Indonesian and Russian are now the two
2591  most complete translations.
2592
2593* (Microsoft Windows version): Add code page 1252 mappings for fancy quotes.
2594
2595* Transliterate gradient and infinity symbols if the current character set
2596  lacks them.
2597
2598* Add SVG version of .plt icon.
2599
2600* Manual:
2601
2602  + Add complete list of quantities you can set SDs for.  Thanks for Wookey for
2603    highlighting that the previous list was incomplete.
2604
2605  + Document averaging of a group of repeated readings.
2606
2607  + Add a link to the sample data from the manual.
2608
2609  + Remove references to contact addresses which are no longer there.  Remove
2610    offer to post people floppies, and references to a CD image which isn't
2611    available for download.
2612
2613* Remove non-breaking spaces from the diffpos and extend manual pages, as they
2614  actually make the output formatting worse (presumably these used to work
2615  around a since-fixed bug in one of the docbook processing tools).
2616
2617* doc/TODO.htm: Update.
2618
2619* Fix to compile without warnings with 'g++ --std=gnu++11'.
2620
2621Changes in 1.2.17 (2015-02-24):
2622
2623* MacOS X version:
2624
2625  + Update INSTALL file with current status.
2626
2627  + Aven.app now has a custom icon.
2628
2629  + Add icons for all the filetypes supported.
2630
2631  + Add Finder actions for .svx, .3d, .plt and .pos files.
2632
2633  + aven: Hide the status bar and tool bar in Full Screen mode, as wx doesn't
2634    currently do this for us.
2635
2636  + aven: Fix short-cut for toggling Full Screen mode.
2637
2638  + aven: Make "About" menu item appear.
2639
2640  + aven: Fix "Close" button in about dialog.
2641
2642  + aven: Make custom cursors black with a white outline to match the standard
2643    OS X cursor.
2644
2645  + svxedit: Now wrapped up in an application bundle as svxedit.app.  It
2646    still doesn't really work like a standard app though - e.g. you can't load
2647    files from Finder (instead run svxedit.app and use File->Open), the font
2648    size of most menu items is wrong, the icon for the app is the wish icon
2649    rather than the svxedit icon, shortcuts use Ctrl not the Cmd key, and
2650    probably more.  I'd probably recommend using another editor (OS X comes
2651    with TextEdit.app for example).
2652
2653  + The documentation is now in a "Docs" directory alongside the apps, rather
2654    than in the rather less obvious "share/doc/survex" directory.
2655
2656  + Default to building for x86_64, since all modern Macs are 64 bit.
2657
2658  + Disable use of liblzma when building wxWidgets for OS X, which was
2659    preventing the build from working on OS X 10.6.8.
2660
2661  + Download wx sources from SF via redirecting link.  Thanks to David A.
2662    Riggs.
2663
2664  + buildmacosx.sh: Handle the mount point for the disk image containing a
2665    space.
2666
2667  + Link with a static build of PROJ for doing coordinate system conversions.
2668
2669  + Build wx with --disable-webview to avoid a compilation failure on OS X
2670    10.10.1.
2671
2672  + Use wx-config --cc and --cxx to get the compilers to use for building
2673    everything else, as wx adds options to them which otherwise cause linking
2674    errors.
2675
2676  + The diskimage (.dmg) file is now compressed with bzip2, which gives a
2677    smaller download.  This means OS X 10.4 is required, but we probably
2678    already need at least 10.5 because that's the minimum version which the
2679    wxWidgets build supports by default.
2680
2681  + Remove unused files and copies of files from the diskimage.
2682
2683* cavern: If the same leg is repeated consecutively, average the readings and
2684  treat as a single leg.
2685
2686* dump3d: Report SEPARATOR used by the file being read.
2687
2688* aven.svg: Fix visual glitch in SVG icon for aven.  Noted by David A. Riggs.
2689
2690* aven:
2691
2692  + Greatly reduce flicker when mouse is moved to the top of the screen in full
2693    screen mode and the menu bar reappears.
2694
2695  + For export formats where scaling is supporting, aven now actually uses the
2696    scale specified in the export dialog (previously it ignored this and used
2697    1:500).
2698
2699  + Reimplement animation so that it's based on angular change per unit of
2700    elapsed time, rather than averaging the time take for the last two scene
2701    redraws.  This gives smoother animation in the face of variable load and
2702    scene redraw time, and should be more consistent between platforms.
2703
2704  + Switching to a point of the compass during auto-rotation now jumps straight
2705    there rather than the two animations fighting.
2706
2707  + Reduce the maximum auto-rotation speed, as the previous limit was uselessly
2708    fast.
2709
2710  + Disable stepping the rotation angle when animating (previously we only did
2711    when rotating).
2712
2713  + Speed up start-up a bit - rather than loading icons from individual PNG
2714    files on disk, compile them into the aven binary.
2715
2716* (Unix version): Add "MimeType" field to desktop files so that file
2717  associations work out of the box with modern desktop environments.
2718
2719* Add start of Hungarian translation from Imre Balogh.
2720
2721* Merge in many updates to the Russian translation from "vsuhachev".
2722
2723* Assorted minor updates to other translations.
2724
2725* Create scalable (SVG) versions of file type icons.
2726
2727* doc/manual.sgml: Remove $Id and $Date markers, as they don't get expanded now
2728  we're using git.
2729
2730* tests/: Improve test coverage in a few places:
2731
2732  + Extend tests of fore and back sights to test calibration of the back
2733    compass.
2734
2735  + Test "Can't calibrate angular and length quantities together" error.
2736
2737  + Check that "*set names ." works when "." is also the decimal point.
2738
2739Changes in 1.2.16 (2014-10-17):
2740
2741* aven: Add KML export (stations only currently).
2742
2743* aven: Allow measuring line to measure from anonymous stations.  (Fixes #44)
2744
2745* aven: Fix corrupted names in exported files.
2746
2747* aven: Fix error log window under wxWidgets >= 2.9 to include the system
2748  information before the first log message like it does under wxWidgets 2.8.
2749
2750* cavern: Add support for "*cs JTSK" and "*cs JTSK03".
2751
2752* tests/: Improve test coverage.
2753
2754* Translation updates for many languages, plus the start of translations to
2755  Greek and Polish.
2756
2757* Fix to build against wxWidgets 3.0 built with assertions disabled.  Reported
2758  by Martin Sluka.
2759
2760* Fix warnings when compiling with clang (which is the default compiler on
2761  Mac OS X).  Reported by Martin Sluka.
2762
2763Changes in 1.2.15 (2014-08-14):
2764
2765* cavern: The *cs command now also supports "long-lat", "s-merc" (for "Web
2766  Mercator"), EPSG and ESRI codes, "eur79z30", "ijtsk" and "ijtsk03".  This
2767  means that we now support all the coordinates systems which Therion does,
2768  except for a few which don't have X=East and Y=North.  The documentation
2769  for *cs has also been improved.
2770
2771* aven: We no longer persist full screen mode between runs - it's not a
2772  standard behaviour of desktop programs, and it's too easy to go into full
2773  screen mode from the menu and then not be able to get out again because you
2774  don't know the required key shortcut. (ticket#39)
2775
2776* aven: When in full screen mode, moving the mouse to the top of the screen now
2777  makes the menu bar appear.  This provides a non-shortcut way out of full
2778  screen mode, as well as making it easier to perform other operations while in
2779  full screen mode.  The current implementation gives an annoyingly flickery
2780  transition, but hopefully we can improve this in future. (ticket#39)
2781
2782* (MacOS X version): If built with wxWidgets >= 3.1.0 (which is still in
2783  development), we now call EnableFullScreenView() which improves the full
2784  screen mode experience on OS X 10.7 and later.
2785
2786* img library: Improve documentation for img_ERROR_INFO.
2787
2788* tests/: Ship some missing .out files and compare.tst.
2789
2790* tests/: cavern.tst testcase back2 is now actually used.  Fix a bug in this
2791  testcase, and extend it to cover a variant of the situation reported as a bug
2792  in therion by Bill Gee to the therion list.
2793
2794* (Linux version) survex.spec: Add run-time requirement on proj and proj-epsg
2795  for the survex package and on tk for the svxedit package.
2796
2797Changes in 1.2.14 (2014-07-05):
2798
2799* img library: Add ability to store a PROJ4 string describing the coordinate
2800  system in use in 3d v8 files.
2801
2802* aven: If the 3d file specifies a coordinate system, then use it for exporting
2803  to formats which need to know (currently GPX).  If the input file doesn't
2804  specify the coordinate system, allow the user to enter a PROJ4 string in the
2805  export dialog.
2806
2807* aven: You can now quickly zoom to a particular area by holding down the
2808  "Shift" key and dragging with the left mouse button to create a rectangular
2809  "rubber band box" around the area you wish to zoom to.  If you release the
2810  "Shift" key while still dragging, the box is centred on the start point
2811  rather than having one corner there.
2812
2813* aven: Fix exporting of passage tubes in elevations and extended elevations
2814  - previously up and down were getting drawn across the page!
2815
2816* aven: Fix "Cancel" to work on the print/export dialog, broken by changes in
2817  1.2.13.  (Reported by Brian Clipstone)
2818
2819* aven: Fix the conditions on which the menu item "Cancel measuring line" is
2820  enabled - previously it was hard to actually cancel it via the menu.
2821  Reported by Hugh St Lawrence.
2822
2823* aven: Fix wx assertion failures when showing hit test debug view on platforms
2824  such as 64-bit Linux.
2825
2826* aven: When viewing from above, show "Plan" above the "clino" which indicates
2827  the tilt angle (instead of "Elevation -90°").
2828
2829* aven: The extended font data now loads faster, and also uses less memory on
2830  64-bit platforms.
2831
2832* aven: Dragging the vertical divider between the side panel and the 3D view
2833  now only updates when you finish the drag, as redrawing continuously just
2834  looks clunky except on an ultra-fast machine.
2835
2836* aven: (German translation) Abbreviate "Blickrichtung" so it doesn't overfill
2837  the space available in the aven UI.
2838
2839* cavern: Add a *cs command to allow setting the coordinate system for *fix
2840  commands, and the coordinate system used for processed survey data.  The
2841  latter is now stored in 3d v8 format files.
2842
2843* cavern: Add support for 'L' flag (exclude from length) in Compass .dat files
2844  and handle it in the same way as the "DUPLICATE" flag in .svx files.
2845
2846* cavern: If there's more than one *fix command with coordinates, still
2847  actually fix the second and subsequent ones, to avoid triggering bogus errors
2848  about unconnected surveys.
2849
2850* cavern: If there's more than one *fix command with coordinates, report the
2851  station name of the previous one, plus the file and line number where it was.
2852
2853* cavern: Fix handling of the rather contrived case of *fix with no coordinates
2854  followed by *solve and then another *fix with no coordinates not to access
2855  freed memory.
2856
2857* dump3d: Report any specified coordinate system.
2858
2859* doc/3dformat.htm: Update to document how the coordinate system is stored.
2860
2861* (Microsoft Windows version): Include dump3d in the installer.
2862
2863* Fix a compiler warning.
2864
2865* Improve test coverage.
2866
2867Changes in 1.2.13 (2014-05-15):
2868
2869* aven: Fix --print option to wait for printing to happen before exiting
2870  (previously it would exit right after opening the print dialog, so you
2871  couldn't actually print anything out using it).
2872
2873* aven: Increase the threshold for how close the pointer needs to be to a
2874  station from 5 pixels to 7 to try to help touchscreen users.  Reported by
2875  Hugh St Lawrence.
2876
2877* aven: Add "fat finger" mode, toggled by pressing F2, to allow investigating
2878  if increasing the minimum pointer to station threshold helps Hugh's problems
2879  with using aven on a touch screen device.
2880
2881* aven: The measuring line was unable to see stations which had just been
2882  revealed by toggling surface or underground legs on - this is now fixed.
2883
2884* aven: Add "hit test grid debug" mode, which shows the hit test grid and how
2885  many entries are in each box (toggled by F3).
2886
2887* aven: Pressing F4 now allows the user to toggle wxWidgets assertion messages
2888  off and back on.
2889
2890* aven: Create the empty hit-test grid data structure lazily, to reduce start
2891  up time a little.
2892
2893* cavern: Improve messages which talk about "tags" and/or "prefixes" in *begin
2894  and *end commands to instead talk about "survey names".
2895
2896* cavern: For ages cavern has warned if you reentered a survey, but this
2897  warning was suppressed if it occurred at the same line of the same file as
2898  the survey was first entered, but this can only happen if you include the
2899  same survey file more than once, which isn't a sensible thing to do for a
2900  file with actual survey data in (you might reasonably do it to set up survey
2901  grade details or something like that).  The warning is now given in this
2902  situation too.
2903
2904* cavern: After 5 warnings about reentering a survey we give up warning about
2905  it, but we used to keep reporting where the survey was originally entered -
2906  this secondary diagnostic message is now silenced when the main message is.
2907
2908* (Microsoft Windows version): Compile C code with optimisation on.
2909
2910* Add the start of a Russian translation, with messages take from therion.
2911
2912* Minor translation updates to French.
2913
2914* Fix compiler warning from GCC.
2915
2916* Testsuite improvements:
2917
2918  + Test that "..." anon station works.
2919
2920  + cavern.tst: Check number of errors returned by all testcases which should
2921    fail and give an error count.
2922
2923  + cavern.tst: Fix to actually fully test everything when builddir != srcdir.
2924
2925Changes in 1.2.12 (2014-04-14):
2926
2927* aven: Fix measuring line to show change in altitude rather than altitude
2928  itself (accidentally broken by changes in 1.2.11).  Reported by Brian
2929  Clipstone.
2930
2931* aven: Fix printing when built with wxWidgets 3.0.
2932
2933* aven: Several visual improvements to printouts:
2934
2935  + Move the numbers below the scale bar down a little so that they don't
2936    overlap the scale bar ticks.
2937
2938  + Set the clipping region after we draw the page border and info box to avoid
2939    clipping the border in print preview.
2940
2941  + Tidy up the appearance of the compass and elevation arrow.
2942
2943* aven: Fix to build with libav 10.  Reported by Moritz Muehlenhoff in
2944  <http://bugs.debian.org/739332>.
2945
2946* aven: Fix to build with older libav where avcodec_free_frame() isn't
2947  available.
2948
2949* (Linux version) survex.spec: Update spec file used for building RPM packages.
2950
2951* (Unix version): Add "Keywords:" entry to .desktop files.
2952
2953* (Unix version): Enable large file support, mostly to support filing systems
2954  which return 64 bit inode values, such as CIFS mounts.
2955
2956* (Microsoft Windows version): Only allow "A-Z" or "a-z" for driver letters,
2957  rather than any character which is a letter in the current locale.
2958
2959* Various translation updates.
2960
2961Changes in 1.2.11 (2014-01-28):
2962
2963* aven: Fix wxWidgets assertion when double clicking on an anonymous station.
2964  Reported by Kevin Dixon.
2965
2966* aven: Embed the font data for the first 256 Unicode characters for use in the
2967  survey pane into the compiled aven binary to reduce start up overhead.  Any
2968  additional characters needed are loaded from a data file only if/when a
2969  character >= U+100 is actually needed (as before).
2970
2971* aven: Fix display of Unicode characters above 256 when there's a character
2972  <= 256 earlier in the same string.
2973
2974* aven: Use the actual width of Unicode characters above 256 rather than
2975  assuming they are 16 pixels wide.
2976
2977* aven: If full screen, don't show the side panel when a new file is opened
2978  (e.g. via Ctrl+O).
2979
2980* aven: Don't give an assertion failure when showing passages for a cave with
2981  no vertical extent.  Reported by Jonny Prouty.
2982
2983* aven: Change terminology in print dialog - say "legend" instead of "info
2984  box".
2985
2986* aven: Add option to show the tilt angle as a percentage gradient.
2987
2988* aven: Show the units (degrees, grads, or percent) for the tilt and bearing
2989  indicators.
2990
2991* aven: All length units are now translatable.
2992
2993* aven: Split log_fl_error helper function out of CHECK_GL_ERROR macro, which
2994  will reduce code size and also the number of deprecation warnings about
2995  gluErrorString on Mac OS X 10.9.
2996
2997* (Microsoft Windows version): aven: Try to work around redraw issues related
2998  to the measuring line by redrawing the whole window, which doesn't seem to be
2999  measurably slower.
3000
3001* cavern: If *units is used to try to set units for LEVEL, PLUMB, or POSITION,
3002  give an error rather than quietly ignoring the attempt.
3003
3004* cad3d: Make cad3d remap control characters and spaces in station names when
3005  generating PLT output in the same way aven does.
3006
3007* Various translation updates (particular thanks to Eric Madelaine and Dennis
3008  Baudys), including the start of a Bulgarian translation, with messages taken
3009  from Therion and elsewhere.
3010
3011* (Microsoft Windows version): On Microsoft Windows 2000 and newer, use
3012  GetUserDefaultUILanguage() to get the UI language to use.  For older
3013  versions, continue to use GetUserDefaultLCID().
3014
3015* (Microsoft Windows version): The Indonesian translation will now be used
3016  automatically when the system language is set to Indonesian.
3017
3018* (Mac OS X version): Fix to build with wx 3.0.0 on OS X 10.9.  Thanks to David
3019  A. Riggs for his work on this.
3020
3021* (Mac OS X version): Update buildmacosx.sh script to use wx 3.0.0, and add a
3022  checksum check for the downloaded wx sources.
3023
3024* Fix a lot of the compiler warnings when building with clang.
3025
3026* doc/manual.sgml: Add missing quantities to the list documented as accepted by
3027  *units: LEFT, RIGHT, UP/CEILING, DOWN/FLOOR (missing entirely);
3028  BACKCOMPASS/BACKBEARING, BACKCLINO/BACKGRADIENT (missing from the main list,
3029  mentioned in list of the units that can be set for them); COUNT (missing
3030  alternative name for COUNTER); DX/EASTING, DY/NORTHING, DZ/ALTITUDE
3031  (incorrectly listed as X, Y, Z).  Reported by Jonny Prouty.
3032
3033* Test suite: Improve test coverage for cavern.
3034
3035Changes in 1.2.10 (2014-01-15):
3036
3037* aven: Fix assertion if two mouse buttons are held down at the same time.
3038  If dragging with more than one mouse button held down, releasing one causes
3039  another which is still held down to take effect.  Reported by Brian
3040  Clipstone.
3041
3042* aven: If we fail to start the external editor when the user clicks on an
3043  error or warning from cavern, show an error box.
3044
3045* aven: If the survey has a title, add it as a top-level <title> element to
3046  exported SVG files.
3047
3048* aven: Escape '<', '>', and '&' in labels in exported SVG files.
3049
3050* aven: In GPX export, set the <time> element to the datestamp from the 3d
3051  file.
3052
3053* aven: Don't try to write the title if it isn't set or is empty when exporting
3054  GPX files.
3055
3056* aven: Don't bother looking up the printer page setup info when exporting.
3057
3058* (Microsoft Windows version): aven: Fix crash on "File->Print" or
3059  "File->Export" under Windows XP, reported by Brian Clipstone.
3060
3061* (Microsoft Windows version): aven: Fix error dialog about an incorrectly
3062  encoded filename which could occur if run without being asked to load a file
3063  on startup.
3064
3065* (Microsoft Windows version): aven: Compile with optimisation on.
3066
3067* img library, aven: Although processed CMAP data files are often referred to
3068  as "CMAP .XYZ files", it seems that actually, the extension .XYZ isn't used,
3069  rather .SHT (shot variant, produced by CMAP v16 and later), .UNA (unadjusted)
3070  and .ADJ (adjusted) extensions are.  Since we've long checked for .XYZ, we
3071  continue to do so in case anyone is relying on it, but also check for the
3072  other extensions.
3073
3074* img library: Add new "datestamp_numeric" field to struct img giving the
3075  datestamp as a time_t in UTC (or (time_t)-1 if there's no datestamp or we
3076  failed to convert it).  For .3d >= v8, this field is reliable.  We attempt to
3077  convert date strings in .3d <= v7 and CMAP XYZ files, but may get the
3078  timezone wrong.
3079
3080* img library: Fix my_strcasecmp() to handle top-bit set characters better.
3081
3082* cavern: Fix NULL pointer dereference when processing Compass DAT file without
3083  'SURVEY DATE:'.
3084
3085* doc/manual.sgml: Update references to Survex 1.1 which should be to 1.2.
3086
3087* doc/manual.sgml: Note the station length limit Smaps used.
3088
3089* Fix some compiler warnings if built with glibc's fortify source feature
3090  enabled.
3091
3092Changes in 1.2.9 (2014-01-08):
3093
3094* Document --3d-version in cavern man page and the manual.
3095
3096* aven: Fix compilation error in movie export code with recent libavi.
3097
3098* aven: Fix warning on stderr when export a movie as MPEG.
3099
3100* img library: In non-hosted mode, don't define GETC and PUTC if they're
3101  already defined, to allow easy overriding with getc_unlocked() and
3102  putc_unlocked() (which are significantly faster on Linux).
3103
3104* img library: In non-hosted mode, check that int is at least 32 bits,
3105  and if not, use long.  In practice, platforms with 16 bit int are mostly
3106  obsolete, but it's not hard to be portable here.
3107
3108* img library: Add test that img.c and img.h compile in non-hosted mode
3109  (regression test for issue fixed in 1.2.8).
3110
3111* (Microsoft Windows version): aven is now built with wxWidgets 3.0.0.
3112
3113* Update translations from launchpad and from existing similar messages.
3114
3115* Fix some compiler warnings.
3116
3117Changes in 1.2.8 (2013-10-29):
3118
3119* cavern: Fix handling of anonymous wall stations ('..' by default) to
3120  implicitly set the SPLAY leg flag, as was intended.  Reported by Thomas
3121  Holder.
3122
3123* cavern: Tweak .err file output not to lose the space in front of certain
3124  statistics when the value gets large.
3125
3126* cavern: Eliminate redundant progress message when solving simultaneous
3127  equations.
3128
3129* aven: Add a format drop down to the export dialog, and only show fields which
3130  are meaningful and supported for the currently selected export format.  The
3131  format defaults to that used most recently.  The "Elements" and "View" boxes
3132  have been swapped in the print and export dialogs as that layout works much
3133  better when the "View" box is hidden.
3134
3135* aven: Changing checkboxes in the print or export dialog didn't work in 1.2.7
3136  - now works again.  Reported by Anthony Day.
3137
3138* aven: Add GPX export (based on findentrances patch from Olaf Kähler).  In
3139  this release the projection which the survey coordinates are in defaults
3140  to the BMN M31 grid used in the Totes Gebirge in Austria.  On Unix, you
3141  can edit ~/.aven and add a new line setting 'input_projection' to a PROJ
3142  projection string.  The ability to specify this projection in a better
3143  way is coming soon.
3144
3145* aven: New export options "Origin in centre" and "Full coordinates" - the
3146  latter fixes #10.  GPX and PLT output implicitly force "full coordinates".
3147
3148* aven: The "Sketch" vector drawing program got renamed to "Skencil" some
3149  time ago, so update references.
3150
3151* aven: Make the Presentation->Play menu item a checkbox, to avoid a warning
3152  with wxMSW 2.9.5.  Reported by Brian Clipstone.
3153
3154* aven: Make right click in an empty presentation mark the current position and
3155  open it to edit, instead of crashing.
3156
3157* aven: Update movie export code to work with latest libav API.  Reported by
3158  Sebastian Ramacher.
3159
3160* aven: Improve reporting of errors during the process of exporting a movie.
3161
3162* aven: Don't try to close the movie if we aren't producing one.
3163
3164* aven: Fix assertion failure when double-clicking on the survey with wx2.9.
3165
3166* aven: Fix to build with wxMSW 2.9.5.
3167
3168* aven: Fix to build with wx 2.9.5 with wx2.8 compatibility disabled.
3169
3170* cad3d: The "Sketch" vector drawing program got renamed to "Skencil" some time
3171  ago, so add a new --skencil option to specify this output format.  The old
3172  name (--sketch) is still recognised for compatibility.
3173
3174* cad3d: Make --marker-size work for Skencil and SVG output.
3175
3176* dump3d: Make --show-dates option show dates for XSECT.
3177
3178* img library:
3179
3180  + Fix to work once more when used outside of Survex (missing definition of
3181    max() macro and a bad call to free() in img_close() for a file opened for
3182    reading).
3183
3184  + Use lround() instead of round(), and make the tests around whether we use
3185    the library function or the our fallback implementation saner.
3186
3187  + Fix // comments in C code for portability to pre-C99 compilers which don't
3188    support these as an extension.
3189
3190  + Can now be compiled as C++ as well as as C.
3191
3192* (Microsoft Windows version): The installer is now built with a newer version
3193  of Innosetup, and includes translations for all the languages which Survex
3194  itself has any translations for.
3195
3196* (Microsoft Windows version): aven is now built with wxWidgets 2.9.5.
3197
3198* Minor translation updates.
3199
3200* tests/Makefile.am: Distribute files for "normal_bad" testcase.
3201
3202Changes in 1.2.7 (2013-07-27):
3203
3204* Add support for anonymous stations, which are indicated by one, two or three
3205  separator characters - with the default separator of '.', that means '.',
3206  '..', and '...' are anonymous stations.  Single separator ('.' by default)
3207  is an anonymous non-wall point, double separator ('..' by default)
3208  is an anonymous wall point at the end of an implicit splay), and triple
3209  separator ('...' by default) is an anonymous point (with nothing special about
3210  the leg).  A new *alias command allows '-' to be mapped to '..' for
3211  compatibility with pocket topo: *alias station - ..
3212
3213* New version 8 of the 3d format:
3214
3215  + Supports new flags img_SFLAG_ANON and img_SFLAG_WALL.
3216
3217  + New explicit file-wide flag for 'this is an extended elevation', rather
3218    than modifying the survey title to indicate this.
3219
3220  + The survey prefix is often unchanged from one leg to the next, so use a
3221    spare flag to compactly indicate when there's no label change.
3222
3223  + The data style of each leg is now stored.
3224
3225  + The "processed at" time is stored as seconds since 1970 rather than a
3226    human-readable string.
3227
3228  + Since 3d v8 features significant changes to the format, the format
3229    documentation for v7 and earlier has been split off into 3dformat-old.htm.
3230
3231* img library:
3232
3233  + New station flags img_SFLAG_ANON and img_SFLAG_WALL.
3234
3235  + Handle .pos files containing unnamed stations - don't suck the next line in
3236    as the station name, and set img_SFLAG_ANON for them.
3237
3238  + Repurpose the long unused fBinary parameter to img_open_write() as a flags
3239    parameter, and add img_FFLAG_EXTENDED to specify that this is an extended
3240    elevation, in place of appending " (extended)" to the title.  Internally we
3241    still append this to the title (and remove it upon reading) when writing
3242    3d v7 or earlier, but for the new 3d v8 format, this flag is stored
3243    explicitly in the file.
3244
3245  + img.h: Add comments for the lists of "Leg flags" and "Station flags".
3246
3247* aven:
3248
3249  + We now require at least wxWidgets 2.8.0 - it was released over 6 years ago
3250    now, and the wx developers consider even 2.8 to be rather long in the
3251    tooth.  We stopped testing building with wxWidgets 2.6 some time ago, and
3252    formally dropping support for older versions allows a number of workarounds
3253    to be removed from the aven source code.  Also, features deprecated in
3254    wxWidgets 2.9 are no longer used in our code.
3255
3256  + Don't run incremental search on every key-press, as on a slow machine the
3257    short initial search(es) will take a while but not be useful.  Instead only
3258    actually run the search when we're told there are no more key-presses
3259    queued up.
3260
3261  + Implement support for including cross-section information in exported SVG
3262    and DXF files (ticket#4).  The DXF export is untested currently.
3263
3264  + Show splay legs faded by default, with menu options to hide them or show
3265    them like other legs.
3266
3267  + Speed up loading a .3d file with cross-sections by using a map to convert
3268    station names to positions.
3269
3270  + In the cavern log window, don't highlight a file:linenumber if there's no
3271    message after it, which avoids highlighting the "Included from" lines
3272    wrongly.
3273
3274  + Fix not to crash when trying to report an error while starting up.
3275
3276  + (MacOS X version): Change the menu shortcut for "Full Screen Mode" to be
3277    the OS X standard shortcut Shift-Command-F (previously we used F11, but
3278    that's used by the desktop).
3279
3280  + Add checks for errors when reading the font file.
3281
3282  + Remove useless extra quoting when invoking vim to show the location of an
3283    error from cavern.
3284
3285  + Include GL/gl.h before GL/glext.h (needed on Debian wheezy).
3286
3287  + Use wxValidator to simplify keeping svxPrintDlg member variables and fields
3288    in the dialog in sync.
3289
3290* cavern:
3291
3292  + Demote errors about invalid dates to warnings, since we've accepted *date
3293    for ages without any checks on the value, and so existing datasets
3294    probably contain invalid dates and dates in other formats.  (ticket#19)
3295
3296  + New *alias command allows '-' to be mapped to '..' for compatibility with
3297    pocket topo: *alias station - ..
3298
3299  + We want to warn if there's a clino reading which it would be impossible to
3300    have read from the instrument (e.g. on a -90 to 90 degree scale you can't
3301    read "93" (it's probably a typo e.g. for "39").  However, the gradient
3302    reading from a topofil is typically in the range 0 to 180, with 90 being
3303    horizontal.  Really we should allow the valid range to be explicitly
3304    specified, but for now we infer it from the zero error - if this is within
3305    45 degrees of 90 then we assume the instrument can read between 0 and 180
3306    degrees.
3307
3308  + If the survey isn't all connected, still run survey tree checks and report
3309    errors and/or warnings which might suggest typo locations.  Thanks to Kevin
3310    Dixon for the report which highlighted this issue.
3311
3312  + Report a warning if *begin SURVEY has a separator character in SURVEY.
3313
3314  + Report column numbers as well as line numbers for some cavern errors and
3315    warnings.
3316
3317  + Adjust width of node stats table to fit longest count when there are more
3318    than 9999 of a particular order of node.
3319
3320  + If the argument to *include has an opening double quote but the closing
3321    double quote is missing, then skip trying to open the file.
3322
3323  + Move "Station X referred to just once" warning after non-existent survey
3324    check - if both fire, the non-existent survey error is likely to be more
3325    relevant.
3326
3327  + We no longer follow an error for a bad reading in passage data with a bogus
3328    "End of line not blank" error, but instead check the remaining readings on
3329    the same line.
3330
3331  + We no longer follow an error about OMIT for a required reading with a bogus
3332    "End of line not blank" error.
3333
3334  + Report an error if the scale factor in *calibrate is zero - it doesn't make
3335    sense and probably means someone reversed the arguments to *calibrate.
3336
3337  + Report the parent include files starting from the outermost, as that's more
3338    logical when there are multiple levels involved.
3339
3340  + If we were expecting a numeric field and instead get something which starts
3341    with '+', '-', or '.' but which isn't a number, then fix the error to
3342    include that character in the token reported.
3343
3344  + Simplify handling of quantity lists to only recognise 'DEFAULT' as the
3345    first item.
3346
3347* cad3d: Check for errors from img_rewind() and report them.
3348
3349* dump3d:
3350
3351  + Build, install and package dump3d as standard - it's useful for grabbing
3352    info from 3d files in scripts.
3353
3354  + Add --show-dates option.
3355
3356  + Show only 2 decimal places on coordinates and passage dimensions.
3357
3358  + Report the data style of legs.
3359
3360  + Report if the file is an extended elevation.
3361
3362  + Report img_STOP as STOP rather than CODE_0xffffffff.
3363
3364* Test suite:
3365
3366  + cavern.tst: Fix equatenosuchstn testcase (added in 1.2.6) to normalise the
3367    expected output so it passes reliably.
3368
3369  + cavern.tst: Run diffpos <expected> <actual> so the reports of 'Added' and
3370    'Deleted' stations upon failure are the more natural way round.
3371
3372  + Add more testcases, expand some existing testcases, and add expected output
3373    for more.
3374
3375* (Microsoft Windows version): Use wx-config's --cc and --cxx flags to find the
3376  appropriate C and C++ compilers to use, and link mingw build statically to
3377  avoid needing the libgcc DLL (which newer GCC seems to have by default).
3378
3379* (Unix version): When determining the character set for command-line tools,
3380  check environmental variable LANG after LC_ALL and LC_CTYPE.
3381
3382* When determining the language, check environmental variable LC_ALL before
3383  LC_MESSAGES and LANG (but after SURVEXLANG).
3384
3385* If we don't find the message file, only give an error if it was specified
3386  with SURVEXLANG, since that is an explicit instruction to Survex, whereas
3387  LANG, LC_ALL and LC_MESSAGES are essentially system "preferred locale"
3388  settings.
3389
3390* There are a handful of hard-coded English message strings for reporting
3391  errors trying loading message files, etc.  These are all now ASCII, as if we
3392  fail trying to open a message file, it's more likely the encoding isn't
3393  set correctly.
3394
3395* Prune strings we are no longer using and are probably unlikely to use again
3396  into a new file po_codes_dead, so that translators don't get presented with
3397  them to translate.
3398
3399* Merge lots of translation updates.  Most translations are now complete or
3400  close to complete.
3401
3402* Add start of Indonesian translation from Arief Setiadi Wibowo.
3403
3404* Fix various compiler warnings when building from source.
3405
3406* Include scripts gdtconvert and gen_img2aven in the source distribution.
3407
3408Changes in 1.2.6 (2012-02-23):
3409
3410* (Mac OS X version): Fix so that cavern finds its messages when run by aven.
3411
3412* (Microsoft Windows version): Include JPEG images for aven in the installer
3413  package (ticket#35).
3414
3415* cavern: If we have a reference to a station in a non-existent survey, give a
3416  helpful error rather than saying the station hasn't been exported from the
3417  survey.  (Bug reported by Martin Green via email)
3418
3419* aven: Fix to build with a non-Unicode wxWidgets library.  Patch from Olaf
3420  Kahler.
3421
3422* findentrances: Add findentrances utility from Olaf Kahler which produces a
3423  .gpx file with waypoints for entrances.  This needs libproj so is disabled
3424  by default for this release - to enable it install the development stuff for
3425  libproj and build survex with:
3426
3427      make FINDENTRANCES=findentrances
3428      make install FINDENTRANCES=findentrances
3429
3430* dump3d: Add support for showing img_ERROR_INFO items.
3431
3432* doc/3dformat.htm: Merge in some improvements from Mike McCombe.
3433
3434* Incorporate a French translation from launchpad I'd previously copied the
3435  English version of by mistake.  Attempt to correct mistranslation of "survey
3436  file".
3437
3438Changes in 1.2.5 (2012-01-03):
3439
3440* aven:
3441
3442  + The survey tree in the left panel is now in sorted order once more.
3443
3444  + No longer fails with an assertion if used for a long time (we were leaking
3445    an OpenGL list each time one had to be regenerated).
3446
3447  + Now builds with newer FFmpeg library.
3448
3449  + Draw measuring line in front of the indicators rather than behind them.
3450
3451  + Loading a new file (or reloading the current one) no longer invalidates
3452    the OpenGL lists for the compass and clino, so will be a fraction faster.
3453
3454* Improve handling of attempts to look up translated messages before the
3455  message subsystem is fully initialised (which only happens if there's an
3456  error early on).
3457
3458* Improve the survex(7) man page text, and fix it to be marked as section 7 in
3459  the man page source as well as in the filename.
3460
3461Changes in 1.2.4 (2012-01-01):
3462
3463* aven:
3464
3465  + A change in 1.2.3 meant that aven tried to use OpenGL before it was
3466    initialised, which doesn't cause problems in some machines, but causes aven
3467    to abort on others.  This is now fixed, and there's a check in place to
3468    help avoid similar issues in future. (ticket#34)
3469
3470  + Always use metres or feet for the depth colour key, and chose a consistent
3471    precision by looking at the depth range. (ticket#30)
3472
3473  + Show the depth units below the colour bar rather than after every value.
3474
3475  + When zooming way in, stay in metres rather than switching to cm.
3476
3477  + On the scale bar, say “1 mile” rather than “1 miles”.
3478
3479* Translation updates for Catalan, French and Slovak.
3480
3481Changes in 1.2.3 (2011-12-31):
3482
3483* Fix to build with wxWidgets 2.9.2.
3484
3485* (Mac OS X version):
3486
3487  + Processing .svx files from aven now works.
3488
3489  + Remove spurious blank lines from the licence text in "Get Info".
3490
3491  + Don't create the help menu at all, as it is empty (because the "About"
3492    entry goes elsewhere) and sometimes seems to appear in the UI.
3493
3494  + INSTALL.OSX: Update to reflect current status.
3495
3496* aven:
3497
3498  + Fix Y coordinates of surface surveys on printouts.  (Closes #32)
3499
3500  + Improvements to text plotted on the survey pane:
3501
3502    - Support plotting Unicode character points > 256 by lazily loading the
3503      data for them from the font file and plotting them with a direct call to
3504      glBitmap(), which is slower but doesn't require a display list per
3505      character.
3506
3507    - Adjust the spacing from fixed width to putting a one pixel gap either
3508      side of each one character (so two between adjacent glyphs).  Mostly this
3509      reduces the horizontal width, but it adds a pixel for characters like "m"
3510      and two in a few cases.
3511
3512    - Fix .pixelfont file generation to correctly handle characters wider than
3513      8 pixels.
3514
3515  + Fix expected cross shape so don't always reject using texture mapping to
3516    draw crosses.
3517
3518  + As we read a survey file, eliminate tubes consisting of zero XSECTs as well
3519    as those consisting of just one.  Previously we would trip over the empty
3520    tube later.  Such tubes can for example be created by extend if a splay shot
3521    is the start or end of a tube.
3522
3523  + Make the green colour used for entrances in the survey tree the same
3524    (slightly darker than before) green used for the entrance blobs.
3525
3526  + Report the version of the library we're actually running with if built
3527    against wx >= 2.9.2.  Make it clear that the version reported is the
3528    version *built* with for wx < 2.9.2.
3529
3530* extend:
3531
3532  + Copy the end markers for passage tubes.
3533
3534  + Preserve left and right data for tubes (previously they were set to -1.0
3535    which means "no info").
3536
3537* img library: Fix incorrect comment in img.h which claimed that img_XFLAG_END
3538  was no longer used - it certainly is!
3539
3540* Use curly double quotes instead of "`" and "'" to quote filenames, etc in
3541  messages, and curly single right quote instead of straight ASCII apostrophe.
3542  Fall back to using straight ASCII versions if we can't represent them in the
3543  current character set.
3544
3545* Translation updates for Catalan, French, Slovak and Spanish.
3546
3547* Test suite:
3548
3549  + Add test coverage for interleaved diving data.
3550
3551  + Add testcase for diving data with topofil-style distance.
3552
3553Changes in 1.2.2 (2011-10-06):
3554
3555* aven:
3556
3557  + Replace the textured-mapped font drawing with an approach based on
3558    glBitmap.  This doesn't suffer from the character alignment issues which
3559    the textured-mapped fonts had, and is actually significantly faster on some
3560    machines.  The current font used is (mostly) fixed-width, but this isn't an
3561    inherent limitation - it was just the easiest font data to convert to a
3562    usable format.
3563
3564  + Fix assertion failure due to rounding differences on loading certain .3d
3565    files.  (ticket#26)
3566
3567  + Fix assertion failure when turning on 3D passages if they stick out higher
3568    or lower than any station.  (ticket#29)
3569
3570  + Fix grid not to disappear when blobs are turned on and blobs are drawn
3571    using lines.
3572
3573  + If a degree sign isn't available in the character set in use, transliterate
3574    it to 'dg' rather than skipping it.
3575
3576  + Fix message which should have been a degree sign but got lost in the format
3577    change for 1.2.0 and then got reassigned in 1.2.1.  Externally, this means
3578    that bearings in the status bar now have a degree sign after them if they
3579    are in degrees rather than nothing (1.2.0) or "&Hide Compass" (1.2.1).
3580
3581  + Fix print dialog to calculate the scale required for "One page" right
3582    before it calculates how many pages are required, so we don't end up
3583    something other than 1x1 being shown when the user changes settings.
3584
3585  + Update the calculations for picking a scale and for deciding how many
3586    pages are needed to take into account the change in info box height made
3587    in 1.2.1.
3588
3589Changes in 1.2.1 (2011-10-04):
3590
3591* Translation updates for US English.
3592
3593* aven:
3594
3595  + Rename the "depth bar" to "colour key" in documentation, menus, etc since
3596    it now shows colours for dates and errors as well as depths.
3597
3598  + In the colour key for "colour by date", change "No info" to "Undated".
3599
3600  + Remove the dark grey background from the colour key and just put a single
3601    pixel black border around the colours.  This is more in keeping with the
3602    other controls, and means the colours are now on a black background so more
3603    visually similar to the survey legs.
3604
3605  + Move the colour key's "Undated"/"Not in loop" entry down a little to
3606    improve the appearance.  Make each section a pixel taller.
3607
3608  + Allow "Colour by X" to be selected even if there's no data for X or only a
3609    single value of X used (the colour key is much smaller in these cases, and
3610    does still provide some useful information).
3611
3612  + Fix incorrect calculation of depth colouring for survey legs which straddle
3613    a depth band boundary.
3614
3615  + The scale bar, compass, clino, and colour key now all have right click
3616    menus which allow related actions to be performed (especially handy in
3617    full-screen mode).
3618
3619  + Improve the font used on the survey pane - it now contains the '-'
3620    character (so the clino now shows negative angles as negative, and dates
3621    in the colour key are now hyphenated).  Also the spacing and alignment
3622    are a little better, though still not perfect.
3623
3624  + PLT file export now handles spaces and control characters in station names
3625    by escaping them with '%' as in URLs.
3626
3627  + Pressing "Enter" on a station in the tree control now centres the view on
3628    that station.
3629
3630  + The scale bar is now cached in an OpenGL display list since it often gets
3631    redrawn exactly the same - for example, when rotating, panning, etc.
3632
3633  + Pressing "F5" forces all cached OpenGL drawing lists to be invalidated and
3634    then forces a refresh of the survey pane.  This is intended as a debugging
3635    aid - if pressing F5 changes the display at all then there's a missing case
3636    where a list should have been invalidated (please report if you find such
3637    a case as it is a bug).
3638
3639  + We now automatically track which OpenGL display lists need to be
3640    invalidated on window width or height changes.
3641
3642  + Increase scale bar maximum width from 65% of the window width to 75% as it
3643    was in 1.0.x (except that if that would overlap the clino we now reduce
3644    that proportion down until it reaches 50%).  Make the limit of zooming in
3645    the same as in 1.0.x.  (ticket#23)
3646
3647  + (Linux version): Previously wxGTK didn't really handle showing a dialog if
3648    the application was fullscreen (the dialog got opened under the main
3649    window!)  To work around this, aven would switch out of full screen mode
3650    temporarily while showing a dialog.  This case works properly with recent
3651    wxGTK, so disable our workaround with versions we know work.  Also, apply
3652    the workaround only for wxGTK, not everywhere except on Microsoft Windows
3653    as there's no reason to think we need it for other platforms.
3654
3655  + Grey out the "View North" action when we're already viewing North, and
3656    similarly for other compass points.
3657
3658  + (Mac OS X and Microsoft Windows versions): Fix missing newline to OpenGL
3659    info in the "About" dialog.
3660
3661  + Fix to set the correct filename on the root of the survey tree - previously
3662    the filename of the previous file loaded was used!
3663
3664  + The movie export code now works with newer versions of the FFmpeg libraries
3665    as well as still working with older versions.
3666
3667  + Fix mixed up messages - the print dialog now says "View" on the left
3668    subgroup of controls rather than some unrelated message.
3669
3670  + On printouts, combine the "Plan View"/"Elevation" info box field with the
3671    field which gives the bearing and reduce the height on the info box by the
3672    removed field, so it's now 3cm for plans and elevations, as for extended
3673    elevations.  Report the tilt angle for tilted elevations which it seems has
3674    been missing for ages (it's not in recent 1.0.x either).
3675
3676  + Tweak the exact positioning of informational text on printouts to look
3677    nicer and make better use of the available space.
3678
3679  + Add keyboard mnemonics to the "Plan" and "Elevation" buttons in the print
3680    dialog.
3681
3682  + Make the sign of the tilt angle for printouts consistent with the sign
3683    shown by the "clino" in the survey pane.
3684
3685  + In the "Print" dialog, when in plan view disable the "Plan view" button,
3686    and similarly for the "Elevation" button.
3687
3688  + (Microsoft Windows version): Sort out appearance of custom cursors.
3689
3690  + If a label isn't valid UTF-8 or CP1252, fall back to ISO8859-1.
3691
3692  + (Mac OS X version): F11 puts aven into full screen mode, but apparently
3693    you can't get out again easily, so add code to explicitly check for F11
3694    being pressed and toggle full screen.
3695
3696* (Linux version): Fix the RPM .spec file for where man pages now get installed
3697  and package aven.svg and the vim support files.  (Fixes from James Begley)
3698
3699* "make check" now performs several checks on the translation files.
3700
3701* More messages are now available to be translated.
3702
3703* cavern: Fix reporting of ranges of survey coordinates, which was broken by
3704  the message handling changes in 1.2.0.
3705
3706* Fix warning when compiling with GCC.
3707
3708* INSTALL: Mention building wxWidgets with --enable-unicode.  Mention using
3709  sudo for installing on Unix.
3710
3711* In the manual, replace the instructions for building from source with a
3712  pointer to the clearer instructions in INSTALL.
3713
3714* In the manual, make it clear that installing with administrator rights
3715  also applies to newer platforms than XP.
3716
3717* doc/TODO.htm: Update.
3718
3719Changes in 1.2.0 (2011-09-20):
3720
3721* Translation updates for Catalan, French, Romanian, Spanish, Slovak, and US
3722  English.
3723
3724* tests/smoke.tst: aven no longer requires an X display for --help or
3725  --version, so replace skip of this check with a check that this remains the
3726  case.
3727
3728* We now use the standard .po and .pot file formats for storing translations
3729  (rather than the Survex-specific messages.txt format), and then translate
3730  these into Survex's .msg format.
3731
3732* (Unix version): Move survex man page to section 7 (since it isn't documenting
3733  an actual command).
3734
3735* (Unix version): Write each generated man page to a temporary file, then
3736  atomically rename, to avoid leaving an empty or partial man page behind if
3737  docbook-to-man dies (1.1.16 had an empty cad3d.1, and we want to avoid a
3738  recurrence of that).
3739
3740* (Unix version): Default to installing docs into /usr/share/doc/survex rather
3741  than /usr/doc/survex.
3742
3743* aven:
3744
3745  + Fix handling of accented characters in the survey pane.
3746
3747  + Aven icon redrawn in SVG format - it's now a vector image which looks
3748    nicer at larger sizes.
3749
3750  + Explicitly request double-buffering, which seems to be needed for systems
3751    with GLX >= 1.3.
3752
3753  + Fix crash while trying to load certain .3d files.
3754
3755  + Movie export code updated to work with more recent versions of FFmpeg.
3756    Currently this is disabled in Microsoft Windows builds, pending getting the
3757    required libraries set up for building releases.
3758
3759  + Reporting of errors during movie export improved.
3760
3761  + Force playback speed to "x1" during movie export.
3762
3763  + Use stock IDs for buttons where appropriate - such buttons may now be
3764    rendered with icons on some platforms.
3765
3766  + If a label isn't valid UTF-8, treat it as CP1252 (the Microsoft superset of
3767    ISO8859-1).
3768
3769  + (Unix version): Remove special handling for toggling "full screen" on wxGTK
3770    as it's no longer required with modern versions.
3771
3772  + Don't redraw the survey on every mouse movement in the survey pane unless
3773    the measuring line is (or just was) active.  (ticket #17)
3774
3775* cavern:
3776
3777  + Drop "non-fatal" from the report of how many errors there were at the end
3778    of the run - it just confuses users - we won't even get here if there's a
3779    fatal error!
3780
3781  + Add --3d-version option to allow the user to specify the version of the 3d
3782    format to output.  (ticket#21)
3783
3784* img library:
3785
3786  + Make the highest and lowest valid values for img_output_version available
3787    in img.h as IMG_VERSION_MIN and IMG_VERSION_MAX.
3788
3789* (Mac OS X version): Fix buildmacosx.sh script to check where the temporary
3790  volume actually gets mounted.  Fix URL for downloading wxWidgets.
3791
3792Changes in 1.1.16 (2011-05-16):
3793
3794* Translation updates for German, Spanish, Italian, Portuguese, Brazilian
3795  Portuguese, and US English.
3796
3797* Use horizontal ellipses character rather than '...' and right arrow character
3798  rather than '->' where these characters are available.
3799
3800* (Unix version): Link with -lGL, if it exists, to support linking with gold or
3801  GNU ld --as-needed (Debian bug #615781).
3802
3803* img.c:
3804
3805  + Fix code typo for IMG_API_VERSION == 0 case.
3806
3807  + Fix code typo in code used when IMG_HOSTED isn't defined.
3808
3809* doc/TODO.htm: Remove entries which have now been done.
3810
3811* (Microsoft Windows version): aven: We now include all the available
3812  translations for messages from wxWidgets, which means that standard widgets
3813  will appear translated where available even if Survex messages aren't
3814  translated.
3815
3816Changes in 1.1.15 (2010-10-15):
3817
3818* aven:
3819
3820  + In the cavern log window, change the "Rerun" button to "Reprocess" to
3821    follow terminology in manual and elsewhere.  Fixes ticket#15.
3822
3823  + When displaying output from cavern, don't update the window after every
3824    line, but only when we don't have data from cavern pending.  Hopefully
3825    addresses ticket#12.
3826
3827  + If we aren't using GL_POINTS for blobs, draw them using a series of
3828    abutting lines rather than with gluDisk which is faster and gives a
3829    consistent shape.
3830
3831  + Check whether blobs and crosses actually render correctly as points/point
3832    sprites, and if they don't, fall back to drawing them with lines.  The
3833    best method is cached on disk, and rechecked automatically if the graphics
3834    hardware is changed or the drivers upgraded.
3835
3836  + Fix non-USE_FNT case to work again (it's limited to ISO-8859-1 characters
3837    though, so we still enable USE_FNT by default).
3838
3839  + Don't offer "All files" wildcard in presentation save dialog.
3840
3841  + (Microsoft Windows): Handle filenames with non-Latin1 characters in in
3842    more places.
3843
3844  + (Microsoft Windows): Quote filenames with spaces and metacharacters in
3845    when running cavern from aven.  Fixes ticket#11.
3846
3847* editwrap: (Microsoft Windows): Handle filenames with non-Latin1 characters.
3848
3849* diffpos: Handle files with duplicate labels in better - extend generates
3850  duplicate labels when it breaks a loop.
3851
3852* Enable eswap-break testcase now that diffpos handles duplicate station names.
3853
3854* New v7 of .3d format which stores survey dates as number of days since
3855  January 1st 1900, so we now support dates from 1900-2078 (rather than
3856  1970-2037) with a smaller file size.  The img API is now versioned - you
3857  can select the new "version 1" by compiling with -DIMG_API_VERSION=1, which
3858  gives the survey dates in days in days1 and days2 instead of as time_t
3859  values in date1 and date2.  Fixes ticket#14.
3860
3861* Consistently use http://survex.com/ rather than http://www.survex.com/ - the
3862  former has been the canonical name for some time, with www.survex.com just
3863  redirecting to it.
3864
3865* (Unix version): Use unlocked file I/O if available, which can be much faster
3866  in some cases (we don't need the locking as we don't do multithreaded file
3867  I/O).
3868
3869* (Mac version): Fix compilation failure due to clash with Point in Mac OS X
3870  headers.
3871
3872* (Mac version): buildmacosx.sh now works again.
3873
3874* Most tests weren't actually running any testcases (looks like a sh
3875  portability issue).  This is now fixed, and fortunately all tests still pass.
3876
3877* Include the extra .isl translation files for Innosetup in the source archive.
3878
3879Changes in 1.1.14 (2010-07-26):
3880
3881* Restore compatibility with wxWidgets 2.6 (1.1.13 required wxWidgets 2.8).
3882
3883* aven:
3884
3885  + After processing survey data, if there were warnings or errors, add a
3886    "Rerun" button to allow easy reprocessing after fixing problems.  If there
3887    were only warnings, also add an "OK" button to allow moving on to viewing
3888    the processed survey data (fixes ticket#13).
3889
3890  + Optimise updating of the cavern log window (hopefully fixes ticket#12).
3891
3892  + Fix links in cavern log window to link from exactly '<file>:<line>' (and
3893    not the ': ' after), and to make the title for the terminal the
3894    warning/error message.  Avoid false positives by checking that '<line>' is
3895    a number.
3896
3897  + Don't double escape the contents of href and target in links in the cavern
3898    log window.
3899
3900  + Improve handling of the splitter window, fixing behavioural glitches in
3901    various cases.
3902
3903  + Highlight stations matching any current search when a file is loaded.
3904    (ticket#9)
3905
3906  + (Mac version): Fix build issue due to Mac OS X polluting the global
3907    namespace with its own "Point" class.
3908
3909  + (Unix version): The Gnome print dialog has its own preview window so
3910    suppress ours if using the Gnome one.
3911
3912  + (Unix version): Link aven with -lGLU which SuSE Linux needs.
3913
3914  + (Microsoft Windows version): Fix handling of a double-click on the survey
3915    tree when built with wxWidgets >= 2.8.11.
3916
3917* cavern: Report relevant file and line number for three warnings which didn't
3918  give them before.
3919
3920* (Unix and Mac versions): configure: Update the wx-config probing code -
3921  wxmac-config etc aren't present with newer wxWidgets versions so there's no
3922  point looking for them now.
3923
3924* (Mac version): buildmacosx.sh: This script builds a diskimage with Survex in
3925  for easy installation.  Update it to work with the latest Survex versions
3926  (use WX_CONFIG not WXCONFIG; use a Unicode build of wxWidgets; if building a
3927  private wxWidgets, use 2.8.11 not 2.7.0-1).
3928
3929* manual:
3930
3931  + Correctly capitalise "GTK".
3932
3933  + Note that on Linux we only regularly test builds with the GTK+ version
3934    (change taken from 1.0).
3935
3936* Fixed the cad3d man page, which was an empty file in 1.1.13.
3937
3938Changes in 1.1.13 (2010-06-16):
3939
3940* Say "wxWidgets" instead of "wxWindows" consistently.
3941
3942* img.c: Fix small memory leak (filename_opened member).
3943
3944* cad3d, aven: Fix export to SVG when a label contains a '%' character.
3945
3946* aven:
3947
3948  + wxWidgets 2.6.0 or newer is now required.
3949
3950  + A "Unicode" build of wxWidgets is now supported.  An "ANSI" build may still
3951    work but hasn't been tested recently (all packaged versions of wxWidgets
3952    seem to be Unicode now).
3953
3954  + Fix potential uses of uninitialised variables which may have been causing
3955    occasional glitches when loading a file on start-up.
3956
3957  + Improvements to the handling of the font used for plotting labels and other
3958    text on the survey pane:
3959
3960    - Loading the font file is more efficient.
3961
3962    - Character spacing is improved.
3963
3964    - Default font is now anti-aliased.
3965
3966  + "About" dialog:
3967
3968    - Add "Copy" button to copy the system info to the clipboard for easier
3969      bug reporting.
3970
3971    - List OpenGL extensions last, since there are usually lots of them with a
3972      modern gfx card.
3973
3974    - Fix 100% CPU usage while the "About" dialog is open.
3975
3976  + Processing .svx files:
3977
3978    - Passing a .svx file on the command line now works better.
3979
3980    - Put the survey data log window in a splitter in the usual frame rather
3981      than opening a separate frame for it.
3982
3983    - Auto-scroll the log window until we've reported a warning or error.
3984
3985    - Fix small memory leak.
3986
3987  + The presentation filename now defaults to using the basename of the
3988    currently loaded dataset, but we always prompt before we first save with
3989    such a name.
3990
3991  + Reduce memory usage when saving a screenshot.
3992
3993  + Allow "Toggle Fullscreen" to work even if no survey is loaded now that we
3994    persist the window size (and maximised or fullscreen state) between
3995    invocations.
3996
3997  + Fix reporting of OpenGL errors.
3998
3999  + Fix glitches when tilting while looking East.
4000
4001  + Added Portuguese and Slovak translations of wxWidgets messages.
4002
4003* Documentation:
4004
4005  + Rationalise manual formats - replace PostScript with PDF and drop RTF.
4006
4007  + Drop the "alternative manual formats" self-extracting zip file - people
4008    will generally just want one of the formats, so downloading several
4009    together isn't very useful.
4010
4011  + 3dformat.htm: Update for v6 format (thanks to Mike McCombe).
4012
4013  + GPL.htm: Replace HTML version of licence with a link to the version on
4014    the FSF website.
4015
4016  + ChngeLog.htm: Stop generating an HTML version of the ChangeLog - it's too
4017    low level to be of interest to non-developers, and developers can look at
4018    the source code.
4019
4020* (Unix version): configure: New preferred name for specifying wx-config script
4021  is WX_CONFIG.  WXCONFIG still supported for compatibility.
4022
4023* (Linux version): Source RPM package dropped as you can just build an RPM
4024  package from the source tarball.
4025
4026* (Microsoft Windows version): The installer is now created with a newer
4027  version of InnoSetup, which gives a 10% smaller download.
4028
4029Changes in 1.1.12 (2007-02-07):
4030
4031* aven:
4032
4033  + Remember the window size or maximised/fullscreen state between invocations.
4034
4035  + Add options dialog to "Export" similar to the one for "Print".
4036
4037  + The "number of pages required" in the print dialog now updates when you
4038    change what is to be shown (underground legs/surface legs/station
4039    names/crosses).
4040
4041Changes in 1.1.11 (2006-11-25):
4042
4043* Updated Czech, Spanish, and Slovak translations.
4044
4045* (MacOS X version): Assorted OS X specific tweaks and fixes.
4046
4047* aven:
4048
4049  + Pick a smaller and clearer font for labels.
4050
4051  + Fix character spacing.
4052
4053  + Tweak display of bearing and elevation angles to look nicer with
4054    proportional fonts.
4055
4056  + Use the title from the 3d (or plt, etc) file for the window title
4057    rather than the filename.
4058
4059  + Show distances to 2 decimal places rather than the nearest integer.
4060
4061  + Only consider underground legs when calculating the depth bands and
4062    depth colouring.
4063
4064  + Add "Colour by Error".
4065
4066  + Add entry for "white" in date and error keys.
4067
4068  + When setting the view to a single point, don't change the scale.
4069
4070  + If reloading the same file, don't change the view
4071
4072  + Fix filetypes selector in open dialog.
4073
4074  + Fix the charset we use for aven in certain cases.
4075
4076  + Call msg_init before using msg_lang or it won't ever be set!
4077
4078  + Pass wx the full language code to initialise the C library locale.
4079
4080  + Fix bug in generating prefix tree view which could lead to a bogus
4081    leading dot on some survey names (bug probably introduced in 1.1.10).
4082
4083  + "New Presentation" now ensures that the side panel is open
4084
4085  + Fix updating of cached opengl lists when the view is reset to the
4086    default.
4087
4088* Ignore LANG if it starts with a digit to avoid problems with bogus value for
4089  LANG which AutoCAD installation seems to set on MS Windows.
4090
4091* (Unix version): configure: Allow SGMLTOOLS and DOCBOOK_TO_MAN to be
4092  specified.  Either/both can be set to ":".
4093
4094* dump3d: Report unknown (to dump3d) codes returned by img.
4095
4096* img library: Flag all stations as underground in the old "ASCII" .3d format.
4097
4098Changes in 1.1.10 (2006-07-14):
4099
4100* aven: Clicking on a survey name in the survey tree now highlights it in
4101  the map view.  Double-clicking zooms the view to show the clicked survey
4102  highlighted.  Clicking the root clears the highlighting and double-clicking
4103  the root restores the default view.  To expand/collapse a branch, click
4104  on the "[+]" or "[-]" icon to the left of the survey name.
4105
4106* aven: The measuring line can now measure to anywhere in plan or elevation
4107  view (not just to a station!)  In plan view the horizontal distance and
4108  bearing are shown, while in elevation view the vertical distance is shown.
4109
4110* aven: Moving the mouse over a station in the survey view now highlights
4111  that station in the survey tree (though it may not be visible if the
4112  survey(s) it is in aren't expanded).
4113
4114* aven: Clicking on a station to centre the view now moves the mouse pointer
4115  to the new location of the station (except on Mac OS X where this isn't
4116  allowed).
4117
4118* aven: Fix which presentation toolbar buttons are shown as depressed.
4119
4120* Fix infinite loop reading 3d files with LRUD data (bug introduced in 1.1.9).
4121
4122* vim files are now installed with the correct paths (bug introduced in 1.1.9).
4123
4124Changes in 1.1.9 (2006-07-04):
4125
4126* (Unix version): Install desktop files for aven and svxedit contributed to the
4127  Ubuntu package by Phil Bull, and corresponding pixmaps.
4128
4129* Fix img to filter out cross-sections which don't match the subsurvey (if
4130  specified).  The API now returns img_XSECT_END to mark the end of a
4131  passage rather than setting a flag on the last img_XSECT of the passage.
4132
4133* Enhance integration with the vim editor - this can now colour .err files, run
4134  cavern from vim and parse error output, and run aven from vim.  Tweak the
4135  existing vim mode for .svx files to fix a few minor bugs and add support for
4136  the new "*data passage" style.
4137
4138* aven: fix drawing of the "blob" end of the measuring line on graphics cards
4139  which can't draw large enough blobs for us.
4140
4141* aven: sort out confusion about what encoding everything is in which means
4142  that the distance measured by the measuring line actually gets displayed
4143  and also fixes problems with empty menu items in non-English locales in
4144  some cases.
4145
4146* aven: redraw grey background after a menu is closed over the aven window
4147  with no survey loaded.
4148
4149* aven: fix bug which caused printing to crash (introduced in 1.1.8).
4150
4151* aven: avoid crash on some machines when opening "About" dialog before having
4152  loaded a survey.
4153
4154* aven: Translate "Plan" and "Elevation" buttons in print view dialog.
4155
4156* (Unix version): aven: Fix character set handling of cavern output.
4157
4158* cavern: Report an error if a cross-section is specified for a station which
4159  doesn't exist.
4160
4161* Updated French and Italian translations.
4162
4163* (Unix version): aven: Fix "Can't open message file `en_US' using path
4164  `${prefix}/share/survex'" error.
4165
4166* Fix bug in 3d file reading on 64 bit platforms when used in STANDALONE mode
4167  (doesn't affect Survex itself, but other applications which use img.c should
4168  update their copy).
4169
4170* (Unix version): Add checks that wxWidgets is a non-unicode version (wx 2.6
4171  and later are caught by configure, whereas older wx versions are caught when
4172  trying to compile).
4173
4174Changes in 1.1.8 (2006.06.30):
4175
4176* Drop support for building with wxWidgets versions prior to 2.4.0
4177  (which was released on 2003-01-07).
4178
4179* aven: Printing through aven now uses settings from the "[aven]" section
4180  of print.ini, and support for hierarchical sections (using "like=")
4181  has been disabled.
4182
4183* aven: Change mouse actions to be compatible with those in Survex 1.0.
4184  The mousewheel now zooms in/out (it doesn't do anything in 1.0) and
4185  left drag is now smart about not rotating and zooming at the same
4186  time.
4187
4188* aven: Highlighting stations now happens as you type, and pressing
4189  "Enter" or clicking the "Find" button now pans and zooms to show the
4190  highlighted stations.
4191
4192* aven: Left-clicking away from a station now cancels measuring line.
4193
4194* aven: Setting view to North, South, East, or West is now animated like
4195  the tilt from plan to elevation.
4196
4197* aven: Fix presentation saving to also write "." for decimal points and
4198  presentation loading to accept either "." or ",".
4199
4200* (Unix version): aven: Add text for all toolbar items so that aven
4201  will work with the Gnome desktop preference for displaying toolbars as
4202  icons with text or just text (wxWidgets needs fixing first though).
4203
4204* (Unix version): aven: Remove the ability to detach the menu bar (yell
4205  if you actually used it and I'll restore it!)
4206
4207* aven: Add "all survey files" option to the "open file" dialog.
4208
4209* (MS Windows version): aven: Fix cursor keys to pan survey.
4210
4211* (MS Windows version): Built with wxWidgets 2.6.3 instead of 2.6.2.
4212
4213* (MS Windows version): Fix installer to work on Windows 2000 or XP if
4214  run by an unprivileged user.
4215
4216* (MS Windows version): Upgrade to the latest version of InnoSetup (the
4217  installer builder we use) and include new installer translations for
4218  UK English, Spanish, Brazilian Portuguese, Italian, Romanian, and Slovak.
4219
4220* (MS Windows version): aven: Include Catalan and Brazilian Portuguese
4221  translations of messages for wxWidgets (the GUI library we use).
4222
4223* aven: Disable "Highlight exported points" if there aren't any.
4224
4225* Updates to French translation from Michel Bovey.  Also updates to German,
4226  Italian, Catalan, Spanish, and Romanian translations.
4227
4228* (Unix version): test suite: fix smoke test to pass even without X running
4229  (it was meant to but the code had a bug).
4230
4231* aven: Check if OpenGL is available and exit cleanly with a helpful error
4232  if it isn't.
4233
4234* (Unix version): aven: Fix --help and --version to work without a working
4235  X display (provided it's built with wxWidgets 2.5.1 or newer).
4236
4237* aven: Automatically select the presentation tab of the notebook when the user
4238  selects "New Presentation" or "Open Presentation".
4239
4240* aven: Fix "Delete" in the presentation list to not get passed on (and so not
4241  reset to default view as well).
4242
4243* aven: Fix Ctrl+Insert in the presentation list not to segfault if the list is
4244  empty.
4245
4246* aven: Fix Cursor Up and Down in the presentation list to move the highlight
4247  up and down instead of being passed on and moving the survey.
4248
4249* aven: Improve SVG output compatibility.  Tested with Mozilla Firefox 1.5,
4250  Adobe's SVG browser plugin, Gimp 2.2.8, Gqview 2.0.0, Opera 8.5,
4251  Safari 2.0.3, and InkScape 0.42.
4252
4253* aven: Put a 5mm border around exported SVG files to allow for station markers
4254  and non-zero width lines.
4255
4256* aven: Fix crash when exporting as SVG or Sketch if labels or surface data
4257  was turned on.
4258
4259* aven: Actually close the file we're exporting which fixes problems with it
4260  not always being fully written.
4261
4262Changes in 1.1.7 (2005.10.18):
4263
4264* cavern: Add validity checking for dates in *date commands (with feature
4265  test in testsuite).  A date entered as just "year" or "year.month" now
4266  becomes a date range for the relevant period (previously it became a single
4267  date near the middle of that period).
4268
4269* extend: Fixed 2 uninitialised flags (should fix erratic behaviour on
4270  with MS Windows).
4271
4272* extend: Default output name for a file called input.3d is now input_extend.3d
4273  rather than just extend.3d (which was annoying if you wanted to extend
4274  several surveys in the same directory).
4275
4276* aven: OpenGL 2.0 always includes support for point sprites so rework
4277  our check for them to include that knowledge.
4278
4279* aven: Regenerate depth bar if user switches to/from metric units.
4280
4281* aven: Don't clear the "there" mark just because the mouse pointer has
4282  moved off a station.
4283
4284* aven: When processing a .svx file, put the resultant .3d file in the
4285  same directory (since that's where we then try to load it from).
4286
4287* aven: Fix labelling of date colouring on 32 bit platforms.
4288
4289* aven: If "colour by date" is on and we load a survey with no date info
4290  (or all surveyed on the same date) then set "colour by none".
4291
4292* aven: Make the error dialog modal and remove a signal handler once it
4293  has fired to prevent endless (or seemingly endless) cascades of error
4294  dialogs.
4295
4296* aven: Enforce a minimum object volume diameter of 1m to avoid problems
4297  if a survey file with only one station in is loaded.
4298
4299* aven: Fix problems with indicators disappearing when we're drawing
4300  blobs and/or crosses the slow (but always supported) way.  (Problem
4301  introduced in 1.1.6).
4302
4303* (Unix version): aven: Really stop setting extra toolbar margin when using
4304  GTK2.0.  The attempt to fix this in 1.1.3 failed because __WXGTK12__ is
4305  set for GTK+ 1.2 or *any later release* so is true for GTK+ 2.0 too!
4306
4307* (Unix version): aven: Add details of which of wxGTK, wxMotif, and wxX11
4308  we've been compiled with, and which GTK+/Motif version where appropriate.
4309
4310* (Unix version): Fixed build on Fedora Core 3.
4311
4312* documentation: Updates to 3d file format specification from Mike McCombe.
4313
4314Changes in 1.1.6 (2005.10.10):
4315
4316* (MS Windows version): Distribution is about a third smaller than 1.1.5
4317  (mostly because mingwm10.dll is no longer required).
4318
4319* aven: If aven is asked to load a .svx, .dat, or .mak file, run cavern on
4320  it, showing cavern's output in a window (with errors and warnings clickable
4321  to load the offending file into an editor), and then loading the resulting
4322  3d file.
4323
4324* aven: Added "Colour by Date" option.
4325
4326* aven: Disable "Colour by Depth" option if there's no elevation variation.
4327
4328* aven: Don't crash if trying to load a survey with no elevation variation.
4329  Instead turn off depth colouring.
4330
4331* aven: Export as HPGL added.
4332
4333* aven: Improved update of mouse coordinates and measuring line (thanks to
4334  Martin Green).
4335
4336* aven: Show the coordinates of either the mouse pointer or the nearest
4337  survey station to it (if there is one near enough).  Showing both was
4338  confusing and meant the status bar overflowed on smaller displays.
4339
4340* aven: When printing an extended elevation, don't show bearing and elevation.
4341
4342* aven: Don't lock "flat" surveys which aren't extended elevations - a
4343  flat survey with LRUD data isn't flat any more!
4344
4345* aven: When we have to draw blobs and crosses the slow way (because the
4346  graphics hardware doesn't support the fast way), draw them so that they
4347  should appear at the correct depth into the 3D scene instead of on top
4348  of everything else.
4349
4350* aven: Make "play presentation backwards" icon green to match the other
4351  presentation icons.
4352
4353* (MS Windows version): aven: Mouse clicks on the survey view now set the
4354  keyboard focus there.
4355
4356* (MS Windows version): aven: Fix first redraw of a newly loaded survey.
4357
4358* (MS Windows version): aven: Fix redrawing of measuring line.
4359
4360* cavern: Store dates for img_XSECT.
4361
4362* cavern: Fixed small one-off memory leak if you specify -o more than once.
4363
4364* (Unix version): Check environmental variable LC_MESSAGES when deciding what
4365  language to use for messages.
4366
4367* (MS Windows version): "Print" on a 3d file now prints through aven rather
4368  than the separate printer driver (Unix has done this for some time).
4369
4370* Removed old printer drivers.
4371
4372* img library: When creating a 3d file, ignore img_XSECT if we've been asked
4373  to write a file format version which doesn't support it.
4374
4375Changes in 1.1.5 (2005.09.20):
4376
4377* (MS Windows version): aven: Fixed crash on start-up (introduced in 1.1.4).
4378
4379* aven: Make blobs round like they are in Survex 1.0.
4380
4381* aven: If the graphics drivers don't support drawing blobs using OpenGL
4382  point markers, fall back to drawing filled circles.
4383
4384* aven: If the graphics drivers support it, draw crosses as texture mapped
4385  OpenGL point markers which is much faster.
4386
4387* aven: Cross size increased to match Survex 1.0.
4388
4389* aven: We must update which blobs are displayed if display of surface or
4390  underground legs is toggled.
4391
4392* cavern: Fix handling of a *solve followed by survey data, none of which is
4393  attached to the previous data.
4394
4395* cavern: Fixed "No survey data" error when a *solve is followed by another
4396  *solve (or the implicit solve at the end of processing) with no data between
4397  them.
4398
4399Changes in 1.1.4 (2005.09.19):
4400
4401* aven: Added Aven's icon to the "About" dialog.
4402
4403* aven: Use localised character for the decimal point (e.g. "," in most
4404  continental European countries).
4405
4406* aven: Previously the survey tree would get focus and then take keypresses
4407  (e.g. "P", "L", "Delete").  Now we pass most keypresses across so they
4408  operate on the cave, and transfer the input focus across when we do.
4409
4410* aven: Make pressing "Return" in the tree control expand/collapse a subtree.
4411
4412* aven: Speed up intialisation by delaying creation of OpenGL lists until
4413  they're needed.
4414
4415* aven: Added Mark Shinwell's bounding box with shadow of the survey.
4416
4417* aven: Disable the "Tubes" button/menu item when there's no LRUD data.
4418
4419* aven: Reworded "Restore Default Settings" as "Restore Default View".
4420
4421* (Unix version): aven: Set sensible default margins for printing and preserve
4422  any margin values the user specifies between runs (previously margins
4423  defaulted to 0 each time aven was run).
4424
4425* Documentation: Document *DATA PASSAGE in the manual.
4426
4427Changes in 1.1.3 (2005.09.07):
4428
4429* (Microsoft Windows version): Fixed build problems.
4430
4431* cavern: Allow OMIT character (-) for left/right/up/down.
4432
4433* aven: Remove an unnecessary menu separator.
4434
4435* aven: Fix "Find" and "Hide" toolbar buttons to work with GTK2.0.
4436
4437* aven: Make the tooltip for "Hide" show the number of found stations.
4438
4439* aven: If * or ? is used in a glob-style pattern, force a non-substring match.
4440
4441* aven: Enable "New Presentation" when there's a 3d file loaded, rather than
4442  when there's a presentation loaded.
4443
4444* aven: Make entrances green in side panel tree list to match green blobs used
4445  in cave view.
4446
4447* aven: Don't show surface labels if we're not showing surface data, etc.
4448
4449* aven: Merge "Start Rotation" and "Stop Rotation" into "Toggle Rotation" and
4450  make "Space" the key for this.  Keep Return working "Stop Rotation" so
4451  existing users are happy, but don't advertise it.
4452
4453* aven: Normalise filename by adding any extension used, and use the normalised
4454  filename for file history and window title.
4455
4456* (Unix version): aven: Stop setting extra toolbar margin when using GTK2.0
4457  as the toolbar buttons already have a sensible margin - the extra margin is
4458  only needed with GTK1.2.
4459
4460* aven: Fix handling of plumb legs in tube model.
4461
4462* aven: Fixed swapped L and R in tube model.
4463
4464* extend: Preserve UD cross-section information in extended elevation.
4465
4466* extend: Add new messages for John Pybus' enhancements.
4467
4468Changes in 1.1.2 (never formally released):
4469
4470* Added support for LRUD data in .svx files, in .3d files, and aven can
4471  now load and display it on screen and on printouts.  The ability to "fake"
4472  LRUD data in aven is gone for now but will reappear in some form later.
4473
4474* cavern: Removed support for writing Chasm's 3dx format.  We're going to
4475  fold any desirable missing chasm functionality into aven.
4476
4477* aven: Rearranged mouse actions as discussed on the mailing list.  Added
4478  cursors for each different mouse action to help the user learn what each
4479  does.  Also added cursors for the "compass" and "clino" as well as the
4480  scalebar to suggest to the user that they can be dragged to change the view.
4481
4482* (Unix version): aven: Don't segfault if LANG isn't a known language.
4483
4484* tests/smoketest.tst: If X windows is running, check that we can run aven
4485  with --help and --version.
4486
4487* tests/cavern.tst: Fixed cavern.tst to warn if it is skipping a test because
4488  no results are listed for it.  This revealed that there was a "newline" test
4489  which should have been called "badnewline", and was a broken testcase too!
4490  Fixed all these problems.
4491
4492* cavern: Applied Simeon Warner's patch for handling backcompass, backclino,
4493  and omitted forward compass/clino readings in Compass DAT files.  Added
4494  a feature test for this to the testsuite.
4495
4496* It no longer makes sense to have an option not to build aven or to build aven
4497  without OpenGL so remove old machinery for this from configure and the
4498  sources.
4499
4500* (Unix version): configure: Check if "-lXxf86vm" is needed.
4501
4502* configure: Better output for strcasecmp test.
4503
4504* aven: Fix crosses to work much better.  Not a total fix - their position
4505  in the Z buffer isn't correct and they're rather slow to plot.
4506
4507* aven: Don't regenerate the hittest grid every time the mouse moves while
4508  animating, which solves the mysterious pausing effect (thanks go to Martin
4509  Green for spotting this!)  Also clear all the status bar coordinates when
4510  animating.
4511
4512* aven: Sort out clashing menu shortcuts in some languages.
4513
4514* aven: Fixed compilation problem on x86_64
4515
4516* SPUD: Pruned out stuff which has been done or which is not actually relevant
4517  to this branch.
4518
4519* Merge various changes from 1.0 branch:
4520
4521  + aven: Port over "printing from aven" functionality.
4522
4523  + aven: Port over "export as" functionality,
4524
4525  + Add David Loeffler's vim mode for .svx files.
4526
4527* aven: Fix check for whether a label is behind us in perspective view.
4528
4529* aven: Don't use an opengl list for drawing the indicators - we typically make
4530  a new list each time we plot them anyway.
4531
4532* Remove lingering traces of support for RISC OS and pre-386 MSDOS
4533
4534* aven: Set icon on non-Windows platforms too.  This means that with
4535  WindowMaker on Unix you get an icon on the AppIcon by default.
4536
4537* configure: Update wxWindows checks to handle newer wx versions.
4538
4539* Make all maintainer perl scripts "use bytes;" to avoid utf-8 double encoding
4540  problems.  They also all require Perl 5.8 now (hopefully this isn't an issue
4541  for anyone building from CVS).
4542
4543* acinclude.m4: Quote macro name for fix autotools warning.
4544
4545* Documentation: "tilt up" is "'" not ",".
4546
4547* aven: Add support for mousewheels (to tilt the cave).
4548
4549* aven: Fixed twisted transitions to and from pitches in certain cases.
4550
4551* aven: Pick a sensible initial window size when the user's desktop is spread
4552  over more than one monitor (works best with wx2.5 or newer, but try to do
4553  better with wx2.4 or earlier as well).
4554
4555* aven: Initialise GfxCore slightly later to avoid visual glitch from notebook
4556  contents being visible before any survey is loaded.
4557
4558* aven: Allow a coloured texture to be used
4559
4560* aven: Don't initialise until we have data (to the user, this means the window
4561  is default colour (grey for most systems) not black until a survey is
4562  loaded).
4563
4564* aven: Fixed weird "shadowed" icons.
4565
4566Changes in 1.1.1 (2004-10-06):
4567
4568* (Microsoft Windows version): aven: Hopefully fix loading a survey file at
4569  startup.
4570
4571* aven: Delay loading the bitmap for the "About" dialog until it is first
4572  needed.  We want start up to be as quick as possible.
4573
4574Changes between 1.0.32 and 1.1.0 (never formally released):
4575
4576* NOTE: Survex 1.1.X releases are development snapshots made available for
4577  the purposes of allowing wider testing and getting more user feedback.  Once
4578  the code has stabilised the version number will be raised to 1.2.0.
4579
4580* aven: Now uses OpenGL for 3d rendering - you may need to install drivers if
4581  you're using Windows 95 - these can be obtained from:
4582  http://download.microsoft.com/download/win95upg/info/1/W95/EN-US/Opengl95.exe
4583
4584* aven: Solid passages - passage dimensions are currently inferred from
4585  the leg length (pretty effective as you can measure longer legs in
4586  larger passages).  Use of real LRUD data coming soon...
4587
4588* aven: Depth colouring is now continuously varying.
4589
4590* aven: Colour by depth can now be turned off (and there's the start of a
4591  framework for properly implementing colour by date, error, etc).
4592
4593* aven: Find stations moved onto the toolbar and now uses a simple wildcarded
4594  match (? matches any character, * matches any number of characters).
4595
4596* aven: We now use the status bar for coordinates, distances, etc to make
4597  better use of screen space.
4598
4599* aven: Full screen mode (F11).
4600
4601* aven: Perspective view.
4602
4603* aven: Context sensitive cursor shape - needs more work.
4604
4605* aven: Mouse actions changed (hopefully they're now more natural, but
4606  you may find the change disorientating - feedback wanted on this).
4607
4608* aven: Added "presentations" which allow you to set up fly-through paths
4609  and load/save/run them.
4610
4611* aven: A presentation can be exported as a movie file.
4612
4613* aven: Added Save screenshot facility.
4614
4615* aven: Depth fogging option.
4616
4617* aven: Added Smooth Lines option.
4618
4619* aven: Added Textured Walls option.
4620
4621* aven: If a survey has surface legs but no underground legs, default to
4622  showing the surface legs.
4623
4624* cavern: Dates given to *date are now stored in the 3d file.
Note: See TracBrowser for help on using the repository browser.