Instantiations Logo
VAST icon

VAST Platform 2024 (All Versions) Readme

VAST Platform 2024 (All Versions) Readme

* * *

Welcome to the VAST Platform
What's New in VAST?
News, Technical Tips, and Product Updates
Distributed Files
Migration Guide
Corrections and Enhancements (13.0.0)

* * *

Welcome to the VAST Platform

Design it. Build it. Deploy it.
Create object-oriented software that’s stable, easy to maintain, and deploys smoothly — all from the same comprehensive development environment.

* * *

What's New in VAST?

Language & Runtime
-Performance improvements with SIMD
-Significant JIT performance improvements on ARM
Core Libraries
-Unicode fixes and enhancements
-Compression updates: ZStandard (v1.5.5), Brotli (v1.1.0), LZ4 (v1.9.4), ZLIB (v1.3)
Development Tools
-Richer Unicode support for inspectors
-Code editor updated to latest Scintilla
User Interface & Visuals
-Windows Table Widget available in Composition Editor
-CommonWidgets corrections
Communications & Web Dev
-WebView2 support
-Unicode integration for Seaside
-Unicode integration for databases: DB2, Oracle, PostgreSQL, SQLite and ODBC
-Unicode integration for GLORP
-Improvements to databases and GLORP
Additional Libraries
-Grease separated from Seaside

* * *

News, Technical Tips, and Product Updates

Go to '' and follow us on social media for the latest information about the VAST Platform and Instantiations.

* * *

Distributed Files

Product Installer
The product installer installs the Client and Manager components of the VAST product as well as a development IDE setup tool. The Client component contains the VAST development IDE. The Manager component contains the VAST library (source code repository) file and the EMSRV code used to access the repository file in a team environment.

Documentation Archive
Uncompress the documentation archive to get a local copy of the VAST documentation onto your workstation.

