Profound.js Version History

7.6.0 7.5.0 7.4.0 7.3.0
7.2.0 7.1.2 7.1.1 7.1.0
7.0.0 6.6.3 6.6.2 6.6.1
6.6.0 6.5.0 6.4.0 6.3.0
6.2.0 6.1.0 6.0.5 6.0.4
6.0.3 6.0.2 6.0.1 6.0.0
5.8.9 5.8.8 5.8.7 5.8.6
5.8.5 5.8.4 5.8.2 5.8.1
5.8.0 5.7.2 5.7.1 5.7.0
5.6.1 5.6.0 5.5.0 5.4.1
5.4.0 5.3.3 5.3.2 5.3.1
5.3.0 5.2.0 5.1.1 5.1.0
5.0.1 5.0.0 4.15.2 4.15.1
4.15.0 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.

7.6.0 (Current Release)

Release date: 03/20/2024

  • Profound.js Framework
    • Fix incorrect error message when a product licensing error occurs during an application session running via PJSCALL or proxy programs.
    • Fixed bug: printer file's outputFileName property is forced to lowercase
    • Added log to record start/end of each Rich Display File application session, and associated IBM i job.
    • IBM i STRTCPSVR processing now starts Node.js with --unhandled-rejections=throw, to get in line with current Node.js defaults.
    • Enhancement: Update click-through license verbiage in PJS/PAPI/PAI workspaces
    • Enhancement: Added ability to use placeholder text in text areas
    • Fixed bug: pjs_getJobLog incorrect exception handling
    • Fixed bug: Return fiber.runFunction error back to user code.
^ Back to top ^

7.5.0

Release date: 02/20/2024

  • Profound.js Framework
    • Fixed record I/O failure with IBM i files that have multiple externally defined record formats. Such as externally defined printer files.
    • Fixed bug: Function expressions not handled correctly in PJS modules
    • Increase size limit when retrieving IBM i record I/O file record layouts, and improve error message when size limit is reached.
    • Fixed bug where pjs.httpRequest could not load a relative URL when the local PJS server was running under SSL/TLS.
    • Fixed bug where pjs.httpRequest called from a PAPI route could not call a URL on the same PJS/PAPI server when the URL was specified partially and referred to an express route that was not for PAPI or was in a different workspace.
    • Added "customHttpHeaders" config option to allow custom handling of HTTP response headers sent with session screens.
^ Back to top ^

7.4.0

Release date: 01/23/2024

  • Profound.js Framework
    • Enhancement: Added ability to embed barcodes in PDF printer files
    • Fixed bug: Files larger than 8MB cannot be uploaded to IFS
    • Fixed Bug: Inherit new folder permissions from parent folder in workspace
    • Improved/added CLOB/DBCLOB support when processing SQL statements when using the IBMi database driver.
    • Fixed bug: An improperly-handled exception causes QSQSRVR jobs to accumulate with repeated connection attempts to DB2.
    • Fixed bug where IDE could not delete files with single quotes in filename.
    • Fixed bug where files with single quotes in filename would cause an erroneous error message to appear after uploading via the File Upload widget.
    • Fixed bug: file.update() using pjs.fields() with qualified DS field names does not update the fields.
    • Adjusted PJS0001 error message text to give better suggestions when PJSCALL/proxy program calls fail due to WebSocket handshake error.
    • Fixed Bug: Grid doesn't function properly when using Filter By Value and selecting the close button.
    • Bug fix: Filter by Value considers user defined data when filtering, causing data in filter list to be incorrect.
    • Fixed bug: Setting up a database driven grid causes all widgets to be set to hidden.
    • Fixed bug: User defined data causes issues with exporting grid data to excel and multi-column sort.
    • Enhancement: Added option to pjs.defineprinter() to set/retrieve name of PDF.
  • Profound API
    • Enhancement: Update Consume Web Service Low Code Plugin to be able to import OpenAPI specs
    • Fixed Drag and drop errors in Schema, Input Message Parts and Output Message Parts tabs in SOAP API file
    • Fixed help text for Call IBM i Program had "undefined" as a section title.
  • Profound.js Rich Display
    • Enhancement: Update Consume Web Service Low Code Plugin to be able to import OpenAPI specs
    • Fixed bug: 404 error thrown if "message id" is hardcoded
    • Fixed bug: Unable to see Source view on a Module File within the IDE
^ Back to top ^

7.3.0

Release date: 12/04/2023

  • Profound.js Framework
    • Fixed Bug: For IBMi databases, the security store information is now visible regardless of the "keepColNameCase" configuration setting.
    • Fixed bug: "Press ENTER to end terminal session" screen appearing when PJSCALL or proxy program attempts to write comm log to a non-existent or non-writeable location.
    • Enhancement: Added ability to draw images to PDF printer files.
    • Fixed bug: Setting keepColNameCase to true in the config no longer breaks role-based security when running Profound API files.
    • Fixed bug: Using PJSCALL and a large data structure with 500-length array takes over 3 minutes.
    • Fixed bug: pui.download() error messages no longer overwrite the current screen.
  • Profound API
    • Fixed bug: Input or output parameters with multiple levels of objects could not be collapsed or expanded. Broken since 6.2.0.
    • Fixed bug: A null "part" object in [ profoundjs/utils/describeSOAP.js ] causes [ TypeError: Cannot read properties of null (reading 'description') ] when the start.js file is launched.
    • Fixed bug: An empty "session.request.body" object in [ profoundjs/utils/wsLogin.js ] causes [ TypeError: Cannot read properties of undefined (reading 'AUTH') ] when a SOAP API endpoint on IBM i is accessed.
    • Fixed bug: APIs created prior to PJS 7.1.0 fail to run if they included a "Set Work Variable" block.
  • Profound.js Rich Display
    • Fixed bug: Attempting to click OK on the routine dialog in a RDF Low-code routine would fail if any step was a "Condition" type. Broken since 7.2.0.
    • Fixed bug: Vertical and horizontal panels cannot be resized.
    • Fixed bug: 'Filter by Value' crashes SQL grid widgets.
    • Enhancement: Increased limit of 'Filter by Value' grid property to return more than 50 values.
^ Back to top ^

7.2.0

Release date: 11/02/2023

  • Profound.js Framework
    • Enhancement: Added the defaultLinesPerInch property to the file configuration object provided for printer files. Added the linesPerInch property to the records provided to printer files.
    • Enhancement: Added the absPos property to fields within printer files in order to position fields within a PDF.
    • Enhancement: Added the textRotation property to PDF printer files in order to specify the rotation of fields.
    • Fixed bug: buffer sometimes undersized when defining a multi-dimensional data structure with a varchar subfield
    • Enhancement: Made low-code step comments multi-line capable
    • Fixed bug: variables declared in the Set Work Variables plugin do not exist in other low-code steps
    • Fixed bug: SQL-via-RLA operations overlay SQLCA information used by "real" SQL operations.
    • Enhancement: Added the unitOfMeasurement property to the file configuration object provided for printer files.
  • Profound API
    • Enhancement: Added testing support for SOAP APIs in PAPI
    • Fixed bug: changing status for Roles under the Permission, does not register as a change, thus, this prevents users from saving further changes in the Roles.
    • Fixed low code debugger throwing exceptions in server-side code when trying to debug. Broken since 6.6.1
    • Fixed low code debugger UI becoming unresponsive when starting debug in a specific sequence. Issues causing console errors are also fixed.
    • Fixed integration between API Test panel and Low-code debugger. Debug ID parameter gets dynamically added or removed after starting or stopping debug.
    • Enhancement: Create Work Variable plugin can now create multiple work variables in a single step
    • Enhancement: Increased Plugin limit for Low-Code / PAPI to 99
    • Fixed bug: Test tab wasn't working with XML files
    • Fixed bug: API would set CORS header when CORS option was unchecked in IDE
    • Enhancement: Adjust the colors of Low Code routines to help distinguish between steps better
  • Profound.js Rich Display
    • Fixed Bug: Quick filter no longer becomes unresponsive after opening the Filter By Value option.
