Profound.js Version History

4.14.4 4.14.3 4.14.2 4.14.1
4.14.0 4.13.1 4.13.0 4.12.0
4.11.1 4.11.0 4.10.2 4.10.1
4.10.0 4.9.2 4.9.1 4.9.0
4.8.2 4.8.1 4.8.0 4.7.3
4.7.2 4.7.1 4.7.0 4.6.1
4.6.0 4.5.0 4.4.1 4.4.0
4.3.1 4.3.0 4.2.8 4.2.7
4.2.6 4.2.5 4.2.4 4.2.3
4.2.2 4.2.1 4.2.0 4.1.0
4.0.2 4.0.1 4.0.0 3.0.2
3.0.1 3.0.0 2.3.1 2.3.0
2.2.6 2.2.5 2.2.4 2.2.3
2.2.2 2.2.1 2.2.0 2.1.9
2.1.8 2.1.7 2.1.6 2.1.5
2.1.4 2.1.3 2.1.2 2.1.1
2.1.0 2.0.9 2.0.8 2.0.7
2.0.6 2.0.5 2.0.4 2.0.3
2.0.2 2.0.1 2.0.0

To view Profound UI Version History, click here.

4.14.4 (Current Release)

Release date: 01/31/2020

  • Profound UI Version 6, Fix Pack 5.0 is required for this release.
  • Fixed erroneous notification of file modification by external program when saving large files in the Designer.
  • Improved error handling/messaging when unable to connect to IBM i Remote Connector instance.
  • Fixed bug: data decimal data error when calling a module using packed parameters when the Profound.js server is first started.
  • Fixed Designer's terminal emulator not working when using Version 6, Fix Pack 5.0 or higher.
^ Back to top ^


Release date: 12/23/2019

  • Upload Folder option in Designer files tree now works when running on IBM i.
  • Fixed bug: pjs.query() does not handle parameters of types date, time, timestamp.
  • Enhancement: add options to PJSCONVERT to write out SQL scripts to move database from IBM i to another platform.
  • Profound UI session library list is now set in the Profound.js SQL server job when a Profound UI session id is passed on a web service request via the AUTH parameter.
  • When Profound.js Connector for IBM i APIs are used outside of a Genie session, the library list used to be set on each API call. Now the library list is set just once, when the DB2 connection is established.
  • Fixed program crash in some scenarios while performing activation group cleanup.
  • Fix pjs.query() failure when the result set has 85 or more columns.
  • Fixed bug: if a field of type "longtext" is used as a reference field to define a field in the Rich Display Designer, error "Definition length is invalid" occurs at run-time in pjs.defineDisplay().
  • Corrected the http method for adding and changing records when using DbDefn webservices. Add was using PUT, now is using the correct POST method. Update was using POST, now is using the correct PUT method.
  • Fix erroneous file removal events in Designer.
^ Back to top ^


Release date: 11/01/2019

  • Fix crash when fetching DB2/i data to primitive JS objects, and the result set contains Graphic/Unicode fields that are set to NULL.
  • Fixed IBM i instance crashing, in some situations, when using as a Remote Connector instance.
  • Corrected database tranform logic when using RLA via SQL or when using DbDefn Web services.
  • Added support for nullable fields when using DbDefn Web services.
^ Back to top ^


Release date: 10/29/2019

  • Fixed crash when using pjs.defineTable() with IBM i file containing a VARGRAPHIC field.
  • Fixed crash when using pjs.define() to define externally described data structure using IBM i file containing a VARGRAPHIC field.
  • When defining an externally defined DS based on an IBM i file, graphic/vargraphic fields with Unicode CCSIDs are now defined as Profound.js type "ucs2" instead of "graphic".
  • Fix SQL API failure when querying DB2/i tables containing GRAPHIC/VARGRAPHIC Unicode columns.
  • SQL parameter marker values for DB2/i are now processed in Unicode, to prevent character conversion issues.
  • SQL statements are now passed to DB2/i in Unicode.
  • Fixed corruption of some data in UCS2 fields.
  • Fixed bug in String.fromUcs2Hex() API causing data to be decoded improperly.
  • Node.js time zone is now set to IBM i system time zone, instead of UTC time, when server is started with STRTCPSVR.
  • Allow IBMi driver to use dbSchema in DbDefn files
  • Enhanced DbDefn transform logic to be easier to use.
^ Back to top ^


