GoAnywhere Director Release Notes

Feb 11, 2015 - Version 4.7.0

Enhanced the GHTTPS Task to support sending Secure Mail Certified Delivery messages. Recipients of these messages will require a registered account to access the package.

Enhanced the GHTTPS Task to support the Secure Mail Allow Reply setting. If the server supports this setting, anonymous recipients of Secure Mail messages can send replies to the sender.

Enhanced the Send Email task to allow blank variable values for recipient address fields as long as there is at least one address specified at runtime.

Added the ability to utilize batch inserts and updates with the SQL Task.

Added the scheduled job Description as an available column of the List Scheduled Jobs page.

Added the ability to configure the SSL Context Protocol used for GHTTPS client connections.

Added the ability to filter by MIME Message ID in the Retrieve Mail task.

Added support for zlib@openssh.com compression algorithm in the SSH, SFTP and SCP tasks and resources.

Added an update for the 'Last Executed On' timestamp of projects that were executed by the Call Project Task from within another project.

Added an Allow Invalid Addresses flag to the Send Email task to instruct the SMTP server to send the email all remaining valid addresses if one of the recipient addresses is invalid.

Updated the GoAnywhere Director User Guide with 42 new examples for Project Tasks, Decisions, and Loops. The documentation update also adds 178 field definition tables as well as hundreds of new screen shots to illustrate the Project examples.

Updated newly created projects to be configured with a Verbose log level by default.

Fixed an issue where purging of job logs could encounter a NullPointerException in certain scenarios.

Fixed an issue with the Modify RowSet task that could occur if using existing column and no Column subelements are added to the task.

Fixed a validation issue with the AS2 Task encryption and signing algorithms when running in FIPS 140-2 mode.

Fixed an issue where cancel or hold requests on a running project were ignored if the project contained an empty Loop element.

Fixed a caching issue with the web help that could occur after upgrades of GoAnywhere Director.

Fixed an issue with the FTP/S Task CRC32 checksum process that was trimming leading 0 (zeros) from the calculated hex value. This was causing the checksum comparison of select files to fail.

Fixed an issue with the Read Excel task where unsupported formulas were causing a failure even when Skip Invalid Rows option was set to true.

Dec 19, 2014 - Version 4.6.6

Added support for SHA2 signature algorithms on AS2 task and resource.

Added support for non-standard MIC algorithm names for processing signed MDN receipts.

Fixed an issue related to FTP/S and SFTP File Monitors where items in the fileList variable passed to projects were flagged as directories.

Oct 27, 2014 - Version 4.6.5

Added the ability to configure the SSL Context Protocol used for HTTPS and AS/2 client connections.

Jul 25, 2014 - Version 4.6.4

Added an option to the HTTP/S Tasks' Get/Post/PostRawData methods to bypass validation of the response status code to allow the method to finish when the response is not successful.

Jul 18, 2014 - Version 4.6.3

Added an option to the AS2 Task and Resource for specifying a default Receipt Transfer Encoding.

Fixed an issue with the processing of binary encoded AS2 MDN receipts.

Jun 26, 2014 - Version 4.6.2

Enhanced the validation of the Compression Tasks to properly reject the use of Encrypted Folders for input or output destinations.

Updated the Encrypted Folders deactivation validation to handle scenarios when the folder no longer exists on the file system.

Fixed an issue where Monitors could continue running past its end time in certain configurations.

Fixed an issue where Importing Projects From ZIP would fail to persist folder level variables.

Fixed an issue with searching Scheduled Jobs and deleting Projects when using a MySQL database that is running on a Linux/Unix operating system.

Fixed a potential error in the HTTP and HTTPS Tasks that would cause the project to fail when the Log Level is set to Debug.

May 19, 2014 - Version 4.6.1

Added support for GoAnywhere Gateway and SOCKS proxy servers on AS2 Tasks and Resources. These options are in addition to the already supported HTTP proxy type.

Enhanced the AS2 MDN signature validation to work when the certificate is not included in the receipt.

Enhanced security on pages with sorting.

Watch the 4.6 release highlights

May 12, 2014 - Version 4.6.0

Added the ability for Product Administrators to define custom Job Queues for running projects in GoAnywhere Director, which is useful for grouping and prioritizing Jobs. Each Job Queue can be configured with the following attributes:

Name – The name of the Job Queue

Priority – The priority of the Job Queue (from 1 to 10) in relation to other Job Queues, which GoAnywhere Director will use to determine which Job to run next.

Max Active Jobs – The maximum number of Jobs that can run at once from the Job Queue. This setting can also be used if you want to configure a single-threaded Job Queue, which allows only one Job to execute at a time from the queue.

Execute On System – When running in a clustered environment, this allows you to specify which system to run the Job on.

The Job Queue (to run the job) can be specified in a Project definition, from the GoAnywhere Scheduler, or from command line interfaces. If a Job Queue is not specified, GoAnywhere Director will use the default system Job Queue.
Job Queues can be created, viewed, held, released and cleared within the new "Job Queue Manager" screen.

Enhanced the File Monitors feature to allow scanning FTP, FTPS and SFTP servers for new, modified, or deleted files. Within the File Monitor configuration screen, you can choose the type of location to monitor. If an FTP, FTPS or SFTP location is selected, you can then choose the GoAnywhere server resource (to scan) from a drop-down list.

Added a new option in the File Monitors feature for checking file availability, which can perform a secondary snapshot and determine if the file timestamps or sizes changed since the prior snapshot. This is especially useful when scanning SFTP, FTP or FTPS systems to verify the file is not actively being written to by another application (before GoAnywhere accesses the file). This new file availability option is also useful when scanning local file systems that do not support file locking. Also adjusted the layout of the Monitor configuration screens to be more intuitive.

Added an interactive debugger to the Project Designer to allow the execution of tasks on a step-by-step basis, which is very useful for diagnosing any problems in Projects. The debugger can be utilized by an authorized user to skip tasks, view/change variable values at each step, and review the current Job Log.

Added the ability to designate Encrypted Folders for protecting files at rest (on disk) using AES256 encryption. GoAnywhere Projects will automatically encrypt the data as it is written (streamed) to files within these designated folders. This is important for compliance with security standards (e.g. PCI DSS, HIPAA, etc) which require that sensitive data is never stored "in the clear" on disk at any time. When a Project accesses the files from an encrypted folder, the files will be automatically decrypted on the fly. Encrypted folders can also be accessed by authorized users through the GoAnywhere "File Manager" screen.

Added a new "Modify RowSet" Task which allows Projects to modify data in a RowSet before it is written to a target location. For instance, you may want to manipulate the values in a database result set before writing it to a CSV or Excel file, or vice versa. With the Modify RowSet task, records (rows) can be included or excluded for processing with user-defined filter criteria. Column values in a RowSet can be modified based on expressions and other column values. For instance, if column 2 contains the value "ABC", then column 4 could be changed to the value of "123". Columns can also be added to, or removed from, a RowSet using this new task.

Added a new "Execute SSH Commands" Task which allows Projects to run commands on a remote SSH server. Parameters can be passed to the SSH command as constants or variables. The output from the remote SSH command can be directed to the job log or an output file.

Added a new "Password Protect Excel" Task that can be used in a Project to encrypt Microsoft Excel .XLSX documents using a specified password. This new task is available in the Task Chooser from within the File Encryption folder. Either a single file or a group of .XLSX files can be encrypted at a time.

Added support for "Else" statements that can be placed under IF conditions within a Project. For instance, you may want to execute a block of tasks if a condition is met, otherwise (else) execute another block of tasks if the condition is not met. You can add an Else statement in the Project Designer by right-clicking on the IF component in the outline and choose the "Add Else" option.

Added new templates for creating Projects that illustrate how the new tasks (which were introduced in this release) could be utilized.

Provided support for the MLSD standard when parsing directory listings from FTP/s servers. MLSD is a popular directory listing mechanism that is supported by most FTP/s servers. MLSD is the default list parser type for new GoAnywhere Director installs.

Added support for a "If” Function that can be used within expressions in Projects.

Added support for GoAnywhere Gateway and SOCKS proxy servers on HTTP/S Tasks and Resources. These options are in addition to the already supported HTTP proxy type.

Enhanced the encryption of user passwords by using the SHA-512 hash algorithm, which is applicable to administrative Users that use the GoAnywhere Director database for authentication. Passwords for existing user accounts (that authenticate against GoAnywhere Director) will be converted (rehashed) automatically with the SHA-512 encryption algorithm after the users log in.

Added the ability to export multiple Projects into a ZIP file. During the export process, the user can choose to include the folder description, folder variables and any subfolders in the exported ZIP file. The ZIP file (containing the projects) can then be imported into another installation of GoAnywhere Director.

Added support for multi-byte character sets when Oracle is the backend database.

Enhanced the Switch Database process for SQL Server to allow the use of Windows Integrated Security.

Enhanced the Open PGP Key Manager to show the expiration date for keys in the list. Any expired keys will be colored red.

Added a button in the More Actions menu on the Project List page that will show the Scheduled Jobs that reference a specific Project.

Added validation to prevent a Project from being deleted if it is currently used by a Scheduled Job.

Enhanced the 'Where Used' search on Resources to also scan File and FTP Monitors for references to the Resource.

Combined the SFTP and SCP Resource types into a single SSH Resource type. The SSH Resources can be utilized by any tasks that work with the SSH protocol including SFTP, SCP, and Execute SSH Commands tasks.

Adjusted the validation of folder level variables to prevent duplicate variable names regardless of character case.

Added validation to prevent invalid characters from being specified in the names of Resources. Added restriction checks to various pages under the Tools menu to restrict access only to users with authorized roles.

Removed a hidden input field from the Server Log Viewer page.

Increased the default batch Runtime limit to 50 for new installs only.

Merged the dpa_jobq and dpa_jobq_data tables which increases performance on various databases when many jobs are queued.

Upgraded the SFTP client library from 1.49 to 1.51 which fixes sporadic failures that occurred when running GoAnywhere Director on Java 1.7.

Fixed an issue with the File Chooser where users could navigate to directories they are not permitted when using the File Manager in restricted mode.

Fixed an issue with the File Manager where renaming a file could fail if the user's home directory ends in a slash or contains different case on the folder path.

Fixed an issue with the MGET action in the FTP task to ensure the data type is set to ASCII before sending the NLST command. This adjustment was made in accordance to RFC 959 section 4.1.3.

Fixed a validation issue with the Execute Native Command task that could occur in certain cases when redirecting command output to a file.

Fixed an issue with the FTP PUT action where command replies would become out of sync if the local file was inaccessible for some reason during the PUT operation.

Mar 3, 2014 - Version 4.5.6

Upgraded the embedded Apache Tomcat server from 6.0.36 to 6.0.39.

Upgraded the Apache POI API from 3.6 to 3.10. This API is used to read and write Excel documents.

Fixed an issue with AS2 task that was not releasing file locks in certain cases after sending a file.

Fixed a compatibility issue between GoAnywhere Director and certain SFTP servers where large file uploads were causing the project to hang.

Oct 4, 2013 - Version 4.5.5

Added the 'type' parameter to MIME messages in AS2 when sending multiple files.

Aug 8, 2013 - Version 4.5.2

Updated the Bouncy Castle API used for PGP and SSL from version 1.38 to 1.49.

Enhanced the AS2 request to no longer fold headers when attaching multiple file parts to the multipart MIME message.

Fixed an issue with the Copy and Paste operating between projects that was causing the working project to become out of sync.

Jul 16, 2013 - Version 4.5.1

Fixed an intermittent timing issue that was introduced in 4.5.0 in which a batch job may lose the variable values that was passed to it during execution.

Jul 8, 2013 - Version 4.5.0

