Release Notes 3.14159
=====================

-1) In case you've skipped a few releases -- ProTop ChUI now requires a
minimum screen size of 160 columns by 48 rows -- 4x an old 80x24 green
screen. 160x96 is 8x better than 24x80 but feel free to add as many rows as
you can manage. I usually use 90 or so and I have tested up to 267 - it's
amazing what you can fit on a portrait-mode 4k monitor :)

0) Don't get used to this. Really. It is just a coincidence that these
release notes are getting created. You have been warned.

1) After yet another incident with the Xerces XML parser choking due to
some obscure missing DLL I have converted all of the XML configuration in
ptdefs/* to JSON using lib/jsonlib.p. jsonlib.p isn't pretty but it *is*
pure 4gl, has no external dependencies and does what I need it to do for
ProTop.

2) Eliminated the ringing bell when exiting sort column selection via F4 or
control-E.

3) Resisted the urge to declare the next release number to be 6.28 in
celebration of Tau Day. Go ahead, look it up: https://tauday.com/
Tau is twice as good as Pi :)

4) Added XTRASTART environment variable. Export an initial set of key
commands for startup. I.e. export XTRASTART="cuwa" to show configuration
(rather than dashboard), dismiss user activity and add waits & areas
panels. (This helps to mitigate the error 49 bug.)

5) Standardized values shown for certain startup parameters such as
-pfDelay, -memcheck, -biStall that vary depending on Progress release.

9) Updated the "notes" section of ActiveTRX (the "x" screen) to show table
name being waited for (if known) and CSC info (if available).

10) Assigned a "screen refresh" function to "Z". This clears and then
redraws the screen. It is useful if some external function messes up your
screen or if you are one of those "nervous mouse" people who incessantly
shuffles the mouse around randomly clicking stuff and occasionally
inadvertantly resizing your window. The window size cannot be changed after
ProTop starts (this is a Progress limitation) but at least you can restore
it to normal and then refresh it with "Z".

11) Fixed a regression with "programmer mode" where "auto" sampling stayed
enabled.  (Actually, the problem is that auto sampling just stayed enabled
no matter what - but "programmer mode" users noticed it first.)

12) Removed -debugalert from scripts. It just adds that silly "help" button
to message dialogs and that only confuses people by offering a stack trace
rather than anything that might be mistaken for help.

13) Added an option to replace references to _actBuffer with near equivalents
from _actSummary in dc/dashboard.p. OE11.7+ has some new fields in _actBuffer
that are calculated by scanning -B. If you have a very large buffer pool
this can take several seconds. Add "export USEACTBUFF=no" to bin/localenv
to switch to _actSummary fields. You will lose "logical writes" and "lru
writes" (aka "evicted buffers") if you do this. dc/b2.p and dc/bigb.p will
continue to use _actBuffer but they are not active by default.

14) Reduced the refresh frequency for osinfo. In an interactive session data
will only be refreshed once per 60 seconds.  Batch sessions (pt3agent) will
refresh hourly. Two new variables have been added to bin/localenv to tune this
behavior:

        # export OSINFOFREQINT=60               # Frequency of osinfo samples via os-commands when running interactively (protop.p) (this feature does not impact Linux)
        # export OSINFOFREQBAT=3600             # Frequency of osinfo samples via os-commands when running in batch mode (pt3agent.p) (this feature does not impact Linux)

This feature, and these variables, have no impact on Linux because we are
able to obtain all of the needed data without os-command on Linux.

15) Fixed a typo in the month list inside lib/vstlib.p that was impacting the
CSC age functionality.

16) (Paid feature) Updated alert "filters" to support numeric fields. This 
change also removes the "quoted string" requirement for filters. So *if* you 
were in on the secret to setting up filters in your alerts you will need to 
modify any existing alerts by removing the enclosing quotes.

17) Improved syncIOMB to agree better with what you would report by executing
the "dd" method. Basically, this was just a matter of changing from dividing
the time in seconds into 96MB to 100.7 to reflect that MB <> MiB (IOW, the
age-old issue of 1024 vs 1000).

18) (Paid feature) Added an environment variable to control the shutdown
nag period:

        export DBSHUTNAG=3600   # Nag interval for db shutdowns and crashes

This controls the period between reminders that the db has been shutdown or
crashed.

19) Enhanced the Pro2 data collector to break out individual replication
queues and added configuration variables to bin/localenv to customize
behavior:

        export PRO2QSKIP2SEQ=0          # Skip to replQueue sequence# - IOW
                                        # skip orphans, 0 = don't skip any

        export PRO2QCOUNTLIM=1000       # Do not count every record in the
                                        # replication queue if it is deeper
                                        # than this

        export PRO2QESTIMATE=yes        # Estimate queue depth proportionally
                                        # when queues get too deep to count

If PRO2QESTIMATE is set to "no" then the values that Pro2 occasionally
stores in replControl will be used (these tend to be very stale because
they are not updated very often).

If you have previously used the "Pro2Activity" data collector for alerting
you should change to use "Pro2Queues". The "Pro2Activity" data collector
will be removed in a future release.

20) Enhanced the "db parameters" report (R) to include remote servers and
non-parameter physical characteristics such as block sizes, enabled features,
and db structure.

21) Added "(9438) CTRL_SHUTDOWN_EVENT" to the exception list for db down
events. If this message is present the shutdown is presumed to be deliberate
and, therefore, a PAGE will not be generated (messages 2248 and 542 are also
on the exception list).

22) Added "swappiness", "committed_as" and power management indication to
OSInfo. This is currently specific to Linux. A power management indicator
should be possible for Windows in the next release.

23) Added an optional localenv parameter CNXPARAM to be passed to the
portal connection. This might be useful if networking issues necessitate
the use of "-clientConnectTimeout" or similar options.

24) (Paid feature) Added new character comparison operators to the alerting 
engine. "Longer" and "shorter" - useful for checking things like the length 
of the hostname.