Release date: 10/09/2019

  • Profound UI Version 6, Fix Pack 4.0 is required for this release.
  • Folder Upload option added to Node Designer File Tree
  • Designer monitors open files for changes/deletion and prompts to reload or close files. This feature is not available on IBM i.
  • Fixed an issue where clearing of a passed field from another pjs module would cause a invalid field name error.
  • Corrected an invalid date/time format field error when the date /time format was defined in uppercase.
  • Corrected an field not found error when passing an multi-occurrence data structure to another pjs module.
  • Corrected an error if defining a data structure based on an external display file which is also not defined within this module with the pjs.defineDisplay api.
  • When using a non IBMi database, added support for table columns names being database reserved names.
  • When using a non IBMi database, corrected the logic in resetting the SQL error field to 0.
  • Enhanced RLA via SQL to allow for database that support case sensitive names.
  • If a program shows message sent by the IBMi SNDPGMMSG command and not using an IBMi, an error would occur. This is because call these messages are currently not supported off the IBMi platform. Now, no error and no message(s) will be return.
  • Fixed bug: transformed code has "pjs.closeAll()" inserted at end of anonymous functions, prematurely closing files at the global scope.
  • Added capability to run NodeRun workspaces in Profound.js by placing a copy of the workspace directory in the 'modules' directory.
  • Profound.js Connector for MySQL, MS SQL Server, and Oracle now allow 5 sessions w/o license key.
  • Fixed communication error when requesting trial key.
  • Improved the performance as well as simplified how to enable server-side typescript modules. You no longer need to install the typescript npm package.
  • Fixed an issue with RLA via SQL where a unsuccessful getRecord would clear the prior field values. In RPG it does not clear those fields values.
  • Fixed a issue using pjs.fetchFirst to fetch multiple records with a single statement.
  • Fixed length of DS defined with pjs.define() when length is given without subfields.
  • pjs.define() no longer replaces the callee field definition with the caller definition when 'refParm' is used.
  • Add support for runtime caching in Profound UI mobile client
  • Allow DB2/i connection attribute values to be specified as strings in "connectionDetails" configuration setting.
  • Enhancement: added a tool to perform mass conversion analysis.
  • Fix SQL descriptor leakage due to statement handles not being cleaned up when module activation group is reclaimed.
  • Enhanced RLA via SQL to allow for multiple schemas to be used. To setup a list of schema to be considered, use the config.js file and alter the pathList property.
  • Added the ability for DbDefn.js files to define micro-services, as well as, allow functions of this file to be web services.
^ Back to top ^


Release date: 08/21/2019

  • Fixed failure of pjs.runCommand() to throw exceptions when CL command fails. Bug introduced in 4.13.0.
^ Back to top ^


Release date: 08/20/2019

  • Changed puiscreens.json to center Message Box. Box title now uses language text when title is not specified.
  • Improved performance of Designer's Git tab when watching large directories on Windows.
  • Added the ability to use TypeScript files and support hot-reloading.
  • Corrected an issue where it would report a field not found error when a data area name ended with a _.
  • Fixed bug: after file.delete(), file.found() returns "false" instead of "true" when a record was found and deleted.
  • Added ability to pass command line arguments when starting server with STRTCPSVR on IBM i.
  • Fixed bug: if parameters are used in pjs.query() then error "Number of host variables not valid" occurs.
  • Enhancement: improve pjs.prepare() and pjs.bindParameters() to allow usage of data structures on INSERT/UPDATE.
  • Major performance improvement when initially loading a large modules.
  • Corrected a problem with pjs.assign where it could strip off the negative sign of a number.
  • Fixed bug: assigning a qualified DS to another field results in bad data in the to-field.
  • Fixed bug: assigning a DS array to another DS array results in bad data.
  • Fixed bug: assigning value to a specific DS array element always goes to 1st element, not the specified element.
  • Enhancement: improve performance of pjs.clear() for DS arrays and simple arrays.
  • Arrays defined with pjs.define() use significantly less memory and take less time to define.
  • pjs.callProc() and pjs.callProcedure() now handle large parameter data when used outside of Profound UI / Genie sessions.
^ Back to top ^


Release date: 06/24/2019

  • PJS can now use SQL or Record-Level api functions for data access to any of the supported database by setting up a table Database Definition module. Click here to see more details. new feature.
  • Added new API, pjs.messageBox.
  • PJS_BASE library and /profoundjs-base directory will no longer get downgraded when installing an instance of an older version on IBM i.
  • PROFOUNDJS user profile will be created with JOBD(PJS_BASE/PROFOUNDJS) when installing base components on IBM i for the first time.
^ Back to top ^


Release date: 06/03/2019

  • Profound UI Version 6, Fix Pack 3.2 is required for this release.
  • Fixed terminal emulator, was broken due to change in xtermjs package.
  • Fix bug on the Sign On Screen where it was not showing any errors as to why you could not sign on.
^ Back to top ^


Release date: 05/22/2019

  • Added support for IASP.
  • Fixed bug referencing IBM i file fields in Rich Display file when using case-sensitive mode.
  • can now accept a function exported from a module loaded with pjs.require().
  • Fixed bug when a function is passed to
  • Improved efficiency of module search/load process.
  • Web services running on IBM i now use a pool of DB2/i connections for Connector API calls, to improve performance.
  • Added the ability for the standard Record Level Access api's (positionTo, getRecord, fetch, etc) to use SQL and connect to other databases such as mysql, mariaDB, and mssql.
  • Add new API pjs.toObject() to translate Profound.js data structures into primitive JavaScript objects.
^ Back to top ^


Release date: 05/01/2019

  • Fix "junk" characters at the end of VARCHAR columns when using stmt.fetch() to fetch rows into a primitive JS object from a result set returned from a stored procedure written in RPG.
  • Fix SQLCA diagnostics not being set when fetching past EOF on result set from stored procedure written in RPG.
  • Fix pjs.query() trying to fetch when SQL statement run does not produce a result set. This eliminates unnecessary SQL errors/diagnostics.
^ Back to top ^


Release date: 04/26/2019

  • Fixed not working to call IBM i program when used from web service running on IBM i. This problem was introduced in 4.8.2.
  • Corrected a bug within pjs.defineTable where it would show an error 'profound.utils.fileExists is not a function'
^ Back to top ^


