[CalendarServer-changes] [5456] CalDAVTester/trunk/scripts/server

source_changes at macosforge.org source_changes at macosforge.org
Fri Apr 9 10:55:40 PDT 2010


Revision: 5456
          http://trac.macosforge.org/projects/calendarserver/changeset/5456
Author:   cdaboo at apple.com
Date:     2010-04-09 10:55:38 -0700 (Fri, 09 Apr 2010)
Log Message:
-----------
Merge CalDAV & CardDAV tests into one.

Modified Paths:
--------------
    CalDAVTester/trunk/scripts/server/serverinfo-template.xml
    CalDAVTester/trunk/scripts/server/serverinfo.xml

Removed Paths:
-------------
    CalDAVTester/trunk/scripts/server/serverinfo-carddav.xml

Deleted: CalDAVTester/trunk/scripts/server/serverinfo-carddav.xml
===================================================================
--- CalDAVTester/trunk/scripts/server/serverinfo-carddav.xml	2010-04-09 17:55:15 UTC (rev 5455)
+++ CalDAVTester/trunk/scripts/server/serverinfo-carddav.xml	2010-04-09 17:55:38 UTC (rev 5456)
@@ -1,649 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-
-<!DOCTYPE serverinfo SYSTEM "serverinfo.dtd">
-
-<!--
- Copyright (c) 2006-2010 Apple Inc. All rights reserved.
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- -->
-
-<serverinfo>
-	<host>localhost</host>
-	<port>8800</port>
-	<authtype>basic</authtype>
-
-	<features>
-		<!--  Generic WebDAV extensions -->
-		<feature>COPY Method</feature>							<!-- COPY method -->
-		<feature>MOVE Method</feature>							<!-- MOVE method -->
-		<feature>Extended MKCOL</feature>						<!-- Extended MKCOL -->
-		
-		<!-- ACL related -->
-		<feature>ACL Method</feature>							<!-- ACL method -->
-		<feature>acl-principal-prop-set REPORT</feature>		<!-- ACL acl-principal-prop-set REPORT -->
-		<feature>principal-match REPORT</feature>				<!-- ACL principal-match REPORT -->
-		<feature>principal-property-search REPORT</feature>		<!-- ACL principal-property-search REPORT -->
-		<feature>principal-search-property-set REPORT</feature>	<!-- ACL principal-search-property-set REPORT -->
-
-		<!-- <feature>add-member</feature> -->			<!-- Add-member used to create resources -->
-		<feature>ctag</feature>							<!-- ctag extension -->
-		<feature>current-user-principal</feature>		<!-- current-user-principal extension -->
-		<feature>directory listing</feature> 			<!-- GET on collection -->
-		<feature>extended-principal-search</feature>	<!-- Extended principal-property-search REPORT extension -->
-		<feature>expand-property</feature>				<!-- Expand property REPORT -->
-		<feature>quota</feature>						<!-- WebDAV QUOTA -->
-		<feature>sync-report</feature>					<!-- WebDAV collection sync REPORT -->
-		<!-- <feature>well-known</feature> -->			<!-- well-known feature -->
-
-		<!-- CalDAV specific extension -->
-		<!-- <feature>caldav</feature>  -->				<!-- Basic CalDAV feature enabler -->
-		<feature>auto-accept</feature>					<!-- Auto-accept for rooms & locations -->
-		<feature>dropbox</feature>						<!-- dropbox extension -->
-		<feature>EMAIL parameter</feature>				<!-- Server normalizes cuaddress and adds EMAIL parameter -->
-		<feature>implicit-scheduling</feature>			<!-- CalDAV scheduling - implicit -->
-		<feature>maskuid</feature>						<!-- maskuid extension -->
-		<!-- <feature>partitioning</feature> -->		<!-- Partitioned server -->
-		<feature>private-comments</feature>				<!-- private-comments extension -->
-		<feature>private-events</feature>				<!-- private-events extension -->
-		<feature>proxy</feature>						<!-- calendar-user-proxy extension -->
-		<feature>proxy-authz</feature>					<!-- sudo user extension -->
-		<feature>schedule-changes</feature>				<!-- schedule-changes property extension -->
-		<feature>shared-calendars</feature>				<!-- Shared calendars extension -->
-		<feature>timezone-service</feature>				<!-- Timezone service extension -->
-		<feature>vavailability</feature>				<!-- VAVAILABILITY on inbox -->
-
-		<!-- CardDAV specific extension -->
-		<feature>carddav</feature>						<!-- Basic CardDAV feature enabler -->
-
-	</features>
-
-	<substitutions>
-		<substitution>
-			<key>$host:</key>
-			<value>http://localhost:8800</value>
-		</substitution>
-
-		<!-- relative path to caldav root-->
-		<substitution>
-			<key>$root:</key>
-			<value>/</value>
-		</substitution>
-
-		<!-- relative path to main principal collection-->
-		<substitution>
-			<key>$principalcollection:</key>
-			<value>$root:principals/</value>
-		</substitution>
-
-		<!-- the core recored type collections-->
-		<substitution>
-			<key>$uidstype:</key>
-			<value>__uids__</value>
-		</substitution>
-		<substitution>
-			<key>$userstype:</key>
-			<value>users</value>
-		</substitution>
-		<substitution>
-			<key>$groupstype:</key>
-			<value>groups</value>
-		</substitution>
-		<substitution>
-			<key>$locationstype:</key>
-			<value>locations</value>
-		</substitution>
-		<substitution>
-			<key>$resourcestype:</key>
-			<value>resources</value>
-		</substitution>
-
-		<!-- relative path to record type principal collections-->
-		<substitution>
-			<key>$principals_uids:</key>
-			<value>$principalcollection:$uidstype:/</value>
-		</substitution>
-		<substitution>
-			<key>$principals_users:</key>
-			<value>$principalcollection:$userstype:/</value>
-		</substitution>
-		<substitution>
-			<key>$principals_groups:</key>
-			<value>$principalcollection:$groupstype:/</value>
-		</substitution>
-		<substitution>
-			<key>$principals_resources:</key>
-			<value>$principalcollection:$resourcestype:/</value>
-		</substitution>
-		<substitution>
-			<key>$principals_locations:</key>
-			<value>$principalcollection:$locationstype:/</value>
-		</substitution>
-
-		<!-- relative path to calendars collection-->
-		<substitution>
-			<key>$calendars:</key>
-			<value>$root:calendars/</value>
-		</substitution>
-
-		<!-- relative path to record type calendar collections-->
-		<substitution>
-			<key>$calendars_uids:</key>
-			<value>$calendars:$uidstype:/</value>
-		</substitution>
-		<substitution>
-			<key>$calendars_users:</key>
-			<value>$calendars:$userstype:/</value>
-		</substitution>
-		<substitution>
-			<key>$calendars_groups:</key>
-			<value>$calendars:$groupstype:/</value>
-		</substitution>
-		<substitution>
-			<key>$calendars_resources:</key>
-			<value>$calendars:$resourcestype:/</value>
-		</substitution>
-		<substitution>
-			<key>$calendars_locations:</key>
-			<value>$calendars:$locationstype:/</value>
-		</substitution>
-
-		<!-- primary calendar name-->
-		<substitution>
-			<key>$calendar:</key>
-			<value>calendar</value>
-		</substitution>
-
-		<!-- inbox name-->
-		<substitution>
-			<key>$inbox:</key>
-			<value>inbox</value>
-		</substitution>
-
-		<!-- outbox name-->
-		<substitution>
-			<key>$outbox:</key>
-			<value>outbox</value>
-		</substitution>
-
-		<!-- dropbox name-->
-		<substitution>
-			<key>$dropbox:</key>
-			<value>dropbox</value>
-		</substitution>
-
-		<!-- notification name-->
-		<substitution>
-			<key>$notification:</key>
-			<value>notification</value>
-		</substitution>
-
-		<!-- freebusy name-->
-		<substitution>
-			<key>$freebusy:</key>
-			<value>freebusy</value>
-		</substitution>
-
-		<!-- server-to-server inbox-->
-		<substitution>
-			<key>$servertoserver:</key>
-			<value>$root:inbox</value>
-		</substitution>
-
-		<!-- timezone service-->
-		<substitution>
-			<key>$timezoneservice:</key>
-			<value>$root:timezones</value>
-		</substitution>
-
-		<!-- relative path to calendars collection-->
-		<substitution>
-			<key>$addressbooks:</key>
-			<value>$root:addressbooks/</value>
-		</substitution>
-
-		<!-- relative path to record type calendar collections-->
-		<substitution>
-			<key>$addressbooks_uids:</key>
-			<value>$addressbooks:$uidstype:/</value>
-		</substitution>
-		<substitution>
-			<key>$addressbooks_users:</key>
-			<value>$addressbooks:$userstype:/</value>
-		</substitution>
-		<substitution>
-			<key>$addressbooks_groups:</key>
-			<value>$addressbooks:$groupstype:/</value>
-		</substitution>
-
-		<!-- primary calendar name-->
-		<substitution>
-			<key>$addressbook:</key>
-			<value>addressbook</value>
-		</substitution>
-
-		<!-- directory name-->
-		<substitution>
-			<key>$directory:</key>
-			<value>$root:directory/</value>
-		</substitution>
-
-		<!-- user id for admin user -->
-		<substitution>
-			<key>$useradmin:</key>
-			<value>admin</value>
-		</substitution>
-		<!-- guid for admin user -->
-		<substitution>
-			<key>$useradminguid:</key>
-			<value>admin</value>
-		</substitution>
-		<!-- password for admin user -->
-		<substitution>
-			<key>$pswdadmin:</key>
-			<value>admin</value>
-		</substitution>
-
-		<!-- relative path to admin principal resource-->
-		<substitution>
-			<key>$principal_admin:</key>
-			<value>$principals_users:$useradmin:/</value>
-		</substitution>
-		<substitution>
-			<key>$principaluri_admin:</key>
-			<value>$principals_uids:$useradminguid:/</value>
-		</substitution>
-
-		<!-- user id for apprentice user -->
-		<substitution>
-			<key>$userapprentice:</key>
-			<value>apprentice</value>
-		</substitution>
-		<!-- guid for apprentice user -->
-		<substitution>
-			<key>$userapprenticeguid:</key>
-			<value>apprentice</value>
-		</substitution>
-		<!-- password for admin user -->
-		<substitution>
-			<key>$pswdapprentice:</key>
-			<value>apprentice</value>
-		</substitution>
-
-		<!-- relative path to apprentice principal resource-->
-		<substitution>
-			<key>$principal_apprentice:</key>
-			<value>$principals_users:$userapprentice:/</value>
-		</substitution>
-		<substitution>
-			<key>$principaluri_apprentice:</key>
-			<value>$principals_uids:$userapprenticeguid:/</value>
-		</substitution>
-
-		<!-- user id for proxy user -->
-		<substitution>
-			<key>$userproxy:</key>
-			<value>superuser</value>
-		</substitution>
-		<!-- password for proxy user -->
-		<substitution>
-			<key>$pswdproxy:</key>
-			<value>superuser</value>
-		</substitution>
-
-		<!--  Ten user accounts -->
-		<repeat count="10">
-			<!-- user id -->
-			<substitution>
-				<key>$userid%d:</key>
-				<value>user%02d</value>
-			</substitution>
-			<!-- user guid -->
-			<substitution>
-				<key>$userguid%d:</key>
-				<value>user%02d</value>
-			</substitution>
-			<!-- user name -->
-			<substitution>
-				<key>$username%d:</key>
-				<value>User %02d</value>
-			</substitution>
-			<!-- password -->
-			<substitution>
-				<key>$pswd%d:</key>
-				<value>user%02d</value>
-			</substitution>
-			<!-- relative path to user principal resource-->
-			<substitution>
-				<key>$principal%d:</key>
-				<value>$principals_users:$userid%d:/</value>
-			</substitution>
-			<substitution>
-				<key>$principaluri%d:</key>
-				<value>$principals_uids:$userguid%d:/</value>
-			</substitution>
-			<substitution>
-				<key>$principal%dnoslash:</key>
-				<value>$principals_users:$userid%d:</value>
-			</substitution>
-
-			<!-- relative path to user calendar home-->
-			<substitution>
-				<key>$pathprefix%d:</key>
-				<value>$calendars_uids:$userguid%d:</value>
-			</substitution>
-			<!-- relative path to user calendar-->
-			<substitution>
-				<key>$calendarpath%d:</key>
-				<value>$calendars_uids:$userguid%d:/$calendar:</value>
-			</substitution>
-			<!-- relative path to user inbox-->
-			<substitution>
-				<key>$inboxpath%d:</key>
-				<value>$calendars_uids:$userguid%d:/$inbox:</value>
-			</substitution>
-			<!-- relative path to user outbox-->
-			<substitution>
-				<key>$outboxpath%d:</key>
-				<value>$calendars_uids:$userguid%d:/$outbox:</value>
-			</substitution>
-			<!-- relative path to user dropbox-->
-			<substitution>
-				<key>$dropboxpath%d:</key>
-				<value>$calendars_uids:$userguid%d:/$dropbox:</value>
-			</substitution>
-			<!-- relative path to user notification-->
-			<substitution>
-				<key>$notificationpath%d:</key>
-				<value>$calendars_uids:$userguid%d:/$notification:</value>
-			</substitution>
-			<!-- relative path to user freebusy-->
-			<substitution>
-				<key>$freebusypath%d:</key>
-				<value>$calendars_uids:$userguid%d:/$freebusy:</value>
-			</substitution>
-			<!-- relative path to user alternate calendar home-->
-			<substitution>
-				<key>$pathprefixalt%d:</key>
-				<value>$calendars_users:$userid%d:</value>
-			</substitution>
-			<!-- relative path to user alternate calendar-->
-			<substitution>
-				<key>$calendarpathalt%d:</key>
-				<value>$calendars_users:$userid%d:/$calendar:</value>
-			</substitution>
-			<substitution>
-				<key>$email%d:</key>
-				<value>$userid%d:@example.com</value>
-			</substitution>
-			<!-- calendar user address of user-->
-			<substitution>
-				<key>$cuaddr%d:</key>
-				<value>mailto:$email%d:</value>
-			</substitution>
-			<substitution>
-				<key>$cuaddralt%d:</key>
-				<value>$principaluri%d:</value>
-			</substitution>
-			<substitution>
-				<key>$cuaddraltnoslash%d:</key>
-				<value>$principals_uids:$userguid%d:</value>
-			</substitution>
-			<substitution>
-				<key>$cuaddrurn%d:</key>
-				<value>urn:uuid:$userguid%d:</value>
-			</substitution>
-
-			<!-- relative path to user addressbook home-->
-			<substitution>
-				<key>$addressbookhome%d:</key>
-				<value>$addressbooks_uids:$userguid%d:</value>
-			</substitution>
-			<!-- relative path to user addressbook-->
-			<substitution>
-				<key>$addressbookpath%d:</key>
-				<value>$addressbooks_uids:$userguid%d:/$addressbook:</value>
-			</substitution>
-		</repeat>
-
-		<!--  Ten public accounts -->
-		<repeat count="10">
-			<!-- user id -->
-			<substitution>
-				<key>$publicuserid%d:</key>
-				<value>public%02d</value>
-			</substitution>
-			<!-- user guid -->
-			<substitution>
-				<key>$publicuserguid%d:</key>
-				<value>public%02d</value>
-			</substitution>
-			<!-- user name -->
-			<substitution>
-				<key>$publicusername%d:</key>
-				<value>Public %02d</value>
-			</substitution>
-			<!-- password -->
-			<substitution>
-				<key>$publicpswd%d:</key>
-				<value>public%02d</value>
-			</substitution>
-			<!-- relative path to user principal resource-->
-			<substitution>
-				<key>$publicprincipal%d:</key>
-				<value>$principals_users:$publicuserid%d:/</value>
-			</substitution>
-			<substitution>
-				<key>$publicprincipaluri%d:</key>
-				<value>$principals_uids:$publicuserguid%d:/</value>
-			</substitution>
-			<!-- relative path to user calendar home-->
-			<substitution>
-				<key>$publicpathprefix%d:</key>
-				<value>$calendars_uids:$publicuserguid%d:</value>
-			</substitution>
-			<!-- relative path to user calendar-->
-			<substitution>
-				<key>$publiccalendarpath%d:</key>
-				<value>$calendars_uids:$publicuserguid%d:/$calendar:</value>
-			</substitution>
-			<substitution>
-				<key>$publicemail%d:</key>
-				<value>$publicuserid%d:@example.com</value>
-			</substitution>
-			<!-- calendar user address of user-->
-			<substitution>
-				<key>$publiccuaddr%d:</key>
-				<value>mailto:$publicemail%d:</value>
-			</substitution>
-			<substitution>
-				<key>$publiccuaddralt%d:</key>
-				<value>$publicprincipaluri%d:</value>
-			</substitution>
-			<substitution>
-				<key>$publiccuaddrurn%d:</key>
-				<value>urn:uuid:$publicuserguid%d:</value>
-			</substitution>
-		</repeat>
-
-		<!--  Ten resource accounts -->
-		<repeat count="10">
-			<substitution>
-				<key>$resourceid%d:</key>
-				<value>resource%02d</value>
-			</substitution>
-			<!-- resource guid-->
-			<substitution>
-				<key>$resourceguid%d:</key>
-				<value>resource%02d</value>
-			</substitution>
-			<!-- resource name-->
-			<substitution>
-				<key>$resourcename%d:</key>
-				<value>Resource %02d</value>
-			</substitution>
-			<!-- relative path to first resource calendar home-->
-			<substitution>
-				<key>$rpathprefix%d:</key>
-				<value>$calendars_uids:$resourceguid%d:</value>
-			</substitution>
-			<!-- relative path to first resource calendar home-->
-			<substitution>
-				<key>$rcalendarpath%d:</key>
-				<value>$calendars_uids:$resourceguid%d:/$calendar:</value>
-			</substitution>
-			<!-- relative path to first resource inbox-->
-			<substitution>
-				<key>$rinboxpath%d:</key>
-				<value>$calendars_uids:$resourceguid%d:/$inbox:</value>
-			</substitution>
-			<!-- relative path to first resource outbox-->
-			<substitution>
-				<key>$routboxpath%d:</key>
-				<value>$calendars_uids:$resourceguid%d:/$outbox:</value>
-			</substitution>
-			<!-- relative path to first resource principal resource-->
-			<substitution>
-				<key>$rprincipal%d:</key>
-				<value>$principals_resources:$resourceid%d:/</value>
-			</substitution>
-			<substitution>
-				<key>$rprincipaluri%d:</key>
-				<value>$principals_uids:$resourceguid%d:/</value>
-			</substitution>
-			<substitution>
-				<key>$rcuaddralt%d:</key>
-				<value>$rprincipaluri%d:</value>
-			</substitution>
-			<substitution>
-				<key>$rcuaddrurn%d:</key>
-				<value>urn:uuid:$resourceguid%d:</value>
-			</substitution>
-		</repeat>
-
-		<!--  Ten Location accounts -->
-		<repeat count="10">
-			<substitution>
-				<key>$locationid%d:</key>
-				<value>location%02d</value>
-			</substitution>
-			<!-- location guid-->
-			<substitution>
-				<key>$locationguid%d:</key>
-				<value>location%02d</value>
-			</substitution>
-			<!-- location name-->
-			<substitution>
-				<key>$locationname%d:</key>
-				<value>Location %02d</value>
-			</substitution>
-			<!-- relative path to first location calendar home-->
-			<substitution>
-				<key>$lpathprefix%d:</key>
-				<value>$calendars_uids:$locationguid%d:</value>
-			</substitution>
-			<!-- relative path to first location calendar home-->
-			<substitution>
-				<key>$lcalendarpath%d:</key>
-				<value>$calendars_uids:$locationguid%d:/$calendar:</value>
-			</substitution>
-			<!-- relative path to first location inbox-->
-			<substitution>
-				<key>$linboxpath%d:</key>
-				<value>$calendars_uids:$locationguid%d:/$inbox:</value>
-			</substitution>
-			<!-- relative path to first location outbox-->
-			<substitution>
-				<key>$loutboxpath%d:</key>
-				<value>$calendars_uids:$locationguid%d:/$outbox:</value>
-			</substitution>
-			<!-- relative path to first location principal resource-->
-			<substitution>
-				<key>$lprincipal%d:</key>
-				<value>$principals_resources:$locationid%d:/</value>
-			</substitution>
-			<substitution>
-				<key>$lprincipaluri%d:</key>
-				<value>$principals_uids:$locationguid%d:/</value>
-			</substitution>
-			<substitution>
-				<key>$lcuaddralt%d:</key>
-				<value>$lprincipaluri%d:</value>
-			</substitution>
-			<substitution>
-				<key>$lcuaddrurn%d:</key>
-				<value>urn:uuid:$locationguid%d:</value>
-			</substitution>
-		</repeat>
-
-
-		<!--  Four Group accounts -->
-		<repeat count="4">
-			<substitution>
-				<key>$groupid%d:</key>
-				<value>group%02d</value>
-			</substitution>
-			<!-- group guid-->
-			<substitution>
-				<key>$groupguid%d:</key>
-				<value>group%02d</value>
-			</substitution>
-			<!-- group name-->
-			<substitution>
-				<key>$groupname%d:</key>
-				<value>Group %02d</value>
-			</substitution>
-			<!-- relative path to first group principal resource-->
-			<substitution>
-				<key>$gprincipal%d:</key>
-				<value>$principals_resources:$groupid%d:/</value>
-			</substitution>
-			<substitution>
-				<key>$gprincipaluri%d:</key>
-				<value>$principals_uids:$groupguid%d:/</value>
-			</substitution>
-			<substitution>
-				<key>$gcuaddralt%d:</key>
-				<value>$gprincipaluri%d:</value>
-			</substitution>
-			<substitution>
-				<key>$gcuaddrurn%d:</key>
-				<value>urn:uuid:$groupguid%d:</value>
-			</substitution>
-		</repeat>
-
-		<!-- relative path to disabled group principal resource-->
-		<substitution>
-			<key>$principaldisabled:</key>
-			<value>$principals_groups:disabledgroup/</value>
-		</substitution>
-		<substitution>
-			<key>$principaluridisabled:</key>
-			<value>$principals_uids:disabledgroup/</value>
-		</substitution>
-		<!-- calendar user address of disabled group-->
-		<substitution>
-			<key>$cuaddrdisabled:</key>
-			<value>$principals_uids:disabledgroup/</value>
-		</substitution>
-
-		<!--  Override some of the above definitions for special cases -->
-
-		<!-- calendar user address of second user-->
-		<substitution>
-			<key>$cuaddr2:</key>
-			<value>MAILTO:$email2:</value>
-		</substitution>
-
-	</substitutions>
-</serverinfo>