VAST Runtime
This is the runtime support needed for deploying Smalltalk applications developed using VAST. There is no formal install program for the VAST Runtime. You simply unpack the runtime files and add your packaged VAST application into the resulting directory structure. You must download and unpack the correct VAST Runtime package for your operating system. The files needed to include at runtime are listed in Redistributable Runtime Files. (

* * *


Run the downloaded VAST Platform Product Installer for your platform. Complete installation instructions, such as how to set up EMSRV, can be found in the Installation Guide. The Installation Guide can be read online at ( within the main VAST Documentation link, or locally after you unpack the VAST Platform Documentation Archive.

If you are doing a Custom install, to install the Manager on a different machine than the Client(s), we recommend you install the Manager first. Once you have installed the Manager and the Client, refer to the Installation Guide for further instructions on how to use the Environments tool to configure your environment so you can launch VAST. If you are using the headless installer to install the Manager alone, make sure the directory into which you want to install the manager has been created before starting the headless install. Refer to the Installation Guide for further instructions.

Uncompress the downloaded VAST Product Installer for your platform. Choose whether you would like to install the full standalone product, or just the client or manager configuration. Before running the Product installer, change directory to where vainstall is.

Run the Product Installer by executing sudo ./vainstall standalone in a terminal. sudo ./vainstall also installs standalone.

Run the Product Installer by executing sudo ./vainstall manager in a terminal.

Run the Product Installer by executing sudo ./vainstall client in a terminal.

Complete installation instructions, such as how to set up EMSRV, can be found in the Installation Guide. The Installation Guide can be read online at ( within the main VAST Documentation link, or locally after you unpack the VAST Platform Documentation Archive. If you are doing a Custom install, to install the Manager on a different machine than the Client(s), we recommend you install the Manager first.

Note: There are special steps for installing on Linux which are documented in the Installation Guide.
Once you have installed the Manager and the Client, refer to the Installation Guide for further instructions on how to use the Environments tool
to configure your environment so you can launch VAST.

* * *

Migration Guide

If you have a version of VAST already installed, please refer to the Migration Guide for important information before using this version of VAST.
The Migration Guide can be read online at ( as HTML or pdf format. It can also be read locally if you installed local documentation.

* * *

Corrections and Enhancements (13.0.0)

Case Title
----- ----------------------------------------------------------
62826 [User Interface & Visuals] Improve CwTable for WindowBuilder Integration
62827 [User Interface & Visuals] Integrate Windows Table Widget into Composition Editor
63355 [Additional Libraries] Create ST Feature for Grease Core
67621 [Development Tools] Update Scintilla for VAST 2024
68418 [User Interface & Visuals] AbtTableView part for CwTableView
68593 [Core Libraries] Add diagnostic messages to EmSystemConfiguration>>loadComponent: code
72638 [Communications & Web Dev] Remove HttpContentTypeJson condition from SstHttpServletRequest>>#getPostFieldsString
72670 [Communications & Web Dev] Add WebView2 support
72683 [Core Libraries] Modify WriteStream to become UnicodeWriteStream
72690 [Databases] Unicode support in AbtDatabaseConnection
72691 [Databases] Unicode support for Oracle
72692 [Databases] Unicode support for PostgreSQL
72693 [Databases] Unicode support for ODBC
72694 [Databases] Unicode support for SQLite
72696 [Communications & Web Dev] Unicode Support for Seaside
72700 [Core Libraries] Optimize String substring searching using SIMD instructions on x86_64/aarch64
72705 [Core Libraries] Optimize CRC32/CRC32C primitives using SIMD instructions on Intel/Arm
72706 [Core Libraries] Unicode Conversion APIs between ByteArray and UnicodeString given encodings
72737 [Communications & Web Dev] Change default Seaside codec to be UTF-8
72748 [Core Libraries] AbtCodePageConverter>>currentCodePage does not return system active code page
72756 [Databases] AbtOracle10TimeStampField depends on global connection state
72765 [Core Libraries] Unicode text segmentation algorithm performance increased by up to 10%
72768 [Databases] Oracle Reported field size is not valid when using character semantics
72780 [Databases] Make AbtRow>>#at: and #at:put: case insensitive
72784 [Databases] Add AbtDatabaseConnection >> #executeQuerySpecForEachValue:withArrayOfValues:ifError:
72786 [Databases] AbtTable>>addRows:ifError: fails in DB2
72798 [Databases] Add GRAPHIC and VARGRAPHIC DB2 types in DB2 CLI Driver
72814 [Databases] Missing AbtDatabaseLogonSpec>>#hash method
72851 [Databases] Unify AbtSQLiteRow and AbtPostgreSQLRow under a common superclass
72852 [Databases] Replace the use of Dictionary by StringDictionary in AbtRow and AbtNonRecordRow
72853 [Databases] Add missing methods to AbtNonRecordRow
72858 [Core Libraries] Implement OrderedStringDictionary as subclass of EsOrderedDictionary
72863 [Databases] Change AbtCompountType fields to use OrderedStringDictionary
72872 [Databases] Unicode support for IBM DB2
72874 [Communications & Web Dev] Fix RMI and MQ by renaming #assembleFrom: to #assembleFrom:policy:
72882 [User Interface & Visuals] AbtMonetaryAmountConverter should ignore currency string when converting display to object
72886 [Core Libraries] Implement EsUnicodeEncoding class>>copyFromOsMemory:
72887 [User Interface & Visuals] CwTable>>#columns: should set columns, not add to them
72890 [Core Libraries] Add UnicodeString>>#asOlePSZ
72899 [Core Libraries] Add UnicodeString>>#asWidePSZ, UndefinedObject>>#asWidePSZ and String>>#asWidePSZ
72901 [Databases] Add Wide function support to ODBC Platform Functions
72908 [User Interface & Visuals] customize how to get the (optional) icon to be placed at the left of each row in the CwTable
72917 [Databases] Add Timestamp with Timezone support to Oracle driver
72937 [Version Control] Missing emsrv50/emntv50 libraries cause misleading warning message in console
72941 [User Interface & Visuals] CwTable: editing a cell changes the display and userData if column has attribute
72942 [User Interface & Visuals] CwTable uses CwConverters to convert object to its string form display in a cell
72949 [Databases] DatabaseAccessor>>#logString: should not truncate the log output
72950 [Databases] Add descriptive error text or exception in DatabaseRow>>#at: when a field was not found
72951 [User Interface & Visuals] CgGC >> drawString:y:string: should be able to support a nil gcFont
72957 [User Interface & Visuals] CwTable: selection changes for XmCELLSINGLESELECT selection policy shoule trigger a callback
72959 [Documentation] Application Programming Interface doc mentions "62" bits instead of "64"
72991 [User Interface & Visuals] Fix WindowBuilder scaling factor calculation in HiDPI setup
73003 [Development Tools] Add logging to Console (TTY) to Transcript logging feature
73027 [Databases] Add Unicode Support to Glorp
73037 [Databases] Add option to enable Unicode at the AbtDbmSystem
73044 [Core Libraries] EsAbstractCodePageConverter class>>#iso885915CodePage returns wrong code page ID
73060 [VAST Installation] importer.ini in x86 contains an unreplaced $TARGETDIR
73061 [VAST Installation] importer.icx currently needs nls folder but it is not shipped
73068 [Security] OSSslSSLCipher>>#bioPrintOn: calls undefined method
73076 [Databases] Modify Glorp logging behavior to be non-blocking of UI
73078 [Language & Runtime] JIT speedup on ARM targets
73095 [Core Libraries] EsString>>trimNull needs a better comment to define how it works
73099 [Core Libraries] Modify EsString>>#trimNull to use indexOf: for major performance boost
73109 [Core Libraries] Add EmSystemConfiguration>>isHeadless method
73112 [Development Tools] EtWorkspace is configured to UTF-8 codepage without option to change it
73118 [Databases] Add EsLogger support to VADatabaseAccessor
73129 [Core Libraries] Make EsTranscriptAppender non-blocking of UI
73144 [Communications & Web Dev] Error when parsing HTTP cookies with empty values
73145 [Core Libraries] Add #expandMacros family methods to UnicodeString
73152 [Core Libraries] Modify VMprStringMatchPattern to support ASCII UnicodeStrings as argument
73161 [Development Tools] EtTranscript>>#nextPutAll: fails when receiving a UnicodeString
73190 [Language & Runtime] Expand error string when image cannot be opened in Windows
73217 [Language & Runtime] vmtrap.* should be writable to user supplied paths
73222 [Databases] Add support of LIMIT/OFFSET to DB2Platform in Glorp
73223 [Databases] Subselects do not work with FilteredTypeResolver in GLORP
73225 [Additional Libraries] Make TextConverter newForEncoding: more understandable
73227 [Databases] Add DATE and TIME Prefix functions to DB2Platform functions
73236 [Core Libraries] UnicodeWriteStream>>nextPut: can cause crash due to inconsistent view state
73250 [Core Libraries] Fix UTF16/32 View -> ByteArray storage
73274 [Deployment] Fix packaging problem with #codeOfClass: in SstDebuggingSupport app
73289 [Development Tools] Support UnicodeString element view in hierarchical Inspectors
73290 [Core Libraries] Refactor EsScanner to support scanning UnicodeStrings
73292 [User Interface & Visuals] Implement ExtendedWidget-rendering for UnicodeString
73296 [Development Tools] UnicodeString inline display in StS PowerTools
73297 [Core Libraries] Update Zlib for VAST 2024
73298 [Core Libraries] Update Zstd for VAST 2024
73302 [Core Libraries] Update LZ4 for VAST 2024
73303 [Databases] Update SQLite for VAST 2024
73304 [Core Libraries] Update Brotli for VAST 2024
73305 [Communications & Web Dev] OSSocketAddrInet6 has wrong definition in Linux x64
73322 [User Interface & Visuals] Add WindowsControl part level examples to AbtExamplesApp
73328 [User Interface & Visuals] AbtCwToolBarView cannot set buttons at creation time
73329 [User Interface & Visuals] CwToolBar cannot set buttons at creation time
73472 [Additional Libraries] Wrong encoding of Unicode components in GRVASTUtf8CodecStream when argument is ASCII
73473 [Communications & Web Dev] Modify SeasideUnicodeFunctionalTest to cover more sample cases

* * *



(C) Copyright Instantiations Inc. 2005, 2024. All rights reserved.

Together, we can build something great.

Instantiations Icon
© Instantiations, Inc. All rights reserved. 'Instantiations' and the 'intersecting circle design' are registered trademarks of Instantiations, Inc. in the United States. All product names, trademarks, and registered trademarks are property of their respective owners. Company, product, and service names not owned by Instantiations are used for identification purposes only. Use of these names, trademarks, and brands does not imply endorsement.