Release date: 04/24/2019

  • Profound UI Version 6, Fix Pack 3.1 is required for this release.
  • Added support for loading image widgets from BLOB columns
  • Added PJS logo and version info to nodedesigner's about page.
  • Fixed intermittent install failure due to 'readline' errors.
  • Fixed failure to install via QP2TERM or QSH in 5250 session when using Node.js 10 on IBM i.
  • Added Git integration for Windows, Linux, and Mac.
^ Back to top ^


Release date: 04/15/2019

  • Fix 'workspace not found' from NODERUN command when workspace owner name includes uppercase characters.
  • pjs.getUser() API now triggers IBM i web service log on, so user profile name is always available.
  • SQLCA field SQLERRD(3) is now populated with affected row count after call to pjs.execute() or pjs.executeDirect() for INSERT/UPDATE/DELETE statement.
  • Fixed updatepui to end properly instead of hanging when finished.
^ Back to top ^


Release date: 03/26/2019

  • Added new datatype called String for ProfoundJS. This datatype has no maximum length and is intended to be used within the nodejs program and the screen.
  • Fixed server crash on IBM i when exceptions occur while saving files in Designer.
  • When running on IBM i, Designer now uses HTTP Basic authentication and sessions no longer timeout.
  • A meaningful error message is given when attempting to call an ILE procedure name that doesn't exist in the specified service program. Previously this would result in a 'pointer not set' error.
  • Fix memory leak when module ends without closing Rich Display File and is called again in the same session. The original open instance will now be reused.
  • Fixed failure to install Connector into a library with special characters in the name -- for example '.' (dot).
  • connectorIPFilter is no longer applied to calls from PJSCALL or proxy programs.
  • Corrected a issue where a database connection error was shown instead of a sign on screen.
  • Added pjs.getDBDriver() API.
  • NODERUN command and program now use ACTGRP(*NEW).
  • Programs use activation group *NEW when exports.activationGroup is not specified in the code.
  • Improved error message when error occurs reading NodeRun access control table.
  • pjs.getConnection() works with all DB drivers. The API was only working with the "IBMi" driver since 4.8.2.
  • Updated the PUISCREENS to use more flat look controls.
^ Back to top ^


Release date: 02/04/2019

  • Profound UI Version 6, Fix Pack 2.1 is required for this release.
  • Instances running on IBM i now default to deyning access to Connector APIs from remote hosts.
  • See here for instructions on allowing access to Connector APIs from remote hosts.
  • Fixed field listing dialog in Designer.
  • Added Database tab, provides a list of database files/fields and allows widget configurations to be stored for each field.
  • Added NODERUN command and program for calling programs on
  • Open tab title, tool tip, and save location are updated when corresponding file or containing directory is renamed or moved.
  • Improved behavior when deleting files open in tabs.
  • <link> tags for CSS files in Designer page are removed when the CSS file or containing directory is renamed/moved/deleted.
  • CRTPJSPRXY command can now create proxy programs that can call Profound.js programs in any directory
  • Fixed failure to create proxy program when CRTPJSPRXY is run with ACTGRP(*DFT).
  • PJSCONVERT command now requires MBR parameter.
  • Fixed pjs.clear() crash when attempting to clear a DS with array subfields.
  • Added pjs.getUser() API
  • Added new datatype called JS String for ProfoundJS. This datatype has no maximum length and is intended to be used within the nodejs program and the screen.
  • Default DB2/i connection attributes can now be set with "connectionDetails" configuration option.
^ Back to top ^


Release date: 01/15/2019

  • Address conversion issue where invalid identifiers are generated in non-US CCSID regions.
  • Address conversion issue where qualified data structure sub-field names are prefixed with parent DS name.
  • Eliminated "authenticate" parameter for DB2/i connections are established automatically if/when Connector APIs are used.
  • Database-driven widgets now function when program is run outside of a Profound UI / Genie session.
  • Add "string" and "number" shorthand types to pjs.define() API
  • Prevent crash when incorrect number of parameters are passed to pjs.query() for MySQL access
  • Added capability to specify "this" for functions created using pjs.fiber.wrapPromise() and pjs.fiber.wrapPromiseNoFail().
  • mysql, mssql, and oracledb drivers now use connection pools instead of session-scoped connections.
  • New grid methods: reduce(), map(), applyFilter(), applyMap()
  • Correct indicator processing logic for grids
  • Process Binding Information with replaceRecords() and other similar grid methods
  • Adjust error handling with designer file operations
  • Add varchar support to Rich Display File processing
  • Improved error reporting when attempting to call APIs that accept field names outside of a function.
  • Profound.js command line options are now standardised to expect 2 dashes instead of 1 dash. i.e. "--rlog" not "-rlog".
  • Corrected PJSCONVERT command crash when converting a program that refers to binding directories that cannot be found.
  • Profound.js install process issues warning if Node.js 8 or Node.js 10 are not being used.
^ Back to top ^