Added support for clustering, which allows two or more installations of GoAnywhere Director to work together for running batch file transfers and scheduled jobs. This provides greater scalability by allowing workloads to be distributed horizontally across multiple installations. Also
known as active-active, this configuration provides the best high availability option for handling potential system failures. The following features have been made available to support clustering in GoAnywhere Director:

Set up a new communication channel so all GoAnywhere Director systems within a cluster can keep in constant communication with each other in order to share statuses and other information needed.

Two or more GoAnywhere Director systems within a cluster are allowed to connect to the same external database at the same time. This allows these systems to share security settings, Resources, Projects, configurations, logs and other tables.

A new configuration file '/config/gadirector.xml' has been added under the GoAnywhere Director installation folder that allows you to 1) set a unique System Name (for that installation) in order to identify it within the cluster and 2) enable clustering for that system and 3) configure
the IP and Port it will use to communicate with other systems in the cluster. Please note that any changes to gadirector.xml will require a restart of GoAnywhere Director in order for those changes to take effect.

The System Name (specified in gadirector.xml) will appear on the GoAnywhere Director login screen, on the top-right corner of the screens and any cluster-related screens. This name will also be recorded in job log records so you know which system was executing the Project. The system
name is accessible in Projects using the 'system.systemName' variable.

A new Cluster Manager screen was added (located under the Administration menu) to show all GoAnywhere Director systems in the cluster.

The database can be configured or switched from any system's console in the cluster, in which those database changes will be replicated to all systems in the cluster.

The "Instance Name" parameter in the Global Settings has been renamed to "Environment". This setting is database driven and is shared with all systems in the cluster. For example, "Production" or "Development" would be typical environment names, whereas "System-A" and "System-B" may be
good system names to identify each unique system within the clustered environment.

When running in clustered mode, the Global Server Log for each system will be written to a file containing the system name in order to keep each log identified and separated properly. The syntax of the log file will be 'goanywhere_[SystemName].log' where [SystemName] is the name defined
in the 'gadirector.xml' configuration file. The Global Server Log files for all systems in the cluster will be written to the same logs directory (as defined in the Log Manager Settings).

Projects submitted in batch mode are placed in a shared queue for any available system to pick up for execution. Typically the system that submits the batch job will process it unless the Maximum Concurrent Batch Jobs limit (specified in the Global Settings) is reached on that system. In
this case, another available system in the cluster will execute the job. Please note that Projects executed in interactive mode will always run on the system they were submitted on.

The processing of Monitors (for scanning folders) is distributed evenly across all systems in the cluster. For example, if 100 Monitors are submitted for processing in a cluster with two systems, then 50 will be run on each system.

The Active Jobs screen allows administrators to view active jobs for any system in the cluster. Within this screen, jobs can also be canceled, held or resumed on any system in the cluster.

The 'Thread-Safe' setting on Projects is aware of all systems in the cluster. This setting determines if more than one instance of the Project can be running at any given time. If the Project is actively running on a system, it cannot be executed at the same time on any other system in
the cluster unless the 'Thread-Safe' option is set to 'Yes'.

The Pause, Resume and Cancel job commands used by GoAnywhere Command (GACMD) can be executed on any system even when the job is running on another system in the cluster.

Please note that all GoAnywhere Director systems in the cluster must be at the same product version, which will be enforced. For instance, you cannot have a GoAnywhere Director system at version 4.5.0 and another system at version 4.6.0 in the same cluster.

Refer to the clustering section in the installation guide for more information.

Added folder level variables that can be used to provide the same constant values to any Projects within the folder. The folder variables can be specified in the "Add Folder" and "Edit Folder" screens. For each folder variable, you can assign the variable name, its constant value and a
description. For instance, you could define a folder variable named "DepartmentNumber" with a constant value of 99. For any projects within that folder that refer to DepartmentNumber, they would be provided with the value of 99.

Added the ability to Copy and Paste elements within Projects. To access the copy and paste functions, right-click on an element in the Project outline and then select the Edit menu.

Added the ability to edit a Project or view a Project folder when working with Completed Job Logs, Scheduler line items and other Project related pages. To access these new functions, select the action menu next to the line item (containing the Project name) that you wish to work with.

Added extra validation on the Users page to prevent a Security Officer user from deleting their own account.

Added a Control Encoding setting on FTP/S resources and tasks to allow overriding the default ISO-8859-1 character encoding. This setting can be used in situations where special characters exist in file names.

Removed the Finish button from the Add Task screen within the Project designer so a user does not unintentionally exit out of a Project they are editing.

Enhanced the News and Tips section on the dashboard to retrieve the news feed from an HTTPS source if accessing the administrator via HTTPS. This will avoid warnings in some browsers about downloading unsecure content.

Enhanced the active jobs link in the dashboard statistics section to direct the user to the Active Jobs page instead of the Completed Jobs page.

Enhanced the GoAnywhere HTTPS Resource and Task to use an updated version of the API.

Enhanced the VMS directory parser in FTP/S tasks to handle directory listings where the allocated size is not returned.

Fixed an issue in the Project designer when performing a Cut and Paste After inside of a loop.

Fixed an issue on the Advanced Search tab of the Monitors page where the search type resets back to the default value in some cases.

Moved the mail.jar and activation.jar files from the /lib directory to the [installdirectory]/tomcat/endorsed directory.

Updated the default trusted SSL certificates that are shipped with the product to the most recent certificates. This affects new installations only.

Modified the maximum JVM memory allocation from 512 to 1024 MB. This affects new installations only.

May 1, 2013 - Version 4.4.0

Enhanced Scheduled Jobs that are currently repeating to be persisted after GoAnywhere is restarted.

Enhanced expressions to execute method calls in the correct order when used in conjunction with math operators. For example, ${10 + file:size}

Enhanced expressions to work with MQ properties. For example, ${message:properties['propertyName']}

Enhanced the News and Tips section on the Dashboard to be collapsed by default if there was a problem loading the news feed. This will prevent extra errors from being recorded in the global log when GoAnywhere is unable to connect to the internet.

Enhanced the status wheel popup to have a 'close' button when searching projects for references to a resource. This allows users to cancel or interrupt the process.

Enhanced the View Database Configuration page to only show the latest configuration section if it differs from the current database configuration.

Updated the MySQL database driver from version 5.0.3 to 5.1.17.

Fixed an issue where the Chrome browser was automatically populating username and password fields on certain pages when the 'Allow Browsers to Save Login Credentials' option is enabled.

Fixed an issue where Scheduled Jobs that were restored from the job queue after a restart lost certain information like the email addresses on success/failure and the repeat options.

Fixed an issue where Network Share resource names were qualified by double quotes when selected in the File Chooser popup.

Apr 26, 2013 - Version 4.3.4

Fixed an issue in File Monitors where some modified files could be ignored when a lock on the file cannot be obtained. This issue does not affect monitors that are looking for new files.

March 25, 2013 - Version 4.3.3

Enhanced the SFTP Task and Resource to allow configuration of the Authentication, Cipher, MAC and Compression algorithms that are used by the connection.

Enhanced the Execute Native Command task to close its standard in and standard out streams immediately after execution, instead of waiting for the JRE's garbage collector to close the streams. This should help prevent the reported error message of "Too Many Open Files" when the open file limit for the process is not set high enough on Linux/Unix based operating systems.

Fixed an issue with the File Chooser that was failing to work when the selected file or folder name contained an apostrophe.

Fixed an issue with the SFTP task that was failing to create sub directories when uploading a recursive FileSet to some SFTP servers. This issue was introduced in version 4.3.0.

March 11, 2013 - Version 4.3.2

Added various performance enhancements to SFTP task.

March 8, 2013 - Version 4.3.1

Fixed a syntax error issue with the Windows upgrade script that was causing future upgrades to fail.

Feb 19, 2013 - Version 4.3.0 Released

Added the ability to keep a session alive between one or more file transfer tasks (supported in FTP, FTPS, SFTP and SCP protocols). When using one of these tasks in a Loop or as part of a multi-step workflow, the session can be kept open and reused rather than closing and reopening the
session after each task, which will provide better performance. To reuse a session within a Project, specify a variable for the Output Session ID (on the Advanced tab) on the first file transfer task, then specify that same variable for the Input Session ID on the file transfer task to reuse the
session.

Added a "Close Session" task that can be used to close an open FTP, FTPS, SFTP or SCP session. The Close Session task is located in the FTP folder within the task chooser. If a session is kept open by specifying an Output Session ID variable on a file transfer task, the Close Session task
can be used to close that particular session. If the Close Session task is not specified in a Project, all open sessions will automatically be disconnected and closed when the Project finishes.

Added logic to not attempt to create a directory (mkdir) if the directory already exists when putting files via FTP, FTPS, SFTP and GHTTPS. If the directory existence cannot be verified, the tasks will still attempt to create the directory and upload as before.

Added a new section on the dashboard to display news and tips. Linoma Software will use this section to notify customers of new releases, helpful techniques and other product related news.

Added support for storing GoAnywhere Director backend tables on the Oracle database system (version 10g or higher). The "Switch Database" wizard was enhanced to simplify the migration, which will automatically create the tables and migrate existing data to the Oracle database system.

Added an option on the administrator to customize the Server Header, which allows users to specify their own response header for security purposes.

Enhanced Project validation to allow the "Call Module" Task to compile when the module name doesn't exist, as long as there is an Import XML defined on the Project. However, an error will be produced if the module does not exist (after the importing the XML) during execution of the
Project.

Upgraded the embedded Apache Tomcat server from 6.0.26 to 6.0.36.

Upgraded the embedded Apache Derby database from 10.8.2.2 to 10.9.1.0.

Added a JVM argument to the system startup that forces the Solaris JVM to behave like all other operating systems in regards to thread interruption. Omitting this flag was causing sporadic thread failures on Solaris installations. This Solaris specific JVM argument is added to all new and upgraded installs, no manual changes are needed.

Enhanced the Server Log page to allow an administrator (with proper rights) to view any log file located within the Logs Directory. The log file can be simply chosen from a drop-down list.

Upgraded the Oracle JDBC driver from version 11.1.0.6.0 to 11.2.0.3.0.

Upgraded the SQL Server JDBC driver to be JRE 1.6 compatible and added support for the new NCHAR, NVARCHAR, NCLOB and LONGNVARCHAR data types.

Added a new "Auditor" role that has authority to view the server logs and project job logs.

Added a new Log Manager screen located under the "Logs" menu. The global log settings (e.g. log directory, job log retention periods, Syslog, etc.) have been moved to this new screen. The Log Manager settings can be configured by a user with the Product Administrator role.

Moved the Server Log screen from the Administration menu to the new "Logs" menu. Users with the Auditor or Product Administrator role have permission to view this screen. Users with the Security Officer role will no longer have permission to this screen.

Moved the Monitors and Scheduler menu items to the "Jobs" menu.

Removed the database backup and tuning pages when the database is Network Derby. Although automated backups and tuning may have been configured, they were never executing when running on Network Derby. It is the customers responsibility to ensure they are backing up the database.

Added additional Project templates that make use of the SFTP Task in GoAnywhere Director.

Enhanced the Print Task and Set Variable Task to have larger input fields to accommodate more text on screen.

Enhanced the ordering of tasks shown on the Add Task screen to be more intuitive.

Enhanced the "Where Used" page on Resources to only show Project action buttons when the user has the Project Designer role and appropriate permissions.

Enhanced the Project Designer page to only show the Execute Project action button when the user has the "User" role.

Enhanced the rename graphic that appears in the File Manager and in the SSL Certificate Manager to make it more intuitive.

Enhanced the GetJobLog command (in the gaCmd API) to allow users with the Auditor role to get job logs.

Enhanced the GetJobLog, PauseJob, ResumeJob and CancelJob commands (in the gaCmd API) to allow users with the User role to execute them. When the user only has the User role, they are limited to working only with the jobs that they have submitted.

Enhanced the File Chooser popup to not show or include the trailing slash (/) on SMB Network Share paths.

