Skip to content

Releases: JeffersonLab/epics2web

v1.12.0

27 Sep 14:37

Choose a tag to compare

  • byte[] as long string - #9 (kasemir)

v1.11.0

14 Dec 20:21

Choose a tag to compare

  • Use JsonBuilderFactory - #8

v1.10.0

28 Oct 21:36

Choose a tag to compare

  • Upgrade JCA to version 2.4.6
  • Drop Ant build (only Gradle now)

Note: Our build expects to be run using Java 8 and Gradle 5. If you use Java 9+ or Gradle 6+ it will fail. The CSS/JS minify plugin doesn't work with Gradle 6 and the JCA dependency we use is compiled for Java 8. These are all solvable issues if you want to use Java 11, but you'll need to make some changes to build config.

v1.9.3

11 Mar 17:42

Choose a tag to compare

  • No need to use new thread on monitor update as we no longer call back into CAJ lib in handlers. Also, we weren't careful about lastDbr ordering (each separate thread could call notify out-of-order).

v1.9.2

10 Mar 14:51

Choose a tag to compare

  • Another attempt to cleanup close Exceptions from the log. I've removed CA resource cleanup code from session write thread, and various other locations - we now simply rely on the contract with the WebSocket API onClose() method to cleanup CA resources. Avoiding concurrent calls to CAJContext.destroyChannel() looks like a good way to avoid close Exceptions. Other threads still check if the session isOpen(), but no longer try to clean up resources since that is already being handled onClose().

v1.9.1

09 Mar 18:32

Choose a tag to compare

  • Apply fix #2 to "caget" endpoint (yeah, it was applied to "epics2web/monitor" endpoint, but not "epics2web/caget" and they share the same context!)

v1.9.0

05 Mar 17:18

Choose a tag to compare

  • CAJ/JCA callbacks now execute in their own thread. It seems callbacks are not re-entrant, which could explain continued Exceptions closing channels. See: #6

v1.8.5

05 Mar 22:29

Choose a tag to compare

Bug fix release focused on how to handle unreliable IOCs. Addresses #3.

(1) Remove context reset due to unresponsive virtual circuit. Instead simply log exception and rely on CAJ to reconnect later.
(2) On channel reconnect after a disconnect (such as an IOC reboot), don't add another monitor to channel - use original channel monitor as it's still good and adding additional monitors results in duplicate PV updates for clients.
(3) fixed case in which if a client connected to epics2web and requested a channel which happened to be already in state "disconnected" due to IOC down for example then the client would potentially receive a spurious PV update with value null.

v1.8.4

14 Jan 16:59

Choose a tag to compare

Workaround for deadlock in CAJ/JCA library #2

v1.8.3

08 Jan 21:47

Choose a tag to compare

Fixed regression with CONTEXT_PREFIX