Release date: 11/01/2018

  • Enable support for Node.js 10.
  • Include latest version of idb-connector (1.1.4)
  • Fix failure to hot reload module when name passed to pjs.require() starts with "." and the file extension is not given.
  • Address issue in getDatePattern() API, that was returning invalid date format for *LONGJUL dates. #4883
  • Address issue with HTTP Download progress occasionally causing truncated binaries in updatepui and installer.
  • Fix SQL server jobs not timing out in some situations.
  • Replace use of SQL table function SYSTEM_STATUS() with SQL view SYSTEM_STATUS_INFO on IBM i.
  • Fix erroneous "Invalid license key" messsage and server crash while checking database driver license key, in some sitautions.
  • Address npm audit warnings in package.json.
  • Fixed errors when attempting to create directories/files from the Designer file tree, when running on IBM i
  • Fixed handling of file CCSIDs when creating/opening/saving text files in the Designer, when running on IBM i.
  • Add HTTP Timeout settings to address issue where long-running DB requests are being timed-out by HTTP settings. #4837
  • Fixed errors when using 'mssql' and 'oracledb' packages, due to license key checks.
  • Fixed pjs.query() failure when using 'oracledb' driver.
^ Back to top ^


Release date: 10/09/2018

  • Profound UI Version 6, Fix Pack 1.0 is required for this release.
  • A license key is required to use Profound.js SQL APIs with MySQL, MS SQL Server, or Oracle.
  • Added capability to pass arguments to Node.js when starting with STRTCPSVR on IBM i.
  • Reduce memory usage relating to session timeouts
  • Added pjs.spawn() API.
  • Fix memory leaks when user closes browser while Rich Display File program is waiting on input.
  • Fixed intermittent/erroneous "error in SQL call-level interface" from pjs.connect().
  • Fix "Not Connected to Valid Session" error when using Rich Display file "choices url", "chart url", and "data url" properties when program is run as an "initialModule" on IBM i.
  • Allow "case-sensitive" mode for Rich Display File processing
  • Allow standard JavaScript objects to be passed to Display's read() and execute() methods
  • Add server compression option
  • Profound.js server job will be submitted with CCSID value from Instance configuration file.
  • Ensure all objects in /profoundjs-base directory are owned by PROFOUNDJS user.
  • CCSID, NodePath, and ProfoundUI Library settings are now asked by the Profound.js installer, to be added to the Instance configuration file.
  • Profound.js install process will now prompt with default values matching the current settings, instead of original product defaults.
  • Only load the relevant record format from puiscreens.json when displaying these panels.
  • Address BIF conversion logic causing Unit Tests to fail.
  • Address ON-ERROR conversion logic for *FILE, *PROGRAM and *ALL conditions.
^ Back to top ^


Release date: 08/23/2018

  • Fix IBM i install issue that creates duplicate overloaded stored procedures in the connector library. If you upgraded to 4.7.2, clear the connector library, and install 4.7.3.
  • Node.js versions 8+ will now require idb-connector from the local install folder instead of the global package location.
^ Back to top ^


Release date: 08/22/2018

  • Check for bad directory names when saving Rich Display Files
  • Fix intermittent 500 error when running program with, introduced in 4.7.0
  • Fix memory leaks relating to automatic open/close of Rich Display Files.
  • Address issue in PJS install script, where script will fail if installing onto an offline IBM i.
  • Address performance issues in connectorAPI, introduced in 4.7.0.
  • Address issue where old versions of idb-connector may result in attempt to close a null statement object.
^ Back to top ^


Release date: 08/10/2018

  • Fix server crash when SSH error occurs while attempting to init. terminal emulator in Designer
  • Update SQL install script syntax to be compliant with V7R1M0 IBM i installations.
  • All Profound.js modules creating idb-connector connections will now populate the ApplName (Profound.js) and ProgramID (ModuleName).
^ Back to top ^


Release date: 08/09/2018

  • Profound UI Version 6, Fix Pack 0.2 is required for this release.
  • Fixed console error appearing when pui["brkmsg enable"] config option was true, .length not a property of undefined in "breakMessagesInit".
  • Avoid reporting availability of Profound UI update when the current version cannot be determined, such as when http-based staticFilesDirectory setting is used
  • Fix failure of Profound UI "currentDate()" API when run in Profound.js session.
  • Add transform: false option to pjs.require() API
  • Add styling to Work with Sessions page.
  • Profound.js version information added to Error Panel display.
  • Only send Time portion of current timestamp to the PJS error panel. Previously it was displaying a full date & timestamp.
  • Implement shorthand notation for pjs.define() API
  • Add overflow property to PJS error panel to prevent extra ESMSG information corrupting ESHELP field below.
  • Fix Time display bug on Error Panel, when HH/MM/SS only contained a single digit.
  • PJS components updated to function with lowercase Bound fields in puiscreens.json file.
  • Add *INKx support to Rich Display File processing
  • All Profound.js components using IBM idb-connector now set conn.debug() mode, if environment variable PJS_SQL_DEBUG = "1".
  • Remove CCSID 37 from outbound JSON on PJS stored procs. This US CCSID was causing character translation issues on non-US servers.
  • Address issue in ProfoundError, where Error Message text supplied by other components was being lost during Error handling.
  • Message and Message Help error panels in puiscreens.json are expanded and set to scroll, to enable additional error details to be displayed.
  • Address issue in ConnectorAPI where stmt.Execute() errors would not be caught, and processing would continue as if statement was successful.
  • Fix issues with "overlay" property in Rich Display File processing
  • Added configuration option to specify Profound UI installation library name.
  • Added new /joblog route to Profound.js, to provide IBM i job logs to client requests.
  • makes authenticated user name available in status data structure.
  • Improve Error handling to include SQL error details are now shown on Error Panel.
  • Several fixes/improvements for improved error handling/visibility, to connectorMessage, connectorAPI, and remoteAPI.
  • Improved login error reporting
  • Add additional runtime logging steps to ProfoundError process. This will improve troubleshooting if -rlog switch is enabled.
  • Added failing job details to ProfoundError stack. AppJob, Ctlr Job, and Client User/IP Address and Port are now passed through all components to the Error Panel.
  • ProfoundError will now report any unknown statusCodeOrMessage types passed to Error.js.
  • ConnectorAPI will now set Client connection properties when creating IBM i connections. This will assist with finding your QSQSRVR DB jobs (V_CLIENT_USERID = my_profile).
  • Add missing pjs_fileDependencies.sql procedure to Makefile script.
  • Fix intermittent 'not connected to valid session' error in programs run via w/credentials file
  • The PJS install process is changed to handle different Client versions of puiscreens.json file.
  • If invalid libraries are found on server startup or during remote connection, the inappropriate connectorLibrary or profounduiLibrary setting is now reported.
  • Profound.js version is now included in the server startup console message.
