Release notes (prior to version 9 were internal builds):
Vely release notes for 16.10.0
- Release: Vely available on Fedora 38.
- Release: added -a option to vv for viewing changelog for the current release.
- Release: fixed bug in deleting key in hash list due to memory leak.
- Minor: added old-key clause in read-hash statement.
- Release: added hash server example.
- Release: added 11 new tests.
Vely release notes for 16.9.4
- Release: fixed bug: path info would not work with query string in FastCGI Client C API; updated tests and added example to documentation.
- Release: vim highlighting update for Vely syntax.
Vely release notes for 16.9.0
- Minor: added unmanaged memory, i.e. memory that can be used for the life of the process across many requests, and also with any external C API libraries.
- Release: fixed duplicate memory leak in vf process manager.
- Release: improved performance of Vely preprocessing by 15%.
- Release: fixed bug with command-line program exit code.
- Release: fixed bug where FCGI attempts to access bad memory in request on accept.
- Minor: added delete clause to purge-hash.
- Release: fixed memory leak with new-json.
- Minor: added delete clause to purge-fifo.
- Release: fixed memory violation bug with purge-fifo.
- Release: fixed memory violation bug with purge-hash.
- Release: fixed memory leak with purge-fifo.
- Release: fixed memory leak with delete-json.
- Minor: added process-data clause to get-app.
- Minor: added set-app statement with process-data clause. Added support for global process memory.
- Minor: added manage-memory statement to switch between managed and unmanaged memory.
- Release: added cleanup of db connections at the end.
- Release: properly close trace when program done; delete all memory when done in command line and fcgi.
- Release: fixed bug with finished-output where command line program would exit.
- Release: fixed memory leak with derive-key and encrypt/decrypt.
- Release: improved memory management performance: removed low-performance memory check.
- Minor: added skip-data clause to delete-query statement.
Vely release notes for 16.8.0
- Minor: added 'name' clause to run-query to be used with any statements that operate on a query afterwards.
- Minor: added delete-query statement to release all memory associated with the query, including the query results.
- Release: simplified checking for issues in freeing memory, with a significant performance improvement.
Vely release notes for 16.7.0
- Minor: added on-error-exit, on-error-continue, error and error-text to begin,commit and rollback transaction.
- Release: added current year to vv -v.
- Release: documentation update and 10 new functional tests.
Vely release notes for 16.6.0
- Minor: added dynamic boolean expression support for previously static true/false flags in the following statements: count-substring, decrypt/encrypt-data, derive-key, hash-string, match-regex, out-header, send-file, read-hash, set-cookie, delete-cookie, write-file. This change allows for less code that is easier to read. Each flag that is enhanced signifies a static choice (such as download in send-file); now however, each such flag will also have an optional boolean expression that allows run-time selection.
- Minor: added secure clause in delete-cookie since newer changes in popular browsers require this option when deleting a secure cookie.
- Minor: added checks for cookie name/value per RFC6265; SameSite clause is undefined now by default because newer changes correlate this value with Secure flag.
Vely release notes for 16.4.0
- Minor: Vely licensing changed from LGPL-3 to EPL-2 (Eclipse Public License 2).
- Minor: new FastCGI client C API provides the ability to write standalone programs that connect to any FastCGI server.
- Minor: pf-out, pf-url, pf-web now have to-error clause to write to stderr stream.
- Minor: added -i option to vv as support for FastCGI C API library, producing the include and library flags for gcc.
- Release: fixed bug in vv where it crashes when using --app-path with bad data.
- Minor: vf will now kill children server processes if parent is killed. This allows for clean restarts.
- Minor: added flush-output statement for partial output in a long-running request.
Vely release notes for 15.2.0
- Release: memory handling improvements: faster clearing of memory on allocation.
- Minor: automatic closing of open-files.
- Minor: set errno to 0 when error is set by Vely to indicate error was not reported by the operating system.
- Minor: added new file handling statements with file-id clause that increase performance: open-file, close-file, file-position and read-file, write-file.
- Minor: added digest, binary and output-length clauses to hash-string for more useful output.
- Minor: added derive-key statement in cryptography.
- Release: fixed bug in encode-hex where some inputs would not encode correctly.
- Release: tracing is now faster as it is conditionally included or excluded at code generation time.
- Minor: added clear-cache to match-regex.
- Minor: added salt-length, init-vector(IV) and iterations clauses to encrypt-data and decrypt-data.
- Minor: added cache/clear-cache to encrypt-data and decrypt-data for caching of keys.
- Minor: added PBKDF2 key generation.
- Minor: added random-crypto generator which is cryptographically secure pseudo random generator (CSPRNG).
- Minor: improved performance and memory usage of memory allocator by adding tracking of free memory list.
- Minor: added block-size and init clauses to new-mem statement for more useful and faster memory allocation.
- Minor: added binary clause to random-string statement for increased performance when needing purely binary output.
- Release: documented each Vely statement that allocates memory so it can be released in a loop or a long running request.
- Release: added 140 new tests.
Vely release notes for 15.1.0
- Release: json parsing performance improvement
- Release: fixed issue with certain crypto algorithms not found
- Release: improved hashing performance 4x times
- Release: added 22 new tests
- Release: report native OpenSSL errors
- Minor: added ability to choose any cipher for encryption
- Minor: added ability to choose any digest for encryption
- Minor: added ability to choose any digest for hashing
- Release: added how-to encryption article
- Minor: added path_info/query_string and request_method to command line execution generator (vv -r)
- Release: using digest and cipher fetching for openssl 3
- Release: fixed issue with docker test
- Release: added stress test for crypto
- Release: added web site articles as a category for documentation
Vely release notes for 15.0.0
- Minor: added 'define' to 'output' clause in run-query statement so that query output variables can be defined in the query itself. This makes query code shorter and easier to work with.
- Minor: added set-input statement to dynamically change the value of an input parameter in the request handler.
- Release: enforce that content length must be present if content type specified in a request.
- Release: fixed bug where input parameter or query result name could not begin with underscore.
- Major: removed url-param statement as it is harder to meaningfully manipulate both query string and path segments; use match-regex instead.
- Minor: added '-r' option to vv to produce a helper output on how to specify HTTP environment variables for running a command-line program or FastCGI client.
- Release: fixed bug where hyphens in query string parameter names do not get converted to underscores.
- Release: increased performance of vv application building by fixing cache for database settings.
- Major: removed 'url' clause in get-req as superfluous; obtain query string, path segments etc. by using get-sys with variables like QUERY_STRING, SCRIPT_NAME, PATH_INFO etc. Added 'Getting URL' to documentation detailing this.
- Minor: added ability to process any kind of request method, aside from standard REST methods such as GET, PUT, POST, PATCH, DELETE. For example, a request method 'NEWMETHOD' can be used and processed like any other.
- Release: added REST API example (shopping application).
- Release: documentation typos fixed.
Vely release notes for 14.2.0
- Minor: simplified URLs to access applications. Path-based URLs are now the default form of URL. This means a URL path in form of /app-path/request-name followed by optional REST-style parameters and a query string. This kind of URL is easier to read and write, general-purpose, and flexible for both REST and non-REST usage. The existing normalized URL will still be available.
- Minor: examples updated with new URL defaults; old ones still work the same to ensure backward compatibility.
- Release: documentation on URL structure and URL building simplified and a number of erratas fixed.
Vely release notes for 14.1.2
- Release: fix environment substitution issue for docker tests
Vely release notes for 14.1.0
- Release: bug fix with db config file when it ends with a dollar sign
- Release: better documentation for request URLs (REST), clearer explanation of URL types
- Release: changed environment variable substitution from gnu envsubst to Vely's own, equally fast but much smaller
- Release: added more tests; now over 1050 Vely functional tests
- Minor: added -u option to vv to perform environment substitutin at will
Vely release notes for 14.0.0
- Minor: Added REST API URL capability with application path and request expressions
- Minor: Added --path option in vv to specify application path for REST requests
- Minor: Added PUT, PATCH, DELETE, OPTIONS and any arbitrary request methods support
- Minor: Added REST to multitenant SaaS example
- Minor: Added request-body and payload/payload-length to support any content type in call-web statement
- Minor: Added content-type to call-web statement
- Minor: Added request method to call-web statement
- Minor: Added content-type to get-req statement
- Minor: Added request method to get-req statement
- Minor: Added header clause to get-req statement
- Minor: Added p-path statement for building links and forms for REST and normalized URLs
- Minor: Added path clause to get-app statement
- Minor: Added environment variables to database configuration files for easier and safer deployment
- Minor: Added support for SCRIPT_NAME and PATH_INFO environment variables for web and command-line programs
- Major: Renamed post clause to request-body in call-web, and headers to response-headers
- Release: Added a number of documentation articles for new features in this release
- Release: Refactor variable space in generated code and vv to avoid conflicts with environment
- Release: Added JSON example
Vely release notes for 13.0.10
- Release: several bugs in examples fixed
- Release: documentation update, especially with new example format
- Release: OpenSUSE support is now for Tumbleweed
- Release: update package files
- Release: additional tests for exit-code
Vely release notes for 13.0.2
- Release: fixed bug where exit-code sometimes does not set command line program exit code correctly
Vely release notes for 13.0.0
- Major: changed Vely file extension from .v to .vely for better source file classification
- Major: simplified command line interface: vv no longer accepts app name; it automatically uses app name specified by vf when app created
- Release: fixed cgi test install; handling curl 56 errors in tests
- Release: added multitenant SaaS example
- Release: fixed bug with regex SIGSEGV when cache is used across multiple requests
- Release: fixed bug with random-string where it didnt allocate memory for result
- Release: fixed a bug where all execs had debug info stripped
Vely release notes for 12.1.0
- Minor: fully automatic inclusion of any needed library based on the statements used. Removed --lib option in vv as it is no longer necessary.
- Minor: added get-req data clause and set-req statement for global request data.
- Release: production binary now stripped for a faster loading.
- Release: enforce that no semicolon after statements permitted.
- Release: fixed docker test, added tests for get-req, set-req, auto-lib inclusion.
Vely release notes for 12.0.0
- Minor: add JSON parsing support (new-json, read-json, delete-json).
- Minor: add UTF8 support for JSON use (json-utf8, utf8-json).
- Minor: add hash table support (get-hash, new-hash, purge-hash, read-hash, resize-hash, write-hash).
- Major: rework FIFO support (new-fifo, purge-fifo, read-fifo, rewind-fifo, write-fifo).
- Minor: add query-specific error handling: on-error-continue, on-error-exit.
- Minor: web cookies can be now be set after out-header.
- Release: add web functionality to use query string with POST request, whether its MIME or POSTFIELD method.
- Release: add cache to match-regex for a much faster performance.
- Release: add p-dbl for double C type print out.
- Release: add delete clause to split-string.
- Major: fix Regex pattern matching bug for backreferences substitutions.
- Release: fix copy-string to allow an option to assign back to itself.
- Release: add -t option to vv to show latest trace files for debugging a given application.
- Minor: add column-names, column-count, column-data to run-query statement and removed those as standalone statements.
- Release: run-prepared-query did not syntax-highlight its clauses in vim.
- Major: use @ instead of database in database constructs as a simplification.
- Major: simplify run-query by removing the need to name query statements.
- Major: rename trace to trace-run to be in line with Vely's naming convention.
- Major: rename match-pattern to match-regex for a more descriptive statement.
- Major: rework query support to have less statements and be simpler: removed exec-query, define-query, start-query, loop-query, moved all existing functionality to run-query for more efficient SQL queries.
- Major: rename web-call to call-web to be in line with Vely's naming convention.
- Major: rename web-encode to encode-web to be in line with Vely's naming convention.
- Release: fix issue with comment in verbatim being highlighted.
Vely release notes for 11.0.11
- Release: dockerfile example corrected
- Release: nginx examples corrected for location statement
Vely release notes for 11.0.9
- Release: emit error from vv if no action specified
- Release: emit error from vv if application specified does not exist
- Release: emit error from vv if -q is not used, but developer options specified
- Release: rename constructs to statements as it is more accurate
- Release: add tests
- Release: clean up space before running tests
Vely release notes for 11.0.0
- Minor: added POST to web-call, which can now issue POST calls, such as sending files like an HTML form. Also added custom HTTP request headers for web-call.
- Release: set proper exit code for vf when it exits.
- Minor: allow URL parameters with POST, which is technically allowed by the standard.
- Minor: starting vf when already running now produces appropriate message and exit code.
- Major: replace C vely_header structure with headers clause in out-header and send-file constructs, also in use with web-call.
- Release: fixed archlinux test when apache start/stop does not work properly.
- Release: document features in this release and added 30+ functional tests.
Vely release notes for 10.4.36
- Release: fixed docker example, added 2 missing files
Vely release notes for 10.4.35
- Release: fixed bug: vf server does not start if the client that invoked it dies. Fixed issue with premature vf server termination.
- Release: trimmed dependencies from packages.
- Release: included cgi-fcgi for testing, debugging and scripting.
Vely release notes for 10.4.26
- Release: additional logging for vf
- Release: add Manjaro and other Arch-like distros
- Release: add Archlinux support
- Release: vv -m fails if current directory has non alphanumeric chars
- Release: smaller install file
- Release: apache killed with sigwinch due to systemd bug, use apachectl
Vely release notes for 10.4.20
- Release: additional vf logging
- Release: new release system
Vely release notes for 10.3.30
- Release: Added vim syntax highlighting
- Release: Updated docker test
Vely release notes for 10.3.18
- Release: added additionsl ARM64 builds
- Release: additional tests
Vely release notes for 10.3.0
- Minor: added raspberry PI/aarch64 builds
- Release: documentation updates
- Release: packaging of functional tests is now of consistent byte size across platforms
- Release: bug fix: in type conversion for file size, which failed on aarch64
- Release: do not execute selinux setup twice in rpm install
Vely release notes for 10.1.0
- Release: fixed a number of tests
- Release: fixed occasional issues with vf not seeing termination of a child
- Release: fixed vf to clear command in shared memory if server was not there or died
- Minor: added redhat 9 (Beta) build
- Release: fixed to properly terminate during fcgi accept for the first time
- Minor: added ubuntu 22 (Beta) build
- Minor: added OpenSSL 3 support
- Minor: changed default compression for package control and data to xz
Vely release notes for 10.0.0
- Major: added SQLite support
- Major: added prepared queries support
- Minor: added support for OpenSSL 3
- Minor: added support for command-line programs
- Minor: added support for CGI programs
- Minor: added exit-code construct
- Minor: added silent-header construct
- Minor: added Ubuntu 22 as release platform
- Release: new tests added
- Release: moved man pages to more appropriate 2vv section
- Release: bug fix: curl resources not always released after web-call
- Release: bug fix: avoid memory violation when TERM signal sent to FastCGI program
- Release: bug fix: vf to properly handle child termination
- Release: bug fix: free db query result in all cases
- Release: added valgrind to tests
- Release: define subclause to validate C variable name
Vely release notes for 9.1.0
- Minor: prepared statements
- Release: bug: db connection NULL when db escaping input
- Release: bug: prep stmts do not work when starting and stopping db server
- Release: bug: sql statement incorrect for cached prepared statement
- Minor: no unnecessary copying of field data in queries
- Minor: feature: added length to query-result construct
- Minor: added hex-encode/decode constructs
- Release: bug: loop-query would have undefined elements if start-query not run
- Minor: added timeout to web-call
- Release: bug: fixed memory leak in prep stmt
- Release: bug: curl call cleanup failure
Vely release notes for 9.0.0
- Major: simplified db config files
- Minor: remove html from spec
- Release: fixed bug with sending http status; more tests
- Major: renamed vely handler to dispatcher; added socket location to mariadb tests
- Minor: added vely docker file
- Release: fixed bug in vf:socket would retain privs from old run; new version of test for simpler vely