Survex Changelog

What's new in Survex 1.2.25

Jan 5, 2016
  • aven:
  • Drop broken code which attempts to fix 2D pitches. Fixes #73, reported by Erin Lynch. #76 tracks the issue the removed code was trying (but failing) to address.
  • When animating, don't try to update station info based on mouse movement over the survey tree.
  • Further improve code to handle cavern subprocess in aven.
  • Fix jump to error for filenames containing colons when the error location doesn't have a column number. Bug noted by Jenny Black.
  • If we encounter bad UTF-8 in cavern output, replace it with a red and white ? in a diamond (previously we gave up showing output at the first bad sequence). This can happen if you process a .svx file which isn't UTF-8 encoded.
  • (Unix version): Don't try to set the terminal window title when opening an editor from the cavern log window - gnome-terminal no longer supports this, and there doesn't seem to be a portable option for specifying the title for terminals which do still support this.
  • cavern:
  • Improve error for mismatched fore/back-sight plumbs, reported by Andy Edwards (see #78).
  • Fix to use correct sd for backcompass. We were using zero instead, the most obvious effect of which was that the threshold for warning about differing COMPASS and BACKCOMPASS was about 71% of what it should have been, so we were warning in more cases than we should have been.
  • Implement support for specifying a length on backsights - if you're using something like a disto-x, you'll get a distance reading for the backsight too. Fixes #71, reported by Erin Lynch.
  • Make line counting more robust to mixed line ends. Noticed in example file from Pete Smart (see #69).
  • extend: New --show-breaks option which adds a leg flagged as surface survey between each points at which a loop has been broken. Suggested by Jenny Black.
  • (Unix version): Update filetype metadata to work with modern desktops.
  • Fix incorrect reporting of errors reading and writing processed survey data. Since 1.2.8, the error strings corresponding to IMG_CANTOPENOUT, IMG_BADFORMAT and IMG_DIRECTORY have been mixed up (this doesn't affect external programs using the img library, only Survex). Reported by Jenny Black.
  • Add missing options to extend man page and --help output. Noted by Jenny Black.
  • Document Document Ctrl+cursor keys for rotating and tilting in aven man page.
  • Fix broken SGML markup in manual.
  • Fix typo in manual reported by Jenny Black.
  • Update vim syntax file for newer commands, etc.
  • Minor translation updates. Thanks to Piotr StrÄ™bski and Jean-Marc.
  • Fix to compile with FFmpeg 2.9. Reported by Andreas Cadhalpun in https://bugs.debian.org/803863
  • Stop maintaining ChangeLog files. They make merging patches harder, and stop 'git cherry-pick' from working as it should. The git repo history should be sufficient for complying with GPLv2 2(a).

New in Survex 1.2.24 (Nov 12, 2015)

  • Indonesian translation fully up to date again.
  • Manual: Document anonymous stations, based on the text from NEWS. Reported by Wookey.
  • aven:
  • If wx was built with thread support, aven now runs cavern from a separate thread, which works much better under wxMSW (where we can't use select), and also seems a bit smoother on Linux.
  • Fix handling of encoding of filenames when the operating system has no locale installed corresponding to the language selected for Survex's messages.
  • Undo accidentally committed debugging code which was sending message to the terminal in 1.2.23.

New in Survex 1.2.23 (Nov 12, 2015)

  • French translation is now completely up to date, thanks to Michel Bovey.
  • Bundle proj's EPSG and ESRI code lists in the installers for MS Windows and OS X so that things like "*cs EPSG:29903" work. Reported by Graham Mullan.
  • aven:
  • Updating the cavern log window is now much smoother, especially on slower machines.
  • Show "busy" mouse cursor while processing survey data.
  • Fix an assertion if you try to start processing a survex file while one is already being processed.
  • Processing a .svx file with an error now still adds it to the file history. Reported by Martin Green.
  • Fix the orientation of the starting end of tubes.
  • cavern:
  • New *ref command to allow specifying an external reference (e.g. where to find the original survey notes).
  • Drop support for showing percentage progress in cavern. It's confusing in a multiple-file dataset as it shows progress in the current file so jumps around. It also slows down processing, and on a slow machine you'd don't want that, while on a fast machine processing isn't slow enough for the progress display to be useful.

New in Survex 1.2.22 (Aug 18, 2015)

  • aven:
  • Ensure that the window has a depth buffer. Whether it does by default seems to vary depending on OS and maybe graphics card. Fixes #55 (terrain is no longer visible through itself), and also the rendering of passage tubes. Thanks to Martin Green for pointing me in the right direction for finding this fix.
  • cavern:
  • Fix *declination with an angle to actually work.
  • Fix assertion if we try to identify a hanging survey by an anonymous station.
  • Improve errors for invalid survey names in *begin, *end, *equate and *export.

New in Survex 1.2.19 (Jun 18, 2015)

  • Assorted translation updates. Notably Indonesian is at 100% again.
  • Stop trying to catch and report signals. The only real reason to do it is so we can say "Bug in program detected! Please report this to the authors" before we exit, but when the program crashes that's pretty obvious. In aven we try to pop up a message box for this message, which may fail due to whatever caused the signal, while with the command line tools there's no great benefit over just letting the shell report the signal.
  • Use pkg-config to probe for libav and proj, which sorts out the correct flags for building on OS X against a static install of libav.
  • aven:
  • Fix exporting to GPX, KML and HPGL, which all failed to write the header to the exported file in 1.2.18.
  • Add exporting to Survex .pos format.
  • If the measuring line isn't currently active, pressing "Escape" will now exit full screen mode.
  • (Mac OS X version): Change the shortcut for full screen mode to be the standard Ctrl+Command+F (rather than Shift+Command+F which we have been using since 1.2.7).
  • (Mac OS X version): When we centre the view on the station this can generate a mouse move event, so clear the variable which says we are dragging before we process a left click on a station. This avoids random rotations of the survey when clicking on a station, reported in #47 by Hugh St. Lawrence.
  • (Mac OS X version): Force use of a non-native toolbar to stop the toolbar icons from being rescaled and looking fuzzy.
  • (Mac OS X version): Remove code added in 1.2.18 which tries to set stop the toolbar icons from being rescaled, but which requires an unreleased version of wxWidgets, had a typo in, and doesn't actually seem to work anyway.
  • (Mac OS X version): Drop out of full screen mode if the mouse is mode to the top of the screen, since we can't seem to display the menu bar in this case like we do on other platforms.
  • (Mac OS X version): Enable aven's movie export feature.
  • (Mac OS X version): Enable wxDisplay when building wxWidgets to better support multi-monitor setups.
  • (Mac OS X version): Silence warning visible when aven is run from a terminal about a missing CFBundleTypeRole.
  • When reading terrain data from a .zip file, report an error if the .zip file is bad, or if it doesn't contain any terrain data we recognise.
  • Tweak error message in terrain reading code to distinguish two failure cases.
  • Add viewing angles and scale to footer, and shorten some of the other items to make room for this extra information. (Fixes ticket #52, reported by Erin Lynch)
  • If the footer is wider than the printout width, scale down the font used so that it exactly fits; if the footer is narrower, than space out the items in in so it uses the full width.
  • If the saved size for aven's window exceeds the current display size (mostly likely because we're now plugged into a smaller monitor), then reduce the size of the window to fit the display. If the saved size is < (480x320), increase it to at least that, as aven isn't usable in a smaller window.
  • Remove crude bodge which tries to pick a nicer initial window size when using wxWidgets without wxDisplay on a multi-monitor setup - aven now opens with the same size window it had when it was closed, so the initial size is only relevant on the first ever run.

New in Survex 1.2.17 (Feb 27, 2015)

  • MacOS X version:
  • Update INSTALL file with current status.
  • Aven.app now has a custom icon.
  • Add icons for all the filetypes supported.
  • Add Finder actions for .svx, .3d, .plt and .pos files.
  • aven: Hide the status bar and tool bar in Full Screen mode, as wx doesn't currently do this for us.
  • aven: Fix short-cut for toggling Full Screen mode.
  • aven: Make "About" menu item appear.
  • aven: Fix "Close" button in about dialog.
  • aven: Make custom cursors black with a white outline to match the standard OS X cursor.
  • svxedit: Now wrapped up in an application bundle as svxedit.app. It still doesn't really work like a standard app though - e.g. you can't load files from Finder (instead run svxedit.app and use File->Open), the font size of most menu items is wrong, the icon for the app is the wish icon rather than the svxedit icon, shortcuts use Ctrl not the Cmd key, and probably more. I'd probably recommend using another editor (OS X comes with TextEdit.app for example).
  • The documentation is now in a "Docs" directory alongside the apps, rather than in the rather less obvious "share/doc/survex" directory.
  • Default to building for x86_64, since all modern Macs are 64 bit.
  • Disable use of liblzma when building wxWidgets for OS X, which was preventing the build from working on OS X 10.6.8.
  • Download wx sources from SF via redirecting link. Thanks to David A. Riggs.
  • buildmacosx.sh: Handle the mount point for the disk image containing a space.
  • Link with a static build of PROJ for doing coordinate system conversions.
  • Build wx with --disable-webview to avoid a compilation failure on OS X 10.10.1.
  • Use wx-config --cc and --cxx to get the compilers to use for building everything else, as wx adds options to them which otherwise cause linking errors.
  • The diskimage (.dmg) file is now compressed with bzip2, which gives a smaller download. This means OS X 10.4 is required, but we probably already need at least 10.5 because that's the minimum version which the wxWidgets build supports by default.
  • Remove unused files and copies of files from the diskimage.
  • aven:
  • Greatly reduce flicker when mouse is moved to the top of the screen in full screen mode and the menu bar reappears.
  • For export formats where scaling is supporting, aven now actually uses the scale specified in the export dialog (previously it ignored this and used 1:500).
  • Reimplement animation so that it's based on angular change per unit of elapsed time, rather than averaging the time take for the last two scene redraws. This gives smoother animation in the face of variable load and scene redraw time, and should be more consistent between platforms.
  • Switching to a point of the compass during auto-rotation now jumps straight there rather than the two animations fighting.
  • Reduce the maximum auto-rotation speed, as the previous limit was uselessly fast.
  • Disable stepping the rotation angle when animating (previously we only did when rotating).
  • Speed up start-up a bit - rather than loading icons from individual PNG files on disk, compile them into the aven binary.
  • tests/: Improve test coverage in a few places:
  • Extend tests of fore and back sights to test calibration of the back compass.
  • Test "Can't calibrate angular and length quantities together" error.
  • Check that "*set names ." works when "." is also the decimal point.
  • (Unix version): Add "MimeType" field to desktop files so that file associations work out of the box with modern desktop environments.
  • Add start of Hungarian translation from Imre Balogh.
  • Merge in many updates to the Russian translation from "vsuhachev".
  • Assorted minor updates to other translations.
  • Create scalable (SVG) versions of file type icons.
  • doc/manual.sgml: Remove $Id and $Date markers, as they don't get expanded now we're using git.
  • cavern: If the same leg is repeated consecutively, average the readings and treat as a single leg.
  • dump3d: Report SEPARATOR used by the file being read.
  • aven.svg: Fix visual glitch in SVG icon for aven. Noted by David A. Riggs.

New in Survex 1.2.16 (Oct 18, 2014)

  • Add KML export (stations only currently).
  • Allow measuring line to measure from anonymous stations. (Fixes #44)
  • Fix corrupted names in exported files.
  • Fix error log window under wxWidgets >= 2.9 to include the system information before the first log message like it does under wxWidgets 2.8.
  • Add support for "*cs JTSK" and "*cs JTSK03".
  • Improve test coverage.
  • Translation updates for many languages, plus the start of translations to Greek and Polish.
  • Fix to build against wxWidgets 3.0 built with assertions disabled. Reported by Martin Sluka.
  • Fix warnings when compiling with clang (which is the default compiler on Mac OS X). Reported by Martin Sluka.

New in Survex 1.2.15 (Aug 14, 2014)

  • cavern: The *cs command now also supports "long-lat", "s-merc" (for "Web Mercator"), EPSG and ESRI codes, "eur79z30", "ijtsk" and "ijtsk03". This means that we now support all the coordinates systems which Therion does, except for a few which don't have X=East and Y=North. The documentation for *cs has also been improved.
  • aven: We no longer persist full screen mode between runs - it's not a standard behaviour of desktop programs, and it's too easy to go into full screen mode from the menu and then not be able to get out again because you don't know the required key shortcut. (ticket#39)
  • aven: When in full screen mode, moving the mouse to the top of the screen now makes the menu bar appear. This provides a non-shortcut way out of full screen mode, as well as making it easier to perform other operations while in full screen mode. The current implementation gives an annoyingly flickery transition, but hopefully we can improve this in future. (ticket#39)
  • (MacOS X version): If built with wxWidgets >= 3.1.0 (which is still in development), we now call EnableFullScreenView() which improves the full screen mode experience on OS X 10.7 and later.
  • img library: Improve documentation for img_ERROR_INFO.
  • tests/: Ship some missing .out files and compare.tst.
  • tests/: cavern.tst testcase back2 is now actually used. Fix a bug in this testcase, and extend it to cover a variant of the situation reported as a bug in therion by Bill Gee to the therion list.

New in Survex 1.2.14 (Jul 7, 2014)

  • img library: Add ability to store a PROJ4 string describing the coordinate system in use in 3d v8 files.
  • aven: If the 3d file specifies a coordinate system, then use it for exporting to formats which need to know (currently GPX). If the input file doesn't specify the coordinate system, allow the user to enter a PROJ4 string in the export dialog.
  • aven: You can now quickly zoom to a particular area by holding down the "Shift" key and dragging with the left mouse button to create a rectangular "rubber band box" around the area you wish to zoom to. If you release the "Shift" key while still dragging, the box is centred on the start point rather than having one corner there.
  • aven: Fix exporting of passage tubes in elevations and extended elevations - previously up and down were getting drawn across the page!
  • aven: Fix "Cancel" to work on the print/export dialog, broken by changes in 1.2.13. (Reported by Brian Clipstone)
  • aven: Fix the conditions on which the menu item "Cancel measuring line" is enabled - previously it was hard to actually cancel it via the menu. Reported by Hugh St Lawrence.
  • aven: Fix wx assertion failures when showing hit test debug view on platforms such as 64-bit Linux.
  • aven: When viewing from above, show "Plan" above the "clino" which indicates the tilt angle (instead of "Elevation -90°").
  • aven: The extended font data now loads faster, and also uses less memory on 64-bit platforms.
  • aven: Dragging the vertical divider between the side panel and the 3D view now only updates when you finish the drag, as redrawing continuously just looks clunky except on an ultra-fast machine.
  • aven: (German translation) Abbreviate "Blickrichtung" so it doesn't overfill the space available in the aven UI.
  • cavern: Add a *cs command to allow setting the coordinate system for *fix commands, and the coordinate system used for processed survey data. The latter is now stored in 3d v8 format files.
  • cavern: Add support for 'L' flag (exclude from length) in Compass .dat files and handle it in the same way as the "DUPLICATE" flag in .svx files.
  • cavern: If there's more than one *fix command with coordinates, still actually fix the second and subsequent ones, to avoid triggering bogus errors about unconnected surveys.
  • cavern: If there's more than one *fix command with coordinates, report the station name of the previous one, plus the file and line number where it was.
  • cavern: Fix handling of the rather contrived case of *fix with no coordinates followed by *solve and then another *fix with no coordinates not to access freed memory.
  • dump3d: Report any specified coordinate system.
  • doc/3dformat.htm: Update to document how the coordinate system is stored.
  • (Microsoft Windows version): Include dump3d in the installer.
  • Fix a compiler warning.
  • Improve test coverage.

New in Survex 1.2.13 (May 16, 2014)

  • aven: Fix --print option to wait for printing to happen before exiting (previously it would exit right after opening the print dialog, so you couldn't actually print anything out using it).
  • aven: Increase the threshold for how close the pointer needs to be to a station from 5 pixels to 7 to try to help touchscreen users. Reported by Hugh St Lawrence.
  • aven: Add "fat finger" mode, toggled by pressing F2, to allow investigating if increasing the minimum pointer to station threshold helps Hugh's problems with using aven on a touch screen device.
  • aven: The measuring line was unable to see stations which had just been revealed by toggling surface or underground legs on - this is now fixed.
  • aven: Add "hit test grid debug" mode, which shows the hit test grid and how many entries are in each box (toggled by F3).
  • aven: Pressing F4 now allows the user to toggle wxWidgets assertion messages off and back on.
  • aven: Create the empty hit-test grid data structure lazily, to reduce start up time a little.
  • cavern: Improve messages which talk about "tags" and/or "prefixes" in *begin and *end commands to instead talk about "survey names".
  • cavern: For ages cavern has warned if you reentered a survey, but this warning was suppressed if it occurred at the same line of the same file as the survey was first entered, but this can only happen if you include the same survey file more than once, which isn't a sensible thing to do for a file with actual survey data in (you might reasonably do it to set up survey grade details or something like that). The warning is now given in this situation too.
  • cavern: After 5 warnings about reentering a survey we give up warning about it, but we used to keep reporting where the survey was originally entered - this secondary diagnostic message is now silenced when the main message is.
  • (Microsoft Windows version): Compile C code with optimisation on.
  • Add the start of a Russian translation, with messages take from therion.
  • Minor translation updates to French.
  • Fix compiler warning from GCC.
  • Testsuite improvements:
  • Test that "..." anon station works.
  • cavern.tst: Check number of errors returned by all testcases which should fail and give an error count.
  • cavern.tst: Fix to actually fully test everything when builddir != srcdir.

New in Survex 1.2.12 (May 1, 2014)

  • aven: Fix measuring line to show change in altitude rather than altitude itself (accidentally broken by changes in 1.2.11). Reported by Brian Clipstone.
  • aven: Fix printing when built with wxWidgets 3.0.
  • aven: Fix to build with libav 10. Reported by Moritz Muehlenhoff in .
  • aven: Fix to build with older libav where avcodec_free_frame() isn't available.
  • Various translation updates.
  • aven: Several visual improvements to printouts:
  • Move the numbers below the scale bar down a little so that they don't overlap the scale bar ticks.
  • Set the clipping region after we draw the page border and info box to avoid clipping the border in print preview.
  • Tidy up the appearance of the compass and elevation arrow.

New in Survex 1.2.11 (Feb 3, 2014)

  • aven: Fix wxWidgets assertion when double clicking on an anonymous station. Reported by Kevin Dixon.
  • aven: Embed the font data for the first 256 Unicode characters for use in the survey pane into the compiled aven binary to reduce start up overhead. Any additional characters needed are loaded from a data file only if/when a character >= U+100 is actually needed (as before).
  • aven: Fix display of Unicode characters above 256 when there's a character

New in Survex 1.2.9 (Jan 8, 2014)

  • Document --3d-version in cavern man page and the manual.
  • aven: Fix compilation error in movie export code with recent libavi.
  • aven: Fix warning on stderr when export a movie as MPEG.
  • img library: In non-hosted mode, don't define GETC and PUTC if they're already defined, to allow easy overriding with getc_unlocked() and putc_unlocked() (which are significantly faster on Linux).
  • img library: In non-hosted mode, check that int is at least 32 bits, and if not, use long. In practice, platforms with 16 bit int are mostly obsolete, but it's not hard to be portable here.
  • img library: Add test that img.c and img.h compile in non-hosted mode (regression test for issue fixed in 1.2.8).
  • (Microsoft Windows version): aven is now built with wxWidgets 3.0.0.
  • Update translations from launchpad and from existing similar messages.
  • Fix some compiler warnings.

New in Survex 1.2.6 (Dec 13, 2012)

  • Fix so that cavern finds its messages when run by aven.
  • cavern: If we have a reference to a station in a non-existent survey, give a helpful error rather than saying the station hasn't been exported from thesurvey. (Bug reported by Martin Green via email)
  • aven: Fix to build with a non-Unicode wxWidgets library. Patch from Olaf Kahler.
  • dump3d: Add support for showing img_ERROR_INFO items.
  • doc/3dformat.htm: Merge in some improvements from Mike McCombe.
  • Incorporate a French translation from launchpad I'd previously copied the English version of by mistake. Attempt to correct mistranslation of "survey file".
  • findentrances: Add findentrances utility from Olaf Kahler which produces a .gpx file with waypoints for entrances. This needs libproj so is disabled by default for this release - to enable it install the development stuff for libproj and build survex with: make FINDENTRANCES=findentrances and make install FINDENTRANCES=findentrances