^ Back to top ^


Release date: 06/08/2018

  • Profound UI Version 6, Fix Pack 0.1 is required for this release.
  • Automatically check for Profound UI updates
  • Fix terminal emulator resizing issue in Designer.
  • Fix crash when attempting to launch module from Designer while editing a text file.
  • Errors are reported properly when a Profound.js proxy program is used to start an anonymous Profound UI session.
  • Fix memory leaks.
  • Fix query failure for database-driven subfile widgets when subfile records are added via addRecords(), replaceRecords() or push() methods.
^ Back to top ^


Release date: 05/18/2018

  • Profound UI version 6 is required for this release.
  • New look and feel for Designer.
  • Add capability to work with multiple displays in tabs in the Designer.
  • Add capability to work with files in the Profound.js installation directory and edit text files in the Designer.
  • Add built-in terminal to Designer.
  • Add Widget Sets capability to Designer.
  • Eliminate deprecation warnings when running on Node.js 10.
  • Fix CCSID-related issues in installation process.
  • Fix errors setting library list for Connector calls when "pathlist" contains entries which are not valid as IBM i library names.
  • Fixes for sample programs.
  • Fix missing pjs_messages() stored procedure.
^ Back to top ^


Release date: 05/09/2018

  • Increase severity of PJS0003 diagnostic message.
  • Server is ended/restarted automatically when upgrading.
  • Eliminate 'Unknown os.platform()' messages from stderr logs on IBM i.
  • Introduce pjs.session for local session storage
  • Fix module transformation when no parameters are passed to an API, such as pjs.commit().
  • Fix 'not connected to a valid session' message when passing Profound UI / Genie session id (AUTH) parameter on request to module run with
  • Added support for Node.js 8 on IBM i
  • Fix bug passing arrays with pjs.callProc().
  • Fix inability to end/restart commitment control in SQL server jobs.
^ Back to top ^


Release date: 04/24/2018

  • Fix incomplete update of Connector objects in 4.4.0.
^ Back to top ^


Release date: 04/24/2018

  • Fix excessive "keep alive" requests to remote Connector instance.
  • Added access logging.
^ Back to top ^


Release date: 04/23/2018

  • Eliminate messages logged to stdout when launching Visual Designer.
^ Back to top ^


Release date: 04/20/2018

  • Fix transform module bug when the file doesn't start and end with a blank line or blank characters
  • Add support for Profound UI Mobile Client
  • Handle blank "choice values field" with database-driven components
  • Allow white space between pjs transformed API and argument list
  • Fix database-driven dropdown/combobox failure when "order by" is used.
  • PJSCALL converts decimal parameters to the length/decimals defined in the Profound.js module.
  • Fix text conversion errors.
  • Fix '403 - Forbidden' error when using Connector to communicate with multiple Profound.js server instances in the same job / activation group.
  • Fix failure of to invoke native program when called from an 'initialModule' and running on IBM i.
  • Binary data type handles up to 18 digits
^ Back to top ^


Release date: 03/26/2018

  • Fix failure to direct to initial module after logon in Internet Explorer and Edge.
  • Fix intermittent delayed write of Connector communications log.
  • Increase Connector's connection timeout from 2s to 10s.
^ Back to top ^


Release date: 03/16/2018

  • Fix Connector installation failure when QGPL is not on the library list.
  • Fix Connector API calls running in remote Connector job, instead of IBM i session job, when Profound.js programs are called from TN5250 or Profound UI Rich Display file applications.
  • Fix failure to report Connector API error messages when Profound.js program is run outside of an IBM i job.
  • Connector uses built-in CA certificate store, rather than system store, for HTTPS comms.
  • Pass sessionId, user, jobName, and jobNumber information to onerror() configuration function
^ Back to top ^


Release date: 03/12/2018

  • Fix missing printer file API.
^ Back to top ^


Release date: 03/09/2018

  • Fixed intermittent SQL driver failure.
  • Made pjs.fiber API work with setTimeout function
  • Increased pjs.query() result set limitation.
  • Fix SQL fetch failure when control character 0x3F is present in the result data.
  • Add onerror config.js property
  • Fix intermittent loss of remote Connector sessions.
  • Load custom CSS and JavaScript files in Node.js Designer Preview
  • Allow saving custom canvas sizes in Node Designer
  • Added support for IBM i printer files.
  • Profound.js programs running on IBM i can now optionally run without authentication.
^ Back to top ^


