+2007-12-17 Francis Lachapelle <flachapelle@inverse.ca>
+
+ * UI/MailerUI/UIxMailMainFrame.m ([UIxMailMainFrame
+ -composeAction]): fixed URL when no recipient is specified.
+
+2007-12-17 Wolfgang Sourdeau <wsourdeau@inverse.ca>
+
+ * UI/Scheduler/NSArray+Scheduler.m ([NSMutableArray
+ -reverseArray]): new category method.
+
+2007-12-14 Ludovic Marcotte <ludovic@inverse.ca>
+
+ * SoObjects/Appointments/SOGoCalendarComponent.m
+ We set headers in lowercase so that they get properly
+ encoded by SOPE.
+
+ * SoObjects/Mailer/SOGoDraftObject.m
+ Minor cleanups.
+
+2007-12-13 Francis Lachapelle <flachapelle@inverse.ca>
+
+ * UI/MailerUI/UIxMailMainFrame.m ([UIxMailMainFrame -saveFoldersStateAction])
+ ([UIxMailMainFrame -getFoldersStateAction]): new methods to get
+ and set the folders state of the user's web view.
+
+2007-12-13 Wolfgang Sourdeau <wsourdeau@inverse.ca>
+
+ * UI/MainUI/SOGoRootPage.m ([SOGoRootPage -crashAction]): new
+ action methods that generates a segmentation faults.
+ ([SOGoRootPage -exceptionAction]): new method that returns an
+ exception object.
+ ([SOGoRootPage -raisedExceptionAction]): new method that raises an
+ exception without returning it.
+
+ * UI/SOGoUI/UIxComponent.m ([UIxComponent -responseWithStatus:status])
+ ([UIxComponent -responseWithStatus:statusandString:contentString])
+ ([UIxComponent -responseWithStatus:statusandJSONRepresentation:contentObject])
+ ([UIxComponent -responseWith204]): new utility methods.
+
+ * UI/Common/WODirectAction+SOGo.m ([WODirectAction
+ -responseWithStatus:statusandString:contentString])
+ ([WODirectAction
+ -responseWithStatus:statusandJSONRepresentation:contentObject]):
+ new utility methods.
+
+ * SoObjects/SOGo/NSScanner+BSJSONAdditions.m ([NSScanner
+ -scanJSONStringDelimiterString]): new category module taken from
+ BSJSONAdditions 1.3.
+
+ * SoObjects/SOGo/NSDictionary+BSJSONAdditions.[hm]: new category
+ module taken from BSJSONAdditions 1.3.
+ http://blakeseely.com/downloads.html
+
+2007-12-12 Wolfgang Sourdeau <wsourdeau@inverse.ca>
+
+ * SoObjects/SOGo/NSString+Utilities.m ([NSString
+ -stringByDetectingURLs]): we now go back until the real start of
+ the found url.
+
+ * SoObjects/Mailer/SOGoMailObject.m ([SOGoMailObject
+ -fetchAttachmentIds]): new method that wanders through the mail
+ structure to collect the attachment content ids and to associate
+ them with their url.
+
+ * UI/MailPartViewers/UIxMailPartHTMLViewer.m
+ ([_UIxHTMLMailContentHandler
+ -startElement:_localNamenamespace:_nsrawName:_rawNameattributes:_attributes]):
+ the content-ids are now enclosed between "<>" before retrieval
+ from the attachment dictionary.
+ ([UIxMailPartHTMLViewer -cssContent])
+ ([UIxMailPartHTMLViewer -flatContentAsString]): the content-ids
+ are now fetch from the clientobject (an instance of
+ SOGoMailObject) with the new "fetchAttachmentIds" method.
+
+2007-12-12 Francis Lachapelle <flachapelle@inverse.ca>
+
+ * UI/Scheduler/UIxCalListingActions.m ([UIxCalListingActions
+ -eventsListAction]): added the state of the calendar's owner with
+ respect to the current event.
+
+ * UI/Scheduler/UIxComponentEditor.m ([UIxComponentEditor
+ -_loadAttendees]): added the retrieval of attendees state on
+ current event.
+
+2007-12-12 Ludovic Marcotte <ludovic@inverse.ca>
+
+ * UI/MailPartViewers/UIxMailRenderingContext.{h,m}
+ Removed template caching which added very little
+ and created re-entrant issues.
+
+ * UI/MailPartViewers/UIxMailPartHTMLViewer.m
+ Added a hack (and stated so in the source file)
+ to avoid what seems to be a bug in libxml.
+
+2007-12-12 Wolfgang Sourdeau <wsourdeau@inverse.ca>
+
+ * SoObjects/SOGo/SOGoContentObject.m ([SOGoContentObject
+ -davCreationDate])
+ ([SOGoContentObject -davLastModified])
+ ([SOGoContentObject -davContentLength]): implemented dav methods.
+
+2007-12-10 Francis Lachapelle <flachapelle@inverse.ca>
+
+ * SoObjects/Mailer/SOGoMailBodyPart.m ([SOGoMailBodyPart
+ -GETAction:]): when asAttachment is set to true, the header
+ "content-disposition" is set to "attachment" so browsers like IE
+ and Safari properly asks the user to save the file.
+
+2007-12-10 Wolfgang Sourdeau <wsourdeau@inverse.ca>
+
+ * UI/MailPartViewers/UIxMailPartHTMLViewer.m
+ ([UIxMailPartHTMLViewer -flatContentAsString]): when in
+ UIxMailPartAlternative, scan the filenames of potential cid at the
+ same level as our parent.
+
+2007-12-07 Wolfgang Sourdeau <wsourdeau@inverse.ca>
+
+ * Main/SOGo.m ([SOGo -run]): the table creation script now have a
+ @{tableName} substitution variable to be substitued with the real
+ table name obtained from the configuration variables.
+
+2007-12-07 Ludovic Marcotte <ludovic@inverse.ca>
+
+ * UI/MailPartViewers/UIxMailRenderingContext.m
+ We treat multipart/appledouble like multipart/mixed
+ for now. That allows the user to save both parts.
+
+ * Corrected typos in Localizable.string files.
+
+2007-12-06 Wolfgang Sourdeau <wsourdeau@inverse.ca>
+
+ * UI/Common/UIxAclEditor.m ([-currentUserIsOwner]): replaced
+ method with -canModifyAcls that invokes the security manager
+ instead for the permission "SaveAcls" on the client object.
+
+ * SoObjects/Appointments/SOGoCalendarComponent.m
+ ([SOGoCalendarComponent -contentAsString]): securize the returned content.
+ ([SOGoCalendarComponent -aclsForUser:uid]): check whether the user
+ is an organizer or a participant as well.
+
+ * SoObjects/Appointments/SOGoAppointmentObject.m
+ ([SOGoAppointmentObject -changeParticipationStatus:_status]): the
+ user we should change the status of is not the active user but the
+ owner of the object. This is for delegation.
+
+ * SoObjects/Appointments/SOGoAppointmentFolder.m
+ ([SOGoAppointmentFolder -fetchContentObjectNames]): fetch the
+ elements through the fetchFields:from:to:title:component: method
+ method, so that the result is already filtered depending on the
+ acl.
+
+ * UI/Scheduler/UIxComponentEditor.m ([UIxComponentEditor
+ -toolbar]): if the current user is a delegate, take the permission
+ "ModifyComponent" into account. Also, do not let him/her modify an
+ event for which he/she is the organizer.
+
+ * SoObjects/Contacts/SOGoContactLDAPFolder.m
+ ([SOGoContactLDAPFolder -davResourceType]): declared as a carddav
+ addressbook collection.
+
+ * SoObjects/Contacts/SOGoContactGCSFolder.m ([SOGoContactGCSFolder
+ -davResourceType]): declared as a carddav addressbook collection.
+
+ * SoObjects/SOGo/SOGoObject.m ([SOGoObject -davLastModified]):
+ override SoObject's implementation. Otherwise a localized date is returned.
+
+ * UI/Common/UIxPageFrame.m ([UIxPageFrame -isCalendar])
+ ([UIxPageFrame -isContacts], [UIxPageFrame -isMail]): getters to
+ determine which module is the current one.
+
+2007-12-06 Francis Lachapelle <flachapelle@inverse.ca>
+
+ * UI/Scheduler/NSArray+Scheduler.m ([NSArray -compareEventsTitleAscending:otherEvent])
+ ([NSArray -compareEventsLocationAscending:otherEvent])
+ ([NSArray -compareEventsEndDateAscending:otherEvent])
+ ([NSArray -reversedArray]): new methods that sort an array of
+ events depending of various parameters.
+
+ * UI/Scheduler/UIxCalListingActions.m ([UIxCalListingActions
+ -eventsListAction]): added support for sorting events.
+
+2007-12-06 Wolfgang Sourdeau <wsourdeau@inverse.ca>
+
+ * UI/MailerUI/UIxMailEditor.m ([UIxMailEditor -saveAction])
+ ([UIxMailEditor -sendAction]): make sure that the attachments
+ having the same filename are correctly sequenced (ex: base.ext,
+ base-1.ext, base-2.ext).
+
+ * SoObjects/Mailer/SOGoMailBodyPart.m ([SOGoMailBodyPart
+ -fetchBLOB]): added support for quoted-printable decoding. Also,
+ we return nil if the type is not supported.
+
+2007-12-05 Wolfgang Sourdeau <wsourdeau@inverse.ca>
+
+ * UI/Scheduler/UIxTaskEditor.m ([UIxTaskEditor -newAction]):
+ create task obejcts with the .ics extension.
+
+ * UI/Scheduler/UIxAppointmentEditor.m ([UIxAppointmentEditor
+ -newAction]): create appointment objects with the .ics extension.
+
+ * UI/Contacts/UIxContactEditor.m ([UIxContactEditor -newAction]):
+ create objects with the .vcf extension.
+
+ * Main/NSException+Stacktrace.m: added missing symbols from
+ NSException.m and NSDebug.m (GNUstep).
+
+ * UI/MainUI/SOGoUserHomePage.m ([SOGoUserHomePage
+ -foldersSearchAction]): make use of the new search methods in
+ SOGoUserFolder (see below).
+
+ * UI/Contacts/UIxContactFoldersView.m ([-foldersSearchAction]):
+ moved method into ../MainUI/SOGoUserHomePage.m.
+
+ * SoObjects/SOGo/SOGoUserFolder.m ([SOGoUserFolder
+ -foldersOfType:folderTypeforUID:uid]): only return folders owned
+ by the specified user.
+
+2007-12-05 Francis Lachapelle <flachapelle@inverse.ca>
+
+ * SoObjects/Mailer/SOGoDraftObject.m: the condition for replyToAll
+ has to be done later to avoid duplicated to and cc addresses.
+
2007-12-04 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* SoObjects/Appointments/SOGoAppointmentFolder.m