Smap NEWS -- history of user-visible changes. 2021-07-09 See the end of file for copying conditions. Please send Smap bug reports to Version 2.1.90 (git) * Modules are loaded using plain dlopen/dlsym * New dispatch condition: in The condition "ARG in NAME", where ARG is "key" or "map" and NAME is a database name evaluates to true if the lookup of ARG in the database NAME gives positive result, i.e. a response beginning with the word "OK". * New module: getent * New module: lua * Modules can indicate per-database capabilities The smap_module structure has a new member, smap_dbcap, which can be called in order to determine capabilities provided by a particular database: int (*smap_dbcap)(smap_database_t dbp) This function is used when the smap_capabilities value has the SMAP_CAPA_DBCAP flag set. The function returns actual database capabilities as a bitmask. Notice, that smap_dbcap is called and the returned value consulted only if the module reports a particular capability. I.e. in the presence of SMAP_CAPA_DBCAP, the SMAP_CAPA_QUERY and SMAP_CAPA_XFORM capability mean that a module can provide a particular capability, but the actual database is not required to do so. Version 2.1, 2021-07-01 * Support for Guile 2.2 * Bugfixes * Improved testsuite Version 2.0, 2015-06-20 * new module: ldap * mailutils: Requires 2.99.98 or later Version 1.1, 2010-07-03 * New configuration statements - prepend-load-path Adds specified path at the beginning of the current load path - append-load-path Sinonym to `load-path' * `Key' condition New dispatch condition `key' compares key with the given pattern. As with `map' three kinds of comparison are supported: literal, globbing pattern and regular expression. * Transform capability Transform capability is an optional feature provided by some databases. It allows for transforming requests following certain rules. Transforms are requested in dispatch rules, e.g.: dispatch key like <*> transform key dequote This rule applies to any request which has its key enclosed in angle brackets. It applies the transformation method `dequote' (which should be defined prior to this statement) to the key. After the method returns, scanning dispatch rules is resumed with the modified key value. * New module `sed' This module allows to modify queries using sed-like expressions. For example, the declaration of the `dequote' database, used in the example above, could be: # Load the sed module module sed sed # Dequote database: removes angle brackets surrounding the argument database dequote sed 's/<(.*)>/\1/' * New module `mysql' Provides an interface to MySQL DBMS. * New module `postgres' Provides an interface to PostgreSQL DBMS. Version 1.0, 2010-06-19 * First release ========================================================================= Copyright information: Copyright (C) 2006-2021 Sergey Poznyakoff Permission is granted to anyone to make or distribute verbatim copies of this document as received, in any medium, provided that the copyright notice and this permission notice are preserved, thus giving the recipient permission to redistribute in turn. Permission is granted to distribute modified versions of this document, or of portions of it, under the above conditions, provided also that they carry prominent notices stating who last changed them. Local variables: mode: outline paragraph-separate: "[ ]*$" eval: (add-hook 'write-file-hooks 'time-stamp) time-stamp-start: "changes. " time-stamp-format: "%:y-%02m-%02d" time-stamp-end: "\n" end: