# PxPlus Releases

PxPlus 2020 (version 17.00) | May 2020

PxPlus 2020 consists of various new features and enhancements, including 64-bit Windows PxPlus, TLS 1.3 support, a new Nomads Environment Maintenance utility, and much more.

## Major New Features

- 64-bit Windows PxPlus
- Anti-alias graphic drawing for Charts and Shapes
- Support for TLS 1.3
- Ability to define Reserved Words for Data Dictionary elements and Nomads controls
- Allow for Mixed Case characters when defining controls/records in all designers and utilities
- TLS support (FTPS, FTPES and SFTP) to *WEB/FTP
- Allow Drag and Drop between concurrent windows
- Nomads Environment Maintenance utility to easily set %Nomads properties and settings

## Additional Features

Language Enhancements

- New PIXELPOS and DPI options added to *PDF* to allow for pixel positioning
- All executables and libraries now built with the latest C/C++ compiler and optimizations
- New PxPlus environment variables PXP_SSL_LIB and PXP_CRYPTO_LIB that will tell PxPlus where to find the SSL library files
- Allow Drag and Drop between concurrent windows
- Ability to Set Null Key option on file creation
- Ability to forward the output of IF Tracing when using WindX
- Capability to properly display colored trace lines in the host trace output when using WindX
- Faster JSON loading

> Properties

- HdrHeight property for Grid and List Box controls
- LineColor$ property for setting grid line colors for Grid and List Box controls
- SuppressHdr property for controlling suppression of headers for Grid controls
- CellIsNumeric property for Grid controls for setting a cell to only accept numeric data
- CellBlankWhenZero property for Grid controls for setting a cell to display blank when value is zero
- MaxListItems property for setting the number of lines that will appear in a drop list in Grid controls
- ButtonColor$ property for Grid controls to change the default background color for any buttons in the Grid (button cells or lookup/drop down buttons)
- SkipLockedCells property for controlling when to skip over locked cells in Grid controls
- HideButtons property for Grid controls to hide query buttons or drop box icons associated with Grid cells if there is a bitmap
- ItemTextColor$ property for Tree Views to control the color of the text for the current item

> Directives

- New OPEN dependency option to automatically link objects to other system components
- New OPT="N" that enables the 'NK' system parameter on a file using the KEYED directive
- New Open [TCP] options supported for disabling TLS1.3, NOTLS1.2 or enforcing TLS1.3

> Objects

- New ChartColor$ property in Chart Object, enabling a list of colors to be applied when plotting different datasets
- New *OBJ/IMAGE object to generate a ".jpg" or ".png" image in Windows or UNIX/Linux
- New *OBJ/PARAM object to create, load and maintain an independent object consisting of parameters defined in a Definition File
- New Keep Visible property to keep application active added to *OBJ/EXCEL and *OBJ/WORD

> OPTION Mnemonics

- StdLvueLineClr attribute for setting grid line colors for all List Box Report Views
- StdGridLineClr attribute for setting grid line colors for all Grids
- StdGridHideButtons attribute for setting the default HideButtons property for all subsequent Grids
  Note: The above options are also available to read using the FIN function.

> Mnemonics

- ARC now supports Radial Coordinate formats
- PIE now supports Radial Coordinate formats

> Functions

- Added "OpenSSL_Version" to TCB to determine version of OpenSSL being used
- DEG converts angle in radians to degrees
- RAD converts angle in degrees to radians

Enhanced IDE, Nomads, iNomads and Toolkit

- Enhanced IDE that combines Menu, History and Project tasks with additional Web capability

- New customizable ribbon Toolbar that can contain up to 10 Toolbar buttons
- Drag and drop capability to add new Toolbar buttons
- Right click capability on Menu tab to Insert Tasks, Insert Tasks on Menu, Delete Tasks, and Add Tasks to Toolbar
- Right click capability on ribbon Toolbar to maintain/delete Toolbar buttons
- Toolbar maintenance utility to define tasks, descriptions and bitmaps
- Ability to add up to 10 Web pages
- HTML Tabs maintenance utility to define tab names and URLs
- Ability to switch to the Standard IDE (with no Web capability)

