Release Notes for EPIC5-2.1.5 (Released: 2021-05-29)
*** News 05/29/2021 -- EPIC5-2.1.5 released here (Fecund) (Commit id: 1945)
*** News 05/25/2021 -- Updated configure to autoconf-2.69
We upgraded configure from autoconf-2.13 to 2.69 here.
Along the way, we fixed the support for python3.8+
*** News 05/20/2021 -- Windows have UUIDs ($windowctl(GET x UUID))
Every window now receives an immutable UUID when it is
created. This UUID is globally unique and cannot be changed.
Although the UUID is not user-facing (as in /window list),
you can get it with $windowctl(GET refnum UUID).
The UUID is an lval (that is, it does not contain hyphens),
so you can use it as part of a variable name if you wish.
*** News 05/20/2021 -- New concept, "claiming channels"
When EPIC receives a protocol JOIN message for a channel,
it has to decide what window to put the channel in.
A common request has been the opportunity to let scripts
decide where new channels should go, rather than it being
hardcoded.
So now when a JOIN is received, an /ON will be thrown
(see below) which is an invitiation for your script to do
whatever preparatory work for the channel you see fit.
One thing in particular is /WINDOW CLAIM (see below), which
tells EPIC which window the channel should be put into.
As part of this process, EPIC will suggest a window the
channel should go into, unless you choose to overrule that.
*** NONE OF THIS APPLIES TO /JOIN or /WINDOW CHANNEL
when the user is deliberately moving a channel they are
already on between windows. You can't stop that.
*** News 05/20/2021 -- New /ON, /ON CHANNEL_CLAIM
The /ON CHANNEL_CLAIM is thrown when a JOIN is received,
but before the client has assigned the channel to a window.
$0 - The server refnum
$1 - The channel being joined
$2 - The window refnum epic proposes to put the
window into.
If your handler does /WINDOW CLAIM in any particular window,
then the channel will go to that window that you specify.
At this time, you can only do /WINDOW CLAIM in a window that
is connected to the server in $0. In the future, this will
probably change. But for now, a /WINDOW CLAIM in a "window
connected to the wrong server" is treated as invalid.
If you do not do a valid /WINDOW CLAIM, then the channel will
go into the window proposed by EPIC.
*** News 05/20/2021 -- New /WINDOW operation. /WINDOW CLAIM #channel
During the handling of an /ON CHANNEL_CLAIM, you may perform
the /WINDOW CLAIM operation to direct EPIC to put the new
channel into a particular window.
You must pass the name of the channel as a paraemter.
It is available as $1 in the /on.
You may only claim the channel in a window that is connected
to the correct server (from $0). Attempting to claim a
channel in a window connected to the wrong server is invalid
and has no effect. This will change in the future.
*** News 05/20/2021 -- $uuid4() can now return lvals (NODASHES)
You can now get a uuid4 that is valid as an lval if you
supply NODASHES as the only argument
@ a.$uuid4(NODASHES) = [whatever]
ALL ARGUMENTS TO THIS FUNCTION ARE RESERVED FOR FUTURE EXPANSION.
There are now two defined behaviors:
$uuid4() - UUID4 with dashes
$uuid4(NODASHES) - UUID4 without dashes
EVERYTHING ELSE IS UNDEFINED BEHAVIOR (ie, other arguments may
do something today, but forwards compatability is not guaranteed)