Hi,
Logtalk 3.98.0 is now available for downloading at:
https://logtalk.org/
This is a major library-focused release: many new libraries across AI/ML, data formats, networking/protocols, utilities, and data structures; plus compiler/runtime correctness fixes and tooling/documentation improvements.
New libraries by category/area
==============================
AI / ML / optimization
----------------------
- "c45", "random_forest", "ada_boost"
- "knn", "naive_bayes", "nearest_centroid"
- "isolation_forest"
- "simulated_annealing"
Knowledge representation / logic
--------------------------------
- "datalog"
Data structures / combinatorics
-------------------------------
- "deques"
- "graphs"
- "subsequences", "combinations", "permutations"
Data formats / serialization
----------------------------
- "avro", "protobuf"
- "yaml"
- "json_ld", "json_rpc", "json_schema"
- "base32", "base58", "base85"
Networking / IPC / distributed systems
--------------------------------------
- "process" (compatibility)
- "sockets" (high-level compatibility)
- "memcached" client
- "amqp" (0-9-1)
- "stomp" client
- "linda" coordination model
- "mcp_server"
CLI / text / language utilities
-------------------------------
- "command_line_options"
- "stemming"
- "string_distance"
- "strings" (compatibility)
- "url"
Geo / time / identifiers
------------------------
- "geospatial"
- "time_scales"
- "cuid2", "ksuid", "nanoid", "snowflakeid"
Contributions
-------------
- "iso8601": added "duration_string/2", "interval_string/2"
Changed libraries by category/area
==================================
Collections / data structures
-----------------------------
- "dictionaries": splay-tree implementation; new "lookup/4" returning splayed tree.
- "sets": treap implementation.
- "heaps": pairing heap implementation; fixed "valid/1" for binary heaps.
- "listp"/"list"/"difflist": added "take/4".
Randomness / IDs / stats / math
-------------------------------
- "random": added SplitMix64, Xoshiro*, WELL512a support.
- "uuid": added UUIDv7 support, "uuid_nil/1", "uuid_max/1" (RFC 9562).
- "statistics": added percentile/quartiles/correlation/moments/error metrics and more.
- "natural": added "factorial/2", "binomial/3".
- "numberlist": added "linear_regression/4".
- "dates": added substantial date/time conversion and duration predicates.
- "arbitrary" + "types": added "text" and "text(CharSet)"; backend compatibility/portability fixes.
Data formats / parsing
----------------------
- "csv" and "tsv": optional comment support.
- "json" and "json_lines": fixed unused dependencies.
Functional/error-handling abstractions
--------------------------------------
- "expecteds": many new conversion/mapping/composition predicates.
- "optionals": many new conversion/mapping/composition predicates.
- "expecteds" + "optionals": added QuickCheck shrinking support.
- "validations": introduced as complementary accumulated-error model to "expecteds" fast-fail style.
Networking / integration
------------------------
- "redis": added common operation wrappers; updated to use new "sockets" compatibility library.
Portability cleanups
--------------------
- Reduced portability warnings in arbitrary, os, random, types and tools loading paths on specific backends.
Non-library notable changes
===========================
- Compiler/runtime: stricter create_object/4 and create_category/4 parameter checks; multiple fixes for include/1, initialization/1, and predicate_property/2 runtime-bound cases.
- Tools: new help::man/1; tester/doclet scripts now print runtime and improved formatting/accuracy.
- IDE support: VSCode test results now include per-entity and per-predicate coverage data.
For details and a complete list of changes, please consult the release notes at:
https://github.com/LogtalkDotOrg/logtalk3/blob/master/RELEASE_NOTES.md
You can show your support for Logtalk continued development and success at GitHub by giving us a star and a symbolic sponsorship:
https://github.com/LogtalkDotOrg/logtalk3
Happy logtalking!
Paulo
-----------------------------------------------------------------
Paulo Moura
Logtalk developer