Release date: 02/09/2018

  • An exception is now thrown when attempting I/O on a closed Rich Display File.
  • PJSCALL command now pads character parameters to the length defined in the Profound.js module.
  • Added new configuration option "staticOptions" to set options for express.static().
  • Correct automatic file close processing.
^ Back to top ^


Release date: 01/23/2018

  • File upload backend expects "puiuplexit.js" to be in modules directory
  • Added file upload and exit program examples
  • pjssamples directory is refreshed when updating
  • Update both PJSCRTPRXY and CRTPJSPRXY to include a TEXT parameter to give the stub a description value.
  • Include fix for Genie using the wrong library list when a connector URL and credentials setup.
  • Fix "can't find status info" crash for some modules loaded using pjs.require()
  • Fix incorrect handling of "float" data type when running on Node.js 9.4.0.
  • Add ability to send HTML code directly using the pjs.display() API
  • Fix scoping issues in pjs.import() API
  • Add capability to run both HTTP and HTTPS servers from one instance.
  • Add capability to redirect HTTP requests to HTTPS.
^ Back to top ^


Release date: 01/12/2018

  • Fix crash when running RDF program after previous RDF program ends with error.
^ Back to top ^


Release date: 01/08/2018

  • Includes fix for connect4.js.
^ Back to top ^


Release date: 01/03/2018

  • Added HTTPS support.
^ Back to top ^


Release date: 01/02/2018

  • Fixes for pjs.define() when DS array subfields are defined with from/to notation.
  • Fixes for Rich Display File "overlay" processing.
  • Added support for Rich Display File "clear line" property.
  • pjs.define() supports data structure subfield using "from" option without "to".
  • Added array arithmetic APIs.
  • Allow port number to be overwritten by the PORT evnironment varibable during silent install
  • New database drivers for MySQL/MariaDB, SQL Server, and Oracle
  • Include PJSCONVERT command, which allows access to cloud converter.
  • Improve error reporting in the call stack with pjs.Error() API
  • New pjs.getConnection() API
^ Back to top ^


Release date: 12/21/2017

  • Fix endless loop when Profound.js program calls another with
  • pjs.runCommand() handles exceptions on IBM i and throws exception in Node.js instead.
  • Fix crash when record I/O file is not found.
^ Back to top ^


Release date: 12/15/2017

  • Fix string encoding issue in pjs.query()
^ Back to top ^


Release date: 12/13/2017

  • pjs.defineTable() now defines DB zoned decimal fields as packed in the program. Some programs may need adjustment for compatability with this release.
  • pjs.defineProc() preserves the case of the procedure name when "extproc" option is not used.
  • pjs.define() no longer defines indicators from display file separate indicator area when "extname" is used.
  • Characters are no longer replaced in alias/long field names when applying field name prefix.
  • Fix failure to apply field name prefix when object is passed for "prefix" option of pjs.defineDisplay() and pjs.defineTable().
  • Display file open sets "opcode" field in INFDS.
  • Record I/O driver sets "record name" field in file feedback area when record name is not passed to driver methods.
  • Record I/O driver sets "routine" field in file feedback area.
  • User/current user fields in status data structure are set when program is run outside of a Profound UI / Genie session.
  • Rich Display File user input is read properly into non-qualified DS.
  • Allow the use of primitive JavaScript objects in SQL for inserting and updating database records when using pjs.query() API
  • Added support for commit/rollback in record I/O driver.
  • pjs.defineProc() resolves procedure when service program is not passed.
  • Fix for record I/O driver when reading input into file with field name prefix that corresponds to qualified DS name.
  • Added API.
^ Back to top ^


Release date: 12/04/2017

  • Correct installation failure for UK users.
  • Designer "save" process runs as signed in user, instead of PROFOUNDJS.
  • Fixes for pjs.moveHighToHighZone(), pjs.moveHighToLowZone(), pjs.moveLowToHighZone(), and pjs.moveLowToLowZone().
  • Data area API now works with *DEC type data area.
  • Correct record file input with non-qualified DS.
  • Correct failure to close record files at end of module when multiple instances of same file are open.
  • pjs.HIGH_VALUE and pjs.LOW_VALUE can now be used with files accessed by RRN.
  • pjs.retrieveDataArea() sets status 432 when requesting lock on already locked data area.
  • Add template literal support via backtick symbol
  • pjs.kds() now accepts data structure array elements.
  • "refParm" option for pjs.define() now works properly with data structures.
  • Fix bad response from file upload backend when write to file system fails.
  • Fix failiure to display error screen after first error has occurred in the session.
  • Control option "alwnull" is now processed by record I/O driver.
  • Improvements to transform process
  • Add block comment support
  • Record file input null field map is now processed.
  • Added pjs.toDate() API.
  • Fix invalid UI record format overlay when multiple UI programs are on the callstack.
  • pjs.char() uses "timeSeparator" control option.
^ Back to top ^


Release date: 11/13/2017

  • Fix "session has ended" screen overlaying previous content.
  • Fix pjs.require() crash in some scenarios.
^ Back to top ^