^ Back to top ^

7.1.2

Release date: 10/19/2023

  • Profound.js Rich Display
    • Fix bug introduced in 7.1.0 that prevents reading user input from RDF fields with long names in some scenarios
^ Back to top ^

7.1.1

Release date: 10/16/2023

  • Profound.js Rich Display
    • Fix bug introduced in 7.1.0 that prevents reading user input from RDF in "compatibility" mode.
^ Back to top ^

7.1.0

Release date: 10/06/2023

  • Profound.js Framework
    • Fixed Clear operation against a Record Format
    • Fixed bug: pjs.fetch() API may result in endless loop.
    • Added option to IBM i DB connection pool to set job date to the date when connection is acquired from the pool.
    • Enhancement: Opening a file located within a workspace will now prompt the user to allow them to open the workspace containing the file, or the file only.
  • Profound API
    • Added ability to set multiple work variables in one low-code step.
    • Fixed configuration issue that prevented updates to built-in Swagger UI.
  • Profound.js Rich Display
    • Added ability to set multiple work variables in one low-code step.
    • Enhancement: Routine Dialog now warns users if any client-side steps were set after server-side ones
    • Enhancement: Widget Set template widgets now allow you to save default positioning properties as part of the widget template.
    • Enhancement: Added new pui.downloadFile() API that provides better error handling when the file download is prevented in Genie, thereby preserving the Genie session.
    • Fixed bug: Tabbing does not include radio buttons without label
    • Fixed bug: Highlight on Focus was not properly highlighting the field when it was focused in RDF applications.
    • Fixed Bug: Indeterminate checkboxes will now display an indeterminate status to the user when cycled to that state. Broken since PJS 7.0.0.
^ Back to top ^

7.0.0

Release date: 09/13/2023

  • Profound.js Framework
    • Changes in this release require config changes and a new license key when upgrading from prior versions.
    • Added support for Node.js 20
    • Improved security for PJSCALL, Remote Connector, and file encryption.
    • Fix crash when an error occurs while making floating license heartbeat requests.
    • Removed deprecated pjs.sendRequest() API.
    • Fixed runtime error when a Rich Display File references a UCS2 field from a database table.
    • Fixed DB2 graphic fields being pre-populated with zero, instead of blank/empty in generated Low Code CRUD step for adding records.
    • Fixed bug introduced in 6.5.0 that caused IBM i Call Interface tab to fail to produce RPG code.
    • Fixed pjs.define() creating invalid definition for DS arrays that include nested DS subfields.
    • Added support for a pre-routing hook, profound.preRouting, whereby all requests may be inspected before being allowed to proceed.
    • Fixed bug: Number formatting is now consistent between Rich Display screens and Traditional 5250 screens.
  • Profound API
    • Enhancement: added support for OAuth2 to Profound API
    • Fixed bug where SOAP API's output child properties do not get rendered properly with the "Set API Output" block in Low-Code
    • Added new question to set 3 digit API status code on "Set API output" step.
    • Fixed bug: Calling an RPG program from a SOAP API, no longer causes the server to crash.
  • Profound.js Rich Display
    • Fixed bug: pui.get() API not returning the correct value of an indeterminate checkbox.
    • Add Tab Key handler to tabs in Rich Display Files
    • Fixed Runtime Error Crash, string method was being called on a non string object in number formatting function.
^ Back to top ^

6.6.3

Release date: 12/05/2023

  • Profound.js Framework
    • Fixed "Press ENTER to end terminal session" screen appearing when PJSCALL or proxy program attempts to write comm log to a non-existent or non-writeable location.
^ Back to top ^

6.6.2

Release date: 09/22/2023

  • Profound API
    • Fixed bug: HTTP status codes are now updated regardless of the format of the response object.
^ Back to top ^

6.6.1

Release date: 09/11/2023

  • Profound.js Framework
    • Fixed runtime error when a Rich Display File references a UCS2 field from a database table.
    • Fixed DB2 graphic fields being pre-populated with zero, instead of blank/empty in generated Low Code CRUD step for adding records.
    • Fixed bug introduced in 6.5.0 that caused IBM i Call Interface tab to fail to produce RPG code.
    • Fixed pjs.define() creating invalid definition for DS arrays that include nested DS subfields.
^ Back to top ^

6.6.0

Release date: 08/09/2023

  • Profound.js Framework
    • License Key UI will now validate floating license authorization codes before applying, by communicating with the licensing server.
    • Fixed type-o in error message produced by floating license client.
    • Enhancement: Include nodemailer NPM Package with ProfoundJS
    • Enhancement: Modified security store to only allow non pre-existing schema names.
    • Fixed bug: The result of an expression stored in a zoned field in PJS is now truncated instead of half-adjusted; matching functionality of RPG.
    • Fixed bug with applying prefix to non-qualified data structure fields.
  • Profound API
    • Fixed bug where a SOAP API contained within a PJS Space is modified outside of a PJS Space receives a malformed URL
    • Fixed bug: WSDL URLs will now be generated correctly when the file is within a workspace.
    • Enhancement: Add option to retrieve response header and status Info in Consume Rest Web Service Plugin
  • Profound.js Rich Display
    • Fixed bug: Checkbox widgets will now return the correct value when in the 'indeterminate' state.
    • Fixed bug: Setting a Label widget to "Read Only" will no longer change the background fill to grey.
    • Fixed Bug: Grid widget filter by value stops filtering when filtering a cell using empty value.
    • Fixed bug: The changed order of the columns of the grid widget will persist even when the grid is empty or not displayed.
^ Back to top ^

6.5.0

Release date: 07/07/2023

  • Profound.js Framework
    • Added new access logging mode for PJSCALL and proxy program requests from IBM i to Profound.js server.
    • Server/client for PJSCALL and proxy programs now exchange "x-pjs-server-id" header to facilitate load balancing.
    • Added new "accessLogRotation" configuration option, which enables automatic rotating of access log files.
    • Fixed bug where any url that ended with "/" caused server error.
    • Fixed bug: A DS defined via likeDS now applies the prefix of the original DS.
    • Fixed Bug: PJS now correctly prefixes Data Structures defined with prefixes when the DS has an additional subfield in an Externally defined DS.
  • Profound.js Rich Display
    • See FusionCharts upgrade guides for behavior changes:
^ Back to top ^

6.4.0

Release date: 06/12/2023

  • Profound.js Framework
    • The 'enableDBDefn' configuration option now allows SQL APIs to auto-detect database connection based on table names used in queries.
    • Enhancement: Prevent New/Fresh PJS Installation from using existing Server Instance Names or Connector Libraries
    • Enhancement: Users can now set and retrieve the filename associated with a printer file
    • Bug fix: Prevent server crash when database connection errors occur during HTTP Basic authentication for IBM i.
    • Added the ability to enable CORS on a Profound.js or a Profound API server.
    • Enhancement: create and ship an example of a custom plugin
    • Bug fix: Floating license command line tool was outputting list data in wrong format when JSON is requested.
  • Profound API
    • Enhancement: API calls that do not receive input on an optional parameter will no longer be assigned a null value instead.
  • Profound.js Rich Display
    • Bug fix: Corrected certain scenarios where the session ID for a session could become lost causing the user to be disconnected
    • Enhancement: Added ability for pjs.ui.Display to work with a green-screen DDS file
    • Updated Fusion Charts to version 3.20
    • Fixed issue with text displaying incorrectly in the enhanced error screen mode.
    • Fixed bug: Lassoed field inside a tab panel cannot be dragged inside a layout.
    • Fixed Bug: Export to excel no longer shows 'No Data' when a filter includes a blank.
^ Back to top ^

6.3.0