Enhanced the validation on the Decimal, Absolute and FormatNumber functions to allow string inputs.

Enhanced the AS2 task by forcing the content-type HTTP header to be on a single line for compatibility with other AS2 servers.

Fixed an issue in the Project Upgrade Wizard to wrap numeric variable references in a Decimal function.

Fixed an issue with the Retrieve Email Task to ignore the case when inspecting the content type. Some email servers, like Gmail, were reporting the content type in uppercase when lowercase was expected.

Fixed an issue with Projects not cleaning up tasks that were being executed in a Loop or If block.

Fixed an issue on the File Manager that allowed somebody to rename a file to a folder that they are not permitted to by using '..' syntax.

Fixed an error on the Add Task screen that can cause a 500 error to be displayed when a folder is selected and the Show Prior Versions is clicked.

Fixed a potential issue that could occur while testing SMTP connections with anonymous access.

Oct 15, 2012 - Version 4.2.2

Fixed an issue where canceling a paused job could interrupt the database connection for that job. This prevented the job from properly being updated to a canceled status.

Oct 4, 2012 - Version 4.2.1

Fixed the Pause Job action to not interrupt threads allowing SFTP transfers to continue when the job is later resumed.

Fixed an issue on the AS2 Task where files were not being properly closed.

Fixed an issue that was requiring authentication when testing SMTP configurations from the Global Settings.

Sept 19, 2012 - Version 4.2.0 Released

Added a new API interface to allow external systems to run commands in GoAnywhere Director. This API can be called from the command line and scripts using the new GoAnywhere Command named gaCmd (downloadable from the GoAnywhereMFT.com web site). It can also be called from Java programs using method calls. This
interface uses the HTTP(S) protocol which provides access from remote systems. The following list of commands can be executed using the gaCmd API:

Added a button to the Global "SMTP Settings" tab to allow the administrator to test the SMTP connection details. A successful test will send an email to the recipient specified.

Added a footer message to the administrator screens to indicate when GoAnywhere Director is running in FIPS 140-2 mode.

Added labels to pick lists to indicate which items are available in the left box and which items are selected in the right box.

Added columns to the Active Monitors and Queued Monitors pages to indicate when they were submitted.

Enhanced the HTTP and HTTPS tasks to send the parameters in the same order as they are specified in the Project.

Modified the Database Tuning process to be disabled by default for new installations.

Enhanced the SFTP resource and task to recognize Unix socket files and handle them accordingly.

Enhanced logging on Send Secure Mail task to report which files are being attached in verbose logging mode.

Enhanced the reset misfires icons for Monitors and Scheduler to make them more intuitive.

Enhanced the style on the File Chooser to not wrap rows in the favorites column.

Enhanced the copy and move Project pages to trim the Project name(s) to remove leading and trailing spaces.

Fixed the Database Statistics page to show the correct table names and row counts when GoAnywhere Director is running on Linux MySQL backend database.

Upgraded the JCIFS API to version 1.3.17 which is used for SMB Network Shares.

Sept 7, 2012 - Version 4.1.6 Patch Released

Added the ability to configure the format of the dates being parsed by certain list parsers for FTP and FTPS. Refer to the help documentation to see which list parsers are impacted.

Fixed an issue where a large number of frequently submitted monitors could cause excessive memory usage.

Added new Queued Monitors and Active Monitors screens to allow viewing monitors that are queued and executing.

July 26, 2012 - Version 4.1.5 Patch Released

Fixed an issue with the File Chooser that existed in certain cases where a UNC path was used.

Fixed an issue with the charset not being set correctly on the Subject field of the Send Email task.

June 18, 2012 - Version 4.1.4 Patch Released

Added the ability to send multipart/related POST requests from the HTTP and HTTPS tasks.

Fixed an issue on the database backup and tuning pages where the next runtime was not displaying the correct date. This issue only affected the screens as the actual jobs were executing at the correct dates.

Fixed an issue with the FTP rename task that can cause a NullPointerException if the 'to' attribute is not specified.

May 1, 2012 - Version 4.1.1 Released

Fixed an issue with the global log file that was preventing log files from rolling when the size threshold was reached.

Fixed an issue with importing SSL certificates that contained CRLF end of line characters.

Apr 19, 2012 - Version 4.1.0 Released

Added FIPS 140-2 Compliance Mode, which allows a customer to choose that only FIPS 140-2 approved encryption algorithms (ciphers) should be used for protecting communications over HTTPS, AS2, FTPS, SFTP, SCP, SMTPS, LDAPS and JDBC-over-ssl. FIPS 140-2 compliance mode can only be enabled if it is licensed from Linoma Software.

Enhanced the product installer to support the Japanese language. If Japanese is selected, the product installation and administration screens will be displayed in Japanese. Any log messages will also be shown in Japanese.

Added a new subtask to the GoAnywhere HTTPS task which allows a Project to send Secure Mail packages through the GoAnywhere Services product.

Upgraded the embedded database (Derby) from 10.4.1.3 to 10.8.2.2.

Added searching, activate/deactivate buttons, reset misfires and other features to the Monitors list page.

Added auditing to report (in the server log) when a scheduled job or monitor is created, modified or deleted.

Added a Database Statistics page to report the number of rows in each table.

Updated the 1.5 JVM that is shipped with GoAnywhere to disable IP caching. This change only affects new installations on Windows and Linux OS.

Enhanced the Scheduled Jobs page to have more control over search terms (Begins With, Equals, Contains and Starts With) and added additional display columns.

Enhanced file name preservation when downloading files. This fixed an issue with IE 9 where spaces were converted to plus symbols and with Safari interpreting file names incorrectly.

Enhanced validation to ensure that the certificate exists in the client certificate keystore when an alias is specified on FTPS, HTTPS and GHTTPS resources.

Enhanced the FTP, FTPS and SFTP tasks to allow renaming a file to a different directory with the same file name.

Enhanced the SQL resource and task to allow connections without a user ID or password specified. This is useful when connecting to an embedded Derby database or when using Windows authentication to SQL Server.

Fixed an issue that occurred when switching GoAnywhere's database from SQL Server using international characters to Derby.

Fixed a Variable Not Found exception that occurred when calling a version 2 project from a version 1 project due to variable name case sensitivity.

Fixed a project upgrade problem that occurred when upgrading a project with a Retrieve Mail task that contained a filter with a condition. The condition was being improperly upgraded.

Fixed a Null Pointer Exception when opening a project (version 2.0) that is missing a variable or module name.

Fixed an issue with opening SSH keys that do not contain comments and were missing the standard space after the key block.

Mar 19, 2012 - Version 4.0.4 Patch Released

Added encoding to the text rendered on the custom error pages.

Jan 25, 2012 - Version 4.0.3 Patch Released

Added ZLIB compression support to SCP and SFTP connections.

Dec 27, 2011 - Version 4.0.2 Patch Released

Fixed an issue with the SFTP Task and Resource where the Software Version in the Protocol Version Exchange was not conforming to the Secure Shell (SSH) Transport Layer Protocol RFC specifications.

Dec 8, 2011 - Version 4.0.1 Patch Released

Enhanced the FTPS Task and Resource to allow specifying the Data Channel Protection Level. This is added to support servers whose policy requires data to be sent in the clear.

Nov 30, 2011 - Version 4.0.0 Released

The following Project enhancements were made available, which can be utilized in both existing and new Projects:

Added a new IF construct that can be used to conditionally execute a block of nested tasks.

Added a new task named “Call Module” to execute a module from the current module. This is useful if you want to branch to another module when a certain condition exists.

Added a new task named “Exit Module” to exit the currently executing module. This is useful for leaving a module when a certain condition exists.

Added a new task named “Exit Project” to exit the project at any given time.

Updated the Exit Loop and Iterate Loop constructs to not require a condition since these constructs can now be nested inside the new “IF” construct.

Provided that resource IDs and loop IDs are NOT case sensitive.

Added a new Project version 2.0, which will be the default version when creating new Projects. The following enhancements/changes are available in Project version 2.0.

Added ability to use expressions inside Projects. Expressions can contain a combination of variables, constants, math operators and functions to perform complex logic. Expressions can be used in any attribute in a Project that supports variables.

Added 30 functions for use within expressions. These functions can be used to substring variables, concatenate variables, find strings within variables, convert strings to lower or upper case, trim strings, replace portions of a string, get the current date or time, format dates and times, get random numbers and more. The complete list of functions are in the user’s guide.

Implemented a graphical wizard to assist with creating expressions. To access the expression wizard, click on the ${var} button next to an attribute in the Project. The wizard will allow you to quickly select variables, functions and operators to implement within the expression.

Provided that variables and module names are no longer case sensitive. For instance, the variable name of ${FILENAME} and ${filename} will refer to the same variable.

Removed the “Depends On” attribute from Modules. This functionality is replaced with the new “Call Module” task.

Reserved certain keywords within Projects, including “true”, “false” and “if”. These keywords are not allowed to be used as user-defined variables. For a complete list of reserved words, please refer to the user guide.

Updated all project templates to make use of Project version 2.0.

Please note that an existing Project (at version 1.0) will not be able to utilize the above features unless it is upgraded to 2.0.

Provided an upgrade wizard to allow an authorized user to convert a Project from version 1.0 to 2.0. The upgrade wizard can be launched by pressing the “Upgrade” button from within the Project Designer screen. After the upgrade of a Project, a log will show which Project components were converted and will show any issues that may have been encountered.

Added the ability to install Custom Tasks that can be used within Projects. This is useful if you want to add new functionality to a Project which is not included with the base install of GoAnywhere Director. Linoma Software can be contracted to create Custom Tasks for meeting your specific requirements. Otherwise, if you have Java development skills in-house, Linoma can provide you with consulting and documentation on how to build your own Custom Tasks.

Improved the management of Projects with the following items:

Only show project folders which the user is authorized to. If the user does not have authority to a folder or any of its subfolders, then it will not be visible to the user.

Added a new option to search for a word or phrase in the Project files. A search can be performed within a targeted folder and optionally within its subfolders.

When displaying a list of Projects in a folder, added a new column to display the dates/times in which the Projects were last executed.

Added a new option to allow Projects to be moved to another folder.

Enhanced the Copy Project(s) function to allow overriding the new Project names.

Improved the Project Designer with the following items:

Added a new option to allow the execution of a Project from within the XML window.

Enhanced various icons within the Project Designer’s outline tree.

Relaxed the validation on labels for tasks and loops to allow any character from the Unicode character set. This allows labeling a task with international characters.

Within the “Add Task” chooser, reorganized some of the Tasks into other categories. Also added a new category named “Custom Tasks” for containing any custom tasks that were installed.

Improved the Resources module with the following items:

Added a new option to search for Projects that are using a specific Resource.

Added a new option to allow an authorized user to copy an existing Resource.

Added a new option to allow the Resource details to be exported into XML format. This is especially useful if you need to share Resource details with the Linoma support team.

Organized various actions in the Resource page into a drop-down menu.

Updated the test results screen to show the stack trace (in case of errors) so it can easily be copied to clipboard.

Implemented a custom calendar module to allow job schedules to be overridden for holidays and other non-working days. These enhancements include:

Added a new set of screens to allow the definition of one or more calendars. For each calendar, you can indicate the holidays, weekends and other non-working days. Optionally, popular holidays in the U.S. can be suggested by the calendar module.

Added a new field to the scheduled job screen to allow a job to be linked to a holiday calendar. If a calendar is chosen, you can specify the action to take if the schedule falls on a holiday or other non-working day. Available actions are 1) skip the job execution or 2) run the job on the previous business day or 3) run the job on the next business day.

Added a new option to display the dates/times of up to the next 100 executions of a job.

Enhanced the global SMTP Settings to support TLS/SSL Connections to the SMTP server.