- Enhanced Web IDE
- Added Default to INSERT Mode setting to Options menu in *IT Editor
- Added Maximized bitmap to Titlebar
- Improved Color Selection interface in all designers and utilities
- New Delete button added to Nomads+ Toolbar grid and other designers to facilitate easier removal of overlapping controls
- Improved display of List Boxes in all designers
- New message when defining a Multi-Line control with a Query and Multi-Line Height is greater than one
- Enhanced EZ Load Multi-Lines to make it easier to define EZ Load for Additional Fields on the same panel using the same table
- Added a Query Lookup button to Nomads controls, Data Class Maintenance and Smart Control definitions to make it easier to find and select a query
- Ability to launch a panel from Tabs Definition in Folder control
- Ability to define concurrent windows variables in Drag and Drop utility
- Added Case Sensitive capability to Nomads Panel Compare utility
- Header Height attribute for Report View List Box controls
- Line Color attribute for setting grid line colors on Report View List Box controls
- List Popup export/print and copy record options for Grid control now include row header column
- Updated Titlebars, Buttons, List Boxes and Grids for all designers and utilities
- Usability enhancements for Nomads designers and utilities

> File Maintenance Generator Enhancements

- Ability to use the Standard File Maintenance object, eliminating the need to create a new object
- Ability to regenerate a panel previously created using the File Maintenance Generator
- Ability to define a "Default" template
- Ability to reset the template on a panel that is being regenerated
- Preview button is now enabled once a table is selected
- New "File Inquiry for" title
- Created %Nomads variables for all File Maintenance Object properties
- New embedded Toolbars that contain browse and action buttons
- Ability to enter a visual class for the SHOW.XXXX fields

> iNomads Configuration

- Eliminated the use of Cookies
- Ability to Customize the system-loaded error message displayed in iNomads
- New %iNomads_Crypto_Seed$ option used to encrypt any control messages sent between the application server and the front-end server
- Added capability to log all failed logon attempts to a file specified in the System Configuration

- %iNomads'Failed_Logon_Tries - Number of failed logon attempts before locking out browser
- %iNomads'Failed_Logon_Delay - Number of minutes to lockout browser after failed logon
- %iNomads'Failed_Logon_Log - Path name of a Log file to record invalid logon attempts

> Charts

- Added a Secondary Grouping to Auto Charts Wizard
- Allow for Preset Values for Chart sets in Auto Charts
- Ability to separate developer and end-user Auto Chart definitions
- Usability enhancements added to Auto Chart Wizard

> Themes and Visual Classes

- New Chart Colors property to apply when plotting the different datasets for Charts
- New Row Height property for Grids
- New Grid Hide Buttons property for Grids to hide query buttons or drop box icons associated with Grid cells if there is a bitmap
- New Header Height property for Grids and List Boxes
- New Line Color property to control grid line color for Grids and List Boxes
- New iNomads Classes property for applicable control types
- New Copy From feature when creating new Themes and Visual Classes

> Data Dictionary

- New grid UI for Data Dictionary Elements tab
- Ability to Rename a Data Dictionary element
- Option to Update Physical File when changing Global Dictionary definitions
- New Verbose mode message option to display a progress bar when copying a file when updating Data Dictionary
- New warning message when the record size for VLR files exceeds 32000 bytes

> Data Class Definition

- Enhanced Extended Class Validation and Display option for Multi-Line Data Classes by adding the ability to use numeric elements and specify an Expression
- Enhanced Load From File option for defining a "source" data file when populating a Drop Box or List Box at run time