Release date: 05/16/2023

  • Profound.js Framework
    • Enhancement: Added a read() method to pjs.ui.Display objects which behaves like a display-level READ operation in RPG.
    • Enhancement: Allow #if directive to be indented
    • Enhancement: allow conditional commit on pjs.defineTable().
    • Enhancement: added sample Profound API workspace, "papisamples", to demonstrate different HTTP API operations
    • Fixed bug: when PJSCALL was passed fixed-length parameters resulting in trailing spaces for the module, then PJS would fail to read the module name and end with an error. Trailing spaces are no longer a problem there.
    • Enhancement: Add ability to comment Low Code Routines
  • Profound API
    • Enhancement: added support for OAuth2 to Profound API
    • Fixed bug: Fixed the inconsistency of the disabled state of 'Use CORS' property of an API where it previously didn't totally remove the access-control-allow-origin header when the 'Use CORS' is unchecked.
    • Fixed bug: URLs are malformed when creating a SOAP API in a workspace
  • Profound.js Rich Display
    • Fixed bug: RDFs with routines not bound to any field fail to be displayed
    • Fixed Bug: Fix right arrow key movement when right property is used.
    • Fixed bug: Combo box has a class of "readOnly" but interactable. Also added a hidden css style to hide components when a "hidden" class name is added.
    • Fixed bug: Expand to Layout causes grid to malfunction.
    • Fixed bug: Fixed Input with data type of date not displaying the height properly on Chromium based browsers.
    • Fixed bug: Tree Level Field Grid method expandTreeLevel/collapseTreeLevel not working when passing 0 as parameter.
    • Fixed bug: Lassoed field inside a tab panel cannot be dragged inside a layout.
    • Add Tab Key handler to tabs in Rich Display Files
^ Back to top ^

6.2.0