Modified: CalDAVTester/trunk/scripts/server/serverinfo-template.xml
===================================================================
--- CalDAVTester/trunk/scripts/server/serverinfo-template.xml	2010-04-09 17:55:15 UTC (rev 5455)
+++ CalDAVTester/trunk/scripts/server/serverinfo-template.xml	2010-04-09 17:55:38 UTC (rev 5456)
@@ -64,7 +64,7 @@
 		<feature>vavailability</feature>				<!-- VAVAILABILITY on inbox -->
 
 		<!-- CardDAV specific extension -->
-		<!-- <feature>carddav</feature> -->				<!-- Basic CardDAV feature enabler -->
+		<feature>carddav</feature>						<!-- Basic CardDAV feature enabler -->
 
 	</features>
 

Modified: CalDAVTester/trunk/scripts/server/serverinfo.xml
===================================================================
--- CalDAVTester/trunk/scripts/server/serverinfo.xml	2010-04-09 17:55:15 UTC (rev 5455)
+++ CalDAVTester/trunk/scripts/server/serverinfo.xml	2010-04-09 17:55:38 UTC (rev 5456)
@@ -64,7 +64,7 @@
 		<feature>vavailability</feature>				<!-- VAVAILABILITY on inbox -->
 
 		<!-- CardDAV specific extension -->
-		<!-- <feature>carddav</feature> -->				<!-- Basic CardDAV feature enabler -->
+		<feature>carddav</feature> 						<!-- Basic CardDAV feature enabler -->
 
 	</features>
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20100409/ae808805/attachment-0001.html>


More information about the calendarserver-changes mailing list