VAST Platform 2025 (All Versions) Readme
* * *
Contents
-Welcome to the VAST Platform
-What's New in VAST?
-News, Technical Tips, and Product Updates
-Distributed Files
-Installation
-Migration Guide
-Corrections and Enhancements (14.1.0)
-Corrections and Enhancements (14.0.0)
-Disclaimer
* * *
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
-Improve Weak Finalization Queue automatic sizing
Core Libraries
-Unicode support library enhancements
-New EsHashEngine class hierarchy
Development Tools
-Extensible Code Assist to allow custom analysis (As of 14.1.0)
User Interface & Visuals
-Multi-Monitor Support
-HiDPI Improvements
Communications & Networking
-New SST URL percent encoder
-Support for LDAP callbacks and paged searching
Databases
-Official SQL Server support via ODBC
-Oracle improvements
Additional Libraries
-New SortFunctions library
Web Technologies
-Full Unicode Integration in latest Seaside and Grease
* * *
News, Technical Tips, and Product Updates
Go to 'instantiations.com' 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. (https://www.instantiations.com/vast-support/documentation/FAQ/#page/FAQ/va02016.html#)
* * *
Installation
Windows
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 (https://www.instantiations.com/vast-support/documentation/) 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.
Linux
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.
Standalone
Run the Product Installer by executing sudo ./vainstall standalone in a terminal. sudo ./vainstall also installs standalone.
Manager
Run the Product Installer by executing sudo ./vainstall manager in a terminal.
Client
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 (https://www.instantiations.com/vast-support/documentation/) 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 (https://www.instantiations.com/vast-support/documentation/) as HTML or pdf format. It can also be read locally if you installed local documentation.
* * *
Corrections and Enhancements (14.1.0)
Case Title
----- ----------------------------------------------------------
73933 [Databases] Review configuration of Oracle Character Semantics
73982 [Communications & Networking] Support 'Bearer' Authorization header in http client
74000 [Development Tools] Modify initial user selection screen to select Library Supervisor by default
74013 [Communications & Networking] Support x-www-form-urlencoded serialization for a KeyedCollection instance
74033 [Web Technologies] Seaside: apply utf8 or null codec to both POST and GET XHR requests; only default to utf8 codec when other codec is set
74034 [User Interface & Visuals] Fix HiDPI-related glitched area at left (and bottom) side of EwScrollable
74035 [User Interface & Visuals] Fix background clutter in ToB Toggle Button when pressed and display settings uses DPI > 100%
74036 [User Interface & Visuals] Fix icon's size with external monitors and HiDPI
74040 [Web Technologies] Seaside: UTF8 codec for XHR requests should have the same unicodeEnabled flag as the general codec
74058 [Databases] Modify Glorp tests expected failures to not depend on an active connection
74068 [Version Control] TonelLoader doesn't restore config maps comments upon load
74092 [User Interface & Visuals] Remove old DEL character from AbtContainerDetailsColumnEditPolicyType >> abtPropertyValueEditPolicy:propertyData:
74095 [Databases] Add handling of ODBC return code 100 (SQL_NO_DATA) when executing SQL statements
74096 [Core Libraries] Comparison by codepoint (scalar) for unicode strings
74097 [Communications & Networking] [OLE] Improvements for error message string produced by OLE components
74100 [Core Libraries] Equal UnicodeStrings in different normalization forms could have different hashes
74101 [Language & Runtime] Support CopyOnlyIfNormalizationRequired strategy in VMprUnicodeStringNormalize
74102 [Version Control] Tonel loader computes #_TONEL_packageName as class method change when it shouldn't
74103 [Version Control] Tonel adds redundant SubApplication prerequisites
74104 [Web Technologies] Seaside control panel: allow to select codec on creation of adaptor and display the codec value in the listing
74105 [Core Libraries] UnicodeView>>#with:do: must stop iteration when either view runs out of elements to compare
74108 [User Interface & Visuals] AbtCwDateTimePickerView should honor German Locale in Composition Editor
74112 [Databases] Modify ODBC to use SQL_TYPE_TIMESTAMP (93) instead of the deprecated SQL_TIMESTAMP (11)
74121 [Communications & Networking] Support xsi:type in XML
74122 [Databases] AbtIbmStaticDatabaseManager class>>#unifiedFieldMappings should store answer into class instance variable
74123 [User Interface & Visuals] Fix CwBasicWidget>>#updateSensitive when osWidget is nil
74126 [User Interface & Visuals] CoFormCompositeProcessor>>#height to protect against 'self element' being nil
74127 [User Interface & Visuals] Add protection against dividing by zero height or width to #resizeProportionalRectangleFromFieldRectangle:
74128 [User Interface & Visuals] EdPrintPreviewerDialog>>#indicateActivity: should enable/disable the zoom and print button states
74129 [User Interface & Visuals] Add protect against 'self gc' being nil in EwList>>#drawCursoredEmphasisAtX:y:width:height:
74130 [User Interface & Visuals] EwTableColumnMapper>>#drawResizeBox to protect against resizeX being nil
74131 [User Interface & Visuals] EwTableList>>#triggerBeginEditCallback protect against #at: finding nothing
74132 [Version Control] TonelLoader package tag to sub application naming must remove separators
74134 [Web Technologies] Rename "SeasideCoreDocument-Elements" subapp to "SeasideCoreDocumentElements"
74135 [User Interface & Visuals] Morphing the primaryPart of a Comp Edit view results in a view that can not be opened or tested
74136 [Development Tools] "Safe Remove" refactoring detects possible reference to class 'by name' but then does not list those when showing the references
74141 [Web Technologies] Ensure Seaside and Grease methods defined on String are also on UnicodeString
74143 [Databases] Add database handle initialization to AbtOdbcConnection>>#connectWithString:prompting:
74144 [Web Technologies] WAVASTJsonEncoder can be replaced by WAJsonEncoder (and should not escape all non-ascii characters)
74145 [Web Technologies] GRVASTPlatform>>#write:toFile:inFolder: with UnicodeString argument
74151 [Databases] Optimize AbtIbmCliCSDatabaseConnection>>#buildDataLinks:forCursor:ifError: to avoid double lookup
74154 [Communications & Networking] Improve ByteArray printing in MqttPublishPayload>>#printOn:
74161 [Development Tools] Implement Code Assist Source Analysis Extensions Framework
74162 [User Interface & Visuals] Windows are misplaced on a fresh start in a multi DPI setup
74166 [User Interface & Visuals] CwProgressDialogStub should accept title: message
74167 [Development Tools] RBScanner >> skipUntil: does not understand #skipThrough:
74169 [User Interface & Visuals] Remove old unnecessary characters from EwMultiFontTex>>#callCallbackList:callData:
74172 [Core Libraries] Improve sameAs: compatibility between String-related classes
74175 [User Interface & Visuals] Fix incorrect layout of toolbar items with HiDPI enabled
74178 [Additional Libraries] Fix incorrect implementations of #isAbstract
74180 [Core Libraries] Fix regular expression mismatches when created from a UnicodeString source caused by identity comparison between Char & Grapheme
74181 [User Interface & Visuals] Modify Stack Trace log to iterate over multiple monitors parameters
74182 [Core Libraries] Grapheme performance optimizations for various conversion APIs
74183 [Web Technologies] Performance improvements in Seaside/Grease's escaping and encoding with Unicode support enabled
74185 [Core Libraries] Enable DBString to UnicodeString conversion when active codepage is DBCS
74186 [Development Tools] Fix STS Scintilla issues when converting EsLeadEncodedBytes to Symbols in DBCS codepage
74188 [Development Tools] SUnitBrowser loses icons after image restart
74194 [Version Control] Modify #tonelCompilationFailure method to use the symbol
74195 [Core Libraries] Add String>>#name in GreaseVASTCoreApp to return itself instead of printing
74199 [Web Technologies] WAMimeType>>#greaseString and WALocale>>#greaseString break when using UnicodeStrings
74201 [Web Technologies] Ensure Seaside and Grease methods defined on Character are also on Grapheme
74210 [Databases] Remove Identity Comparison in VADatabaseAccessor>>#replaceQueriesWithIndexColonsIn:
74211 [Databases] AbtDatabaseConnection>>#hostVariablesFromShape: should set unicodeEncoding on string fields
74212 [Databases] Fix regression when storing DateAndTime into TIMESTAMP WITH TIMEZONE in Oracle
74229 [Web Technologies] Update Seaside Config Maps notes and comments
74239 [User Interface & Visuals] Improve HiDPI support in CgGC>>drawImageString:y:string:
74279 [[Language & Runtime]][ACO Threads] Apply more correct request for an ACO thread to quit
* * *
Corrections and Enhancements (14.0.0)
Case Title
----- ----------------------------------------------------------
64570 [Development Tools] Do not open the VisualAge Organizer by default on clean image startup or Quick Start when it is opened manually
72247 [Additional Libraries] Migrate SortFunctions into VAST
72745 [User Interface & Visuals] placing window at top of the screen
72797 [Databases] Remove VW leftovers from Glorp
72822 [Web Technologies] Add hostName option in WASstServerAdaptor
73080 [User Interface & Visuals] Resize title bar and menu bar when moved to a screen with different screen factor
73335 [Language & Runtime] UnicodeString >> addAll: of slices can lead to #size calculated incorrectly
73444 [Communications & Networking] Create URL percent encoder (SstUrlEncoder)
73497 [User Interface & Visuals] Windows has run out resources error after changing screen scaling factor
73537 [Language & Runtime] Unicode primitives do not ensure allocated but unused slots are zeroed
73539 [User Interface & Visuals] icons overflow column header in (Abt)CwTableView
73546 [Core Libraries] UnicodeString printString / debugPrintString doesn't escape ''s
73549 [Core Libraries] Add Base64Coder>># decodeAsByteArray:
73596 [Communications & Networking] Add support to set LDAP options pointing to callbacks
73597 [Web Technologies] Upgrade Seaside to v3.5.6
73598 [Core Libraries] Unify ByteString/UnicodeString hashing
73600 [Databases] Map WCHAR/WVARCHAR ODBC types to regular codepage dependent strings when Unicode is disabled
73606 [User Interface & Visuals] Fix EwSlider>>#displayShaft: scaling issue with HiDPI
73632 [Core Libraries] Fix #fullPathToLoadedLinuxSharedLibrary: reading the results twice
73633 [Core Libraries] Allow for different escaping formats of UnicodeString
73646 [Communications & Networking] Modify HTTP 304 Not Modified response handling
73649 [Communications & Networking] Full Unicode Support for Seaside
73650 [Core Libraries] Add UnicodeString>>asSymbol and UnicodeString>>asSBSymbol
73654 [Additional Libraries] Upgrade Grease port to v1.17.0
73667 [Core Libraries] Improve Weak Finalization Queue automatic sizing
73677 [Core Libraries] Incorrect string size allocation in Base64CoderMime
73710 [User Interface & Visuals] Add new public attribute SingleItemSelected to AbtExtendedLinearList
73742 [Core Libraries] Add #asUnixTime and #fromUnixTime:
73743 [Communications & Networking] Deprecate the Domino (Notes) feature(s) VA: and XD
73744 [Core Libraries] Wrong position calculation in UnicodeWriteStream
73748 [Core Libraries] Remove #unicodeEncoding dependency from AbtRecord>>#newBlankRecord
73762 [Additional Libraries] Fix XmlTag >> allTagsNamed:ifAbsent:
73778 [Core Libraries] Fix EsParser removes comments after pragmas
73785 [Communications & Networking] Add UnicodeScalar>>#isHexDigit and Grapheme>>#isHexDigit
73787 [User Interface & Visuals] Fixes to CwBand to prevent infinitive loop
73798 [Development Tools] Scaled decimals without decimal part correctly colored in Workspace
73799 [Databases] Add NameData type to AbtPostgreSQLDatabaseManager type dictionary
73805 [Databases] Remove references to StringDictionary and OrderedStringDictionary
73806 [Development Tools] Inspectors on EsOrderedDictionary instances show the keys in order
73807 [Databases] Add BINARY_FLOAT and BINARY_DOUBLE types to Oracle supported datatypes
73808 [Development Tools] Three-way-diff tool now allows removing methods
73811 [Databases] Use Oracle's TNS in AbtOracleDatabaseManager>>connectToDataSourceNamed:logonSpec:
73813 [Communications & Networking] Add missing required maps to "z.ST: Server, SST"
73815 [Databases] Modify AbtOracleDatabaseManager>>#connectToDataSourceNamed:... to support EasyConnect strings.
73821 [Development Tools] Fix problem taking windows screenshots
73826 [Databases] Oracle: Avoid executionMode instvar use when creating statement return types
73827 [Development Tools] Resolve default selectionPolicy in CwTable
73828 [Communications & Networking] Fix 64bit DDE links and execute
73831 [User Interface & Visuals] Buffer overrun while loading a certain PNG file
73834 [User Interface & Visuals] AbtNumberConverter>>#primObjectToDisplay: ignored decimal and thousands separator
73836 [Core Libraries] EsNumberParser accepted digits one number above the radix
73837 [Web Technologies] Removed blocking behavior in SstHttpMultipartContentAssembler>>#assemblePartsFrom:onto:
73838 [Communications & Networking] LDAP: Implemented paged searching
73839 [Communications & Networking] LDAP: PARTIAL_RESULTS error returns valid entries
73840 [Web Technologies] Make SstHttpClient>>shouldReturnResponse: case insensitive
73841 [Web Technologies] Move SstHttpResponse statusCode to SstHttpCommunications
73844 [User Interface & Visuals] Wrong placement of tooltips when using HiDPI settings
73845 [Core Libraries] UnicodeString printing in Linux doesn't escape single quotes
73850 [Core Libraries] UnicodeReadStream>>skip: fails when the argument is negative
73851 [Core Libraries] Terminate EtTranscript>>#defaultText with a line separator
73852 [User Interface & Visuals] Implemented folder selection dialog in Windows
73855 [Databases] Remove unsupported platforms and other dialects support from Glorp Applications
73865 [Additional Libraries] Modify GRVASTPlatform>>#secureHashFor: to use SHA256
73867 [Core Libraries] Add codepage and locale information to System report and Walkback dumper
73868 [Language & Runtime] Update to Unicode 16
73871 [Development Tools] Attempting to test as UI code while using shadow class crashes VM
73873 [Development Tools] Preserve window order when restoring image
73874 [Development Tools] Open splash screen on active monitor
73876 [Additional Libraries] EtTranscript>>#nextPutAll: fails to append a UnicodeString if not representable in current codepage
73877 [Databases] Add AbtTimestamp/DateAndTime support for Glorp SQLite parameter binding
73880 [Core Libraries] UnicodeWriteStream>>#size can cause primitive failure in #nextPut: due to fast-path logic
73882 [Core Libraries] Prevent hang when scanning large exponents
73885 [User Interface & Visuals] Cannot hide column headers once the CwTable is open
73891 [Language & Runtime] Update Scintilla plugin to Scintilla 5.5.3 + Lexilla 5.4.1
73902 [Communications & Networking] Fix doExamplePublishSubscribeNativeSocket: to take OnPong callback into account
73905 [Development Tools] Error when window containing scintilla editor is closed during startup
73913 [Documentation] Webservices introductory material has a duplicate page
73921 [Core Libraries] Add ByteArray>>#asHexString
73922 [Core Libraries] Add EsHashEngine class hierarchy
73926 [Version Control] Integrate latest Tonel-Tools GitHub changes into main codebase
73929 [Development Tools] Add 'Repair connections' item to the Tools menu
73941 [Core Libraries] Windows: Use primitives to display UnicodeStrings
73942 [Core Libraries] Move Symbol>>#value: to Kernel
73945 [Version Control] TonelMethodWriter selects method category to write deterministically (alphabetically first)
73948 [User Interface & Visuals] DPI Scaling issues in CwComboBox and OSComboBox
73952 [Core Libraries] WriteStream>>nextPutAll: should use #and: instead of #& for Unicode argument test
73963 [Core Libraries] Missing implementation of EsAbstractCodePageConverter>>#convert:fromCodePage:toCodePage:bufferSize:
73964 [Core Libraries] Implement EsLeadBytesString>>#asReducedString
73969 [User Interface & Visuals] GDI handle leak in OSWidget class>>#defaultFontExtent
73970 [User Interface & Visuals] Improve external monitors detection in Windows
73971 [Core Libraries] CgGC>>miFillRectangle:y:width:height: can have height that is a float which causes a walkback/crash
73975 [Web Technologies] WAJsonParser>>#parseCharacterHex still references Character directly
73978 [Web Technologies] Create Seaside JSON Encoder that supports Unicode components
73980 [Web Technologies] Add #jsonOn: to UnicodeString and Grapheme classes
73983 [Core Libraries] Update timezone info to release 2025a
* * *
Disclaimer
THIS DOCUMENT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. INSTANTIATIONS DISCLAIMS ALL WARRANTIES, WHETHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE AND MERCHANTABILITY WITH RESPECT TO THE INFORMATION IN THIS DOCUMENT. BY FURNISHING THIS DOCUMENT, INSTANTIATIONS GRANTS NO LICENSES TO ANY PATENTS OR COPYRIGHTS.
(C) Copyright Instantiations Inc. 2005, 2025. All rights reserved.