Release date: 04/21/2023

  • Profound.js Framework
    • Fixed bug: SQL CTE statements get truncated when a DECLARE is directly followed by a WITH
    • Added floating license key enablement.
    • Fixed bug: For SQL-via-RLA mode for IBMi database, a CHAIN (SELECT) following a WRITE (INSERT) would intermittenly NOT find the record just inserted.
    • Fixed bug: For non-IBMi databases, SQL helper functions incorrectly replaced the division symbol "/" in SQL statements with the period symbol "." .
    • Fixed bug: pjs.data.xxx() API's do not work with MS-SQL when running on IBMi.
    • Fixed bug: On the database tree, error occurs when expanding a table in MySQL database. (Note: there's no error for MariaDB database).
    • Bug fix: Correct packages required for SQL Server, MySQL, and MariaDB connectivity are now preinstalled.
  • Profound API
    • Enhancement: add ability to create SOAP APIs in Profound API
    • Fix failure to load API Test panel when network connection is slow.
^ Back to top ^

6.1.0

Release date: 03/16/2023

  • Profound.js Framework
    • Added new API: pjs.httpRequest()
    • Added new configuration option "userdataDirectory".
    • Fixed failure to save Profound API permissions data after deleting an API route with permissions records.
    • Fixed pjs.query() and pjs.fetch() limiting to 500 rows for DB2/i queries when a value greater than 500 is passed for number of rows.
    • Adjusted runtime .dotenv file processing to look in product installation directory, instead of process current working directory.
    • Corrected upgrade instructions on upgrade notification dialog in IDE.
    • Low code plug-in "IBM i Program Call" now suggests array values for parameter input/output values when the parameter "dimension" property is set.
    • Adjust installation process to allow Profound Installer to access skeleton deployment package.json file.
    • Enhancement: improve performance when PJS program is called as a web service request using the AUTH parameter of a PUI session id, by using a DB connection from the connection pool.
^ Back to top ^

6.0.5

Release date: 01/23/2023

  • Profound.js Framework
    • Bug fixes for .dotenv file processing in installation scripts.
^ Back to top ^

6.0.4

Release date: 01/19/2023

  • Profound.js Framework
    • Adjusted silent/unattended installation components.
^ Back to top ^

6.0.3

Release date: 01/17/2023

  • Profound.js Framework
    • Correct behavior of silent mode installation process when optional arguments are not passed.
^ Back to top ^

6.0.2

Release date: 01/06/2023

  • Profound.js Framework
    • Adjusted 'complete_install.js' script to work around bug in version of NPM supplied with Node.js 18.12.1 for IBM i.
^ Back to top ^

6.0.1

Release date: 01/03/2023

  • Profound.js Framework
    • Silent/automated mode installation now outputs setup.log data to stdout/stderr instead of file.
^ Back to top ^

6.0.0

Release date: 12/30/2022

  • Profound.js Framework
    • This release requires Node.js 14, Node.js 16, or Node.js 18. Git integration is not available on Node.js 18
    • Optional Profound UI integration features require PUI Version 6, Fix Pack 20.0
    • Applications written for older versions of PJS may require modification for compatibility with PJS 6. Review migration notes here before upgrading.
    • Starting with this release Profound UI is no longer required, unless PUI integration is desired.
    • Eliminated use of Fibers.
    • Adjusted installation process for compatibility with NPM 7 and later.
    • Removed built in auto-restart functionality. Server will now auto-restart only when started by STRTCPSVR on IBM i. In other scenarios, users should use external process management for auto-restart.
    • Added capability to preserve Low Code logic routines when removing them from the final location they are located, or deleting the final item they are attached to.
    • Enhancement: improve API pjs.runCommand() to support parameters with return values; e.g. RTVOBJD OBJ(MYPGM) OBJTYPE(*PGM) OWNER(&OWNER).
    • New pdf output option added to pjs.definePrinter().
    • New Report Preview capability added to the Profound.js IDE.
    • Fixed bug causing low code CRUD generator to produce qualified IBM i table names.
    • Added module transformation timings to performance log.
    • Updated Low Code Module, Generate RPG parameters. Added instructions, explained where that form data would go, how, and what is done with it.
    • Fixed bug where a new low-code module parameter fails to stay selected
    • Major performance improvements to SQL/RLA with respect to do loops and the reading of the next/prior records.
    • Allow to specify an alternative path for the "modules" directory.
    • Added POST webservice routes to enable hot reloading of API files and Workspaces.
    • Added new config option basicAuthCredentials. This config option is used to set up security for the new hot reload POST webservice routes.
    • Improved performance of IBM i data/object access when Profound.js program is called from IBM i job via PJSCALL/proxy.
    • Added "AlwaysReadBody" option to pjs.sendRequest and "capture response on error" option to the Consume REST API low-code plugin.
    • Added feature: created a new plug-in for Low-Code which allows users to add collapsible regions.
    • Added feature: created five new plug-ins for Low-Code to add support for loops.
    • Turn off DB2/i commitment control in default configuration generated for new installs.
    • Fixed bug where modules with dashes in filenames or API route names beginning with numbers would result in invalid JavaScript and get an error when run. Function names are now translated to valid syntax in the background, avoiding this error.
    • Fixed DB2 connection for browser session timing out while PJS sessions using it are still active.
    • Added ability to specify alternate SSL CAs for connections from PJSCALL/proxy programs.
    • Fixed decimal precision errors when using strongly-typed fields packed and zoned for arithmetic.
    • Fixed bug: Error "SQLSTATE 42601 SQLCODE -199 Keyword KEYS not expected" when getting column info on database tab. SQL syntax used was valid prior to V7R5 but is invalid in V7R5.
  • Profound API
    • Fixed bug where adding a new API parameter would not select it
    • Fixed bug: passing Date object with dataType = 'date' to function pjs.date() causes reference to parameter to be returned instead of a copy.
    • Fixed bug: pjs.date object loses dataType attribute after calling some methods
    • Fixed bug: pjs.rowCount() returns number of records requested, even if less records were received
    • Fixed bug: pjs.fetch() throws error when using the MSSQL database driver with a row limit parameter other than SQL_FETCH_ALL
    • Fixed bug: PJS throws error: forEach() function does not exist when using databases other than IBMi DB2
    • Fixed bug: pjs.fetch(SQL_FETCH_ALL) returns no results when using database drivers other than IBMi DB2.
    • Added extra information to error messages for IBM i job number, user, and name when relevant.
    • Enhancement: add ability to copy/paste parameters from one API route to another, or from one module routine to another.
  • Profound.js Rich Display
    • Fixed bug: exported CSV layout breaks when grid cell contains comma
    • Enhancement: for low-code plugins that retrieve database records, allow column alias. This enhancement requires Profound UI release higher than Version 6, Fix Pack 18.0.
    • Add sflMsgQueueType and msgFileType configuration options, as well as related pjs.sendMessage() and pjs.clearMessages() API.
    • Fixed bug: PJS decimalFormat configuration not sent to PUI
    • Fixed bug: field definitions remain after closing display
    • Added new configuration option prefixWithFormatName to the pjs.defineDisplay() function.
    • Fixed Error screens so that Job information from sessions connected to an IBM i show the associated IBM i job instead of blanks.
    • Added the ability to download IBM i Job Logs from Error screens when sessions are connected to an IBM i. Job Logs can be saved directly to the user's PC to aid in debugging.
    • Enhancement: added debugger for low-code
^ Back to top ^

5.8.9

Release date: 11/14/2022

  • Profound.js Framework
    • Fixed DB2 connection for browser session timing out while PJS sessions using it are still active.
^ Back to top ^

5.8.8

Release date: 10/19/2022

  • Profound.js Framework
    • Profound UI Version 6, Fix Pack 18.0 is required for this release.
    • Updated dependencies to address vulnerability reports: "ansi_up", "multer", "ssh2".
^ Back to top ^

5.8.7

Release date: 09/15/2022

  • Profound.js Framework
    • Profound UI Version 6, Fix Pack 18.0 is required for this release.
    • Updated IBM idb-connector to 1.2.16. Fixes intermittent Node.js process crash on IBM i when using AUTH request parameter to sync a web service request user/library list to Profound UI session.
  • Profound.js Rich Display
    • Fixed bug: custom plugins are not shown in the Low-Code editor.
^ Back to top ^

5.8.6

Release date: 07/28/2022

  • Profound.js Framework
    • Profound UI Version 6, Fix Pack 18.0 is required for this release.
  • Profound API
    • Added "AlwaysReadBody" option to pjs.sendRequest and "capture response on error" option to the Consume REST API low-code plugin.
^ Back to top ^

5.8.5

Release date: 07/22/2022

  • Profound.js Framework
    • Profound UI Version 6, Fix Pack 18.0 is required for this release.
    • Fixed bug: API pjs.getReference() returns "undefined" for a 3rd-level nested DS array.
  • Profound.js Rich Display
    • Fixed bug: a module parameter is changed from array to NOT array, but the generated IBMi calling code still has "dim(xx)". This fix requires Profound UI release later than 6.19.2.
^ Back to top ^

5.8.4

Release date: 07/13/2022

  • Profound.js Framework
    • Profound UI Version 6, Fix Pack 18.0 is required for this release.
    • Fixed bug: assiging a primitive Javascript array to a strongly-typed array results in the first element being dropped from the result.
    • Fixed installer bug causing IBM i service management components to get downgraded when installing on system where Profound.js 6 beta has been installed.
    • Eliminated erroneous Profound UI upgrade notifications when "staticFilesDirectory" is set to a URL.
    • Fixed WebSocket connections for Designer being accepted when Designer is disabled by configuration.
    • Fixed inability to set "enableConnector" configuration option.
    • Improved performance of IBM i program calls with large parameter data.
    • Fixed bug in IDE on IBM i where authenticated users remain authenticated too long.
  • Profound API
    • Fixed bug: Insert into API statistics file PJSAPIREQS fails if file is not journaled. Insert should work regardless of file's journaling status or commitment control mode.
  • Profound.js Rich Display
    • Fixed bug: for low-code plugins "Call IBMi Program" and "Call Service Program Procedure", if a non-DS array parameter is captured to output, then an extra null element is inserted into the output array.
    • Fixed bug: for low-code plugins "Call IBMi Program" and "Call Service Program Procedure", if an argument value is specified for a non-DS array parameter, then an extra null element is inserted into the input array.
^ Back to top ^

5.8.2

Release date: 03/04/2022

  • Profound.js Framework
    • Profound UI Version 6, Fix Pack 17.0 is required for this release.
    • Query results are now returned when DB2 for IBM i reports warnings.
    • Fixed bugs passing data structures and arrays into a Profound.js program called via proxy program or PJSCALL command.
    • Fixed bug: API pjs.data.add() truncates data for CLOB field at 30 bytes. As a result, field JSONDATA of the PAPI file PJSAPIREQS has only 30 bytes of data.
    • Fixed config validation reporting an error when config.js includes "onerror" property.
    • Added capability to optionally disable SSL certificate and host name verification when calling Profound.js programs via PJSCALL or proxy program. This allows calls to work when the server uses a self-signed certificate.
    • Fix bug: pjs.assign API would error when trying to set an array with a value.
    • Fix bug: pjs.char API would fail when working with an array.
  • Profound API
    • Fixed bug: for low-code plugins "Call IBM i Program" and "Call Service Program Procedure", if parameter type is "data structure", enable capture of output data directly into API output property instead of having to use a work variable.
^ Back to top ^

5.8.1

Release date: 02/24/2022

  • Profound.js Framework
    • Profound UI Version 6, Fix Pack 17.0 is required for this release.
    • Enhanced the assign api to support setting of qualified Data Structures and arrays.
    • Fixed bug with dynamic data in Run IBM i Command plugin.
  • Profound API
    • Fixed failure to set API response, since 5.8.0.
^ Back to top ^

5.8.0

Release date: 02/15/2022

  • Profound.js Framework
    • Profound UI Version 6, Fix Pack 17.0 is required for this release.
    • Added the ability to generate Low-Code Modules from a database table or view from the Database tab in the IDE.
    • Improved performance of module transformation process.
    • Added the ability to have a Custom Authentication module/function for all Profound API calls.
    • Fixed bug: "credentialsFile" property was not working with ODBC connection to IBM i, due to breaking change in IBM i ACS ODBC driver version 1.1.0.15 for IBM i, Linux, and Mac.
    • Eliminated use of deprecated require.extensions feature.
    • Added pjs.getInt() and pjs.setInt() APIs.
    • Enhancement: enable support for Data Structure parameter in low-code plugins "Call IBM i Program" and "Call Service Program Procedure" . This enhancement requires Profound UI release later than 6.16.0.
    • Enhancement: enable logging of Profound.js performance for various call methods, to be stored in a .csv file per session. The Profound UI-related parts of this enhancement requires Profound UI release later than 6.16.0.
    • Added ability to set environment variables when starting server on IBM i with STRTCPSVR.
  • Profound API
    • Fixed invalid code generation when multi-line SQL query is entered on Custom SQL plug-in.
  • Profound.js Rich Display
    • Fixed bug: EJS would not load for HTML Container widgets that used bound fields with lower case field names.
^ Back to top ^

5.7.2

Release date: 12/13/2021

  • Profound.js Framework
    • Profound UI Version 6, Fix Pack 15.0 is required for this release.
    • Fixed bug: transform module should now work when an anonymous function expression is used.
  • Profound API
    • When creating an API from a database table or view, the column descriptions are now put into the API parameter descriptions.
    • Fix an error related to Profound API failing with an Internal Server Error. Bug was introduced in 5.7.1
  • Profound.js Rich Display
    • Fixed bug: low-code plugin "Consume REST Web Service" mistakenly sends the specified "body" as "headers".
^ Back to top ^

5.7.1

Release date: 12/02/2021

  • Profound.js Framework
    • Profound UI Version 6, Fix Pack 15.0 is required for this release.
    • Fixed Bug: Functions defined in config.js were lost when upgrading Profound.js
    • Prevent conflicts with other packages (for example, ExcelJs) that extend the Array class.
    • Fixed invalid code generation when using non-DS array parameters with Low Code IBM i program/procedure call plug-ins.
    • Fixed table not found error when referencing an Oracle DB table in the current schema from a Rich Display File.
    • Breaking change if using an URL for the staticFilesDirectory config option. For more information on the issue and the new additionalStaticPaths config option see here.
    • Fixed intermittent server crash when synchronizing web service user/library list to Profound UI session job.
^ Back to top ^

5.7.0

Release date: 11/01/2021

  • Profound.js Framework
    • Profound UI Version 6, Fix Pack 15.0 is required for this release.
    • Fixed the Low Code Process list and Filter list to also suggest API and Module input and output array parameters.
    • Added better error message when a Profound.js module attempts to call and RPG program with an unsupported data type, such as a pointer.
    • Fixed failure to open program-described printer file when file name is qualified.
    • Fixed various bugs in "jsonDB" driver.
    • Fixed failure to apply configuration option "connectorTimeout".
    • Enhancement: add new config value "keepColNameCase" and also new API pjs.setOptions() to NOT lowercase the column names in result set from query on IBMi data.
    • Fixed "job not found" error when attempting to sync web service to Profound UI session.
  • Profound API
    • Fixed an issue where sometimes changing properties of general information of an API would not cause actually save those changes.
^ Back to top ^

5.6.1

Release date: 10/15/2021

  • Profound.js Framework
    • Profound UI Version 6, Fix Pack 15.0 is required for this release.
  • Profound API
    • Fixed a commitment control issue when using the IBM i database for Security store and Statistic store.
^ Back to top ^

5.6.0

Release date: 10/08/2021

  • Profound.js Framework
    • Profound UI Version 6, Fix Pack 15.0 is required for this release.
    • Fixed bug: Insert Dynamic Data will now suggest SQL data in lowercase when querying an IBM i database connection, matching the casing of how the data is returned.
    • Fix error "Workspace start file not defined" when calling a module (aside from the start file) inside a workspace that uses the PJS connector.
    • Fixed an issue at if the IBMi Profound.js was not upgraded successfully, it could create a large number of SQL Connector jobs.
  • Profound API
    • Added the ability to store API request and response data to a persistence store versus held in memory.
^ Back to top ^

5.5.0

Release date: 09/29/2021

  • Profound.js Framework
    • Profound UI Version 6, Fix Pack 14.1 is required for this release.
    • Improved error logging for invalid IBM i Connector messages.
  • Profound API
    • Profound API now has Role based Authorization.
    • Added ability to control which CORS host names are allowed.
^ Back to top ^

5.4.1

Release date: 09/03/2021

  • Profound.js Framework
    • Profound UI Version 6, Fix Pack 13.2 is required for this release.
    • Fixed bug where PJSCONVERT would crash when run, broken since 5.4.0.
^ Back to top ^

5.4.0

Release date: 09/01/2021

  • Profound.js Framework
    • Profound UI Version 6, Fix Pack 13.2 is required for this release.
    • Database tree now shows column text in a tool tip.
    • SQL Server column descriptions are now shown in the IDE.
    • Fixed bug where pjs.require() would reload modules when config. option "hotReloading" is set to false.
    • Improved performance of IBM i program calls when "--optimize" option is used.
    • Improved "--strongmodulecaching" performance.
    • Improved pjs.require() performance when file system is not case-sensitive.
    • Added capability to run database-driven widget and file upload/download requests against Profound.js server when application is running in a Profound UI / Genie session.
    • Increased total size of parameter data that can be passed to an IBM i program with pjs.call() when the Profound.js application is called directly.
    • Improved performance of packed decimal fields.
    • Added an extra parameter, "USEPRXYIP", to PJSMYIP to work around the Profound UI instance being reverse proxied. The client IP can now be detected and used even when Genie is reverse proxied.
    • Added new PJSWRKACL command to maintain the NODERUNACL table on IBM i systems.
    • Fixed an issue where it would fail to reload some files when pulling latest from a git repository.
    • Enhanced the low-code plugin "Call IBM i program" to allow pasting the RPG code snippet and it will generate the parameter definitions for you.
    • Fixed a bug where an RPG program could have been called as the initial module.
    • Fixed issue with the converted code when converting RPG to Profound.js where an Integer would not have its length set.
    • Fixed bug: timedTasks were running without an attached database connection. (Caused failure when using a connector API if running directly on IBM i.)
    • Fix pjs.sortArray() API to properly handle start element parameter
    • Fixed bug in /sessions route when not all attributes of a session are defined.
    • Added support to use an encrypted credentials file for mysql, mssql and oracledb database connections.
    • Added the ability to return the newly created record identity of the add function within the pjs.data API for Microsoft SQL Server database.
  • Profound API
    • Fixed an issue where the IDE tester would report that the API file is not being served caused by using an incorrect PC path separator.
    • Enabled setting custom response status for advanced API usage.
    • Fixed a bug where an API would fail to respond when the API file name was the same as the route name.
^ Back to top ^

5.3.3

Release date: 07/19/2021

  • Profound.js Framework
    • Profound UI Version 6, Fix Pack 13.1 is required for this release.
    • Adjusted process management for instances started with STRTCPSVR on IBM i. Fixes intermittent issue where server becomes unresponsive until restarted.
    • Server stdout/stderr logs are no longer truncated when starting server with STRTCPSVR on IBM i.
^ Back to top ^

5.3.2

Release date: 07/02/2021

  • Profound.js Framework
    • Profound UI Version 6, Fix Pack 13.1 is required for this release.
    • Fixed "window" being defined globally in process.
    • Fixed IBM i Connector communication log being tagged with an incorrect CCSID.
^ Back to top ^

5.3.1

Release date: 06/28/2021

  • Profound.js Framework
    • Profound UI Version 6, Fix Pack 13.1 is required for this release.
    • Fix failure to retry when Remote Connector connection attempts fail, since 5.3.0.
    • Fix repeated execution of program when Remote Connector connection attempts fail, since 5.3.0.
    • Fix CRTPJSPRXY command failure when path to module is specified by PATH parameter, since 5.3.0.
    • Fix PJSCALL error message "Could not found module" when called with a module name that ended with uppercase .JS
  • Profound API
    • Fix error in Profound API when using Authentication, but not using IBMi authentication.
^ Back to top ^

5.3.0

Release date: 06/09/2021

  • Profound.js Framework
    • Profound UI Version 6, Fix Pack 13.1 is required for this release.
    • Enhancement: create new API pjs.copyToDS() to update the subfields of a data structure with the corresponding property name/value of a Javascript object.
    • Added new "odbc" database driver.
    • Fixed bug: API pjs.toObject() should now work with nested DS and DS arrays.
    • Enhancement: improve performance of pjs.define() for large arrays.
    • Enhancement: allow 2nd optional parameter "nbrElm" on API pjs.toObject() to specify the number of elements of the DS array to process, to improve performance when the actual number of elements used is much less than the maxinum number of elements defined.
    • Fixed bug: add support for types varchar/vargraph/varucs2 with declared size > 65535.
    • Fixed IBM i installation bug where installer would not report failure to add *PJS server type for STRTCPSVR due to insufficient authority.
    • Improved user experience when requesting trial key extensions.
    • Fixed bug: transform of PJS module fails when there's a "return" statement followed by "[" and newLine character (e.g. when a function returns an array of objects).
    • Connection timeout is now configurable when calling a Profound.js program from an IBM i job.
    • Fixed bug in IDE's Database tree when 2 or more database connections contain schemas with the same name.
    • Fix incorrect definition when pjs.define() is used to create a data structure containing binary subfields with from/to notation.
    • TCP keepalives are now enabled by default on connections to the server. Configuration option "tcpKeepAlive" was added to disable keepalives or to adjust the keepalive time.
    • Added configuration option "socketInactivityTimeout" to control inactivity timeout on connections to server.
    • New Low-code Modules designer. These modules can be used by Screens, APIs and RPG programs.
    • Fixed bug: if nested DS is defined without using likeDS and not qualified, the subfield values can not be set and retrieved. Improved pjs.define() to qualify such a nested DS (similar to how RPG works).
    • Fixed bug: In Designer, property "Choices parameter value 2" is incorrectly displayed as "Choices database table 2". (This fix requires Profound UI releases higher than 6.12.0).
    • Fixed bug where text editors stop accepting keyboard input.
    • Fix bug when multiple occurrence properties with bound fields or logic routines are renumbered while removing a property.
    • Fixed pjs.parallelQueries() API not working with Remote Connector, since version 5.2.0.
    • Fix pjs.parallelQueries() failing to return when program is called from an IBM i job via PJSCALL or proxy program.
    • Fixed bug: API pjs.data.get() does not work for MS-SQL database if there's no "ORDER BY" specified.
    • Fix pjs.define() failure when using the "like" option on a data structure array subfield.
    • Fix pjs.define() failure when using the "like" option to reference a field in a qualified data structure that is defined with "template".
    • Added support for case-sensitive SQL Server databases.
    • Added support for SQL table aliases in Database tree and field listing dialog.
    • Fixed bug: enable message subfile to work.
    • Fixed pjs.define() not initializing data structure subfields defined with "from".
    • Fixed pjs.define() not initializing arrays correctly when "overlay" is used.
    • Fixed pjs.define() not defining array correctly when "overlay" is used to overlay another array.
    • Exceptions that occur within ILE sub-procedure calls are now repoted/thrown by pjs.callProcedure(), pjs.callProc(), and pjs.defineProc().
    • pjs.defineProc() now supports constant pass by reference via "const" keyword.
    • Fixed bug where 0 would always be returned for ILE sub-procedure calls with return value of 1, 2, and 4-byte integer.
    • Fixed bug passing data structure subfield arrays by reference with pjs.defineProc().
    • pjs.call() now supports passing null values to omit parameters.
  • Profound API
    • Fixed bug: APIs generated for a table on IBMi with a long table name failed.
  • Profound.js Rich Display
    • Ehancement for low-code: create new plugin to perform aggregate functions (e.g. sum, average, min, max, count).
    • Fixed bug: CRUD apps (generated from "Build CRUD App" option on the Database tree) for tables on IBMi with long table names fail to run.
    • Added pui["show compatibility menu"] custom JavaScript flag to allow use of legacy DDS compatibility properties.
    • Added Filter by Value feature to grids
^ Back to top ^

5.2.0

Release date: 03/15/2021

  • Profound.js Framework
    • Profound UI Version 6, Fix Pack 12.0 is required for this release.
    • Breaking changes if using Remote Instances The IBM i instance configuration setting connectorCredentials is now required for remote instances to continue to function.
    • Fixed bug: for "mysql" database, pjs.fetch() after pjs.execute() always fetches the first record instead of the next record.
    • Added optional signal handlers that can be used to trigger heap snapshots and CPU profiles on demand.
    • Enhancement for PJSCONVERT: if option "Generate SQL to export file definitions" is chosen, generate the SQL statements for files used in embedded SQL statements also, not just the files defined in F-specs.
    • Enhancement for PJSCONVERT: The "line" column in for error messages on the PJSCONVERT panel how is the actual SEU line number nnnn.nn in the source member, not a sequential number. This makes it easier to locate errors.
    • Fixed inability to use Remote Connector over SSL.
    • Fixed server crash when copying files/directories in the Designer fails on IBM i. Bug introduced in 5.0.0.
    • Improved error message in Designer on IBM i when attempting to copy a file or directory to a location that already exists.
    • Added the ability to control IBM i database connection pool sizes for Interactive and API connections. See here
    • Enhancement: Add option to create CRUD app for 2 tables, at header and detail levels.
    • Fixed limitation on maximum number of file/socket descriptors when server is started with STRTCPSVR on IBM i.
    • Enhancement: add a new parameter nbrOfRowPerInsert to pjs.query() multi-insert.
  • Profound API
    • Add ability to use code for API Logic
    • Added ability to use IBM i user credentials for caller authentication.
  • Profound.js Rich Display
    • Add ability to use code for routines
    • Add descending options for low-code order by column selection
    • Enhancement for low-code: for generated CRUD app, on the Add/Edit panel, if error occurs, then closing the pop-up error message would now go back to the Add/Edit panel (instead of the main list panel) so that you can make further changes and click Save.
    • Enhancement: for low-code plug Insert Records: enable multi-insert.
^ Back to top ^

5.1.1

Release date: 12/22/2020

  • Profound.js Framework
    • Fixed incorrect definition of arrays with pjs.define() when "parm" or "refParm" options are used to initialize from another array.
    • Arrays defined with pjs.define() and initialized from another array using the "parm" option are now created as new arrays containing a copy of the source array data. Previously this resulted in the array being defined as a reference to the source array.
    • Fixed problem reading IBM i system serial number for license key validation purposes on some systems.
    • Fixed error in installation process that prevented pjs_getJobAspRdb() stored procedure from being installed.
^ Back to top ^

5.1.0

Release date: 12/11/2020

  • Profound.js Framework
    • Profound UI Version 6, Fix Pack 10.1 is required for this release.
    • Fixed intermittent failure to start terminal emulator in IDE when running on IBM i.
    • Added new API to generated a unique ID: pjs.newUUID()
    • Improve error message when attempting to move files in the Files tree in the IDE, and the destination file already exists.
    • Fixed bug: Display.js crashes when sending error for ref field not found.
  • Profound API
    • Added the ability to create API Users and secure all APIs.
^ Back to top ^

5.0.1

Release date: 12/09/2020

  • Profound.js Framework
    • Fix server startup failure when configuration option "initialModules" contains a property defined as an object.
^ Back to top ^

5.0.0

Release date: 12/08/2020

  • Profound.js Framework
    • Profound UI Version 6, Fix Pack 10.0 is required for this release.
    • IDE and runtime have been updated to edit and run workspaces more consistently with the cloud version.
    • Enhancement: Profound.js module can now run in strict mode.
    • Enhancement: A workspace can now be created and used in Profound.js IDE, similar to the cloud version.
    • Fix error message due to invalid command when starting terminal emulator in IDE on IBM i when 'bsh' is configured as the default shell for SSH.
    • Profound UI library is now added to library list above those from the 'pathlist' configuration setting.
    • Enhancement: enable multi-row insert in pjs.query().
    • Updated NODERUN command to communicate with new Profound.js Spaces (formerly NodeRun) website.
    • The PJSCALL command, NODERUN command/program and proxy programs now follow HTTP redirects.
    • For each screen in a Rich Display, allow creating a separate mobile and desktop version of the screen
    • Profound.js now validates the options specified in file config.js when it first starts up. This should make it easier to spot misspellings or missing options.
    • For the "error messages" property, uninitialized error condition indicators are treated as false
    • Bug fixes for SQL parameter markers in IBM i database driver.
    • Server now attempts to re-establish Remote Connector session if the remote is ended/restarted.
    • Possible breaking change when using pjs.query with the IBMi driver. If a failure occurs, it will now be thrown.
      To disable, add a config.js setting: throwIBMiDbException: false
    • Fix failure of pjs.downloadTable() API.
    • Add pjs.transferControl() API to allow calling Node.js programs without building up a call stack
    • Fixed bug: PayloadTooLargeError occurs when a large amount of data are sent to the server.
    • Database Grids can load into widgets with property "load field into widgets" and load all the data when used with "load all rows" property
    • Fixed bug for PJSCONVERT: "SQL statement DECLARE CURSOR SELECT xxx FOR FETCH ONLY" is not converted correctly.
    • Fixed bug for PJSCONVERT: The proxy program is not created with correct PATH when proxy library is not the same as the PJS module directory where the converted JS file is stored.
    • Added support for the pui.download() API as well as the required puidnlexit.js exit program
    • Fixed bug for PJSCONVERT: SQL statement "SELECT INTO xxx FETCH xxx" is not converted correctly.
    • Added support for multiple database connections to data access APIs and IDE.
    • Fixed bug: when callilng a PJS module from Genie and a XHR request is sent to get data for a Profound UI widget (e.g. for auto-complete), the AUTH parameter is not sent.
    • Fixed server crash when attempting to key into the terminal emulator, when running on Node 14 on Windows.
    • Eliminated circular dependency warning message when starting server on Node.js 14.
    • Fixed bug: Too many pjs.query() requests in the same session results in error SQL0904 due to descriptor leakage.
    • Enhancement: In the Database tab, for each column of a table, display key icons (yellow=primary key, red=unique key, green=non-unique key).
    • Fixed bug: For database IBMi, key columns may show up multiple times for a table in the database tab if they're defined as keys in multiple indexes.
    • Fixed invalid image file upload when Base64 encoding is used, such as by pui.uploadSignature().
    • Fixed '403 - Forbidden' error when attempting to use file upload, file download, or database-driven widget queries on IBM i, when the initial Profound.js module does not require authentication.
    • When starting server with STRTCPSVR on IBM i, log file permissions are now inherited from the log directory.
    • Improve error message when server startup fails due to corrupt connectorCredentials file.
    • Enhancement: improve pjs.defineDisplay() to define a Rich Display File with no implicit global fields, to avoid field name collision errors.
    • Fix crash when DB2 for IBM i queries fail with data conversion/mapping errors.
    • Fixed bug: exporting XLSX file from a DB-Driven grid gave a 404 error and would not export. DBD-Grid now exports in XLSX. Broken since 4.15.1 or htdocs from V6 FP 7.0
    • For databases other than IBM i, database table selector now automatically determines when file names should be qualified.
    • Database table search now supports qualified table names.
    • For databases other than IBM i, field binding data generated by Database tab now uses qualified tables names when appropriate.
    • Fixed bug: usage of "time" data type results in "Time Value is Invalid" error.
    • Fixed bug: On Designer, allow long field name to be used as a Reference field. Also fixed pjs.defineDisplay() to get correct configuration data for long field name used as a Reference field.
    • Added new Git History tab for browsing Git repo commits and viewing changes.
    • The environment variable HOME is now set when starting the server with STRTCPSVR on IBM i. This variable is required by Node's "os.homedir()" API.
    • Enhanced profoundjs.express() to allow an Authentication module name as a parameter on the function.
    • Fixed a rare issue related to node.js require() and hot-module reloading.
    • Fixed an issue with pjs.wrapPromise() where an exception later in the fiber could cause a loop.
    • Added a preview panel when editing Markdown files.
    • Added support for Database-Driven Joins if Profound UI client-side code (htdocs) is V6 FP10.0 or later.
    • Fix installer overwriting PROFOUNDJS instance configuration when installing on IBM i and opting out of STRTCPSVR instance setup.
    • Correct IBM i user name passed to file download exit program.
    • New set of API's that simplifies the use of pjs.query(). For more information see Data API
  • Profound API
  • Profound.js Rich Display
    • New Low-code Interface for Rich Displays
^ Back to top ^

4.15.2

Release date: 06/16/2020

  • Profound.js Framework
    • HTTP server's inactive socket timeout (i.e. for long running requests) changed from 2 minutes to 1 hour.
    • Server now detects and closes dead web socket connections.
    • Fixed an issue where a 404 Page Not Found message was shown, instead of the actual Version mismatch message because the remote connector version is not the same as this Profound.js instance.
^ Back to top ^

4.15.1

Release date: 06/02/2020

  • Profound.js Framework
    • Profound UI Version 6, Fix Pack 7.0 is required for this release.
    • Fixed grid XLSX exporting when bound fields use "string" data type: downloaded document is no longer invalid.
    • Removed unnecessary information from PJS_SQL_DEBUG log output to improve readability.
    • Report error when Remote Connector logon fails due to HTTP request error.
    • Allow configuration option "connectorURL" to be specified with trailing slash.
    • Corrected an issue where a Long Julian date was not being calculated corrected when the day of the year was within the first 99 days.
    • Fixed bug: For "Import Noderun Workspace" dialog: if Owner or Workspace is blank, browser should display error message. Also, the workspace input validation should be case-insensitive.
    • Fixed bug: for "Import Noderun Workspace" dialog: if workspace is invalid, error message is displayed, but then dialog is closed. It should stay open and prompt again.
    • Enhancement: for "Import Noderun Workspace" option: if module directory name already exists, a Warning message should be displayed to ask users if they want to replace it or not.
    • Enhancement: for "Import NodeRun Workspace" option: after importing the workspace, the imported module can be launched immediately without having to re-start the Profound.js server.
    • Fixed bug: for modules imported from a NodeRun workspace, ajax calls using relative URL did not work.
    • Fixed bug: for modules imported from NodeRun workspace, JSON files defined as routes are not returned and error occurs.
    • Fixed bug: if importing a NodeRun workspace and the file tree on left side of Designer has not been loaded during the browser session, the workspace is improted OK, but dialog stays open due to client-side error.
    • Grid widgets with response fields are now automatically reset every time a screen is shown.
    • Launch Module dialog in Designer now lists configured initial modules and imported NodeRun workspaces.
    • Fix field list failing for DB2/i tables when the library/table name are not entered in uppercase in the Designer properties window.
    • Fixed bug: Column sorting on database-driven grids does not work.
    • Fixed bug: Date/datetime/timestamp fields for MySQL/MSSQL/Oracle databases are not formatted correctly on database-driven grids.
    • Added database table selector to Designer properties window.
    • Fix SQLSTATE and error message not being set in SQLCA when error message length exceeds 70 bytes.
    • Added support in pjs.query()'s IBM i driver for SQL statements like "INSERT INTO TABLE SET ?" and "UPDATE TABLE SET ?" occurring in a sub-query.
    • Fixed pjs.query() crashing when used with SQL statements like "INSERT INTO TABLE SET ?" or "UPDATE TABLE SET ?", and the parameter object includes null values.
    • Improved error message from pjs.query() when used with SQL statements like "INSERT INTO TABLE SET ?" or "UPDATE TABLE SET ?", and the parameter object includes undefined values.
    • Fixed bug: Column filtering on database-driven grids does not work.
    • Fixed bug: When using the "Select Database Fields" dialog to update the columns in a grid, if the retrieved field description is blank then the field name should be shown in "Description" column and used to update grid column headings (instead of blank).
    • Fixed bug: pjs.query() did not work with CLOB columns.
^ Back to top ^

4.15.0

Release date: 03/26/2020

  • Profound.js Framework
    • Profound UI Version 6, Fix Pack 6.0 is required for this release.
    • Added "New" file buttons for creating Typescript and Vue files.
    • Fixed bug: ORDER BY does not work for database-driven charts.
    • Enhancement on Profound.js Visual Designer: add "Import..." button on "Home" ribbon in "File Operations" to import a NodeRun workspace into Profound.js Visual Designer.
    • Fixed bug: pjs.fetchXXX() APIs fail if retrieved numeric values are between -1 and 0.
    • A new API (pjs.parallelQueries) was added to simplify running multiple sql statements at the same time.
    • Fixed bug: for pjs.fetchRelative() and fetchAbsolute(), if both "offset" and "numRows" parms are passed, then "offset" parm is set to "1", and the wrong row is fetched.
    • Fixed bug: "mode" config parameter for pjs.defineDisplay() does not work; display file always uses the "defaultMode" value in config.js instead of the passed-in parameter.
    • Fix installation halt when /profoundjs-base/instances directory exists but is empty, or when an instance sub-directory has no conf file
    • Fixed bug: Profound.js Designer does not allow lowercase input for some properties of some widgets (e.g table name of chart widget) that should accept lowercase or uppercase values.
    • The node express server now uses the cookie-parser module so that you can easily read cookie parameters.
    • Fixed a bug with database driven widgets where it would fail when using a "special" names in the table or column fields. This is for using a database other than the IBMi.
    • Improved error message when file upload exit program is not found.
    • Fixed "store_credentials" script crashing when run within a TN5250 session using QP2TERM or QSH.
    • Added support for Profound UI chart widget "custom sql" property.
    • When running on IBM i file upload widget now writes files as signed in IBM i user, rather than PROFOUNDJS user. This allows IBM i permissions to work as expected.
^ Back to top ^

4.14.4

Release date: 01/31/2020

  • Profound.js Framework
    • 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 ^

4.14.3

Release date: 12/23/2019

  • Profound.js Framework
    • 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 ^

4.14.2

Release date: 11/01/2019

  • Profound.js Framework
    • 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 ^

4.14.1

Release date: 10/29/2019

  • Profound.js Framework
    • 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 ^

4.14.0

Release date: 10/09/2019

  • Profound.js Framework
    • 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.
    • 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 ^

4.13.1

Release date: 08/21/2019

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

4.13.0

Release date: 08/20/2019

  • Profound.js Framework
    • 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.
    • Add support for the Profound UI mobile client to load files in userdata/extension/mobile
^ Back to top ^

4.12.0

Release date: 06/24/2019

  • Profound.js Framework
    • 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 ^

4.11.1

Release date: 06/03/2019

  • Profound.js Framework
    • 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 ^

4.11.0

Release date: 05/22/2019

  • Profound.js Framework
    • Added support for IASP.
    • Fixed bug referencing IBM i file fields in Rich Display file when using case-sensitive mode.
    • pjs.call() can now accept a function exported from a module loaded with pjs.require().
    • Fixed bug when a function is passed to profoundjs.express().
    • 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 ^

4.10.2

Release date: 05/01/2019

  • Profound.js Framework
    • 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 ^

4.10.1

Release date: 04/26/2019

  • Profound.js Framework
    • Fixed pjs.call() 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 ^

4.10.0

Release date: 04/24/2019

  • Profound.js Framework
    • 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 ^

4.9.2

Release date: 04/15/2019

  • Profound.js Framework
    • 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 ^

4.9.1

Release date: 03/26/2019

  • Profound.js Framework
    • 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 ^

4.9.0

Release date: 02/04/2019

  • Profound.js Framework
    • 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 NodeRun.com
    • 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
    • Default DB2/i connection attributes can now be set with "connectionDetails" configuration option.
^ Back to top ^

4.8.2

Release date: 01/15/2019

  • Profound.js Framework
    • 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 profoundjs.express(). 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 ^

4.8.1

Release date: 11/01/2018

  • Profound.js Framework
    • 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 ^

4.8.0

Release date: 10/09/2018

  • Profound.js Framework
    • 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 ^

4.7.3

Release date: 08/23/2018

  • Profound.js Framework
    • 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 ^

4.7.2

Release date: 08/22/2018

  • Profound.js Framework
    • Check for bad directory names when saving Rich Display Files
    • Fix intermittent 500 error when running program with profoundjs.express(), 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 ^

4.7.1

Release date: 08/10/2018

  • Profound.js Framework
    • 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 ^

4.7.0

Release date: 08/09/2018

  • Profound.js Framework
    • 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.
    • profoundjs.express() 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 profoundjs.express() 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 profoundjs.express() 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 ^

4.6.1

Release date: 06/08/2018

  • Profound.js Framework
    • 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 ^

4.6.0

Release date: 05/18/2018

  • Profound.js Framework
    • 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 ^

4.5.0

Release date: 05/09/2018

  • Profound.js Framework
    • 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 profoundjs.express()
    • 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 ^

4.4.1

Release date: 04/24/2018

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

4.4.0

Release date: 04/24/2018

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

4.3.1

Release date: 04/23/2018

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

4.3.0

Release date: 04/20/2018

  • Profound.js Framework
    • 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 pjs.call() 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 ^

4.2.8

Release date: 03/26/2018

  • Profound.js Framework
    • 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 ^

4.2.7

Release date: 03/16/2018

  • Profound.js Framework
    • 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 ^

4.2.6

Release date: 03/12/2018

  • Profound.js Framework
    • Fix missing printer file API.
^ Back to top ^

4.2.5

Release date: 03/09/2018

  • Profound.js Framework
    • 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 ^

4.2.4

Release date: 02/09/2018

  • Profound.js Framework
    • 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 ^

4.2.3

Release date: 01/23/2018

  • Profound.js Framework
    • 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 ^

4.2.2

Release date: 01/12/2018

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

4.2.1

Release date: 01/08/2018

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

4.2.0

Release date: 01/03/2018

  • Profound.js Framework
    • Added HTTPS support.
^ Back to top ^

4.1.0

Release date: 01/02/2018

  • Profound.js Framework
    • 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 ^

4.0.2

Release date: 12/21/2017

  • Profound.js Framework
    • Fix endless loop when Profound.js program calls another with pjs.call().
    • 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 ^

4.0.1

Release date: 12/15/2017

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

4.0.0

Release date: 12/13/2017

  • Profound.js Framework
    • 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 Array.cat() API.
^ Back to top ^

3.0.2

Release date: 12/04/2017

  • Profound.js Framework
    • 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 ^

3.0.1

Release date: 11/13/2017

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

3.0.0

Release date: 11/10/2017

  • Profound.js Framework
    • 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().
    • pjs.call() 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 ^

2.3.1

Release date: 10/27/2017

  • Profound.js Framework
    • 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 ^

2.3.0

Release date: 10/10/2017

  • Profound.js Framework
    • 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 ^

2.2.6

Release date: 09/22/2017

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

2.2.5

Release date: 09/21/2017

  • Profound.js Framework
    • Added "profoundjs.express()" 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 ^

2.2.4

Release date: 09/15/2017

  • Profound.js Framework
    • 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 "pjs.call()" crash in some scenarios.
^ Back to top ^

2.2.3

Release date: 08/31/2017

  • Profound.js Framework
    • 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 ^

2.2.2

Release date: 08/21/2017

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

2.2.1

Release date: 08/21/2017

  • Profound.js Framework
    • SQL API Fixes
    • Ability to call SQL API as statement object methods
^ Back to top ^

2.2.0

Release date: 08/21/2017

  • Profound.js Framework
    • 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 ^

2.1.9

Release date: 08/17/2017

  • Profound.js Framework
    • Correct STRTCPSVR command failure.
^ Back to top ^

2.1.8

Release date: 08/17/2017

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

2.1.7

Release date: 08/15/2017

  • Profound.js Framework
    • 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 SQL constants: SQL_MAX_ROWSET_SIZE and SQL_FETCH_ALL
    • 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 ^

2.1.6

Release date: 08/07/2017

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

2.1.5

Release date: 08/04/2017

  • Profound.js Framework
    • 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 ^

2.1.4

Release date: 08/01/2017

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

2.1.3

Release date: 08/01/2017

  • Profound.js Framework
    • 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 ^

2.1.2

Release date: 07/17/2017

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

2.1.1

Release date: 07/17/2017

  • Profound.js Framework
    • 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 ^

2.1.0

Release date: 07/05/2017

  • Profound.js Framework
    • 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 ^

2.0.9

Release date: 06/27/2017

  • Profound.js Framework
    • 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 ^

2.0.8

Release date: 06/23/2017

  • Profound.js Framework
    • 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 ^

2.0.7

Release date: 06/14/2017

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

2.0.6

Release date: 06/09/2017

  • Profound.js Framework
    • 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 ^

2.0.5

Release date: 06/05/2017

  • Profound.js Framework
    • 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 ^

2.0.4

Release date: 05/22/2017

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

2.0.3

Release date: 05/22/2017

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

2.0.2

Release date: 05/22/2017

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

2.0.1

Release date: 05/12/2017

  • Profound.js Framework
    • 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 ^

2.0.0

Release date: 05/07/2017

  • Profound.js Framework
    • First GA release.
^ Back to top ^