Added a new option to create a pool of SMTP connections that can be shared when sending out emails. Administrators have the ability to define the maximum pool size.

Within the Security Settings screen, provided the ability to specify the default permissions to grant to all users for any newly created Resources. By default, if left unchanged, all users will get all (read, write, use) permissions to any newly created Resources.

Enhanced the FTP, FTPS and SFTP tasks to allow files to be appended on the server using the new “Append” sub-task.

Within the SQL task, added a new option to the “When No Data Found” attribute for allowing a variable to be set to a specific value. This is helpful for conditioning subsequent tasks in the project if the SQL statement did not return any results.

Enhanced the Write XML Task to allow specifying if an Element's value should be enclosed within a CDATA section.

Enhanced the MQ Server resource and the Open MQ Session task to support connecting to a variety of MQ servers that support JNDI (JMS standard) interface.

Through the new JNDI interface, provided support for the SwiftMQ message queuing system.

Enhanced the Unzip task to treat backslashes in the entry names as path separators.

Fixed an issue in the Untar Task, which would fail to process a Tar file that contained directory entries.

Enhanced the File Chooser popup to initially start with the path that was in the field.

Fixed an issue where calendar validations were incorrect when working with locales whose primary language is not English.

Fixed an issue where some scheduled jobs were firing at incorrect times during/after Daylight Savings Time changes.

Fixed an issue where Connection Timeout changes were not being rendered back to the screen in Admin Server Configuration.

Fixed an issue where the Read Timeout specified in the HTTP/S Task's server settings was being ignored.

Fixed an issue where removing the End Date on a Scheduled Job had no effect.

Fixed an issue with setting up One Time scheduled jobs where incorrect validation was preventing the job creation.

Fixed an issue where exporting a Job Log from the Completed Jobs screen was exporting invalid information if a Job was still active.

Fixed an issue where the size of a file that was encrypted using PGP was incorrectly logged.

Fixed an issue where the size of the file created by the Write XML Task was being logged incorrectly.

IBM i Installs Only: In the command SAVPRD, added the DATALIB parameter for use when GoAnywhere Director is configured with the DB2/400 as the backend database.

Nov 17, 2011 - Version 3.6.9.1 Patch Released

Oct 21, 2011 - Version 3.6.9 Patch Released

Removed some validation in the directory listing process of the SFTP Task and Resource that was causing issues with some servers.

Oct 7, 2011 - Version 3.6.8 Patch Released

Fixed an issue with the HTTP proxy requests that were failing to send the Host header. This fix affects connections from FTP, FTPS and SFTP tasks and resources that use an HTTP proxy.

Oct 4, 2011 - Version 3.6.7 Patch Released

Added some performance enhancements to the FTP and FTPS transfers.

Sept 30, 2011 - Version 3.6.6 Patch Released

Added a 'Send SSL Close Notify' option to the FTPS Task and Resource. This is added to support not sending the CLOSE_NOTIFY message to the server following the CCC command. Although the CLOSE_NOTIFY message is mandatory, some server will not function properly if this message is sent.

Fixed an issue with parsing the reply returned from a Tandem FTP server when a PWD command is issued.

Added the ability to disable the reusing of SMTP connections. This was causing issues with some Exchange servers when connections timed out.

Aug 25, 2011 - Version 3.6.3 Patch Released

Added support for 'keyboard-interactive' authentication type in the SFTP Task.

Aug 10, 2011 - Version 3.6.2 Patch Released

Fixed an issue where the HTTP and HTTPS tasks reported errors if the server replied with a successful status code other than 200.

Jul 28, 2011 - Version 3.6.1 Released

Enhanced the FTPS task to ignore failures sent by FTPS servers in reply to PBSZ command. This is added to support some servers that do not adhere to the FTPS standards.

Enhanced the FTP and FTPS tasks to allow passive data connections to fall back to the control connection address (server host IP) when an invalid passive address is indicated by the server. This fixes connection issues with some misconfigured servers.

Updated the FTP and FTPS tasks to turn off IP address validation when establishing active and passive data connections.

For security reasons, updated the login process to destroy the old session and create a new session upon successful login.

For security reasons, disabled HTTP GET requests for login processing.

Removed Packet Size and Use Adaptive Connection options from the SFTP resource and task, which are now determined automatically.

Removed the Live Help option from the Help -> Support page. The Live Help is still available through the Online Help Center link.

Removed the ASCII/Binary setting from the SFTP task and forced to binary in order to comply with the 3.0 standard.

Fixed an issue with the FTP Auto-Resume which was resetting the connection retry attempts counter after each successful reconnect.

Fixed an issue with GHTTPS Task where connections (sockets) were not closing in a timely manner.

Fixed an issue with the compression tasks where attachments retrieved from an email using the Retrieve Email Task were failing to compress/uncompress.

Apr 27, 2011 - Version 3.5.2 Released

Added a new task named Commit MQ Session for committing or rolling back the changes made in an MQ Session.

Added a new option to the MQ Retrieve Task to limit the number of messages retrieved.

Added a new option to the Close MQ Session task to indicate if the changes should be committed or rolled back before closing the session.

Added a new option to the Write CSV Task to indicate if Text Qualifiers should be applied to all columns or only to non-numeric columns.

Added an option in FTPS Task/Resource for specifying the alias of certificate to use when performing client certificate authentication.

Fixed an issue with HTTP/HTTPS connections (sockets) which were not closing in a timely manner.

Feb 10, 2011 - Version 3.5.1 Released

Enhanced the FTP, FTPS, SFTP, and SCP resources/tasks to support connections through a proxy server. The supported proxy types include SOCKS (version 4 and 5), and HTTP Proxy (aka HTTP Tunneling).

Added new option in FTP and FTPS resources/tasks for parsing the directory listing returned by IBM 4690 FTP servers.

Fixed an issue with Linux/Unix installs where the shutdown process was failing to terminate the underlying Java process when the application was shut down while there are active jobs.

Fixed an issue in the View Monitor page where the previous fire time was showing up as Jan 1, 1970 if the monitor had never been executed.

For IBM I installs, fixed an authority issue that was causing the CRTCMDPRJ to fail.

Jan 20, 2011 - Version 3.5.0 Released

Added a new Task and Resource to send and receive messages with WebsphereMQ, SonicMQ and ActiveMQ servers using JMS.

Added file monitoring capabilities to scan for new, modified and deleted file(s) in designated folders. When one of the events occurs, the Monitor can execute a predefined Project to process the file(s).

Added support for running GoAnywhere Director on DB2/400, Microsoft SQL Server, MySQL and Derby (network mode). A migration wizard is used to switch from the embedded Derby database to a supported external database.

Added support for acquiring locks on files before they are processed in projects.

Added support for automatically re-establishing a connection and resuming file transfers when the server connection breaks. This auto-resume feature is available in the FTP, FTPS and SFTP Tasks.

Added a new Network Shares resource type, which allows Projects and File Monitors to access files and directories on shared network locations (based on the SMB/CIFS standard) using supplied credentials.

Enhanced the File Chooser to support browsing Network Shares. The File Chooser will build the appropriate syntax required for accessing network file(s) from within a Task.

For IBM i installations, added native commands for performing SFTP gets/puts, OpenPGP encrypt/decrypt, ZIP, UNZIP and Send Email Messages, which can be run from the command line or from CL programs.

Added the ability for the customer to modify the email templates used by the Scheduler for sending successful and failure job notifications.

Added the ability to disable the Project Scheduler.

Added the ability for a security officer to change properties on the shipped 'root' and 'administrator' users.

Redesigned the Resource and Project screens to organize their attributes into logical groupings (tabs) and improved their look and feel.

Enhanced the overall styling of the product screens and menus.

Standardized the menu item labels on the main menu bar. For example, Manage SSL Certificates is now SSL Certificate Manager.

Added new option in FTP, FTPS, and SFTP Resources to specify the Initial Remote Directory.

Added an option in the Global Settings to adjust the Global Log Level.

Removed the Global Log Format setting from the Global Settings.

Added a dedicated folder (userdata/lib) for user supplied jar files that are included in the Java classpath during system startup. This dedicated folder will ensure that the jar files do not get deleted during upgrades.

Added an option on the Call Project Task to return variables from the called Project.

Added additional Project templates that make use of some newer Tasks and features of GoAnywhere Director.

Enhanced the GoAnywhere HTTPS (GHTTPS) Task to support checksum verification when transferring files with the HTTPS service in GoAnywhere Services.

Added a security option to allow users with the appropriate authority to view Resource passwords when the password is not encrypted.

Organized action items on the Project List page into a drop-down menu.

Enhanced the File Chooser to persist the last visited directory for the duration of a user's session.

Enhanced the expression evaluator to support arrays and maps inside complex variables.

Added a tooltip summary on the failed and canceled icons of the Search Jobs, Project History, and Scheduled Job History pages.

Added a new Security Settings page under the Security menu.

Combined the User Guide and Support pages into a Help Center page under the Help menu.

Added a new message to indicate whether an OpenPGP key is deleted successfully or not.

Added additional validation to the Host attribute of the HTTP/s Tasks and Resources.

Enhanced the validation in the Configure Scheduled Job page. A user friendly message is displayed when a user defines a Start Date that is after the specified End Date.

Enhanced the logging of the Execute Native Command Task.

Adjusted the test results pop-up on the Configure Resource page to only show the stack trace of a failed test when the user clicks the 'Show Stack Trace' link.

Fixed an issue with the FTP Put and Manual Put Tasks where the Task was not reporting an error in certain cases when the transfer was unsuccessful.

Fixed an issue with the Merge Files Task where validation was allowing an input file to be the same as the output file.

Fixed an issue with the Merge Files Task that was occurring when an input file does not exist and 'Error If File Not Found' is set to false.

Fixed an issue where some browsers were automatically populating username and password fields on certain pages. This issue was present when the 'Save Password' option was enabled in some browsers.

Fixed an issue where Date Input fields were not always working when the Date/Timestamp format in the Global Settings was set to a two digit year.

Fixed an issue with the Search Jobs page where the search by Job Number was not always returning accurate results.

Fixed an issue in the Search Jobs screen where the User field had to be specified in lower case in order for the search to work. The User search criteria will now accept a mixed-case value.

Fixed an issue with the Excel Write Task where a second output file was being created when using the rename option with a template.

Fixed an issue in the AS2 Task that was caused due to improper handling of an invalid MDN.

Fixed an issue with the Project Designer where validation errors for a Project Component were being rendered after it was deleted.

Fixed an incorrect message that was being returned from the server when promoting Projects.

Fixed an issue with the 'Test' functionality of the SQL wizard. The results failed to render properly in cases where the field contained XML or HTML data.

Fixed an issue where a disabled Task remained 'grayed out' after clearing the Disabled attribute.

Fixed an issue with incorrect dates being rendered for the Created On and Expires On values of OpenPGP keys.

Fixed the Copy Task to ensure that the full paths of the files being copied are logged in all cases.

Fixed an issue with the Project Templates pop-up box that prevented the pop-up from being resized.

Dec 17, 2010 - Version 3.2.4 Patch Released

Fixed an issue with the SFTP key exchange that was causing some SFTP connections to fail.

Sep 9, 2010 - Version 3.2.3 Patch Released

Fixed a concurrency issue when listing directories in FTP/FTPS tasks.

Jun 4, 2010 - Version 3.2.2 Patch Released

Enhanced the Put and Manual Put actions of the FTP, FTPS, and SFTP tasks to allow the preservation of the files' last modified timestamp.

May 28, 2010 - Version 3.2.1 Released

Fixed an issue in FTP and FTPS tasks with the Binary and ASCII data type setting. This issue was introduced in version 3.2.0.

Fixed an issue with the Write Excel Task version 2.0 that was failing to evaluate formulas when writing an Excel 2003 format file using a template.

May 19, 2010 - Version 3.2.0 Released

