Releases: jlangch/venice
Releases · jlangch/venice
Release 1.12.14
[1.12.14] - 2024-04-16
Added
- functions
get-request-parameter
, andget-request-long-parameter
to
:ring-util module - more HTTP status codes with short names and short description
Improved
- SSE WebApp example to demonstrate explicit connection closing on the
server side - REST WebApp example to demonstrate the use of query parameters
Fixed
- HTTP client SSL requests
Release 1.12.13
[1.12.13] - 2024-04-14
Added
- custom type support for Venice persistent collections
- more options to slurp a HTTP client's JSON response
Fixed
- the HTTP client to gracefully react on interrupted exceptions and close
the streams - the HTTP client debug mode to print authorization header values as "******"
- the
:ring
debug mode to print authorization header values as "******" - an edge case with function
str/equals-ignore-case?
Release 1.12.12
[1.12.12] - 2024-04-11
Added
- options
:async-support
and:load-on-startup
totomcat/tc-start
servlet options :ring
support for asynchronous handlers. See example "async-webapp.venice".:ring
support for Server-Side-Events. See example "sse-webapp.venice".- content encoding (gzip, deflate) support for http client response processing
- support for server-side-events processing in the http client
Release 1.12.11
[1.12.11] - 2024-04-08
Added
- support for multiple url mappings for a servlet in the
:ring
module.
See example "rest-webapp.venice" - a
:ring
example with a 2 servlet configuration - the effective url (the url after a redirect) to the response map in the http client
- http status code helpers:
http-client-j8/status-ok-range?
http-client-j8/status-redirect-range?
http-client-j8/status-client-range?
http-client-j8/status-server-error-range?
Changed
- the http client to provide the name of the HTTP status code in the response
map. E.g.:HTTP_OK
for status code 200
Release 1.12.10
[1.12.10] - 2024-04-07
Added
- support for module
:http-client-j8
to ungzip a response data stream
with the content encoding 'gzip' - function
io/wrap-is-with-gzip-input-stream
to gzip data sent to the stream - function
io/wrap-os-with-gzip-output-stream
to ungzip data read from the stream - improvements to the
:multipart
parser. The parsers is now more robust in
parsing the part headers and returns all part headers in its raw form in
parsed data map.
Fixed
- the multipart parser's mimetype handling for content type headers
Release 1.12.9
[1.12.9] - 2024-04-06
Added
- module
:http-client-j8
. A handy HTTP client based on the JDK HttpUrlConnection.
The HttpClient can be used to send requests and retrieve their responses. It supports
sending multi-part requests. The HTTP client does not depend on 3rd party libraries!
There are REST and file upload examples in the Venice script examples directory. - module
:multipart
that supports the subtypemultipart/form-data
. Renders and parses multi-part binary buffers - support for multi-part requests to
:ring
module and improved the request/response
dump functions - function
bytebuf-merge
to merge byte buffers - function
bytebuf-index-of
for searching patterns in byte buffers using
the Knuth-Morris-Pratt (KMP) pattern matching algorithm
Fixed
- the return status handling in the
:ring
module
Release 1.12.8
[1.12.8] - 2024-04-02
Added
- function
io/file-normalize-utf
. This is useful to make it easier to process
MacOS filenames with umlauts. - thread type support to the function
thread
to allow spawning daemon or user
threads - support for tracing exceptions in
trace/trace-var
- math function
rand-bigint
. Venice uses this function to create unique
boundary strings for multipart HTTP requests. - function
mimetypes/probe-content-type
to get mimetypes for file names.
Release 1.12.7
[1.12.7] - 2024-03-26
Added
- function
str/normalize-utf
. This comes in handy when MacOS filenames
with umlauts have to be normalized for easier filename processing - a pure ascii version of the Venice cheatsheet to feed it as embeddings
to LLMs - improvements to markdown to ascii text renderer to allow the Venice
Github flavoured markdown documentation to be converted to pure ascii
to feed it as embeddings to LLMs - :cargo-qdrant module to install/start/stop Qdrant Vector DB docker
containers
Changed
- the :docker module to support now multiple port publish definitions
Fixed
- a markdown parser edge case when a table block is immediately followed
by a list block with no empty line in between
Release 1.12.6
[1.12.6] - 2024-03-19
Added
- function
zip-folder
tozipvault
- support italic font style (module :ansi)
Changed
- the function
maven/download
to accept a single artifact as well as a
list of multiple artifacts
Fixed
- :maven module (a bug has been added with V1.12.0 refactoring)
Release 1.12.5
[1.12.5] - 2024-03-13
Added
- math function
clamp
- basic authentication support for
io/download
- follow redirects supports for
io/download
, if the protocol does not change
for the requested redirect
Changed
- the geoip module to use basic authentication to access the MaxMind databases.
This is mandatory starting from May 1st, 2024 with MaxMind's effort to
improve security and reliability on its services.