This version mainly fixes several bugs related to list families management.

It also introduces a change related to LDAP: Default cryptographic protocol of LDAP over SSL/TLS became TLSv1. Note that SSLv2 and SSLv3 are no longer recommended due to their weakness.
The following default changes are introduced in Sympa to reflect this new defaults:

List config: The default of “ssl_version” parameters in “include_ldap” paragraph and so on became “tlsv1”.

ldap_alias_manager.pl: New parameter “ldap_ssl_version” to specify protocol version which defaults to “tlsv1” was introduced. On earlier releases it was fixed to “sslv3”.

Tens of thousands users around the world can proudly say: “Yes, I use Sympa. It's easy because it's in [Put you own language here]”.

Do you know why? That's because some people around here did spend some time translating Sympa. Doing so, they allowed a lot of people to feel the joy of open source. Coders create tools, indeed, but translators bring these tools to the world.

Did you never dream to be as cool as these guys?

Well, you can.

We use the Pootle translation tool, which allows you to easily edit online Sympa translation for your language. If you feel like contributing to Sympa but you don't like/know Perl, well spending a few minutes translating a few strings on this server is the way to go!

New translations are added to the Sympa distribution each time we tag a new version.

It also introduces an experimental feature: running multiple sympa_msg.pl processes on a single server. This allows to rapidly absorb a large incoming messages flow. The number of sympa_msg.pl processes is controlled by the “incoming_max_count” sympa.conf parameter.

Two changes are introduced:

sympa_msg and sympa_automatic processes will have their name appear in logs in replacement of “sympa”.

digest will be store as separate files for each message instead of a single RFC934 file. Though digest will retain the capability to be sent as RFC934-compliant compilations, it will ease their manipulation.

This version mainly fixes a few bugs. Mainly one of them leading to infinite dependency loops in CPAN. Install on a fresh server proved the problem to be solved.

A change is introduced in this version: sympa.pl was splat into three programs: sympa.pl command-line utility, sympa_msg.pl daemon and sympa_automatic.pl daemon. Make sure you Sympa init script is updated after upgrade. It does not change anything to your scripts using sympa.pl, as we still use the same script name for command line.

This version mainly fixes a few bugs. Thanks to the beta testers for finding them - especially B. Eliassen for the install bugs.

It also introduces the following changes:

create_db scripts for MySQL, PostgreSQL and SQLite were dropped. Use sympa.pl –health_check instead.

Tracking: DSN and MDN are no longer stored into database table: They are stored into bounce directory by each list. Additionally, notifications may be shown in a separate viewbounce page, instead of loading all notifications at the time of showing tracking index page.

This version introduces a great deal of new functionnalities. Consequently, we can only highlight the main improvements in this announce.

To our numerous contributors: if your contribution does not appear in this announce, it does not mean we consider it less important. Actually, for some users, it can even be the key feature that will encourage them to switch to 6.2. But we prefer a reasonnably short announce that will be read rather than an exhaustive list of features. So we focused on:

what is the largest change in code or Sympa behaviour,

what represents a point of attention during upgrade

what is the most visible

Please refer to the release notes above for a full list of new functionnalities.

A great contrib from French army DGA Information Superiority (Guillaume Colotte and laurent Cailleux) The tracking feature is a way to request DSN or DSN + MDN when sending a message to each subscribers. In that case, Sympa (bounced.pl) collect both DSN and MDN and store them in a new table “notification_table”.

Then, for each message, the list owner can display which subscribers has displayed, received or not received the message. This can be used for some important lists where list owner need to collect the proof of reception or display of each message. This page is accessible via archive (button “tracking”).

This feature is controled by 2 list parameters see “tracking” paragraph in “edit list config”/bounce.

One of the reasons why this new version took so long to be issued is that we tried to move all spools in database. Testing of this change in actual conditions proved it to be coopletely unscalable. we then had to revert our changes. In addition, a lot of people had recurring trouble with the current bulk spool tables, dut to limits showing in fields length or n RDBMS availability.

Spool for bulk sending no longer depend on database tables: It is based on filesystem.
Packets and messages stored in database by earlier version of Sympa should be migrated using upgrade_bulk_spool.pl utility. (See upgrade instructions for when and how to run this utility).

These data are regularly aggregated by the task_manager, in order to make them anonymous and to have easily displayable data. The aggregated data are available to users, owners and listmaster in their respective interfaces. Only relevant data are presented. They are displayed in graphs to help people see trends and activity peaks. To be able to display these graphs, you must enable the static_content URL. In addition, the stats are accessible through the web interface, so if you customized your web templates, you must update them to include the links and template processing.