Release date: 11/10/2017

  • SQLCA fields such as SQLCODE, SQLSTATE, etc. are now defined in lowercase. References to SQLCA fields in all programs must be changed for compatability with this version.
  • Added support for "subfile size" grid property.
  • Added support for "initialize subfile" grid property.
  • Added support for message subfiles.
  • Added runtime support for multiple display files, save/restore display, OVERLAY, ASSUME, and WINDOW behaviors.
  • profoundjs.server.listen() returns flag to indicate worker process.
  • Add "renameFields" option for pjs.defineTable().
  • sets status code 211 for failed IBM i program call.
  • File open indicator is now set in display file feedback area.
  • Implemented "nokey" and "all" options for pjs.clear().
  • Fixes for pjs.clear() used w/record format name.
  • Fixed issues with INFDS for database files.
  • Correct status code set by pjs.dec().
  • Correct record file input.
  • Added pjs.findFile() API.
  • Correct file name returned in INFDS for display files.
  • Added forceEndOfData() record-level access API.
  • Correct default Save As (Server File) directory in Designer.
  • Fix data area API crash when IBM i reports exceptions.
  • Record-level access API reports errors for failed record updates.
^ Back to top ^


Release date: 10/27/2017

  • Server runs in a single process if started with command line argument --no-worker.
  • Fix crash when reading subfile records.
  • Connector program build date/time and version number again displays on DSPPGM/DSPSRVPGM *COPYRIGHT detail screen.
^ Back to top ^


Release date: 10/10/2017

  • Eliminate message "Error Occurred in SQL Call Level Interface" from job log.
  • Rich Display File field length limitation increased to 16773104.
  • Fix "module not found" error on Linux when JavaScript file name is not in uppercase.
  • Rich Display File "error messages" property now works with Profound.js programs.
  • Fix crash when accessing timestamp values with zeros in fractional second positions 4 and greater.
  • Field / data structure names can now be used with pjs.bindParameters().
  • Field / data structure names can now be used with pjs.query().
  • Added process crash handling / automatic backup processes.
  • Programs using Rich Display File user interfaces can now be used outside of a Genie session.
  • Eliminate SQL API failures when multiple instances of Connector are used in the same job.
  • New pjs.import() API
^ Back to top ^


Release date: 09/22/2017

  • Fix erroneous 'version mismatch' introduced in 2.2.5.
^ Back to top ^


Release date: 09/21/2017

  • Added "" API, allowing Profound.js programs to be used as Express callbacks
  • IBM i APIs are now available to programs running on a remote instance.
  • Added CRTPJSPRXY command, equivalent to PJSCRTPRXY.
  • Added APIs for reading/writing IFS files.
^ Back to top ^


Release date: 09/15/2017

  • Fix incorrect processing of certain characters read from Rich Display File when programs are called from Genie.
  • Improve error message thrown when a defined table doesn't have any record formats
  • Add the capability for pjs.query() API to fetch data into strongly typed fields, data structures, and arrays
  • Handle braces and brackets in addArgNames transform process
  • Allow to pass custom data to pjs.display() API
  • Implemented ability to add custom client-side files into userdata/custom directory
  • New pjs.getFieldsArr() and pjs.getControlOptions() API
  • Fixed "" crash in some scenarios.
^ Back to top ^


Release date: 08/31/2017

  • Message parameter for display.screen.execute() and display.screen.write() API
  • New display.screen.executeMessage() API
  • Fix program cache issue with *DFTACTGRP
  • Fixes to rowCount() and hasMoreRows() statement methods
  • Added IBM i authentication and session management when running programs without an IBM i job.
  • IBM i APIs are now available to Profound.js programs launched outside of an IBM i job.
  • File upload widget works with programs launched outside of an IBM i job.
^ Back to top ^


Release date: 08/21/2017

  • Correct record I/O and other API failures introduced in 2.2.1.
^ Back to top ^


Release date: 08/21/2017

  • SQL API Fixes
  • Ability to call SQL API as statement object methods
^ Back to top ^


Release date: 08/21/2017

  • New pjs.getFields() and pjs.setFields() API
  • Correct installation failure.
  • Correct failure to display error screen when Profound.js module called outside of an IBM i job.
  • New display.screen.sendMessage() API
^ Back to top ^


Release date: 08/17/2017

  • Correct STRTCPSVR command failure.
^ Back to top ^


Release date: 08/17/2017

  • Fix STRTCPSVR command failure on international systems.
^ Back to top ^


Release date: 08/15/2017

  • Fiber API enhancements
  • Log message on how to update Profound.js npm package
  • pjs.downloadTable() API and jsonDB diver implementation
  • New driver configuration setting on pjs.defineTable() API
  • New pjs.query() API
  • Handler interrupted Node.js server sessions with a reported error message
  • Array defaults for pjs.bindParameters() API
  • Improvements to pjs.fetch() API
  • Fixed dropped session when Profound.js service reports error to Controller.
  • New pjs.hasMoreRows() API
  • New pjs.rowCount() API
  • Increase default request body size limit and make it configurable
  • New updatepui script and API to allow for a quick way to update Profound UI files used by Profound.js
^ Back to top ^


Release date: 08/07/2017

  • Fix pjs.define() crash related to array subfield overlay.
^ Back to top ^


Release date: 08/04/2017

  • Correct pjs.fetch() return values.
  • Fix record file resolve process.
  • SQL APIs automatically connect to *LOCAL database if called when not already connected.
  • Correct SQL API failure after disconnecting/reconnecting within the same run of a proxy program.
  • Profound.js modules can now be called from any IBM i job.
^ Back to top ^


Release date: 08/01/2017

  • Correct crash when calling Profound.js module from IBM i, in some scenarios.
^ Back to top ^