Added a task for sending messages to a remote system via AS2. This task can process one or more files, compress using ZLIB, sign and encrypt the data. It also handles synchronous receipts and verifies the message integrity. A new license is required to make use of this task. All other features would continue to function with your current license.

Added the ability to integrate with Syslog servers. Administrative logs can now be sent to a Syslog server using either UDP or TCP protocols.

Added an option to the scheduler to run a job when GoAnywhere Director is started.

Added the ability to specify the Client Certificate Alias in the HTTPS task in order to guarantee which certificate is used when authenticating to an HTTPS server using digital certificates.

Added the ability to specify the Client Certificate Alias in the GHTTPS task in order to guarantee which certificate is used when authenticating to the GoAnywhere Services HTTPS service using digital certificates.

Added a task for closing a RowSet in a project. This is useful in certain cases where all the rows in a RowSet are not consumed and a lock must be released from the data source before the project ends.

Enhanced the SSL Certificate Manager to display the subject and issuer of the certificates.

Moved the database configuration settings to config/database.xml.

Enhanced the Scheduled Job list page to hide the detailed schedule definition in the Schedule column. The detailed schedule definition now displays as a tooltip popup when the mouse is hovered over the Schedule column.

Enhanced the popup calendar styling to make it more visible on the screen.

Removed the restriction from certain calendar popups that required users to click the 'Apply' button in order to select the date. Calendars that do not require a time to be configured along with the date will populate the field as soon as the date is clicked. Calendars that require a time will still have the 'Apply' button.

Added an SSL Certificate Chooser to allow users to browse the default keystore for certificates in various tasks.

Fixed an issue with the Send Email task when the message body or attachment contains certain characters, such as a linefeed (\n), and the message is signed.

Added a cleanup process to each task that produces a RowSet. This ensures that any locks that exist from a task being executed in a loop are released prior to each execution.

Removed the TYPE I command that was being sent to the FTP/FTPS servers after login which was causing the connection on some servers to fail.

