Breaking changes and release notes
All Release notes
These notes pertain only to Scapi. For other changes in Trimble Access itself, please go to trimble.com for release notes and general information.
2024 May 29, Trimble Access 2024.00
Trimble Access 2024.00 released, with several additions and some minor changes to the API.
Added creation of virtual points and lines to tsc_JobMap and the ability to change their display colour, line thickness, selectability, and selection state.
Added the ability to query and request permissions to access external storage, the camera, bluetooth, and fine locations. This functionality is particularly targeted at Android devices.
The serialStream API now has an IsConnected method to sense Bluetooth connectivity.
Added CalibrationPointPair information to the jxl associated with a job.
Added export functionality to tsc_Image so that an image can be saved to a file.
Added the ability to retrieve the plugin's warranty expiry date.
Selected polylines are now visible in Scapi apps.
Feature code attributes marked as "OfficeUseOnly" are now hidden.
Many of the tsc_LineDefinition class methods were marked const.
tsc_Alignment class added, supporting conversions between station/offset and grid coordinates on Trimble roads.
All memory allocations now use the standard C library heap. This should have no perceptible effect, although heap leak reporting may behave a little differently.
tsc_JobMap has a new entities pre-selection event handler which allows control of what objects the user can select. See tsc_JobMap::OnEntityPreselection() for details.
The SDK installer has been updated with a later version of the MSVC toolset redistributable, which is the version required to build the plugin, for it to be compatible with the Scapi plugin library provided in the installation.
The new version is 14.38.33135 which is the version used by Trimble to build the library.
If necessary (particularly for previous versions of the SDK) it is possible to download and install the correct version from Microsoft. Also see the version listing on the front page for the correct versions of the Windows toolset and the Android NDK.
2023 October 24, Trimble Access 2023.10
Trimble Access 2023.10 released, with some additional APIs but no other significant changes.
Added instructions regarding setting up the toolchain for building Scapi plugins for Android deployment. This is an ongoing process.
Added an IsConnected() method to the tsc_Rs232Stream class to properly detect the Bluetooth port connection state.
Added a new API, tsc_ImportFilter, which allows plugins to read coordinates from a file of any format, and import them into Trimble Access as lines of CSV-formatted data. The new formats are added to the Fixed format import form's drop-down list of file types.
Added a new API, tsc_TrimbleRoad, which allows some control over the loading of Trimble road (.rxl) files including the reading of other country-specific or proprietary formats.
2023 April 19, Trimble Access 23.00
Version 2023.00 is substantially the same, with some added functionality.
Support for polylines was added. Polylines are now first-class entities like points, lines, and arcs in Trimble Access and have been added to the job database API.
A Save method was added to tsc_Image, which allows an image to be saved to a file. Supported formats include GIF, PNG, and JPG.
2022 October 20, Trimble Access 22.10
This version has some enhancements and fixes but no significant changes to the API.
A new field type, tsc_StationingField, has been added. This allows user input of stationing (a.k.a. chainage) in a format like 2+33.4
Method added to obtain the current setting mode for how point symbols are drawn on the map. See the method DisplaySymbolsMode in the class tsc_JobMapStateEventArgs.
2022 May 31, Trimble Access 22.00
This version has a few enhancements and stability fixes. The API is essentially unchanged.
Trimble Access has undergone a tidy-up of its Unicode support, though internally all strings are still stored as utf-8, which means no API changes.
For Windows the tsc_UniString class now properly supports utf-16 (rather than ucs-2) as stored in 16 bits by wchar_t.
For Android, tsc_UniString previously stored ucs-2 values as wchar_t in 32 bits. This has been changed to store utf-32 characters in a 32-bit word. This will only affect a small subset of Unicode characters (the so-called surrogate codepoints) which now behave correctly.
The operation of tsc_File::ReadAllLines() has changed. It is now sensitive to the file format and the BOM mark, and supports all line endings as before.
Many text-format files (such as CSV) will now be interpreted correctly by TA as utf-8, or utf-16 with either endianness. There may be exceptions where files are read by third-party libraries, etc.
These changes should have no effect on existing code and file data, with the possible exception of the detection of utf-8 versus MBCS encoded files, where the encoding is occasionally ambiguous.
Custom database records in attached jobs are not supported. They never were and the documentation has been clarified. Custom records may exist in an attached job but they cannot be accessed other than by opening the attached job separately as a database.
A crash in the tsc_JobCustomEntities::Snapshot() method has been fixed. This crash occurs when the method is called on a job which has an attached job containing custom records.
Missing Pan events in tsc_JobMap is fixed. Some Panning events (such as Autopan, or the Pan to here menu item) were not generating paint events, resulting in map overlays not being redrawn, redrawn in the wrong place, or doubled up on the map.
Changes to Instrument definitions - supported instrument types added, target heights handled differently.
Scanning - added method to obtain an estimate of the number of points in a scan.
X codes have changed internally in TA from integer #defined values into a huge enum. The values themselves are unchanged and the underlying type remains an int so there should be zero effect in plugins.
2022 February 14, Trimble Access 21.21
Stability fixes only.
2021 November 10, Trimble Access 21.20
The TDC600 and the TSC5 (that is, Trimble Android devices except the TCU5) are capable of 64-bit operation, and from v21.20 Trimble Access has been upgraded to a 64-bit build for performance reasons.
Builds for plugins targeted at these two devices, must be upgraded to 64-bit also. Please refer to this page for details.
Windows devices and the TCU5 are not affected.
Other than the above, the API remains essentially the same and is binary-compatible with previous versions.
Some stability fixes have been applied to the interface that deals with GNSS RTX tilted measurements.
An image capture interface - tsc_TsImaging - and associated classes - has been added to support Trimble SX10 and SX12 scanners.
2021 July 19, Trimble Access 21.11
Due to the differences in filenames between Windows and Android, help pages defined using the help-url attribute in the translation (.tdb) file will not display on Android devices if the path contains Windows-style backslashes. Changing these to forward slashes fixes the Android problem but breaks it on Windows devices. TA version 21.11 allows either type of slash to be used for any device type.
Event monitors started in the tsc_AppMainMenu::OnAppStarted() method will now continue to run, rather than stopping prematurely under certain conditions.
Mentions of 64-bit builds for Android may be seen. This supports future development and is not yet available. Future Trimble Access releases will be retargeted to 64-bit for some Android devices, and will consequently require 64-bit plugins.
Known issue: There is variation amongst the different ways that a zip file may be created. File paths may use either the forward slash or backslash as a directory separator. The MSVC project template provided with the SDK uses PowerShell to create the zip install for Android, and this generates backslashes. Due to shortcomings in the library TA uses to do the unzipping, these zip files do not install correctly on Android. If you are having difficulty with subdirectories in your installation zip files, try using a different zipping utility. This problem will be fixed in the next release of Trimble Access.
2021 June 7, Trimble Access 21.10
The API remains essentially the same and is binary-compatible with previous versions.
The new GNSS measurement type tspm_GpsMultiTiltPoint was added to the tsc_PointMethod enum.
Customers may install Android plugins using Trimble Installation Manager (TIM), in the same way as Windows devices.
Plugin installation has changed somewhat, and installation and loading now occurs on demand, when the app is first selected by the user, rather than at startup. This applies to both Windows and Android.
Uploading Android plugins to Trimble is now supported using the same form on TCC as Windows plugins. This makes plugins available for customer installation on Android devices using TIM.
Plugin installation files for customers must now be signed. This is an automatic process.
A signing service is available for developers who wish to deploy their own plugins rather than using TIM.
Incorrect Behaviour : This applies to event monitors started in the tsc_AppMainMenu::OnAppStarted() function. It has been found since this version was released, that global events started in this method will fail to fire unless the plugin is started immediately when TA starts up. This can be corrected by the user shutting down Trimble Access, then restarting the app so that the plugin is started immediately rather than later when it is selected in the App Picker.
Edit: This behaviour is fixed in 2021.11
2020 December, Trimble Access 20.20
The API remains essentially the same and is binary-compatible with the previous version.
The tsc_Filename field has changed a little, see the version 20.20 note on the tsc_Filename page.
Trimble Access for Android now supports loading plugins separately from the main installation. TAIM and the online plugin submission system is yet to catch up, however customers who wish to develop their own plugins for in-house use will be able to install these using their own deployment methods.
There is currently no toolset setup documentation for Android development. Contact your Trimble representative for more information.
2020 September 1, Trimble Access 20.10
This version incorporates support for selected Android devices. There is no Android SDK yet.
Please see this page for information about compatibility, required changes, and upgrade steps.
This (Windows) version is binary-compatible with plugins built for v19.00 and later.
The development environment has changed to Microsoft Visual Studio 2019.
Supporting Android required some (possibly breaking) changes to the Windows version. These are:
Image resources are no longer in the dll, they are installed as separate files, although we have added compatibilty code to allow older plugins to keep working. This applies to both Android and Windows devices.
Support for Windows graphics (GDI+) is removed. Additional graphics methods are supplied in the tsc_Image class.
If the Qt development environment and SDK are licensed and installed, it is possible to use QImage graphics methods.
The Android Trimble Access API is identical to the Windows Trimble Access API.
Developing for Android is not much different from Windows plugin development. We still use Visual Studio 2019 but in a separate project using Android build tools.
2020 June 11, Trimble Access 2020.01
Trimble Access 2020.01 has been released. This release includes a fix for the Scapi stability issues in 2020.00, including the SDK.
Consequently, any Scapi Plugin built using the 2020.00 SDK must be rebuilt using the new 2020.01 SDK in order to be compatible with other versions of Trimble Access.
Plugins built using earlier versions (2019.xx) remain compatible and may be installed and used with TA 2020.01.
A number of other issues were also addressed, please see the TA Release Notes for details of these.
2020 May 7, Trimble Access 2020.00 - IMPORTANT NOTE
A significant problem with plugin compatibility has been identified in the 2020.00 release. Many plugins will cause an application failure when selecting a task from the main menu, or soon thereafter.
This is being fixed - along with some other issues - and a new Trimble Access version, 2020.01, will become available in the next few weeks.
Please do not release any plugin developed with the version 20.00 SDK. If you have, use the 20.01 SDK to rebuild and re-release such plugins.
2020 May 7 Trimble Access 2020.00
Trimble Access version 2020.00 was released. This new version supports the Trimble TDC600, a handheld with a smartphone form factor, running Android 8.0.
For the 2020.00 release, Scapi is not supported on Android devices and the Windows implementation remains essentially unchanged.
Earlier versions - 2020.01 and previous.
Below are listed versions of SCAPI in which changes to the API will almost certainly require changes to plugin source code or the build environment. Except where noted, plugins will retain binary compatibility with later versions of Survey Core.
May 2020, Trimble Access v 20.01
This is a bug-fix release. One of the fixes is to the interface definition for the tsc_UiTask class. This was unintentionally changed and can cause plugins to behave strangely or crash, mostly in relation to selecting and running items on the main "Burger" menu.
Do not release plugins built with 2020.00. They work only with 2020.00, and will crash with all other versions of TA.
April 2020, Trimble Access v 20.00
There are no changes for this version.
Trimble Access is now available for Android, however SCAPI plugins are not supported on Android platforms at this time.
May 2019, Trimble Access v 19.00
Microsoft Visual Studio 2017, QT 5.12.00
Note: Plugins built prior to v19.00 are not binary compatible with this and later versions of Trimble Access.
Although this doesn't affect the operation of plugins, it is worth noting that the bulk of Survey Core is now a DLL. The Survey.exe part still exists, and contains the splash screen as well as the UI framework. The bulk of the application itself is contained in SC.Dll which is loaded and run by Survey.exe.
We've shifted to a 64-bit development environment. This is mostly painless, but does require a rebuild of all SCAPI plugins with the project's platform set to x64. Follow these steps:
For projects created for Trimble Access prior to version 4.00, the process is documented in detail here, but remember to upgrade to SDK version 19.00 and use Visual Studio 2017.
To upgrade a project from MSVC 2015 to MSVC 2017, simply open your project using VS 2017 and follow the prompts. MSVC seems to do a good job of upgrading.
To add an x64 build go to the Configuration Manager and add an x64 configuration to the project. This should build without further changes, although there may be difficulty with code which uses x64 unfriendly types such as storing or passing an address in an integer variable.
Added Trimble Connect API. This allows synchronisation of files between the field device and the Trimble Connect service.
October 2018, Trimble Access v 18.20 :
Microsoft Visual Studio 2017, QT 5.11.1.
To accommodate C++ warning level 4, a large number of minor changes were made to SCAPI class methods, mostly by adding a const to parameters that were passed by reference so that temporary variables would be allowed. A small number of missing copy constructors and operator= methods were also added.
The runtime library option - in plugin projects generated by the MSVC project wizard - has changed from using the DLL to using a static library. This will only affect new projects. Plugins will work with either option, and it may be changed by selecting the project, choose Properties, C++, Code generation, and set the runtime library option as desired.
August 2018, Trimble Access v 18.10 :
MSVC 2015
Aligned all version numbers, so Trimble Access is version 2018.10 and all software modules and the TA database will be version 18.10. Future versions will continue to follow this scheme. No other significant changes.
June 2018, Trimble Access v 4.00 :
Microsoft Visual Studio (MSVC) 2015
Note: Plugins built prior to v4.00 are not binary compatible with this and later versions of Trimble Access.
Major rewrite of UI layer, significant changes to development environment, move to MSVC 2015. Changes to the API are documented in detail here.