- Ability to use numeric elements and specify an Expression for the Display Value
- Filter Test for additional filtering capability to filter records loaded
- Ability to specify a Descriptive Field that can be used to create display-only Multi-Line controls in Nomads
- Populate All Fields to display all data elements to be used when creating display-only Multi-Line controls in Nomads

> Popup Menus

- New IGNORE_POPUP Nomads variable can be set to suppress the next Popup Menu

Query Plus

- Ability to assign a Formula Name in Query definitions
- Usability enhancements added to Formula Wizard

Report Writer

- Ability to use Queries as a source for Report Writer reports
- Added full dynamic Data Class capability to Report Writer parameters
- Allow Expressions for Report Writer parameter settings
- Vertical and horizontal Text Alignment buttons added to Report Writer Designer ribbon Toolbar
- Usability enhancements added to Report Wizard

Web Services

- New Copy From feature when creating new Web Services in Web Service Maintenance
- Added Chart Selection dialog to Chart Type services in Web Service Maintenance

WindX

- Names of past used panels, programs, reports and files in History Lists will be suffixed with the workstation name when running WindX

PxPlus Web Server

- Improved error reporting to now show all error levels

PxServer

- Upgraded PxServer to OpenSSL 1.1.1

Installation and Setup

- Additional error messages for SSL failure and SETTRACE PRINT directives that can be used to log issues
- Improved messaging when de-installing and moving software to another server

Utilities and Commands

- New SET_NK command to set/reset the 'NK' system parameter for a file
- Ability to set the Timeout Value in *PLUS/WEB/REQUEST
- Ability to Embed an Image using <img cid=> in the body of an email using *WEB/EMAIL
- TLS support (FTPS, FTPES and SFTP) to *WEB/FTP
- Added local Australian SMS service to *TOOLS/SMS
- New *WIN/PROPSET utility for maintaining the properties for any PxPlus object within your application

## Other Changes for Reference

Nomads Properties Added

- %Nomads'List_Popup is used to apply system popup menus to all List Boxes and Grids
- %Nomads'List_Popup$ is used to replace the default text associated with the system popup menu
- %Nomads'List_Popup_Suppress_Options$ is used to suppress any combination of system popup menu options
- %Nomads'DeveloperCharts is used to save new public developer AutoChart definitions separate from end-user definitions
- %Nomads'TipTimerCycles is used to set the length of time in seconds that a tip will be displayed

Parameters Added

- 'BD' system parameter controls whether Windows GDI+ is used to provide smoother curved and angled lines when the following shapes are drawn: Arc, Ellipse, Pie, Line and Polygon
- 'CR' system parameter controls whether trailing CR ($0d$) will be stripped from text files that were created in Windows and subsequently copied to UNIX/Linux

INI Contents Options Added

- NoTLSv1.3 to disable TLS 1.3 support

Environment Variables Added

- PXP_CRYPTO_LIB defines the path and file name of an OpenSSL crypto dynamic library (setting this overrides the default OS library search rules)
- PXP_SSL_LIB defines the path and file name of an OpenSSL SSL dynamic library (setting this overrides the default OS library search rules)

Version Control System

- Updated the *TOOLS/CONVERTDATA utility to handle message library files as ".pxdta" text files
- Improved speed for the Update utility

## Operating System Support

Along with a true 64 Bit version for Windows, PxPlus 2020 has added support and downloads for the following Linux operating systems:

- Redhat (Oopta) / CentOS 8.1
- Debian 10 (Buster)
- Ubuntu 20 (Focal Fossa)
- Suse 15.1 (Leap)

The following Linux operating systems will not be available any more due to the age and the fact they are no longer supported by their manufacturer:

- Debian 3.1 (Sarge)
- Ubuntu 10-32 Bit (Lucid Lynx)

Note: PxPlus 2020 will be the FINAL version of PxPlus for the following operating systems:

- Redhat (Tikanga) / CentOS 5
- Debian 6 (Squeeze)
- Ubuntu 10-64 Bit (Lucid Lynx)