Fixed an issue where resources with names containing a single quote ('), double quote (") or backslash (\) could not be selected in the Project Designer.

Added missing informational messages to the job log when an error occurs. These messages indicate the onError setting and how the execution control is being routed.

Fixed an issue with the 'call:module' onError setting when the module name contained a hyphen (-).

Added a new System Variable named system.user.email which returns the email address of the user executing the project.

Fixed an issue where the SSL Certificate Alias was not being trimmed (leading and trailing white spaces removed) when a certificate created, imported or renamed.

Mar 15, 2010 - Version 3.1.1 Released

Upgraded the embedded Apache Tomcat server from 6.0.18 to 6.0.26.

Feb 12, 2010 - Version 3.1.0 Released

Enhanced the FTP and FTPS tasks to support checksum verification on transferred files. Checksum verification can be used to ensure that the files on the source and target systems are exactly identical. Both MD5 and CRC32 checksum verification are supported.

Added a graphical configuration utility to change the GoAnywhere Director startup configuration. This option is available only to Product Administrators.

Project Designer has been enhanced to support Cut and Paste various project components such as Tasks.

Project Designer has been enhanced to enable or disable various executable project components such as Modules, Tasks and Loops. This is a handy feature during a project development to disable execution of certain parts of a project.

Enhanced the Project Designer to allow tasks to be added before and after other tasks.

Enhanced the Database Maintenance operations such as Backup and Tuning. Database backups can now be scheduled using an Hourly schedule or a Daily schedule. Database Tuning can be scheduled using a Daily or Weekly schedule.

Updated the Project List page to include the last modification date of the projects. The list can also be sorted by name, date etc. by clicking on the corresponding column headings.

Updated the Resource List page to include the last modification date of the resources. The list can also be sorted by name, date etc. by clicking on the corresponding column headings.

Updated the View Scheduled Job page to include the repetition options, if any.

Fixed an issue with the Write XML task that was not using UTF-8 as the default file encoding.

Fixed the PGP Key Manager Preferences page, which was failing with an internal error. This bug was introduced in version 3.0.0.

Fixed the tab order in Import Certificate and Import Private Key screens under the SSL Certificate Manager.

Fixed the FTP and FTPS tasks to not lockup and eventually timeout when downloading a non-existent file using active mode.

Fixed the validation message that is displayed when a HTTP/HTTPS Task is configured with no sub-tasks.

Feb 4, 2010 - Version 3.0.3 Patch Released

Fixed an issue with the Read Excel 2.0 Task where cells containing formulas were not getting evaluated properly.

Jan 4, 2010 - Version 3.0.2 Released

Enhanced the SFTP task to allow authentication based on both password and public key.

Fixed an issue with the SFTP task where the SSH_FXP_LSTAT command fails on some SFTP servers if a file is open for reading.

Fixed a log message in the FTP Get sub-task where the file name is logged as null.

Dec 29, 2009 - Version 3.0.1 Patch Released

Fixed a bug with conditional execution of Modules. This bug was introduced in 3.0.0.

Fixed an issue with database backup files not unzipping correctly on UNIX/Linux systems using the system commands.

Dec 14, 2009 - Version 3.0.0 Released

Added the ability to loop through one or more tasks repeatedly in a Project. The following types of loops were added:

For Loop - Execute a set of tasks a fixed number of times as determined by the Begin Index, End Index and Step.

For-Each Loop- Iterate over a collection of items such as File List, RowSet etc. and execute a set of Tasks for each item in the collection.

While Loop - Execute a set of tasks while a specific condition is met.

Do-While Loop - Execute a set of tasks while a specific condition is met ensuring the tasks inside the loop execute at least once.

Two special elements named Iterate Loop and Exit Loop were added which can be placed inside loops to programmatically continue on with the next iteration or to exit the loop.

Added a new task named SCP Task, which implements Secure Copy of files over SSH.

Added the ability to override resource names when running projects. The Project designer has been enhanced to use custom drop-down which allows selection of an existing resource or type a variable reference.

Added S/MIME encryption, digital signatures, and the ability to request read receipts to the Send Mail Task. The existing Send Mail and Send Secure Email tasks have been replaced with the new Send Mail task version 2.0. Existing projects using the old tasks (version 1.0) will continue to function the way they are.

Added S/MIME decryption and signature verification to the Retrieve Mail task. The new task has been versioned as 2.0, which replaces the Retrieve E-Mail and Retrieve Secure Email tasks. Existing projects using the old tasks (version 1.0) will continue to function the way they are.

Added a new variable type called Email List that can be generated using the Retrieve Mail task version 2.0. This variable can be used inside a For-Each loop to get information about each email (subject, sent date, recipients, attachments and more).

Added version 2.0 of the Write Excel task. The new version of the task can write Microsoft Excel 2003 and 2007 documents. Existing projects using the old version (1.0) will continue to function the way they are.

Added version 2.0 of the Read Excel task. The new version of the task can read Microsoft Excel 2003 and 2007 documents. Existing projects using the old version (1.0) will continue to function the way they are.

Added a new version of the Set Variable task (2.0) to utilize the new functionality provided by loops to process each row in a RowSet. Existing projects using the old task (version 1.0) will continue to only read in the first row of a RowSet.

Added support for complex variables which can be used to retrieve specific information in a complex object. For example, when iterating over a FileList variable, one could retrieve specific information of a file such as its name, extension, size, etc. using the syntax ${file:name}, ${file:extension} or ${file:size}.

Added support for complex conditions that can be used in Tasks, Modules and Loops where multiple conditions can be joined with Logical Operators AND and OR. Conditions can also be grouped using parenthesis.

Added three new System Variables - system.lineFeed, system.carriageReturn and system.tab that evaluate to the line feed, carriage return and tab respectively.

Fixed an issue where the status wheel popup was locking up (never closes) in IE 8.

Fixed an issue with Write Excel task version 1.0 where certain formatting options defined on the Data element were not inherited by the Column elements.

Removed the colon in certain messages that were displayed to the screen.

Fixed an issue with certain tasks where some messages were being logged in silent log level.

Added summary messages and enhanced the logging in all tasks.

Fixed an issue with the HTTPS task where it does not release lock on the local file when using the Post Raw Data sub-task.

Fixed an issue where in some occasions, the project XML file and database go out of sync when changing the name of the project through the Show XML feature.

Fixed an issue with the SQL task which produces a NullPointerException when an input RowSet is specified and one of the parameters has a static value.

Fixed an issue with the FTP, FTPS and SFTP tasks to correctly validate the Number of Files Downloaded Variable to ensure the value specified is a valid variable name.

Added the JDBC driver for PostgreSQL.

Removed the ability to delete job logs for auditing purposes. Job logs can only be deleted by the purge process.

Added a message to the global server log indicating the operating system user who started GoAnywhere.

Added messages to the job log to report the exact row number that caused an error when working with RowSet variables.

Enhanced the Work with Scheduled Jobs page to display the Next Runtime as Never when a scheduled job is inactive.

Added a user defined option to the Work with Job Queue screen to limit the number of records displayed.

Fixed an issue with Copy task where the Destination Files variable may contain incorrect file names when using the rename option.

Added the ability to copy multiple projects to the same folder or to a different folder.

Added DTD and schema validation to the Read XML and Write XML tasks.

Added the ability to export job logs in CSV format. The Export All Records option will export all records that match the search criteria. The Export This Page option will export the jobs currently displayed on the page.

Fixed the Internal Server Error generated when trying to display a job log whose log file has been already deleted from the file system.

Removed the need to restart GoAnywhere when changing the database backup scheduled time in the Global Settings.

Enhanced the Write XML task to encode the file with UTF-8.

Fixed the date calculation used by the database backup's purging process.

Added a new option for error handling in tasks to set a variable to a specified value and continue on. The subsequent tasks and modules could then check this variable and process conditionally based on whether an error occurred.

System i Installs Only: Enhanced the CPYRES command to work with the SCP, GHTTPS and GoAnywhere Director resources.

Oct 23, 2009 - Version 2.3.5 Patch Released

Updated the SQL Wizard to show all types of tables such as Views, Logicals, Aliases etc.

Sep 24, 2009 - Version 2.3.4 Patch Released

Added a new option for specifying a custom Packet Size to the SFTP Resource and Task to workaround issues connecting to some SFTP servers.

Aug 24, 2009 - Version 2.3.3 Patch Released

When connecting to a database, force the use of selected driver. Earlier versions used to deligate the task to Driver Manager, which may or may not use the selected driver.

When executing SQL Statements with the SQL Task, you can optionally indicate whether or not the produced RowSet should be scrollable. Previous versions always created a scrollable RowSets, which was causing issues with some drivers and/or database servers.

Fixed an issue with Copy task where an incorrect message was logged upon task completion.

Aug 18, 2009 - Version 2.3.2 Patch Released

Added a new sub-task named MGet (Get Multiple Files) to FTP, FTPS and SFTP tasks. This new sub-task serves as a workaround when the regular Get sub-task does not work with some non-standard FTP servers.

Jun 30, 2009 - Version 2.3.1 Patch Released

Updated the SFTP task to send SSH_MSG_CHANNEL_REQUEST with "want reply" parameter set to true. This has been changed to be able to successfully connect to some SFTP servers.

Jun 22, 2009 - Version 2.3.0 Released

Bundled the JDBC driver for SQL Server 2008. This driver works with SQL Server 2008, 2005 and 2000. Various screens are updated to indicate this.

A new System Variable named system.instanceName is made available which returns the user defined instance name. This variable can be used to conditionally execute/skip modules and/or tasks in a project.

The Project Designer has been enhanced to allow adding and deleting of comments to various project components.

Fixed an issue with SFTP task where it occasionally locks up in case of a network error.

Various Data Writer tasks such as Write CSV, Write Fixed-width etc. have been updated to log the file name to the job log, if the log level is set to normal or a higher level.

System i Installs Only: Added a new procedure named RunProject4 to the RUNPROJSRV Service Program. This procedure allows up to 50 variables to be sent. The variable name length is 48 characters. The variable value can be up to 32768 characters.

System i Installs Only: In the command SAVPRD, removed the option of *CURLIB and *LIBL for the SAVEFILE parameter.

Apr 28, 2009 - Version 2.2.0 Released

FTP/FTPS tasks have been enhanced to support Tandem FTP server including the ability to retrieve multiple files using File Sets. A new List Parser option named tandem was added to the FTP/FTPS resources as well as the tasks.

FTPS task has been updated to send CCC command right after login (after the PASSword command) as some servers expect it to be in that sequence.

Fixed an issue with the Read XML task which was parsing the data incorrectly when the Nested Shared Values option is ON.

Apr 8, 2009 - Version 2.1.0 Released

Added support for Encrypted Variables which can be used to store sensitive information such as passwords.

Enhanced the built-in upgrader (Check for Updates) to allow upgrades even if the installed version is too old. The upgrader can be executed more than once to upgrade to the latest version.

Write Excel task has been enhanced to allow users to specify the width of a specific column. A new attribute labeled Width has been added to the Column element under the Data element.

Write XML task has been enhanced to allow skipping of empty elements. A new attribute labeled Skip If Empty has been added.

All Job Logs now indicate the version of GoAnywhere, operating system name, operating system version and the operating system architecture.

Fixed the issue with CPYPROJECT command which always fails with an error even though the project was copied (or promoted). This bug was introduced in 2.0.0.

Fixed the Read Fixed-width task to produce an error when the length of headings row does not match with the total length of Columns defined in the task. Previous versions neither produced an error nor imported any records.

Various validation messages used to validate a numeric range have been fixed so the labels are not repeated in the message.

Added validation checks to the Repeat Duration and Repeat frequency when creating or editing a scheduled job.

Passwords are masked when viewing a Resource.

Updated the Global Settings screen to not allow blank value in the SMTP Port.

Fixed an issue with Send E-Mail task where in certain cases, the Message sub-element gets deleted when the project is compiled or executed from the Project designer.

Fixed a rendering issue with the Project Outline tree when editing a project that contains the Send E-Mail task.

The Search Jobs, Project Execution History and Scheduled Job History screens have been updated to display the Time Taken field using the Locale specified in the Global Settings.

Improved the performance of Dashboard (the Pie Charts)

SQL Wizard is now only accessible to users who are Project Designers and Resource Managers.

Fixed a JavaScript error in the File Chooser that was occurring in some browsers if a user changed drives then tried to select a file.

Mar 2, 2009 - Version 2.0.3 Patch Released

Fixed some issues related to displaying/accepting non ASCII characters. It is now possible to have foreign characters including double byte characters (such as Chinese) in GoAnywhere projects, job logs etc.

Feb 12, 2009 - Version 2.0.1 Patch Released

Fixed an issue where execution of a project using the RUNPROJECT command fails if the project calls another project using the Call Project Task.

Jan 22, 2009 - Version 2.0 Released

Changed the product name to GoAnywhere Director.

Added a new task named Call Project which facilitates creation of reusable/modularized projects that can be called from other projects.

Added a new task named Call Remote Project for executing projects on a remote GoAnywhere installation.

Added a new task named GHTTPS which allows exchanging of files with a remote GoAnywhere HTTPS Server. The GoAnywhere HTTPS Server is one of the services available in our new product GoAnywhere Services.

Added a new task named Search and Replace for scanning one or more files on the local file system for a sequence of characters, and replacing the matches with another value.

Added a new task named Set Variable, which allows to create/modify variables in a variety of ways during the execution of a project. Not only can static values be assigned to a variable, this task allows setting variable values from a file, Rowsets and other Variables.

Added a new task named Raise Error to raise an error during a project execution.

Added a new task named Rename to rename one or more files on the local file system. This task allows mass renaming of files using a prefix and/or suffix that can be prepended or appended to a file name. It also allows replacing portions of a file name if the file name matches the specified wildcard pattern or regular expression.

Added a new task named Tar to create Tar (Tape Archive) files. This task also allows to optionally compress the tar file using GZip, to produce a tar.gz file.

Added a new task named Untar to extract Tar files. This task can also extract GZip compressed tar (tar.gz) files.

Enhanced the Timestamp task to perform math on dates and times. It is possible to set, add or subtract various fields (e.g. date, month, hours etc) of a timestamp value.

Enhanced the SQL task to generate an error if no records were returned from a SELECT query. A new attribute named When No Data Found was added to the Query sub-element of this task.

Added support for more comparison operators (such as greater than, less than etc) when a Module needs to be executed conditionally based on a Variable value. Comparison can be performed on character values as well as numeric values.

Enhanced all tasks to allow conditional execution just like how modules can be executed conditionally. A new attribute named Execute Only If has been added to all tasks under the Advanced tab.

Enhanced the Scheduler to support repeated execution of a project. Several repeat options can be specified such as repeat always, repeat only if the project fails, repeat only if the project succeeds or repeat only if a specific condition is met. You can further define the Repeat Interval and Repeat Delay.

Added a new screen for monitoring repeating scheduled jobs and optionally cancel one or more jobs. A new menu item labeled Work with Scheduler Queue was added under the Jobs menu.

Added the ability to run one or more scheduled jobs on demand by using the new Run Now feature

Added the ability to view the execution history of a specific scheduled job. You can further filter these jobs by date range and status.

Two new login modules were implemented to validate GoAnywhere logins with Windows Active Directory or a Generic LDAP Server. These settings can be configured by selecting Login Configuration item under the Security menu.

Combined the Display Login Configuration and Change Login Configuration screens into one. The new menu is now labeled as Login Configuration under the Security menu.

Two new Resource types were added, namely GHTTPS Servers, GoAnywhere Directors, which are used by the GHTTPS and Call Remote Project tasks respectively.

Enhanced the FTP and FTPS tasks to define a port range for active data connections. Two new attributes, namely Data Connection Start Port, Data Connection End Port, were added to these tasks as well as the resources used by these tasks.

Added a new sub-task (action) named Set File Permissions under the FTP, FTPS and SFTP tasks. You can use this sub-task to change file permissions on the remote system if the server supports this feature, and you have authority to change the file permissions.

Added a new sub-task (action) named Create a File List under the FTP, FTPS and SFTP tasks. This action allows you to get the list of files and/or the number of files that match the specified filter criteria without actually having to download the files.

Enhanced the Rename Files sub-task under the FTP, FTPS and SFTP tasks to replace portions of a file name if the name matches the specified wildcard pattern or regular expression.

Enhanced the Create File List task to provide a new output variable which contains the number of files that matched the specified filter criteria.

Enhanced the File Manager to allow multiple file uploads using AJAX to provide visual feed back to the user while the files are being uploaded.

Added a new sub-task (action) named Post Raw Data under the HTTP and HTTPS tasks to post a file content as is to the remote server.

Implemented a new File Chooser to browse files on a GoAnywhere HTTPS Server. This tool is accessible when configuring a GHTTPS task.

Added the ability to name an instance of GoAnywhere. This is helpful if you have more than one install of GoAnywhere. The instance name can be specified by Product Administrators from the Global Settings screen.

Window titles on all screens (pages) have been updated to display a standard title which contains the product name, followed by the version, followed by the instance name, if a name was set.

Updated the Login page to display the Instance Name, if the instance was named.

The Is Password Encrypted field in several screens has been changed to use a drop-down box instead of Yes/No radio buttons. This is to allow unsetting of this field which can be done by selecting the blank entry in the drop-down box.

Added support for right click menu to display the context menu when working in the Project Designer.

Several screens such as the Project Designer have been enhanced with a resizable split pane.

The Project Designer has been enhanced to remember the scroll position of the Project Outline.

When multiple variables are to be specified in a field in the Project Designer, a variable can be inserted at the cursor position by holding the Ctrl key down and selecting the variable from the drop-down list.

The Work with Projects screen has been updated to show the Root folder expanded by default.

Added the ability to refresh the project folders so any new folders created by other users can be made visible with out the need to re-login.

Enhanced the File Chooser to display favorite folders on the left hand side to allow quick navigation to some of the most frequently used folders.

Enhanced the Display License screen to validate the license that is in effect and display any messages if the license is not valid for any reason.

The Display Server Log menu has been moved to the Administration menu from the Tools menu. Further more, access restrictions are imposed so only users with Security Officer or Product Administrator role can access the server log.

Renamed the system group, Public, to All Users, to avoid possible misinterpratation.

Added the ability edit the system group, All Users, so roles can be assigned to this group if desired.

Implemented a searchable online help system including context-sensitive help. Each screen has a Help icon next to the page heading which launches the context-sensitive help. The documentation has been expanded significantly.

Fixed an issue with the FTPS task where users on some platforms (specifically System i) were not able to connect to FTPS servers that are using older version of SSL. This issue was due to a recent change in the IBM's JVM on the System i. To workaround this issue, a new attribute named SSL Context Protocol was added to the FTPS task as well as the FTPS resource.

Fixed an issue with FTPS task where it errors out when transferring zero byte file(s).

Fixed an issue when creating a scheduled job, the job always gets created as Active even though Inactive was selected.

Fixed the Execute System i Commands and Programs task to allow monitoring of messages with HEX numbers. Previous versions had a validation check to ensure the message has only decimal numbers.

Fixed the SFTP Task which runs out of memory when connecting to certain servers.

Fixed a security issue in the SQL Wizard so the Test button is available only if the user has Use permission to the Database resource.

Fixed the File Manager so it does not error out when downloading files whose names have special characters such as ampersand.

Fixed an issue with the HTTP and HTTPS tasks where Proxy Host defined in the resource is never used by the tasks.

Updated the Global Settings screen to validate the specified date and time patterns before saving.

Fixed the JDBC URL Wizard where Port and Database Name are not passed to the Advanced Settings screen when configuring the URL for an MSSQL Server.

Added a Back button to the JDBC URL Wizard to go back to the previous screens in the wizard.

Updated the SQL Wizard so column names are not qualified by default, but table names are.

Fixed the SQL Wizard to produce correct queries when Contains or Not Contains operators are used in the Where tab.

Fixed the SQL Wizard where the preview is not updated when Is Null or Is Not Null operators are used in the Where tab.

Fixed an issue with the Zip and Unzip tasks where they fail when the specified password is longer than 64 characters and AES encryption is used.

Updated the RunProject Servlet (the program that accepts project execution requests from remote clients) to accept and pass through variables whose values are empty strings or white spaces.

System i Installs Only - when starting the subsystem, the program now checks to see if the user starting the subsystem has appropriate permissions to the GoAnywhere installation folder and the GoAnywhere database folder. The startup will be aborted if the user does not have sufficient permissions.

Windows Installs Only - The installer for Windows allows specifying a custom service name so multiple instances can be installed on the same system.

Oct 29, 2008 - Version 1.6.8 Patch Released

Added a new option called "Use Integrity Packet" to the PGP Encrypt Task which allows enable/disable the integrity packet (also known as MDN or Modification Detection Code). This option allows users to turn off the Integrity Packet when exchanging files with trading partners who are using older implementation of PGP.

Oct 24, 2008 - Version 1.6.7 Patch Released

Added a new sub-task called "Upload a File Manually" under FTP, FTPS and SFTP Tasks.

Oct 6, 2008 - Version 1.6.6 Patch Released

Fixed the ArrayIndexOutOfBoundsException thrown by various Reader Tasks when there is only one column in the input file being read. This bug was introduced in the 1.6.5 Patch.

Fixed the NPE when there is no Data element specified in the Fixed-width Writer Task.

Sep 22, 2008 - Version 1.6.5 Patch Released

Enhanced the Write Fixed-width Writer task as follows:

Added options to specify the alignment of fields based on the data type. This includes a separate alignment option for Whole Numbers, Decimal Numbers, Dates, Times and Timestamps.

Added an option to indicate how the default width of decimal number fields should be calculated.

Added an option to print the output in a user-friendly format which prints column separators.

Sep 4, 2008 - Version 1.6.4 Patch Released

Enhanced the FTP, FTPS and SFTP Tasks to allow renaming of multiple files using nested filesets or input files variable. A prefix and/or suffix can be specified to mass rename files on the remote FTP server.

Aug 25, 2008 - Version 1.6.3 Patch Released

Fixed the following Tasks to not write data in scientific notation when writing Decimal/Numeric fields:

Write CSV Task

Write Fixed-width Task

Write XML Task

Jul 23, 2008 - Version 1.6.2 Patch Released

Fixed the FTP Task which was failing to parse the reply to PASV command when working with some non-standard servers.

Jul 7, 2008 - Version 1.6.1 Patch Released

Added a new property for SFTP resource types. The new property is added under the Adavanced tab with the label Use Adaptive Connection. This defaults to true (Yes) which is what 1.6.0 and prior releases were doing. Now users can disable this by selecting No when connecting to servers that do not support adaptive connections.

Added a new attribute to the SFTP task labeled, Use Adaptive Connection. This attribute can be found under the Advanced tab of SFTP Task.

When running an SFTP Task in debug mode, the SFTP connection trace is now logged to the Tomcat log. Prior versions did not log any thing. The log file location is [INSTALL_DIR/tomcat/logs. The name of the file looks like stdout_20080711.log or catalina.out. Substitute the date portion with the latest date that you see in that folder.

Jun 20, 2008 - Version 1.6.0 Released

Added the ability to manage x.509 certificates which are used in secure communication over SSL such as FTPS and HTTPS. Users with Key Manager role can access the Certificate Manager from the Tools menu. The Certificate Manager allows you to work with either JKS or PKCS#12 type key stores. The certificate management functions include -

Create new key pairs and self-signed certificates

Generate certification signing requests (CSR) to be sent to certificate authorities such as VeriSign, Thawte etc.

Import replies (signed certificates) from Certificate Authorities

Export certificates

Import trusted CA certificates

Delete keys and/or certificates

View details of a certificate or certificate chain

Create new key stores

Open existing key stores

View or update preferences for the Certificate Manager

GoAnywhere ships with two key stores named trustedCertificates.jks and privateKeys.jks which are located in the userdata/keys/x509 directory. The trustedCertificates.jks file contains the root certificates of all major certificate authorities such as VeriSign and Thawte. This key store can also be used to import certificates of parties that you trade with. The privateKeys.jks file is there for creating your own key pairs and associated certificates. These key stores are setup as the default trusted certificates and default private keys in the SSL Certificate Manager preferences. These key stores are used as the default key stores through out the system when an SSL communication is initiated with no explicit key stores specified.

Implemented File Manager that allows managing of files on the GoAnywhere server. The File Manager can be launched by selecting File Manager under the Tools menu. The functions provided by the File Manager include -

Browse directories that the user is authorized to

Download files from the GoAnywhere server to the user's workstation

Upload files from the user's work station to the GoAnywhere server

Copy/Move files and/or directories on the GoAnywhere server

Create new directories

Rename existing files and/or directories

Added a new Role named File Manager which determines if a user should be allowed to access the File Manager. During the upgrade, system users, root and administrator are placed in this new role. If you would like to grant other users access to the File Manager, their user/group profiles must be updated.

When creating or editing a GoAnywhere user profile, the Security Officer can specify the home directory of the user, whether or not the user should be restricted to home directory and the file permissions (Read Only or Read/Write). These settings are utilized by the File Manager.

GoAnywhere's internal database is backed up automatically on a daily basis to allow restoring of data in case if something happens to the database. The backup settings can be adjusted by the Administrators from the Global Settings screen. The backups are stored in the userdata/database/backups folder.

Added a new Task for executing System i commands and/or programs all in the same System i job. This new Task allows to specifying commands and programs in the order they should be executed. This Task also allows monitoring of specific messages and control the flow of project. This Task replaces the Execute System i Command (cmd400) and Execute System i Program (pgm400) tasks. Existing projects using these old tasks continue to work, however, these Tasks will no longer be available when creating or editing a Project.

Bundled JDBC drivers for Sybase and Informix. These drivers can now be selected when creating a Resource, or when working with the SQL Task.

Various Tasks that accept a single input (or source) file have been updated to accept a FileList variable provided the FileList contains only one file.

When a FileList is printed to the Job Log or a file using Print Task, the files in the list are printed one file per line without any additional headers or footers. This allows processing of the FileList in your custom programs or to simply e-mail the list of files as a report.

Added the CCC (Clear Command Channel) option to the FTPS task. This option converts the Control Connection to a plain connection after a successful login. This option is required in order to successfully transfer data when connecting through NAT firewalls.

The following additions/changes are done to the Global Settings:

Under the General tab, Date Style and Time Style are now replaced with Date Pattern, Time Pattern and Timestamp Pattern to offer maximum flexibility on how dates and/or times are displayed in GoAnywhere.

Under the Data tab, a new field called Documents Directory is added which defines the root directory for storing documents. This directory further contains folders for every GoAnywhere user (user's Home directory).

Added a new tab called Backup to control whether and how the GoAnywhere database should be backed up.

The Backup tab also allows Administrators to backup the GoAnywhere database on demand.

Added the following system variables that can be used when designing or running the projects:

system.job.log - Absolute path to the current job's log file

system.docroot - Absolute path to the documents directory as defined in the Global Settings

system.user.home - Absolute path to the user's home directory as defined in the user's profile

Added the ability to release locks on a Project. When editing a Project, if the Project is locked by another user's session, an option to release the lock will be displayed.

The following enhancements were made to the Project Designer:

When a Project is executed from the Project Designer, a link to view the Job Log is displayed. After viewing the Job Log, the user will be returned back to the Project Designer.

When committing changes to a Project, the Project Designer ensures that the current session still holds an exclusive Write Lock on the Project. If not, the changes cannot be committed. This is needed as we now implemented a way to release locks.

When a New Project is created, an exclusive Write Lock is acquired on the newly created project before opening the Project Designer. Prior versions did not do this which made it possible for two users be editing the same project (newly created Projects only).

Fixed an issue with some screens displaying the date and time in GMT Time Zone. The screens now display the dates and times in the GoAnywhere Server's Time Zone.

Fixed the SQL Wizard to display Tables and Columns in ascending order.

Local File Chooser has been enhanced to allow sorting of files based on Name, Size or Date. Added a new icon in the tool bar to quickly navigate to the home directory of the user.

FTP File Chooser has been enhanced to allow sorting of files based on Name, Size or Date.

When testing a Resource, the Test Results window now displays the Stack Trace if the low level API's produced any Exception. This helps identify and resolve the problem quickly.

Fixed the E-mail Notifier in the Scheduler to ignore empty user name and/or password combination when connecting to the SMTP Server.

Enhanced the Write CSV and Read CSV Tasks to support Space as a Field Delimiter option.

Enhanced the Move Task to prefix or suffix destination file names with a constant value or variable. This makes it possible to do a mass rename of files with a prefix or suffix without actually having to move the files to a different directory.

Enhanced the Copy Task to prefix or suffix destination file names with a constant value or variable.

Enhanced the PGP Decrypt Task to prefix or suffix destination file names with a constant value or variable.

Enhanced the PGP Verify to prefix or suffix destination file names with a constant value or variable.

Re-arranged the columns in the Search Jobs and Project History screens.

Updated the icons used in various Tree components and fixed the alignment issues.

When scheduling a new Job, the specified Project location is now validated to avoid an internal server error.

GoAnywhere Server can now listen for secure connections over HTTPS. By default, the installer enables the HTTPS listener on port 8001. This does not have any effect on existing installs. Existing installs can be manually configured to enable the SSL connections. Please refer to the GoAnywhere Installation and Configuration Guide for more details on this.

When promoting projects or resources, HTTPS is supported if the target GoAnywhere server accepts SSL connections. The certificate used by the target GoAnywhere server should be added to the default trusted certificates file.

Fixed the issue with improper rendering of screens in some versions of Internet Explorer when creating OpenPGP and SSH keys.

When adding or editing a Project Folder, any leading and/or trailing white spaces are removed.

When adding or editing a User, any leading and/or trailing white spaces are removed.

When adding or editing a User Group, any leading and/or trailing white spaces are removed.

Updated the JDBC URL Wizard with Sybase and Informix JDBC Drivers.

JDBC URL Wizard has been enhanced to sort the advanced options by the property names to make lookup of a specific property easy.

Updated the display width of all File/Directory fields to 60 characters to reduce the amount of text that gets clipped.

Print Task has been updated NOT to print CRLF after the user entered input string.

Updated the templates for running system i command and programs. The template now uses the newly added Task, Execute System i Command and/or Program

Removed the week of year column from the calendar component in various screens.

Updated the scheduler screen to show the current time from the server.

Updated the Memory tab in Help -> About screen to refresh every 5 seconds.

Updated Active Jobs screen to auto-refresh every 5 seconds. The screen also provides the option to turn off the auto-refresh if needed.

Added an option to export a project from the Work with Projects screen.

Apr 18, 2008 - Version 1.5.1 Released

Chnaged the default behavior of Write CSV, Write Fixed-width and Write XML tasks to avoid rounding of decimal/numeric fields when no Decimal Number Format is specified.

Apr 4, 2008 - Version 1.5.0 Released

Added the ability to manage OpenPGP keys from GoAnywhere's web based Administrator. The OpenPGP Key Manager can be launched by selecting the newly added menu item, "Manage OpenPGP Keys" under the "Tools" menu. The following functions can be performed using the OpenPGP Key Manager:

Create new OpenPGP keys

View details of an existing key

Change Passphrase on existing key pairs

Export one or more public key(s) to workstation

Export one or more key pairs to workstation

Import one or more public and/or secret keys from a file on the workstation

Importing one or more public and/or secret keys from a file on the GoAnywhere server

Create new key rings

Open existing key rings

Set global preferences to control the default behaviour of the OpenPGP Key Manager

Added a new User Role called "Key Manager", which allows users to access the OpenPGP and SSH key management functions. System users "root" and "administrator" are assigned the "Key Manager" role during the install/upgrade. If you would like other users to have access to the key management, you need to update the user/group profiles of those users.

Added the ability to test resources when creating or editing them. A button labeled "Test" will appear on the Add/Edit Resource screens. Clicking on the "Test" button will ensure that the currently specified values for the resource are correct and the Resource is usable in projects. For e.g., Clicking the "Test" button when creating an FTP Server will actually try to connect and login to the specified FTP server and the results of the Test are displayed in a popup.

Added the ability to add a new Resource when designing a project. A new button labeled "Create..." will appear next to the Resource drop-down box. Clicking on this button will navigate you to the appropriate Resource's Add screen. After the Resource is created (or canceled), you will be navigated back to where you were in the project designer.

Added the ability to receive GoAnywhere upgrades if the GoAnywhere Server connects to the Internet through a proxy server. The HTTP Proxy settings can be defined by the administrators in the Global Settings (Global Settings under the Administration menu).

Enhanced the Write Excel Task to preserve all settings such as Macros from specified Template file. This makes it possible to do certain things such as subtotals in the generated Excel file. In order for this to work, the template file should have "Auto Run" macro to perform the desired function.

Enhanced the FTP, FTPS and SFTP tasks to support a new sub-task "Manual Get" to get a single custom file name. This is useful for retrieving files from some non-standard FTP servers.

Enhanced the XML Write Task to accept a custom header for the generated XML file. This attribute can be used to include a DTD or Schema definition in the generated XML file.

Added the ability to save Job Logs to the workstation.

Added the ability to save the Server Log to the workstation.

Enhanced the SQL Wizard to automatically refresh the SQL statement when the "Set Query" is clicked. The "Update Preview" button is no longer required to be pressed before setting the query in the invoking page.

Pressing the Enter key in the Local and FTP file browsers now triggers the "Select" button to place the selected file in the invoking page.

Fixed an issue with the FTP File Chooser that was causing a read timeout to take longer than the specified timeout value. This was occurring when a connection was successfully established, but the LIST command was failing to open the data connection due to an incorrect passive/active setting.

Fixed the label for the Null Indicator in the XML Read task. The previous label "Null Substitute" was incorrect, as the value is actually used as a null indicator in the Task.

Upgraded the OpenPGP API to support PGP keys with signatures

Enhanced the OpenPGP Encrypt task to allow encryption using the master key if no subkeys are found or valid. This of course requires that the master is key is capable of being an encryption key (such as an RSA key).

Fixed an issue with locks not being released on projects when the browser's back button is clicked. When opening a project in Edit mode, the code now checks to see if the user is currently holding a lock on any other project, and if so, releases the previous lock before acquiring lock on the new project. Please be sure to click on the available menus or buttons on the pages to ensure the locks are released right away. We recommend not clicking on the Back or Refresh button at all when working in the GoAnywhere Administrator.

Fixed an issue with Scheduler E-mail notification where it tries to send out an email if any one of the notification options is set. For example, if you have set up a scheduled job to send notification only if the job fails, the scheduler would still try to send an email when the job completes normally. However, the send was failing because there were no recipients specified.

New directories are created under the userdata folder for storing PGP and SSH keys. The preferred location for storing your PGP key ring(s) is userdata/keys/pgp. The preferred location for storing SSH keys is userdata/keys/ssh.

Upgraded the Tool Bars in various pages to have a separator between each tool bar item.

System i Install Only: Changed the length of Variable Name and Variable Value parameters on the RUNPROJECT command and RUNPROJSRV service program. The Name of a Variable has been changed from 100 to 48 characters long and the Value has been changed from 100 to 256 characters long. WARNING: IF YOU ARE USING THE RUNPROJSRV SERVICE PROGRAM TO RUN PROJECTS, YOU WILL HAVE TO RECOMPILE YOUR PROGRAMS WITH THE CORRECT PARAMETER LENGTHS.

Feb 14, 2008 - Version 1.0.0 Released

Added the ability to create a project from a template. Over 30 templates are shipped with this release.

Implemented a scheduled system maintenance process to purge job logs and associated workspaces that are older than a specified number of days. This parameter can be controlled from the Global Settings screen. This value defaults to 90 days.

Implemented a scheduled system maintenance process to rotate the global log file when it exceeds a specific size. Here again, the maximum size is configurable from the Global Settings screen. This value defaults to 5 MB.

In the Project Designer, when a adding a Task to a Module, the page displayed shows a categorized view of Tasks to make it easier to find the desired Task. Previous versions used to list all tasks in alphabetical order.

Changed the location where the license file is saved. As of version 1.0.0, the license file will be saved in the installation directory of GoAnywhere. The file name is goanywhere.lic. Previous versions used to store the license file in the internal database which was causing some issues when replicating files to Backup/HA/DR systems.

Check for Updates page has been enhanced to show the download progress of the upgrade file.

Replaced the Date (Calendar) component on various screens with a new component that allows setting of both date and/or time intuitively.

Bundled JDBC driver for Oracle database.

Bundled JDBC driver for IBM DB2.

Upgraded the JDBC driver for Microsoft SQL server to the latest version, which is 1.2. This version of the driver provides SSL communication with the SQL Server.

When File Exists attribute has been moved to the Basic tab in several tasks.

Some attributes in the PGP Tasks have been moved to the Advanced tab.

Added a configuration option to enable compression on the data sent to the browser. This will make the pages load faster on a slow Internet connection. However, this will affect the performance on the server side a little bit as the sever needs to compress/decompress the data on every response/request. Please see the manual for more information on how this parameter can be changed.

Added Favorite Icon which is displayed in the URL field of the browser. The icon is also used when you add GoAnywhere administration site to your favorites.

Rearranged the menus in the main menu bar.

Updated the Dashboard icons and several icons in the project designer.

The following changes/fixes have been made on System i installs:

Request License screen now displays the processor group on System i installs.

Added a new command called CFGGA for configuring various parameters of GoAnywhere. Only users with *SECADM rights can change these parameters.

Added a new command called CPYPOLICY to test and, if needed, copy the policy files to the Java's installation folder.

Renamed the UPGRADE command to UPGRADEGA to avoid possible conflicts with existing commands or programs that are named UPGRADE.

Added a new option for the RUNPROJECT command to allow *DFT for the user parameter. This will then allow the command to use the user and password specified using the CFGGA command.

Changed the CPYPOJECT command to raise GAE1102 error when the copy operation fails.

Changed the CPYRES command to raise GAE1202 error when the copy operation fails.

Changed the STRGA command to raise GAE1402 error when the subsystem is already active.

Changed the ENDGA command to raise GAE1502 error when the subsystem is NOT active.

Changed the UPGRADEGA command to check to make sure the upgrade jar file exists before trying to upgrade. The command also checks to make sure the GoAnywhere subsystem is NOT active.

Dec 23, 2007 - Version 0.9.9.2 Released

Fixed a critical issue with the FTPS Task which fails with the error "java.lang.NoClassDefFoundError: com.sun.net.ssl.TrustManager" or "Export restriction: SSLSocketFactory supports non-pluggable ciphersuite(s)". This error was seen on System i (iSeries) servers only.

In the Project Designer, fixed the Show Variables drop-down button for the FTP file and directory fields.

Fixed the FTP file browser to use the port number specified on the FTP Resource. Prior versions always tried to connect to the default port, 21.

Fixed the SFTP file browser to use the port number specified on the SFTP Resource. Prior versions always tried to connect to the default port, 22.

Fixed the FTPS file browser to use the port number specified on the FTPS Resource. Prior versions always tried to connect to the default port, 21.

Fixed the FTPS file browser, which errors out when the FTP resource was setup to use a client certificate.

Fixed the OpenPGP key browser to list the keys sorted by the user name.

Fixed the Local File Chooser which was producing an Internal Server Error on Windows Vista.

Fixed the error message produced when attempting to insert a duplicate resource.

When adding or editing a resource, clicking on the Encrypt button on any of the password fields now displays an informational message on success.

Dec 7, 2007 - Version 0.9.9 Released

Enhanced Project Designer

Project Designer now uses Tabs to show Basic and Advanced fields

Changes made to a Project Component are automatically saved to memory

Added Next button to show the appropriate actions that can be performed based on the selected project component.

Save button is now used to commit the changes (or make changes permanent). In addition to the Save button, clicking on Compile, Execute or Show XML would also commit the changes.

Password Encryption has been made easier. Clicking on the Encrypt button will encrypt the value in the corresponding password field.

Implemented a FTP File Browser to lookup files and directories when using the FTP, FTPS and SFTP tasks.

Implemented a OpenPGP Key Browser to lookup public and secret keys when using the PGP tasks.

Added a new system variable called system.installDir whose value is set to the installation directory of GoAnywhere. All jobs will have access to this variable. The variable will also appear in the Variable Chooser drop-down box.

The Variable Chooser drop-down box now shows the list of variables sorted by their names.

When creating a new project, the default module name that gets created has been changed to "Main" instead of "main" (capitalized).

Updated various icons used in the project outline tree.

Enhancements to the Scheduler:

Implemented a Project Browser to look up a project when scheduling a job. This eliminated the need for two separate fields (Project Name and Project Folder) In the Schedule Job screen.

Added support for copying a Scheduled Job.

In the Work with Scheduled Jobs screen, the action buttons are now enabled or disabled based on how many jobs are selected.

When scheduling a new job, the User Name now defaults to the current user.

Implemented Change Password Option for changing the password of currently logged in user. The Change Password link is available from every page on the top right corner.

Password Encryption in the resource designer has been made easier. Clicking on the Encrypt button will encrypt the value in the corresponding password field.

When promoting a resource, the Target Server User Name now defaults to the current user.

Changed the SQL Wizard to automatically detect the selected resource (if one was specified), thus eliminating the need for selecting a resource again.

Fixed the SQL Wizard to release the database connections.

Fixed the Read Fixed-width Task which was raising an unhandled exception when unpadding certain fields (fields that just contain padding characters).

Fixed the Column screen of Read Fixed-width Task where the Data Type drop-down box has some invalid data options.

Fixed JDBC URL Wizard popup

XML Writer Task now allows constant values for elements and attributes. The previous versions always required that the value be from the input rowset.

Fixed the XML Writer Task to generate the XML processing instruction in the first line

XML Writer task now allows more than one element with the same name.

Fixed the XML Writer Task to allow empty values for attributes using the system variable, system.emptyString.

Fixed the screen for ZIP task which was using a plain text field for password.

Fixed the Local File Chooser not to put two slashes when selecting a file from a root directory such as "/" or "C:\".

Various Directory Fields such as Projects Directory, Workspace Directory etc., in the Global Settings screen are updated to have a Browse button to look up the directories on the server's file system.

After a successful copy of a project, an informational message is displayed indicating the source and destination projects.

Added "Home" to the main menu bar to go back to the Home/Dashboard page. Previous versions allowed the same when clicked on the GoAnywhere logo, which was not very evident.

The System i (iSeries) installer has been updated to grant Execute permission to PUBLIC on various shell scripts to eliminate the need for *ALLOBJ authority to start GoAnywhere subsystem.

The System i (iSeries) command, DSPPRDINF now shows the port numbers that are in use by GoAnywhere.

Made the User's Guide available through Help -> User's Guide menu item.

Renamed the Logoff link to Log Out.

Oct 31, 2007 - Version 0.9.8 Released

SFTP Task - Fixed an issue that was preventing SFTP connections using a Private Key.

SFTP Task - added support for more encryption/hash algorithms.

Fixed all FTP tasks to use the specified data type (ASCII/Binary/Auto) correctly.

FTPS Task - Fixed an issue that was causing NullPointerException with FTPS transfers.

Updated the FTPS task not to require user and password when a client certificate is specified.

Resources - when saving resources, special characters (lessthan, greaterthan, double quotes, ampersand, single quotes) are now correctly escaped, thus the resources with special values can now be used in projects and re-edited.

Changed properties to variables. Various screens will now use the word "Variable" in place of "Property". The XML syntax of various tasks has also been updated to use the word Variable. However, the projects created with previous versions will still run under the new version. These projects will automatically converted to the newer syntax when they are edited.

HTTP/S Post - Input Files Variable is now validated correctly at design and compile time to ensure the value specified is a variable reference.

PGP Decrypt Task - Input Files Variable is now validated correctly at design and compile time to ensure the value specified is a variable reference.

Fixed an issue that was preventing Timestamp task rendering the user specified label in the Project Outline Tree.

Fixed a security issue in System i Login Module.

Permissions on project folders can now be set by any Security Officer. Prior versions needed a user who is both a Security Officer and a Project Designer.

Permissions on resources can now be set by any Security Officer. Prior versions needed a user who is both a Security Officer and a Resource Designer.

Updated the project designer to have Save, Save & Finish and a Cancel button. Save & Finish will save any changes made and closes the project. Cancel will discard the changes and closes the project. Save will save the changes and keeps the project open.

Fixed a NullPointerException in the XML Read Task when a rowset was not defined.

Fixed an error in the JDBC URL Wizard that prevented users from changing drivers after one had been selected and processed.

Corrected the spelling of the word 'task' in the help description of the 'onError' attribute at the module level.

Changed the thread-safe field type in the Project screen to use a set of radio buttons (Yes and No) instead of a drop-down box.

Removed the property selection button (wrench) from the 'isPasswordEncrypted' attribute in the Zip Task.