VA Smalltalk Readme


Contents


Welcome to VA Smalltalk Version 9.1

VA Smalltalk enables software developers to create highly portable, scalable, multi-tier business applications using object-oriented technology. VA Smalltalk allows for incremental and rapid development of new Smalltalk applications. Developers can build and deploy enterprise Web service solutions for dynamic e-business using VA Smalltalk.


What's New in V9.1

Late-breaking news, technical tips, and product updates

Please refer to the Instantiations Smalltalk home page for technical information including tips and product updates made after this product release. The web page includes information about what's included in the release, and how to contact us as well as hints and tips for using and deploying VA Smalltalk.

You can download the latest product updates, as well as product add-ons, from the Instantiations Smalltalk download page.


Version 9.1 files and installation

Distribution files

VA Smalltalk distribution files are divided into development time components and runtime components.

Each VA Smalltalk platform has two downloadable development time components:

Product Installer
The product installer installs the Client and Manager components of the VA Smalltalk product as well as a development IDE setup tool. The Client component contains the VA Smalltalk development IDE. The Manager component contains the VA Smalltalk library (source code repository) file and the EMSRV code used to access the repository file in a team environment. There are two versions of the product installer: one for 32-bit and one for 64-bit installations.
Documentation Installer
The documentation installer installs a local copy of the VA Smalltalk documentation onto your workstation.

Each VA Smalltalk platform has one downloadable run time component:

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

The Linux Product installers come in Debian and RPM formats.

The Server Runtime component for all platforms, are delivered as .zip files. If you do not already have a suitable unzip program, then you can download a no-charge unzip program such as Info-ZIP.

Note: The gunzip program will not work with the VA *.zip files. The VA *.zip files are multi-file archives while gunzip is only designed to handle single compressed files.


Installing VA Smalltalk

Windows

If you are new to VA Smalltalk, we recommend that you install the documentation locally using the VA Smalltalk Documentation Installer, VASmalltalkDocumentation-9.1.0.exe, for easy reference before you install the VA Smalltalk product.

Run the downloaded VA Smalltalk Product Installer, VASmalltalk-9.1.0x86.exe (32-bit) or VASmalltalk-9.1.0x64.exe. (64-bit)

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 Installation Guide, or locally after you run the VA Smalltalk Documentation Installer.

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 VA Smalltalk.

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.

If you are installing on Windows Server:

Problem:
The manager is not installed when installing the product with both client and server portions present (the typical or default installation configuration).
Workaround:
Copy %tmp%\Instantiations\VA Smalltalk\9.1\manager\mgr91tmp.dat to <mgrroot> and rename it mgr91.dat. By default, <mgrroot> is C:\ProgramData\Instantiations\VA Smalltalk\9.1\manager. to determine %tmp%, open a command terminal and enter echo %tmp% .

Linux

If you are new to VA Smalltalk, we recommend you install the documentation locally first, so you have the Installation Guide in a convenient place. Unzip the downloaded VA Smalltalk Documentation Installer for your Platform and execute sudo ./vainstall in a terminal. Then open a browser on file:///usr/local/VASmalltalk/9.1/help/index.html once the documentation is installed locally.  

Installing the product: Unzip the downloaded VA Smalltalk Product Installer for your platform and your preference for 32-bit or 64-bit. 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.
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 Installation Guide, or locally after you run the VA Smalltalk Documentation Installer. 

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 VA Smalltalk.


VA Smalltalk Migration Guide

If you have a version of VisualAge Smalltalk or VA Smalltalk already installed, please refer to the Migration Guide for important information before using VA Smalltalk V9.1. The Migration Guide can be read online at Migration Guide, as a pdf or it can be read locally if you installed local documentation.


Corrections and Enhancements

This section lists the corrections and enhancements introduced by each release of the VA Smalltalk product.


