These notes pertain only to the TASDK (Scapi). For other changes in Trimble Access itself, please go to trimble.com for release notes and general information.
Trimble Access version 2026.10 was released today. This contains TASDK version 26.10, with several important changes including an upcoming compatibility-breaking change. Details can be found further down this release note.
The plugin deployment log-in process has been simplified. The new system relies on the Scapi developer having a Trimble ID (i.e. Trimble cloud account). The developer's email is authenticated in Trimble Access itself by first logging in, then using the Deploy button in the Application Chooser form. The old Google method still works. The new process is described more fully here.
File attachments may now be added to a job's list of synchronized files, and a synchronized job's ID may now be obtained (class tsc_ConnectJob).
The tsc_MeasureForm can now be configured to exit if the OnPreStore hook returns false.
tsc_Line classes now support feature-coded linework.
tsc_ArcMethod adds the tsam_CenterPointAndRadius type.
tsc_EntitySource adds tses_TflxFile (Trimble FieldLink file).
tsc_GnssSurveyRtkType adds new GnssSurveyRtkType_CMRX4201.
tsc_GnssModes has AINS tilt support added.
tsc_Database has the new tspm_GridlineSetup point method and new tsam_CenterPointAndRadius arc method added.
tsc_JobMap.h, has a new map COGO line colour tsc_MapCogoLineBlueColour.
A breaking change, anticipated release date around October 2026 and affecting all Scapi apps, is scheduled for TA version 2026.20. Details follow:
Due to unavoidable changes in the base Trimble Access application, Scapi applications ("plugins") must be rebuilt using TASDK version 26.10 (i.e. this release, TA 2026.10) or later, in order to work correctly with the upcoming release 2026.20 of TA, and beyond. This gives developers one release cycle - approximately 5 months - to prepare for the change.
The ability to use Qt for image manipulation in tsc_Image is removed. Please contact your Trimble representative if this is going to be a problem for you.
Updated Scapi apps may be deployed into production immediately. They will function correctly with the current release (2026.10) of TA, as well as 2026.20 and future releases.
The amount of work required varies depending on the age of the TASDK your apps were most recently built with. When updating from any version after 25.2x of TASDK the changes will be minor. Apps being updated from TASDK versions before 25.2x may have some extra steps (mostly minor) to deal with changes in the intervening versions. For apps still using versions prior to 21.20 (If there are any), please consult the relevant release notes for those versions, further down this page.
The work involves installing the latest 26.10 SDK, updating some property-sheet values, rebuilding the app and fixing any build errors, and deploying the application(s) to Trimble Installation Manager (TIM).
Applications that are not updated to use SDK v26.10 (or later) will fail to run with TA version 2026.20 and above. Consequently, TIM will not offer them for customers to install.
For all apps using a recent SDK version (> 21.20), steps to update to TASDK v 26.10 are:
Run TIM on your development machine, in the Version drop-down choose Trimble Access 2026.10, in the selection tree ensure the Tools → Survey Core API item is selected (✓), along with all other required components and Install.
In the Scapi.props file in your plugin directory, bump up your plugin's version number, then note the current value of the ScapiVersion macro before updating it to 26.10 using either the MSVC Property manager, or by editing the file and then reloading the project.
For more detailed information see: Scapi Property sheet User macros
If upgrading from TASDK versions prior to 25.2x, please consult the 25.20 release notes (below) for changes, particularly updates to MSVC, the compiler toolset and C++ language versions. These updates must be completed, although you can skip directly to the latest MSVC toolset version.
Rebuild your plugin(s) for all platforms you support. See notes below if you get build errors.
Deploy all builds using the TIM deployment site. (Note the new easier login procedure). Test, and self-certify when satisfied.
Note that since this version of TA (26.10) supports both older and newer plugins, testing with this version doesn't guarantee your plugin will be compatible with the upcoming 26.20.
Your Scapi App(s) are now good to go. Customers using TA 2026.10 should see the new version of your plugin in TIM.
The resulting plugin should run correctly with TA 2026.10 and later versions of Trimble Access. Updated plugins may be deployed to TIM at any time before (not after) Trimble Access 2026.20 is released. When customers install Trimble Access with Scapi Apps, TIM will pick the highest plugin version that is compatible with the version of TA it is being installed with.
Possible build errors after upgrading the SDK
For Scapi apps that are currently built with TASDK versions prior to 25.2x (that's 25.1x and before), build errors may crop up due to the SDK v25.20 upgrade to the C++20 standard, which has tighter rules and some language differences. In this case you should also read the notes for versions 25.20 - 26.24 further down this page.
You may need to install MSVC v143 C++ build tools; see release notes below for 2025.2x.
There are no other known breaking changes since TA 2020.20, although watch out for the Microsoft toolset version update in TASDK 24.00 which may be skipped if you go directly to v143. Release notes for all those previous versions can be found below.
Trimble Access version 2025.20 was released today.
Several minor updates have been released since 2025.20 with no significant API differences,
for stability, performance, and improvements, up to version 2025.24 in Feb 2026.
Three new overridable event handlers have been added to tsc_Form which receive gesture events:
OnGestureStarted, OnGestureUpdated, OnGestureEnd.
Another method, SupportsGestures(), must be used to enable these events.
The maximum number of softkeys allowed on a form is extended from four to 99, and the tsc_EscSoftkeyControl and tsc_EnterSoftkeyControl classes now override the actual Esc and Enter buttons correctly.
The Character classification functions (IsAlpha, IsNumeric, IsLower, ToLower, etc) previously used the "wide" library functions internally but this is incorrect and fail in curious ways for many utf-8 multi-byte characters. In particular, the case-changing methods (ToUpper, ToLower) produced surprising results with Asian characters, emoji, etc. These methods have now been changed to match the ones in TA which only recognize the basic Latin character set (A-Z, a-z) as alphabetic and all Unicode codepoints above 0x7F are classed as non-alphanumeric.
The prism named tspt_PreciseActivePrism has been renamed to tspt_SingleActiveEccentricPrism, and a new prism added, tspt_SingleActivePrism.
Possibly breaking change: MSVC Toolset for Windows is updated from 142 to 143, and language version from C++17 to C++20. In detail:
To retarget a plugin to TASDK v25.20 you should install MSVC v143 - VS 2022 C++ x64/x86 build tools (using Visual Studio Installer) and update your plugin's Scapi.props property sheet by setting ScapiVersion in the Scapi property sheet user macros section to 25.20 or later. However, if updating from a very old version (pre 22.10) you may need to make more significant changes.
If you've installed v25.20 and wish to use this version or later of TASDK, you also need to update your plugin projects to use Toolset 143 and C++ language level to C++20 if they aren't already. See Project properties images below, and also check the properties C/C++ compiler command line doesn't have overriding options such as /std:c++14 as some older plugins may have; these should be removed or set to Default.
If you get errors that the compiler version is incorrect, try changing the Advanced -> MSVC Toolset Version to 14.44.35207 instead of Default.
You may get some other compile errors. One example is passing a utf-8 string to a char* parameter, like u8"H₂O" which contains a unicode character (₂). the "u8" now returns a char8_t type but you can safely cast the string in the usual manner:
(const char*)u8"H₂O"
Note that using char8_t is sometimes preferable to char, particularly when dealing with individual bytes greater than 0x7F since the leftmost bit is taken as a sign bit when using char. The char8_t type is unsigned.
Some classes, like tsc_String and tsc_StringList have new constructors taking a const char8_t parameter or an initialiser_list of char or char8_t.
Dangling pointer detection is available with C++20 using the [[lifetimebound]] attribute. See the TSC_LIFETIME_BOUND macro. Some API methods (tsc_String for instance) are using it in this version so if you get lifetime errors you should take care about returning references to variables with a local lifetime.
Depending on your warning / error compiler settings, you might see errors for unused variables or parameters.
Simply remove (or /* comment out */) the parameter name to fix these.
The images below show how the new plugin Windows project settings should look. (These are the settings used in PluginApiLibrary.lib; the setting for Configuration type and other values will differ from the ones shown here.)
Adjusting MSVC Windows project properties (1)
Adjusting MSVC Windows project properties (2) (Also try 14.44.35207 instead of Default)
Trimble Access version 2025.10 released. There is no 2025.00 - the 00 has been dropped from the release sequence, and we now start at xx.10.
Polylines have been extended to handle the new "Live" polylines, which are composed of tsc_Points instead of grid coordinates to define the lines and arcs.
A number of issues have also been resolved with the polyline API.
Note that the internal Polyline interfaces are being re-implemented in the next version of TA, though with only very minor changes to the published API. The old interface (the internal part) is deprecated and will be removed in a future release. Plugins using polylines must be rebuilt with a later version before that happens.
Support for the new Trimble Mini prism has been added.
Support for Qt is being progressively removed.
Trimble Access 2024.10 released. This was followed by a stability version 2024.11 released 18 Dec 2024.
A "Toast" UI element has been added, reminiscent of a pop-up toaster. This is a small pop-up message that can be positioned anywhere on the Window. See tsc_Toast.
Some formatting and other minor other problems with the Eula form are fixed. The form must now be accepted by the user for every new version of a plugin that is installed. The text of the Eula can now be provided as either an HTML document, or as plain text as previously. See tsc_Application::GetProductEula(). This addition allows the correct language translation to be presented.
Support is added for License-free plugins. This feature enables a plugin application to be available to all customers at no charge.
The tsc_StringField now responds to SetCustomDimensions() even with auto layout. Note that there may be consequences if this method has been inadvertently called in an existing plugin (previously it would have no effect). The old behaviour can be restored by removing the call.
Methods have been added to tsc_Control (and inherited by all tsc_Control and tsc_Field subclasses) to control the size and weight of the fonts used for the control or field.
A method has been added to tsc_EntityFeatures_AttributeForm to support the auto-generation of photo attribute filenames which include the entity's name.
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.
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.
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.
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.
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.
Stability fixes only.
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.
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.
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
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.
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.
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.
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.
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.
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.