Release date: 08/01/2017

  • Automatically check for version updates
  • -plaintext option for -tlog
  • Binary key field support for getRecord() RLA method
  • Enhancements to jsonDB database driver
  • IBM i proxy program activation group overrides activation group setting in Profound.js module code.
  • Fixed 'Profond.js module not found error' when PJSCALL command is run with DIRECTORY(*PATHLIST).
  • Database binary fields with zero decimals are defined as integer when data structure 'extname' configuration property is used.
  • pjs.fetch() API and variants optionally return result rows as native JavaScript values.
  • Connector can communicate with local Profound.js instance via Unix domain socket.
  • Connector logs HTTP request timings.
  • Fix SQL API connection failures.
  • Eliminate SQL0030, CPF3C23, and CPF3270 messages appearing in IBM i job log when record I/O API is used.
  • Performance improvements for record I/O.
  • Performance improvements in module transformation logic
  • Improvements to pjs.fiber Promise-related API
  • Add code profiling capabilities
  • Deprecate new pjs.Display() syntax in favor of pjs.defineDisplay()
^ Back to top ^


Release date: 07/17/2017

  • Correct record I/O failure introduced in 2.1.1.
^ Back to top ^


Release date: 07/17/2017

  • Fixed loss of session data between Connector calls.
  • Support for 'like' property on data structure arrays
  • Allow named constants for the 'number of rows' parameter to pjs.fetch() API
  • Embedded SQL improvements
  • Additional caching options for database driver
  • New profoundjs.commandLineCall() API and call.js script
  • Improve how transform process handles return statements
  • Support for arrays embedded within data structure definitions
  • New -plaintext option for runtime log
  • Add length and decimal position parameters to the pjs.editCode() API
  • Improve pjs.fiber.wrap() and related API
  • Show friendlier Profound.js module not found message instead of sending error stack to job log when a module cannot be located
  • Multiple row fetch sets SQLERRD3.
  • Correct "call stack entry not found" error when ILE procedure call fails.
  • Correct incomplete SQL fetch for character fields.
  • Correct incorrect SQL fetch for VARCHAR/VARGRAPHIC fields.
  • Replace HTTPAPI with libcurl for communications.
  • Improve comms. performance.
  • Improve record I/O performance.
^ Back to top ^


Release date: 07/05/2017

  • Add ability to download rich displays as local files to the Visual Designer for Node.js
  • SQL Driver Improvements
  • Allow override length on display file reference fields
  • New -strongdbcaching option
  • Auto-derive length in pjs.callProc() when not provided
  • Error stack now shows lines from modules with preprocessed directives
  • Support sending empty subfile grids to the screen
  • likeDS support for pjs.callProc() parameters
  • Improve error message when calling service program procedures without Genie
  • Format date, time, timestamp output to Rich Display Files
  • Overlay processing accounts for subfiles
  • Report module load times and starting Visual Designer with -rlog option
  • Improve pjs.editCode() API
  • Support for Node.js 8.x
  • Fixed transform process to accommodate for tab characters
^ Back to top ^


Release date: 06/27/2017

  • Fix htdocs download path issues in Installer
  • Normalize module file name case to enable VSCode debugging through Genie
  • Fix formatting of display file packed reference fields
^ Back to top ^


Release date: 06/23/2017

  • Allow "like" property with data structure subfields in pjs.define() API
  • Require Genie to discover display file reference fields
  • Option to download Profound UI htdocs during installation
  • Fix installer crash when running 'clean' installation.
^ Back to top ^


Release date: 06/14/2017

  • IBM i installation gives more specific error messages.
  • Allow the use of remote URL's for the staticFilesDirectory config setting
^ Back to top ^


Release date: 06/09/2017

  • Add parameter for argument "this" to the pjs.fiber.wrap() and pjs.fiber.wrapNoFail() API
  • Added more Grid API
  • Enhancements to Profound.js transform process
  • Add support into profoundjs-iconv-lite for up to 13 new CCSIDs in Profound.js.
  • Bug fix: 'like' keyword on pjs.define() is now a valid keyword.
  • Allow external file object name to be controlled by a defined field when using pjs.defineTable()
^ Back to top ^


Release date: 06/05/2017

  • Fix bug causing PROFOUNDJS_COMM_PORT environment variable to be set incorrectly on 7.1.
  • Allow port and host to be configured as config.js properties, rather than hard-coded in start.js
  • Validate port number, static files directory, yes/no answers, instance name, and library name during installation
  • Added support for database-driven widgets, when running in a Genie session.
  • New pjs.fiber API
  • Support for multi-line return statements in the Profound.js transform process
  • New pjs.defineProc() API
  • Support for Profound.js directives #eof and #include
  • Corrected installation failure for international users.
^ Back to top ^


Release date: 05/22/2017

  • Corrected installation failure introduced in 2.0.3.
^ Back to top ^


Release date: 05/22/2017

  • Corrected failure to start instances when TCP/IP is started.
^ Back to top ^


Release date: 05/22/2017

  • Server instances now start/end with STRTCPSVR/ENDTCPSVR commands.
^ Back to top ^


Release date: 05/12/2017

  • Corrected public authority for objects in PJS_BASE
  • Corrected installer crash due to save files getting locked by replication software.
  • Removed dependency for 'minimist' package in 'start.js'.
^ Back to top ^


Release date: 05/07/2017

  • First GA release.
^ Back to top ^