Logtalk 3.102.0 released #262
Unanswered
pmoura
asked this question in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Logtalk 3.102.0 is now available for downloading at:
https://logtalk.org/
This is a major library-focused release featuring new natural-language processing, machine learning, numerical analysis, optimization, cryptography, networking, data interchange, identifier, and data structure libraries. It also significantly extends the MCP server and cryptography libraries, updates Unicode support, adds compiler and tool linter checks, and includes important HTTP reliability and portability fixes.
New libraries by category/area
Text processing / natural language processing
•
lemmatizationfor extensible word lemmatization•
n_gramsfor generating and counting token and character n-grams•
stop_wordsfor stop-word enumeration, membership testing, and filtering, with lists for six languages•
tokenizationfor extensible tokenization and sentence splitting•
text_normalizationfor Unicode-aware text cleaning and normalization•
text_vectorizationfor binary, count, term-frequency, and TF-IDF sparse vectorization•
language_detectionfor extensible text language detectionNetworking / protocols / data interchange
•
http_oauthfor OAuth 2.0 Bearer request protection, protected-resource metadata, token introspection, and JWT verification•
http_ssefor HTTP Server-Sent Events•
uri_templateimplementing RFC 6570 URI Templates•
mqttimplementing an MQTT 5.0 client•
smtpimplementing a portable SMTP/ESMTP client•
bsonimplementing the BSON 1.1 binary interchange format•
gpximplementing the GPX 1.1 GPS data interchange format•
byte_orderfor signed and unsigned fixed-size integer conversions in big- and little-endian byte orderCryptography / security
•
pasetoimplementing Platform-Agnostic Security Tokens version 4•
block_ciphersproviding portable AES-128, AES-192, and AES-256 implementations•
cmacimplementing the NIST SP 800-38B Cipher-based Message Authentication CodeMathematics / numerical methods / optimization
•
integer_partitionsfor generating and querying integer partitions•
univariate_distributionsfor normal distribution sampling, density, log-density, cumulative distribution, and quantiles•
multivariate_distributionsfor multivariate normal and Student's t distributions, logistic-normal sampling, and Mahalanobis distances•
linear_programmingfor immutable construction and solving of small linear programs•
numerical_analysisfor root finding, quadrature, interpolation, cubic splines, and non-stiff initial-value ODE solvers•
local_optimizationfor common box-constrained solvers•
constrained_optimizationfor common equality- and inequality-constrained solvers•
ant_colony,genetic_algorithm,differential_evolution,particle_swarm_optimization, andtabu_searchmetaheuristic optimization librariesMachine learning / artificial intelligence
•
association_rule_minerfor deriving confidence- and lift-scored rules from frequent itemsets and sequential patterns•
mlp_classifierimplementing a multi-layer perceptron classifier for continuous, categorical, and mixed tabular datasets•
one_class_svm_anomaly_detectorimplementing one-class SVM anomaly detection•
spectral_clustererimplementing normalized spectral clustering•
svr_regressionimplementing support vector regression with linear, polynomial, and radial basis function kernels•
tsne_projectionandumap_projectionfor nonlinear dimension reduction•
trueskill_rankerimplementing TrueSkill ranking for ordered multiplayer matches•
ripple_down_rulesimplementing SCRDR, MCRDR, and GRDR rule systemsUtilities / identifiers / data structures
•
crontabfor parsing and generating user and system crontab files•
lru_cachesimplementing immutable least-recently-used caches•
sqidsfor short, obfuscated, URL-safe encodings of non-negative integer lists•
typeidfor type-safe, K-sortable, globally unique identifiers•
triesimplementing prefix trees associating complete strings with valuesChanged libraries by category/area
Cryptography / hashing
•
crypto: added Ed25519 signatures, X25519 key agreement and authenticated ephemeral channels, XChaCha20-Poly1305 authenticated encryption, and bcrypt b2 support•
crypto: fixed PBKDF2 conformance with RFC 8018•
hashes: added generalized BLAKE2 functions accepting key and digest-size parameters•
hmac: documented BLAKE2 support and added HMAC-BLAKE2b and HMAC-BLAKE2s tests•
http_authenticate: updated for bcrypt b2 supportMCP
•
mcp_server: added support for the 2025-11-25 and 2026-07-28 specifications•
mcp_server: added completions, resource templates, OAuth, MCP Apps, optional output schemas, and schema overrides•
mcp_server: improved reporting of tool-call failures and separated data-layer specifications from transports•
mcp_server: removed support for the deprecated 2025-03-26 specificationHTTP / networking
•
http_process_transport: added fullsocatsupport and configurable connection helper executables•
http_process_transportandsockets: fixed connection teardown ordering to preserve buffered output• HTTP transports: fixed per-connection error handling so listeners continue serving subsequent connections
• HTTP server and file-serving libraries: fixed partial-request disconnects and symbolic-link document roots
•
http_process_transport: fixed anncatshutdown race and OpenSSL command handling; OpenSSL 3.0.0 or later is now required•
http_router: now implementshttp_handler_protocolas a marker protocol•
http_parametersandhttp_router: now use standard domain errors for parameter validationMathematics / ranking / text
•
linear_algebra: defined consistent empty-vector and zero-width matrix semantics•
ranking_protocols: added ordered multiplayer datasets with ranked teams and weighted player participation•
thurstone_mosteller_rankerandtrueskill_ranker: now reuse shared distribution and normal-quantile functionality•
string_distance: added Caverphone and NYSIIS encodings and improved Metaphone and Double Metaphone•
list: improved the performance ofnth0/3andnth1/3•
random: fixed several API declarations, formulas, validations, and edge casesUnicode / types / portability
•
unicode_data: updated to Unicode 17.0.0 with reproducible generation, shared ranges, optional compatibility views, and preserved Unihan variant solutions•
typesandarbitrary: added theopen_probabilitytype•
amqp,character_sets,hashes,ieee_754, andprotobuf: updated to use the newbyte_orderlibrary•
socketsandjwt: improved portability across supported backendsNew and updated tools
Diagnostics / linting
•
ports_profiler: added diagnostics for unexpected non-determinism in predicates declared with deterministic modes•
lgtunit: added a linter warning for invalid^^assertion/1-2goals•
lgtunit: now expands test assertions to avoid false dead-code warnings•
dead_code_scanner: now detects unused built-in predicates referenced throughuses/2anduse_module/2directives•
tutor: updated with explanations for the new compiler linter warningsHTTP server automation
• Added
logtalk_http_server.shandlogtalk_http_server.ps1for starting servers using the Logtalk HTTP libraries with ECLiPSe, SICStus Prolog, SWI-Prolog, Trealla Prolog, and XVMCompiler, runtime, and backend updates
• Added
logtalk_linter_hook/7support for linting super calls and messages to self• Added warnings for cuts followed by goals that throw errors and for
once/1goals used as an if-then-else or soft-cut condition• Fixed the
arithmetic_expressionsflag• Fixed the ordering of
initialization/1directive goals found in included files• Fixed false missing-predicate reports from
logtalk_make(check)for complementing categories• Updated Trealla Prolog tabling and linter support; Trealla Prolog 3.9.64 or later is now required
• Updated SWI-Prolog proprietary predicate metadata used by the linter
Documentation, examples, and other updates
• Added a Handbook section on third-party library dependencies and improved manual installation instructions
• Added examples for HTTP Server-Sent Events, MCP servers, and MCP Apps
• Updated the
birds_mcpexample for the 2026-07-28 MCP specification• Improved multi-threaded examples to avoid possible random-number generation races
• Added negative-duration support to the
iso8601contribution• Updated the portable Docker image and VSCode code-navigation support
Thanks to Andrew Davison for the Trealla Prolog patch, performance and networking reports, and multi-threading analysis, and to Lindsey Spratt for the
restlibrary performance fix.For details and a complete list of changes, please consult the release notes at:
https://github.com/LogtalkDotOrg/logtalk3/blob/master/RELEASE_NOTES.md
All reactions