Corrections and Product Enhancements in V9.1

  Case   Title
  -----  ----------------------------------------------------------
   49938 New SUnit feature - specify tests to skip
   56400 Implement Dirty Icons for Linux/Unix tabbed browsers
   58175 LDAP Client Goodie integration into product
   59055 Fix break on context menu in unsaved pragma method
   59970 AbtTimedWait does not wait on the Linux platform
   62507 Fix OSStructure alignmentAt bug which impacts XD Packaging
   62653 Add capability to SUnit browser to print Results to the Transcript in Dev Mode only
   62811 9.1 OpenSSL Currency: OpenSSL 1.1.1 Compatibility
   62813 LZ4 Compression Support
   62819 JSON Support
   62859 64-bit corrections to MZZipUnzipApp pragmas
   62870 GPF accessing TIMESTAMP field using Oracle
   62876 va90x64_sw and va90x86_sw are missing sstg.cat
   62915 AbtIbmCliDatabaseConnection>>#determineDatabaseConnectionType misreads DB version number
   62941 Auto-collapse policy changes break Smalltalk workspace keyword styler
   62944 Relax convic path parser to accept trailing path separators
   62945 Add -help command line argument to convic, the 32/64-bit conversion tool
   62947 Block fetching with ODBC does not work correctly
   62978 Add ASLR and DEP compiler switches to virtual machine project
   62979 Add ASLR and DEP compiler switches to EMSRV project
   62980 Add ASLR and DEP compiler switches to vasslthreads project
   62981 Add ASLR and DEP compiler switches to webconn project
   62982 Add SM3,SM4 Cryptographic hash functions
   62984 Add ARIA AEAD Cipher
   62985 Add SHA3 Support
   62988 Add SSL/TLS 1.3 Support
   63012 NLS Enabler 'Next' button fails to advance selection in IBMST image
   63025 Recreation guard check in NlsApplicationWarningBrowser>>menuEdit
   63091 Add sha512/224 and sha512/256 support to OpenSSL
   63093 Update zlib version to 1.2.11
   63100 Add support for CwPushButton to show image and text
   63104 Fixed ZLib Deflator producing incorrect results on large input
   63105 ZLib Deflator and Inflator have been moved to MZZipUnzipApp
   63106 Deflator and Inflator now subclass MZCodec to improve reuse
   63108 Add gzip compress/decompress API to String and ByteArray
   63109 Compression Stream API Unification for GZIP, DEFLATE, LZ4, ZIP
   63136 Fixed  browse hierarchy hotkey in code completion box
   63139 Change VA Assist default DragNDrop button to platform default
   63147 Improve Monticello Importer to not create unnecessary subapps
   63153 Add inflate/deflate API to String And ByteArray
   63157 Zip Streams do not conform to read/write interface
   63165 Improved browse implementors/senders on selection usability
   63166 Removed obsolete VA Assist keymappings Ctrl+Shift+[T|F|G]
   63169 Fixed Browse Class or Hierarchy from implementors browser if method was private
   63170 New browse menu items and shortcuts on current selection in edit menu
   63171 Fixed browsing references to scoped pool variables not highlighting
   63172 Update Minizip bindings to 1.2
   63177 Monticello Importer fails to decode UTF-8 encoded source files
   63185 Fix DirectedMessage incorrectly passing second argument in value:value:
   63186 Add little-endian and big-endian accessors on OSObjects, ByteArray and String
   63187 Fixed abtLittleEndianInt64At accessor
   63190 Fixed DirectedMessage crash when executing with less args than expected
   63196 Add application sort by needing versioning first to StsApplicationManager
   63199 Add Dark Editor Theme
   63200 Decouple inspector variables pane from theme engine
   63204 New high-performance non-recursive String>>match: implementation
   63213 OSTextEdit>>osPosition more accurate when text is selected on Windows
   63214 Add Monticello Importer hooks for super group setting/compiler warning level/app suffix
   63217 Open Hierarchy view when implementors size is one
   63226 Fix #getPostFieldsString doesn't work for JSON
   63227 Fix WASstRequestConverter>>isUrlEncoded: without contentType
   63230 Apply Instantiations coding standards to SstHttpClient
   63232 Fix SstHttpClient throws DNU in get: when URL string is missing the transport scheme
   63234 Add high-performance support for UUID spec v3, v4 and v5
   63236 Add Solarized Dark Editor Theme
   63238 Grease UTF8 Codecs do not work properly
   63239 Monticello Importer fails to parse class comments with exclamation mark
   63240 Move next:into:startingAt: into base code
   63241 Add Regex support in the base image
   63242 Add #cull:* family of methods to BlockContextTemplate and DirectedMessage
   63247 Fix Mastering ENVY/Developer ScriptManager to work with Scintilla Editor
   63261 Abt Code Page Converter does not ignore UTF-8 BOM when decoding
   63262 Abt Code Page Converter was not properly dealing with embedded null chars
   63269 Unify UTF-8 conversion in Abt Converted and allow specifying a policy
   63274 Linux 64-bit changes to CommonFileSystem
   63280 VAST IDE doesn't find implementors of method names with capital letters
   63285 Fix Zlib bindings for Linux 64-bit due to 8byte ulong required
   63288 StsHierarchyList>>showing: has async timing bug
   63290 Can not browse references to lowercase pool variables
   63293 Fix several bugs in AbtCodePageConverter relating to buffer management
   63302 Improved TobToolBarsWidget performance on Linux
   63304 New SUnit Test menu items from different browsers
   63305 Fix Code completion popup request failure on Linux
   63306 Error when trying to save/quite image with Seaside adaptor that had error
   63308 Linux 64-bit changes to PlatformInterface
   63310 Linux 64-bit changes to PlatformFramework
   63311 Linux 64-bit changes to PlatformEvents
   63312 Unix destroyWidget logic iterates over modifiable collection
   63313 Linux 64-bit changes to CommonPrinting
   63314 Linux 64-bit changes to CommonWidgets
   63315 Linux 64-bit changes to CommonGraphics
   63316 Linux 64-bit changes to Abt Hover Help
   63317 Linux 64-bit changes to CwDragAndDrop
   63318 Fix Enhanced list widget color prompter on Linux
   63327 Fix Motif File Dialog dynamic resizing
   63328 More modern and consistent Motif theme on Unix
   63329 Fix copy/paste on Linux text fields
   63332 Fix menu popup flicker on Linux
   63334 Use enhanced widgets in StsDebugger for Linux
   63336 Improve SUnit to better deal with expectedFailures
   63349 Support for dynamic motif 2.3.x lib bindings
   63360 Monticello Importer doing wrong assumption of line ending on Linux
   63372 Add "Test Loaded Applications" menu entry to Config Map Browser
   63385 "Hierarchy" menu entry in SUnit results do NOT auto-select test method on opened browser
   63386 Update Seaside tests for 9.1
   63389 Several fixes to SUnit results presentation and improve management of unexpected passes
   63397 Move SUnit Envy helper methods from VastTeamTestingSupportSUnitApp to SUnit
   63398 New ENVY manager opening editions controls in SUnit TestCase
   63437 Grease API to write file stream is not closing stream when it should
   63445 Replace usage of deprecated asDecimal with asScaledDecimal in AbtMiscSmalltalkParser
   63465 Ole stack argument descriptor not 64-bit clean
   63478 Increase size of the async queue
   63489 Fix ASN1 Integer get/set on Linux64 where long is 8 bytes
   63490 Fix manual alignment padding bug in OSSslX509Req for Linux64
   63497 Unix incorrectly adjusts source positions in selector identification algorithm
   63499 Fix OSAddrInfo>>aiAddrlen on Linux64 - usize must be uint32
   63500 Fix SstUnixSocketDemultiplexor>>poll bug in V9.0/V9.1
   63502 WkTableWidgetProgrammedDataProfileExample walks back after a cell edited
   63508 Improve performance on Linux by avoiding CwBasicWidget>>widgetUnderPointer
   63511 Fix colorMap restore in when disconnecting code assist popup
   63516 VM GC info should not be printed into console
   63524 Remove motif warning from the stdout console on Linux
   63527 SstHttpClient proxy capability only works for oneshot operations
   63532 Implementors should have precedence over Pools when looking for implementors
   63552 AbtWaitApp cleanup and refactoring
   63547 Improve #nextLine to work with all known delimiters (Cr, Lf and CrLf)
   63549 EsOrderedDictionary keysDo: does not maintain order
   63555 Code Assist language providers should not use hashed collections for language list
   63568 NlsCatalogBrowser must implement #selectedApplications
   63592 Add accessors missing in OSMidlStubMessage
   63596 Improve how StsApplicationConfigBrowser handles loaded classes with same name as shadow
   63597 Various code assist features can just stop working in certain editor instances
   63601 Create indexOfAny APIs in CLDT
   63602 Add skipToAny/upToAny APIs to Streams
   63607 Scintilla indicator of size 1 char may fail to undraw during text modification
   63624 Inflater/Deflater has a 32-bit for totalBytesRead/totalBytesWritten on some platforms
   63626 Fix XD Unix packager dumping of byte objects
   63644 Fix UNIXEnvironment>>primGetenv: for new FFI and 64-bit
   63647 Add a setting to control whether to signal error or not on #asyncQueueOverrun
   63655 at:ifAbsentPut: are missing return statements in certain Dictionary impls
   63672 Fix UndoManager disconnect from EtWindow during programmatic close window on Linux
   63705 SCIINETNTOP has wrong return type:
   63706 Unsafe return value usage in SciSocketManager>>inetNtop:addr
   63709 Some Tob Toolbar Widgets are missing isManaged check in expose event
   63716 Unix Print Support for 64-bit
   63717 Modal dialogs showing up behind browsers on Linux
   63748 Fix running 64-bit packaged images in big-endian format
   63763 Update HLLAPI to match changes to AbtConditionalWait
   63765 OSOleInterface contains 32-bit platform functions in a 64-bit converted image