The most visible is probably the new web interface skin. Contributed by the Massey university, it is nicer, simpler, responsive and retains all the customization capabilities that make Sympa adaptable to your needs. Many thanks to Patrick Rynhart and his colleagues for this great contributions! (in addition, outputs by WWSympa have HTML5 document type definitions).

Exclusion table was just a display of the users excluded. list owners could not do anything to restore subscriptions; This page is now a form, similar to the review page, which allows to restore users subscriptions.

Added “Add subscriber” button to modindex page if the sender is not subscribed. It may be useful because users need not know about SUB command and sympa command address. The buttons appear only when Web user is the list owner.

The “Customizing” link was moved from main list admin to list config sub section as list related text files are in a way list configuration parameters as well.

[Submitted by Evoltech, Riseup] Better password validation. When the user requests change of password via WWSympa or SympaSOAP, new password may be checked its strength. New parameter password_validation may be used to customize policy of password validation. See help text of the parameter for more details.

[Submitted by M. Overmeer, overmeer.net, funded and led by Surfnet, http://www.surfnet.nl] Full VOOT 2.0 protocol support. VOOT is an opensocial subset to manage group membership. full details on this IETF draft here: http://openvoot.org. This feature enables Sympa to be both group provider and consumer in the VOOT protocol. VOOT in Sympa uses both Oauth 1.0 and 2.0 for authorization from and to a peer in the VOOT protocol.

The soap server now exposes full review with owners, editors and gecos to list masters and list owners.

This feature allows to package code to be used in templates. It enables foreign data integration in Sympa's UI and emails, user specific UI enhancement and much more! Integrating user targeted data retreived through a call to a webservice becomes possible in a simple way, automatically adding info from a database to outgoing emails as well ! Further details here : https://www.sympa.org/manual/templates_plugins

Custom actions are used to run specific code and/or display user defined templates. They can be executed in list or global context (it is up to you to decide what to do in both cases). Previously, a custom action was a simple TT2 template added to the web interface. It could only display data, not process them. They were improved to allow greater expressiveness. You can now develop a perl module to process the data passed to your custom action.

Warning: AFTER UPGRADING TO 6.2, ANY PRE-EXISTING CUSTOM ACTION MUST BE MOVED TO THE RELEVANT CUSTOM_ACTION DIRECTORY TO KEEP WORKING. Check upgrade instructions.

Sympa::Message::Plugin provides hook mechanism to intervene in processing by Sympa. Each hook may modify messages or may break ordinary processing. This functionnality is quite new and still experimental. Please read the perldoc of Sympa::Message::Plugin for more details about how to create and enable hooks in message handling.

If you have no idea what a “perldoc” or a “Sympa::Message::Plugin”” are, you should not try to use this functionnality. Ask a Perl developer nearby instead.

Custom attributes can now be provisionned using external data sources, the same way as email addresses. For now, only SQL or LDAP datasources are supported. To use this feature, you need first to define the custom attributes as previously. This attribute must have the same name as the fields used in your queries.

For example, if your query returns the user name in a field called “u_name”, then your custom_attribute must also be called “u_name”.

In several organizations, nightly maintenances make the datasources unavailable during some period of times. a new sub-parameter in data sources definition allow to prevent Sympa from trying to synchronize list members with these sources during a defined time range.

A recurrent question regarding list inclusion was to be able to extract not the whole list, but only a subset. It is now possible.

include_list parameter value can now look like this:

<listname> filter <filter_condition>

filter_condition is a TT2-compatible condition expression, it inherits current potential subscriber properties such as email, gecos, custom_attributes, etc. Tests like isSubscriberOf, isEditorOf and isOwnerOf are also available.

New list parameter: 'member_include'. This parameters allows to defined .incl files to include list members, the same way it is done for list admins. This grants extended flexibility in datasources, allowing list owners to tweak their own data sources without accessing to the actual details of the query made to gather email addresses.

New sympa.conf config parameter “sender_headers” to specify header fields by which message sender is detected. This is a enhancement to S. Shipway's improvement. RFC: What is the reasonable default for this parameter?

Behavior of one time ticket lock-out is configurable. Two new robot parameters were introduced:

one_time_ticket_lockout:

“one_time” won't allow access again. This is previous behavior.

“remote_addr” will lock the ticket on remote address accessed at first time.

New 'auth_service_friendly_name' in auth.conf CAS paragraph. This allows to set a display name for the CAS server, without the constraints that 'auth_service_name' entry has ([\w\-\.]).

Changes of list config parameters on archiving. New parameter “process_archive” controls archiving. The default is “off”: To enable archiving, it must be set to “on” explicitly. OTOH even if archiving is disabled by setting it “off”, past archives will be kept and accessible according to access settings.

Renamed parameters. web_archive.access to archive.web_access; archive.access to archive.mail_access; web_archive.quota to archive.quota; web_archive,max_month to archive.max_month. Though config files of exisiting lists will be updated during upgrading process, listmasters are highly recommended to check new configuration. Customized scenarios, list creation templates and edit_list.conf will never be upgraded automatically. They should be modified manually, if neccessary.

Now messages sent via WWSympa will be stored in bulk spool, directly if they are outbound messages. On earlier releases outbound messages were injected in msg spool with special checksum. A program upgrade_send_spool.pl to migrate messages with old format is proveded. Check upgrade instructions.

Default config
location is now /etc/sympa/ (or $sysconfig/sympa/) instead of /etc/. This solves the problem of config file lock creation being denied when trying to read the binary version of the config file at startup.

WARNING : to upgrade the config location one MUST run sympa.pl –upgrade_config_location before any other upgrading operation. Check upgrade instructions.

Now you can define a “scenari” directory in the lists family directory. These scenarii will be available for lists instantiated from this family. The “scenari” directory must be put directly in the family directory, not in the overall “families” directory. For example, if you want to define scenarii specific to the “staff” family, you must define a scenari directory in the /home/sympa/etc/families/staff/ directory. Not in /home/sympa/etc/families/.

Until now, only the config.tt2 file was parsed when the family was instantiated, thus producing the lists' config file. As a lot of other files can be used to configure a list (footer, header, etc.), we added the possibility to instantiate these files as well.
The list of files parsed (in addition to config.tt2) when instantiating a family are defined in a new (sympa.conf and robot.conf) parameter called 'parsed_family_files'. This parameter must contain a comma-separated list of file names. If these files exist, with the '.tt2' extension added to their name, in a family, they will be parsed and added to the list directory.

The default value of the parameter is:
'message.footer,message.header,message.footer.mime,message.header.mime,info'.

These files are updated in existing lists when a family is instantiated. note that it will overwrite any other customization.

This feature existed in 6.1 but it deserved a little more advertisment.

[Requested and funded by the CNRS] Automatic lists can now be manipulated through the sympa web interface, in a “user friendly” form. This is merely a web layer around the general autmatic lists feature. This feature is fully documented here: https://www.sympa.org/manual_6.2/user_friendly_autolists Additionnally, it is now possible to unsubscribe to all the lists of a given family in two clicks.

Widely extended logs when the log_module parameter is activated with the value 'scenario': all scenario results are evaluated.
Remember that extended logs can be limited by the IP or the email of the user, using the 'log_condition' parameter. log_module and log_condition are now declared in sympa.conf instead of wwsympa.conf.
Remember these parameters syntax:

log_module: can take the value “scenario” - only.

log condition: takes a character string as value. The form is “ip=<an.ip>,email=<an_email>”. You can put ip alone, email alone or both, with the comma-separated form.

Listmaster notifications can now be grouped. If, for a specific robot, several notifications are issued within a short period of time with the same operation code only the first ones are sent, the next ones are stacked. The stacking ends when no notifications are issued anymore, or when the first one is too old. All the stacked notifications are then sent as attachments of a single message. Internal settings :
Stack if more than 3 notifications with the same operation code are issued for the same robot - Send stacked notifications if no new one satisfying the condition above was received for more than 30 seconds - Send stacked notifications if the oldest one was issued more than 60 seconds ago

sympa.pl –health_check checks config files, database connection and structure, and data structure version. It is invoked at first time in sympa init script and reports errors if any. Instead, daemons such as sympa.pl no longer check database structure nor data version.

File extension of lock files are changed from ”.lock” to ”.LOCK”, because lowercase name can conflict with domain part in the future.

Sympa 6.0.9 is a single patch release. It introduces the DMARC protection to the 6.0.9, helping listmasters fight the side effects of DMARC without having to upgrade to 6.1 (which we still strongly recommend )

In addition to boosting our ego (Hi mom! I'm on the interwebs!) the speech is a good sneak peek at the main Sympa features and gives an insight on how the Sympa project works and what we plan for the future.