Releases: jlangch/venice
Release 1.12.85
[1.12.85] - 2026-03-19
Enhancements
-
Added RSA module (asymmetric public-key cryptography algorithm)
- generate key pairs
- store/load keys as PEM files
- encrypt/decrypt messages
- sign/verify messages
-
IPC Diffie-Hellman key exchange can now optionally be signed by RSA public/private
keys to prevent Man-in-the-Middle (MITM) attacks. The RSA signed key exchange is
authenticating the two parties (IPC client and server) involved in the key exchange. -
Added macro
with-tmp-dir
Bugs
- #9: Fixed function
seqto run on sets as well(seq #{})=> nil(sort (seq #{1 2 3}))=> (1 2 3)
Release 1.12.84
[1.12.84] - 2026-03-12
Enhancements
-
Added remote REPL session inactivity timeout. Defaults to 30 minutes. Can be configured
through the option-repl-session-timeout twhen starting a REPL server. -
Added function
trace/untrace-all -
The
finderfunction supports now searching for all functions under tracing:(finder :tracing) -
Improved Java interoperability regarding equality checking with Java enums. The
==function
(non strict equal) supports now comparing Java enums with keywords.(let [date (. :java.time.LocalDate :of 2026 1 1) month (. date :getMonth)] (enum? (class-of month)) ;; true (month is a java enum) (== month :JANUARY) ;; true (value equality) (== :JANUARY month)) ;; true (value equality)
-
Added CIDR based IP address ACLs to the IPC server.
Bugs
- Fixed Venice launcher edge case with the
-fileoption that was accidentally passed down to the
the script
Release 1.12.83
[1.12.83] - 2026-03-05
Enhancements
-
Added sessions to the remote REPL connections to support current namespace and dynamic vars.
All forms evaluated within a session run within the same session related thread on the server.
The session implicitly starts with the!remotecommand and stops with the!localcommand. -
The
finderfunction marks now dynamic vars as 'dynamic' in the generated output
Updated dependencies:
- Bumped VAVR from 1.0.0 to 1.0.1
Release 1.12.82
[1.12.82] - 2026-02-26
Enhancements
-
Support remote REPL connections to a running Venice program for interactive inspection and control.
-
Improved REPL documentation
Bugs
- Fixed the :ansi progress demos:
(do (load-module :ansi) (ansi/demo))
Decommissioned
- Removed
!envcommand from the REPL.
The functionality is available as Venice(finder ...)function
Release 1.12.81
[1.12.81] - 2026-02-22
Enhancements
- Added the setup option
-minimalto setup a minimal REPL
$ java -jar venice-1.12.81.jar -setup -minimal -colors -dir ./repl
REPL_HOME
├── libs
│ ├── venice-1.12.81.jar
│ ├── jansi-2.4.1.jar
│ └── repl.json
├── tmp
├── repl.env
└── repl.sh
- Mac OSX: The REPL installer creates now an additional repl.command file.
While the repl.sh shell script must be executed from within a terminal,
the repl.command shell script can be double-clicked in the OSX Finder
to run.
Note: repl.sh can be manually associated with the Terminal App to allow
double click to run it
Release 1.12.80
[1.12.80] - 2026-02-14
Bugs
- Allow multiline single and triple quoted string literals in the REPL
venice> (def x """
123
456
""")
venice> (def x "123
456")
Release 1.12.79
[1.12.79] - 2026-02-11
Enhancements
- Bumped VAVR from 0.11.0 to 1.0.0
- IPC dead letter queue can now be disabled (dead letter queue is enabled by default)
- IPC response messages mirror now the request's destination name even in error case.
Release 1.12.78
[1.12.78] - 2026-02-08
Enhancements
- Improved IPC ACL api
Release 1.12.77
[1.12.77] - 2026-02-05
Enhancements
- Enhanced IPC ACL management functions to allow both strings and keywords as function arguments
Release 1.12.76
[1.12.76] - 2026-02-04
Enhancements
- Added IPC ACLs
- Added IPC heartbeat checking
- Added IPC dead-letter queue