Migration Guide
Preface
Notices
Trademarks
About this book
Who this book is for
What's new?
VAST Platform 2024 (version 13.0.x)
Conventions used in this book
Tell us what you think
Introduction to Migration
Preparing for Migration
Merge applications from the existing library to the new library
Merge the new library into your existing library
Migrating from VisualAge Smalltalk V3.0 or earlier
Obsolete Code
Obsolete VisusalAge code
Morphing Tables
Obsolete IBM Smalltalk code
Migrating applications from VisualAge Smalltalk Standard
Generating runtime code
Using the migration tool
Running the tool
Migrating database applications
Loading database migration support
Database Manager
Migrating your application
Database Access Set Runtime
Dynamic to Static
Swapper
General migration
API maintained for compatibility
Dumping, loading, and the Common File System subsystem
Example: Unloading using CfsFileDescriptor
Example: Loading using CfsFileDescriptor
Other migration concerns
Enabling applications from Version 1.0 or 2.0 for packaging
Promoted features of a Container Details View
Updating connections
References to pool dictionary CwConstants, AbtCwConstants, or EwConstants
AbtNormalGraphic constant used in nonvisual parts
Web Connection
Extensions of Decimal class
Applications that use OSObject subclasses
Migrating OSObject subclasses
Migrating code that instantiates OSObject directly
View wrappers that use attribute-to-attribute connections
Migrating the default font for Report Writer reports
Packager warning 'No implementors of fixupNlsPool'
EwIconTree migration may cause walkback
Solution
Shortcut keys eliminated from Buttons
Migrating from Version 4.0, 4.01, or 4.02
Packager changes
Symbol and class reference adjustment API
Priority for packaging rules
Problem and rule policies
Problem policies
Rule policies
Migrating distributed applications
Distributed Smalltalk infrastructure
Object space
Description
SST equivalent
Communications
Description
SST Equivalent
Marshaling
Description
SST equivalent
Logical process
Description
SST equivalent
Activation
Description
SST equivalent
Security
Description
SST equivalent
Distributed development tools
Remote Workspace
Description
SST equivalent
Remote Transcript
Description
SST equivalent
Remote file dialog
Description
SST equivalent
Distributed Inspector
Description
SST equivalent
Distributed Debugger
Description
SST equivalent
Distributed garbage collection
Description
SST equivalent
Distributed load
Description
SST equivalent
Name server
Description
SST equivalent
Event profiling (method calls)
Description
SST equivalent
VA Smalltalk Parts
Description
SST equivalent
Distribution menu
Description
SST equivalent
Distributed runtime APIs
Basic remote object API
Description
SST equivalent
Porting guidelines
Object copying API
Description
SST equivalent
Porting guidelines
Parallel processing API
Description
SST equivalent
Porting guidelines
Name server
Description
SST equivalent
Porting guidelines
Event callbacks (connect/disconnect)
Description
SST equivalent
Porting guidelines
Distributed exceptions
Description
SST equivalent
Porting guidelines
Object space management
Description
SST equivalent
Porting guidelines
Distributed runtime APIs
DS-API
DT-API
Other migration concerns
Using VA Smalltalk features in server applications
Runtime code for nonvisual parts in server applications
Headless runtime applications
Signalling events with arguments
Ending server applications
MVS applications that reference subsystem type 'TM'
Smalltalk error message in a CICS workstation environment
Search path for multiple images of Smalltalk using CICS classes
Snapshot files
Migrating from Version 4.5
Formatted Text Field part
Enhanced shared library support on AIX
Server applications using .mpr files
Migrating from Version 5.0
Some base features no longer available
Some separately priced features no longer available
Hiding Java packages and projects in browsers
Providing a customized splash screen
Migrating control files
Importing feature code
Migrating method mappings to JDK 1.2
Changes in Server Workbench
Current code page support is inconsistent on supported platforms
AbtConnectionSpec >>#targetCodePage: expects a String argument
Migrating from Version 5.5
Elimination of required map links in configuration maps
Low-level configuration map reorganization
Time class shape changed
Default XML serialization methods added for Date and Time
Changed behavior of millisecondClockValue on OS/390
Behavior change in handling negative system time
Behavior change in creating FileStreams
Packager 'do not reduce' rule behavior changed
EMSRV startup parameter changes
SST HTTP Servlet API changed
POSIX Migration on OS/390
Behavior changes for Application Builder parts
Migrating from Version 6.0
AbtPortableNotebookPageView inconsistent behavior
ScaledDecimal>>#hash changed
Subtle change to Compiler
Using ‘Class Variable Initializer’ packaging rules for IC packaging
Removed unused method #abtXmlPrintOn:namespaces:
Suppress serialization of nil attribute values when attribute mapping specifies Required=”false”
Migrating from Version 7.0
Windows theme support interferes with some testing tools
Change
Action Required
SST HTTP Server access log
Migrating from Version 7.5
Modifiable splash screen on Windows
Consolidate EtToolsVendorExtensionsApp and VisualAgeVendorExtensionsApp
Server Smalltalk (SST) feature definition changes
Merge ENVY/Image Controls apps into other maps
Change
Action required
Changes to the AbtTimestamp class
Reason for change
Change
Action required
New testing and conversion CLDT API methods
Manifest file changes some GUI appearance on Windows
Merge AbtCwControlsEdit and AbtCwControlsRun apps into other maps
Change
Action required
Change to SstHttpServletRequest>>#getContentType
Reason for change
Change
Action required
Migrating from Version 8.0
Changes to the UNIXProcess class
Reason for change
Change
Action required
Change to default RMI stubProtocolVersion
Reason for the change
Change
Action required
Change to exception handling
Reason for the change
Change
Action required
Change to Dictionary>>#copy behavior
Reason for the change
Change
Action required
AbtWaitApp moved from IBM Smalltalk, ALL - UI Run to IBM Smalltalk, ALL - Headless configuration map
Reason for the change
Change
Action required
New testing CLDT API methods
Object>>#initialize method added
Reason for change
Change
Action required
Migrating from Version 8.0.1
Grease Core and Grease Core Tests maps are obsolete
Reason for change
Change
Action required
EsString>>#subStrings: changed to be ANSI-compliant and portable
Reason for the change
Change
Action required
Random class and methods referring to it have been removed
Reason for change
Change
Action required
SequenceableCollection>>#beginsWith: and #endsWith: have been replaced
Reason for change
Change
Action required
Duration>>#milliseconds changed to be portable
Reason for change
Change
Action required
IdentitySet class added as replacement for EsIdentitySet
Reason for change
Change
Action required
Color class promoted from WbKernel to Kernel
Reason for change
Change
Action required
SortedCollection private methods #sorted and #sorted: renamed
Reason for change
Change
Action required
Migrating from Version 8.0.2
Object>>#value added to CLDT
Reason for change
Change
Action required
Icon management classes have been reworked
Reason for change
Change
Action required
Mastering ENVY/Developer Configuration Expression Prompter configuration map removed
Reason for change
Change
Action required
Changes to ScaledDecimal>>#printOn: and #printString
Reason for change
Change
Action required
Changes to TrailBlazer Browsers
Reason for change
Change
Action required
Migrating from Version 8.0.3
Consolidation of EsbBenchmarksES subapplication
Reason for change
Change
Action required
Change Float and Scaled Decimal 32-bit hash for better distribution
Reason for change
Change
Action required
INI file changes introduced by Preference Settings Framework
Reason for change
Change
Action required
Change to CgScreen class>>bitmapPath and Locale class>>nlsPath
Reason for change
Change
Action required
Migrating from Version 8.5
Changed specification of ODBC dll or shared object in .INI file
Reason for change
Change
Action required
Changed PlatformConstants::Error to PlatformConstants::Errorregion for Windows
Reason for change
Change
Action required
Added 2 Parameters to the socketAppender Setting in the ini File
Reason for change
Change
Action required
Changed default settings for VA Assist Pro
Reason for change
Change
Action required
Abt Hover Tooltip text now left-aligned by default
Reason for change
Change
Action required
Class definition template changed in standard browsers
Reason for change
Change
Action required
Migrating from Version 8.5.1
Parameters in the [log4s] stanza of the .INI file should not be enclosed in parentheses
Reason for change
Change
Action required
Time Zone Support Introduced
Reason for change
Change
Action required
Prerequisite ICs changed in many IC packaging instructions
Reason for change
Change
Action required
String>>asInteger has been removed from EsLoggingFrameWorkApp
Reason for change
Change
Action required
Migrating from Version 8.5.2
EsLogManager class>>error: and EsLogManager class>>info: have been removed from EsLoggingFrameWorkApp
Reason for change
Change
Action required
Signal>>#description changed for compatibility with class-based Exceptions
Reason for change
Change
Examples
Action required
EsTimeZone class has changed
Reason for change
Change
Action required
Migrating from Version 8.6
Deprecate and replace classes AbtBase64Coder and SstBase64Coder
Reason for change
Change
Action required
Encoding
Decoding
Other
Deprecate and replace incorrect Windows code page conversion API wrapper methods
Reason for change
Change
Action required
Object>>#triggerEvent: added to AbtCLDTAdditions for portability
Reason for change
Change
Action required
Print methods added to Integer and Float in CLDT for portability
Reason for change
Change
Action required
Migrating from Version 8.6.1
Deprecate classes OSHostent, OSProtoent, and OSServent
Reason for change
Change
Action required
EmCompressor compression/decompression algorithm changed
Reason for change
Change
Action required
Detailed Description
Move SequenceableCollection>>#swap:with: to CLDT for shared use by RBBrowserUIApp and SeasideCoreApp
Reason for change
Change
Action required
Dictionary now implements #= and #hash
Reason for change
Change
Action required
Multipart Forms Processing Now Removes Only the Trailing Cr/Lf Leaving Whitespace Intact At the End of the Content
Reason for change
Change
Action required
SSL Version 2 & 3 Protocols Have Been Deprecated
Reason for change
Change
Action required
OpenSSL Libraries are no longer distributed with VA Smalltalk
Reason for change
Change
Action required
Migrating from Version 8.6.2
Changed representation of socket address in OSSocketAddrInet and SciSocketAddress
Reason for change
Change
Action required
Cryptography methods modified to support OpenSSL 1.1
Reason for change
Change
Action required
Migrating from Version 8.6.3
PlatformFunction and EsEntryPoint parameter/return type accuracy requirement changed
Reason for change
Action required
PlatformFunction and EsEntryPoint type #handle should not be used
Reason for change
Action required
Restrictions on nested use of #lockThreadIn:
Reason for change
Action required
Migrating from Version 9.0
AbtWaitApp changes
Reason for change
Action required
EsCompressionStreamsApp changes
Reason for change
Action required
ZipWriteStream
ZipReadStream
Deflate/Gzip Streams
EswStreamExtensions changes
Reason for change
Action required
Async Queue Overflow default policy change
Reason for change
Action required
Character conversion default policy change on Unix
Reason for change
Action required
Stream nextLine changes
Reason for change
Action required
Migrating from Version 9.1
EmAttachments changes
Reason for change
Action required
SstImap4Communications changes
Reason for change
Action required
SstSMTPCommunications changes
Reason for change
Action required
NeoJSON WriteStream extension changes
Reason for change
Action required
Manifest file changes some GUI appearance on Windows
Reason for change
Action required
How do I disable HiDPI?
General database changes related storing handles
Reason for change
Action required
Server Runtime’s (SRT’s) are now self contained
Reason for change
Action required
HiDPI impacts class side OSWidget level extent methods
Reason for change
Action required
HiDPI impacts fonts
Reason for change
Action required
Deprecate AbtConditionalWait>>#setDefaultWaitValues
Reason for change
Action required
Migrating from Version 9.2
Transcript search results sorted
Reason for change
Action required
HiDPI requires default font change
Reason for change
Action required
Migrating from Version 9.2.2
Non-Inheritable Handles by default on Windows
Reason for change
Action required
Default OpenSSL PlatformLibrary Name Mapping Update
Reason for change
Action required
Exponential notation will now always answer a Float instance
Reason for change
Action required
Migrating from Version 10.0.0
EsCodePageUtilitiesApp moved to CodePageSupport
Reason for change
Action required
Object>>#abrAsClass has been deprecated
Reason for change
Action required
Migrating from Version 11.0.0
"Rectangle" key renamed to "RectangleFunction" in #_PRAGMA_PlatformFunctions
Reason for change
Action required
Migrating from Version 11.0.1
#sstBase64Encoded now uses Base64Coder instead of Base64CoderMime
Reason for change
Action required
On Linux, glibc function ftime() usage in VM has been removed
Reason for change
Action required
LDAP search parameter handling changed
Reason for change
Action required
Migrating from Version 12.0.0
CwTable>>#fullRowSelect has been deprecated
Reason for change
Action required
CwTable>>#editLabels has been deprecated
Reason for change
Action required
Instantiation of readers and writers for NeoCSV and NeoJSON has changed
Reason for change
Action required
SstHttpClient>>#transportScheme: has been deprecated
Reason for change
Action required
Migrating from Version 12.0.1
Return type / contents for UnicodeString >> #printString has changed
Reason for change
Action required
CwScintillaEditor getStyleBits functions have been removed
Reason for change
Action required
Lexer specification has changed
Reason for change
Action required
Two Lexers do not apply styling
Reason for change
Action required
New Lexers available
Reason for change
Action required
Migrating from Version 13.0.0
Deprecated Classes and Methods
Migration Tools
Library Importer Tool
Logging
Export/Import Passive Image Properties
Migration Guide
Migration Guide
Preface
Notices
Trademarks
About this book
Who this book is for
What's new?
Conventions used in this book
Tell us what you think
Introduction to Migration
Preparing for Migration
Merge applications from the existing library to the new library
Merge the new library into your existing library
Migrating from VisualAge Smalltalk V3.0 or earlier
Obsolete Code
Migrating applications from VisualAge Smalltalk Standard
Generating runtime code
Using the migration tool
Running the tool
Migrating database applications
Loading database migration support
Database Manager
Migrating your application
Database Access Set Runtime
Dynamic to Static
Swapper
General migration
API maintained for compatibility
Dumping, loading, and the Common File System subsystem
Example: Unloading using CfsFileDescriptor
Example: Loading using CfsFileDescriptor
Other migration concerns
Enabling applications from Version 1.0 or 2.0 for packaging
Promoted features of a Container Details View
Updating connections
References to pool dictionary CwConstants, AbtCwConstants, or EwConstants
AbtNormalGraphic constant used in nonvisual parts
Web Connection
Extensions of Decimal class
Applications that use OSObject subclasses
Migrating OSObject subclasses
Migrating code that instantiates OSObject directly
View wrappers that use attribute-to-attribute connections
Migrating the default font for Report Writer reports
Packager warning 'No implementors of fixupNlsPool'
EwIconTree migration may cause walkback
Shortcut keys eliminated from Buttons
Migrating from Version 4.0, 4.01, or 4.02
Packager changes
Symbol and class reference adjustment API
Priority for packaging rules
Problem and rule policies
Problem policies
Rule policies
Migrating distributed applications
Distributed Smalltalk infrastructure
Object space
Communications
Marshaling
Logical process
Activation
Security
Distributed development tools
Remote Workspace
Remote Transcript
Remote file dialog
Distributed Inspector
Distributed Debugger
Distributed garbage collection
Distributed load
Name server
Event profiling (method calls)
VA Smalltalk Parts
Distribution menu
Distributed runtime APIs
Basic remote object API
Object copying API
Parallel processing API
Name server
Event callbacks (connect/disconnect)
Distributed exceptions
Object space management
Porting guidelines
Distributed runtime APIs
Other migration concerns
Using VA Smalltalk features in server applications
Runtime code for nonvisual parts in server applications
Headless runtime applications
Signalling events with arguments
Ending server applications
MVS applications that reference subsystem type 'TM'
Smalltalk error message in a CICS workstation environment
Search path for multiple images of Smalltalk using CICS classes
Snapshot files
Migrating from Version 4.5
Formatted Text Field part
Enhanced shared library support on AIX
Server applications using .mpr files
Migrating from Version 5.0
Some base features no longer available
Some separately priced features no longer available
Hiding Java packages and projects in browsers
Providing a customized splash screen
Migrating control files
Importing feature code
Migrating method mappings to JDK 1.2
Changes in Server Workbench
Current code page support is inconsistent on supported platforms
AbtConnectionSpec >>#targetCodePage: expects a String argument
Migrating from Version 5.5
Elimination of required map links in configuration maps
Low-level configuration map reorganization
Time class shape changed
Default XML serialization methods added for Date and Time
Changed behavior of millisecondClockValue on OS/390
Behavior change in handling negative system time
Behavior change in creating FileStreams
Packager 'do not reduce' rule behavior changed
EMSRV startup parameter changes
SST HTTP Servlet API changed
POSIX Migration on OS/390
Behavior changes for Application Builder parts
Migrating from Version 6.0
AbtPortableNotebookPageView inconsistent behavior
ScaledDecimal>>#hash changed
Subtle change to Compiler
Using ‘Class Variable Initializer’ packaging rules for IC packaging
Removed unused method #abtXmlPrintOn:namespaces:
Suppress serialization of nil attribute values when attribute mapping specifies Required=”false”
Migrating from Version 7.0
Windows theme support interferes with some testing tools
SST HTTP Server access log
Migrating from Version 7.5
Modifiable splash screen on Windows
Consolidate EtToolsVendorExtensionsApp and VisualAgeVendorExtensionsApp
Server Smalltalk (SST) feature definition changes
Merge ENVY/Image Controls apps into other maps
Changes to the AbtTimestamp class
New testing and conversion CLDT API methods
Manifest file changes some GUI appearance on Windows
Merge AbtCwControlsEdit and AbtCwControlsRun apps into other maps
Change to SstHttpServletRequest>>#getContentType
Migrating from Version 8.0
Changes to the UNIXProcess class
Change to default RMI stubProtocolVersion
Change to exception handling
Change to Dictionary>>#copy behavior
AbtWaitApp moved from IBM Smalltalk, ALL - UI Run to IBM Smalltalk, ALL - Headless configuration map
New testing CLDT API methods
Object>>#initialize method added
Migrating from Version 8.0.1
Grease Core and Grease Core Tests maps are obsolete
EsString>>#subStrings: changed to be ANSI-compliant and portable
Random class and methods referring to it have been removed
SequenceableCollection>>#beginsWith: and #endsWith: have been replaced
Duration>>#milliseconds changed to be portable
IdentitySet class added as replacement for EsIdentitySet
Color class promoted from WbKernel to Kernel
SortedCollection private methods #sorted and #sorted: renamed
Migrating from Version 8.0.2
Object>>#value added to CLDT
Icon management classes have been reworked
Mastering ENVY/Developer Configuration Expression Prompter configuration map removed
Changes to ScaledDecimal>>#printOn: and #printString
Changes to TrailBlazer Browsers
Migrating from Version 8.0.3
Consolidation of EsbBenchmarksES subapplication
Change Float and Scaled Decimal 32-bit hash for better distribution
INI file changes introduced by Preference Settings Framework
Change to CgScreen class>>bitmapPath and Locale class>>nlsPath
Migrating from Version 8.5
Changed specification of ODBC dll or shared object in .INI file
Changed PlatformConstants::Error to PlatformConstants::Errorregion for Windows
Added 2 Parameters to the socketAppender Setting in the ini File
Changed default settings for VA Assist Pro
Abt Hover Tooltip text now left-aligned by default
Class definition template changed in standard browsers
Migrating from Version 8.5.1
Parameters in the [log4s] stanza of the .INI file should not be enclosed in parentheses
Time Zone Support Introduced
Prerequisite ICs changed in many IC packaging instructions
String>>asInteger has been removed from EsLoggingFrameWorkApp
Migrating from Version 8.5.2
EsLogManager class>>error: and EsLogManager class>>info: have been removed from EsLoggingFrameWorkApp
Signal>>#description changed for compatibility with class-based Exceptions
EsTimeZone class has changed
Migrating from Version 8.6
Deprecate and replace classes AbtBase64Coder and SstBase64Coder
Deprecate and replace incorrect Windows code page conversion API wrapper methods
Object>>#triggerEvent: added to AbtCLDTAdditions for portability
Print methods added to Integer and Float in CLDT for portability
Migrating from Version 8.6.1
Deprecate classes OSHostent, OSProtoent, and OSServent
EmCompressor compression/decompression algorithm changed
Move SequenceableCollection>>#swap:with: to CLDT for shared use by RBBrowserUIApp and SeasideCoreApp
Dictionary now implements #= and #hash
Multipart Forms Processing Now Removes Only the Trailing Cr/Lf Leaving Whitespace Intact At the End of the Content
SSL Version 2 & 3 Protocols Have Been Deprecated
OpenSSL Libraries are no longer distributed with VA Smalltalk
Migrating from Version 8.6.2
Changed representation of socket address in OSSocketAddrInet and SciSocketAddress
Cryptography methods modified to support OpenSSL 1.1
Migrating from Version 8.6.3
PlatformFunction and EsEntryPoint parameter/return type accuracy requirement changed
PlatformFunction and EsEntryPoint type #handle should not be used
Restrictions on nested use of #lockThreadIn:
Migrating from Version 9.0
AbtWaitApp changes
EsCompressionStreamsApp changes
EswStreamExtensions changes
Async Queue Overflow default policy change
Character conversion default policy change on Unix
Stream nextLine changes
Migrating from Version 9.1
EmAttachments changes
SstImap4Communications changes
SstSMTPCommunications changes
NeoJSON WriteStream extension changes
Manifest file changes some GUI appearance on Windows
General database changes related storing handles
Server Runtime’s (SRT’s) are now self contained
HiDPI impacts class side OSWidget level extent methods
HiDPI impacts fonts
Deprecate AbtConditionalWait>>#setDefaultWaitValues
Migrating from Version 9.2
Transcript search results sorted
HiDPI requires default font change
Migrating from Version 9.2.2
Non-Inheritable Handles by default on Windows
Default OpenSSL PlatformLibrary Name Mapping Update
Exponential notation will now always answer a Float instance
Migrating from Version 10.0.0
EsCodePageUtilitiesApp moved to CodePageSupport
Object>>#abrAsClass has been deprecated
Migrating from Version 11.0.0
"Rectangle" key renamed to "RectangleFunction" in #_PRAGMA_PlatformFunctions
Migrating from Version 11.0.1
#sstBase64Encoded now uses Base64Coder instead of Base64CoderMime
On Linux, glibc function ftime() usage in VM has been removed
LDAP search parameter handling changed
Migrating from Version 12.0.0
CwTable>>#fullRowSelect has been deprecated
CwTable>>#editLabels has been deprecated
Instantiation of readers and writers for NeoCSV and NeoJSON has changed
SstHttpClient>>#transportScheme: has been deprecated
Migrating from Version 12.0.1
Return type / contents for UnicodeString >> #printString has changed
CwScintillaEditor getStyleBits functions have been removed
Lexer specification has changed
Two Lexers do not apply styling
New Lexers available
Migrating from Version 13.0.0
Deprecated Classes and Methods
Migration Tools
Library Importer Tool
Export/Import Passive Image Properties