Components and Features

The following sections list some important information about some of the components and features. For the latest product information, please refer to Instantiations Smalltalk web page.


Virtual Machine

New 32 and 64-Bit Linux

Linux joins our latest platforms to be built on the new 32 and 64-bit virtual machines built on modern code generators and technology stack.

ASLR and DEP

The virtual machines (and supporting binaries) are built with Address Space Layout Randomization (ASLR) and Data Execution Prevention (DEP) enabled for better security.

Motif Dynamic Linkage

The virtual machine now dynamically links to motif on Linux systems.  


User Interface

Linux L&F

While the Linux image was being updated for 64-bit and the newer versions of Motif available on Linux systems, we took the opportunity to make some substantial improvements to the Linux environment in the following areas:


Base

SequenceableCollection

String

Streams


Development Tools

 Browsers and Editor

SUnit


LDAP


Regular Expressions


JSON


UUID


Unicode and Code Pages

AbtCodePageConverter


Compression Framework

Zip Stream Support


Server Smalltalk (SST)


AbtWaitApp

This application offers high-resolution timers which work on Linux as well as on Windows.
The quality of the code was dramatically improved and we made sure they work on all platforms now.


Asynchronous Queue

The async queue on Linux has beenvery problematic. It would not be uncommon to have an "Async Overrun" debugger open simply because a large popup menu was opened.  We solved this problem by making the async queue much larger, as well as providing a new default (configurable) policy on how to handle overruns.


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 Corporation 2005, 2018. All rights reserved.