$Id: CHANGES,v 1.47.2.17 2004/04/25 21:42:54 vida Exp $

Changes in CAMAS 1.2.xx since 1.2.19-RC4
----------------------------------------
- Don't display recent, unseen and total if it's a non selectable mailbox.

- Added up to date German translation thanks to Andi Auburger.

Changes in CAMAS 1.2.xx since 1.2.18-RC3
----------------------------------------

- Now using the Camas tools API for translating size in the mailindex
  list into human readable format.
  
- Fix a backtrace when the user had corrupted filters.

- Fixed a race condition that can prevent a user to logged in in very rare
  cases.

- Left folder list is now displayed nicely with indent depending on the 
  current folder hierarchy level.
  
- Bugfix: text or html subtypes were not displayed when the multipart 
  was unknown by Camas.

- Navigation bar that behave better when managing lot of elements
  (Guillaume Fraysse).

- Fix a bug when using inline mode and displaying HTML mails.

Changes in CAMAS 1.2.xx since 1.2.17-RC2
----------------------------------------

- Added a Filters pmod for managing mail filters in a single place.

- Moved the preferences files from the IMAP client to an external module,
  this will fix the problem about wrong path for directory.
    
- Cleanup in the preferences: Added functions for serializing/deserializing
  preferences to/from text in Tools.pmod, this will ease the IMAP client change.
  
- Camas layout filesystem was messed up when the user have a layout which is
  not available on the server, added a fallback to the default layout in that
  case.

- Updated Espagnol language thanks to Etienne Roulland.

- Fixed a backtrace when going to folderlist screen and using IMHO screens.
  Note: Quotas are now disabled in IMHO screens.
  
- Bugfix: The Camas LDAP Auth wasn't working after last changes for quotas
  removal.

- Bugfix: Wrong sender address when using other layouts than the default one.

Changes in CAMAS 1.2.xx since 1.2.16-RC1
---------------------------------------

- Bugfix when sorting mails on another column than the default sorting 
  one (#num) and no new mails arrived.

- Configuration variable Camas Main module -> Outgoing mail -> Sent message
  notification is gone in flavor of Camas Main module -> Misc ->
  User interface: Display SMTP confirmations to user.

- No need to have Features -> Features -> Mailboxes set to Yes to get imhoprefs 
  directory created.

- New installation method: We backup every Camas directories with a .old and
  .older suffixes.

- Removed choosing IMAP server at login prompt.

- Bug fix: when moving a mail sometime you could have a dialog box telling
  the mailbox is read-only.

- Folder management is now consistent against the IMAP servers we tested (see
  README for a list of these servers).

- Bug fix when renaming a folder and then reading a mail.

- Global addressbook has been converted to the new address book API.
  Old global addressbook has been marked deprecated.
  
- Bug fixes in the sorting method.

- Moved server/modules/camas_imho* files to compatibility directory and removed 
  existing files in the compatibility directory. These are deprecated.

- Removed quota support from Auth modules and added quota support
  From the IMAP server.

Changes in CAMAS 1.2.xx since 1.1.7
-----------------------------------

- Rewrite of the layout subsystem.
	Each frame can now have its own layout file.
	Backward compatibility with early CAMAS 1.2 layouts.

- Added X-Face and X-Image-Url support in Camas Tags.

- Removed the EXAMINE suite of commands in the IMAP client when reloading 
  mailboxes. It speed up things quite a bit when checking for new mail.
  
- Removed IMHO default layout. The default layout is now a Camas tags one.
  This is a major incompatibility since Camas Tags layout are fully customizable
  RXML templates and don't use the same format as IMHO ones. Also the look
  is completely different.
  
- Folderlist screen is now fully converted to Camas tags

- New wrap lines function when sending a mail, now the mail is wrapped
  at spaces. Thus the lines containing no spaces are not splitted 
  (usefull also for URI). (David Gourdelier)

- Attachments can now be fully managed from the COMPOSE screen.

- New address book system. Currently two backend are supported: LDAP and 
  Preferences module. The feature of the system are:
  . 20 different address book variables for one contact.
  . Several copies of the same backend are available.
  . Write/read permission for each module (even on LDAP).
  . Complete browsing interface like the mail one (sorting on columns, 
    navigation bar).
  . Search the addressbooks from READMAIL screen if the entry exists, added
    otherwise.
  . Import of most of the values from Mozilla/Netscape LDIF files.
  . Powerfull import of CSV files: user can specify each column to be imported.

  However note that Extended addressbook and Global addressbook are not
  supported anymore. Support for Global addressbook might be added
  if there are users requests. (David Gourdelier)

- New navigation bar and table sorting modules to easily draw navigation bar
  and table sorting from Caudium modules or Pike scripts. (David Gourdelier)

- Variables in the MAILINDEX screen to visually distinguish mails properties:
	#attachment#: mails that have attachments
	#unread#: unread mails
	#personal#: personal mails
	#answered#: mails that have been answered
	#deleted#: mails marked as deleted
	#flagged#: mails flagged
	#draft#: mails marked as draft
	#recent#: mails that are listed for the first time
  This way, it is easy to add images or stylessheets for changing appearance
	of different mails given their characteristics (Bertrand Lupart)
  
- New dummy button mode: icon
  The image is taken from the _www/icons/ directory from the layout.
  (Bertrand Lupart)
  
- Buttons improvement: now all args passed to the <camas_*> buttons are passed
  to the formbutton provider module, not only onclick, for more layout
  flexibility.
  This way, the formbutton provider module can pass all/some of them to the
  generated HTML widget, given the button mode selected. (Bertrand Lupart)
  
- All harcoded HTML in CAMAS tags has been replaced by make_tag() and
  make_container().
  This way, all arguments passed to <camas_*> tags can be passed to the
  generated widget.
  Later, when caudium will support it, the generated HTML could be generated
  the HTML or XHTML way given the doctype of the document served.
  (Bertrand Lupart / Benoit Plessis)
  
- Users can now enter a screen other than mailindex at login.
  (David Gourdelier)
  
- Support for RFC2342 (IMAP4 Namespace). (David Gourdelier) 

- Memory can be shared for shared folders on some conditions. (David Gourdelier)

- Avoid email addresses with foo@domain.com@defaultdomain.com.
   (Xavier Beaudouin / Yann Hirou)
   
- Added a few macros for debugging, see README. (David Gourdelier)

- Added some cache wrappers for some functions which are used quite often and
  take CPU time. The default timeout is configured in globals.h and is of one
  hour. This increases the average performances of CAMAS. (David Gourdelier)
  
- Added Pike 7.2 requirement in configure.

- Camas uses Calendar function to get smtp date when sending mail.
  (David Gourdelier)
  
- Camas session mapping move to an object. This is actually an import from IMHO.
  Two variables were renamed: message-id -> messageid and in-reply-to ->
  in_reply_to. (David Gourdelier)
  
- Forward / Reply separator and headers are now localized within the language
  module/translation instead of using defvars in Camas main module.
  (Xavier Beaudouin)
  
- You can search in several folders when searching for headers and using
  Camas Tags. (David Gourdelier)
  
- Camas does not destroy entire session when the user logout or the
  session has expired, instead it justs free the memory used by Camas 
  variables inside this session. This way Camas should be able to 
  run peacefully with other modules on the same virtual server that uses the
  session. (David Gourdelier)
  
- Session cleanup, now everything inside the session is destructed if it is
  an object or set to empty otherwise (Pike doesn't destruct objects inside
  a mapping).
  The Language module has been removed from the session. (David Gourdelier)
  
- The Auth Basic module will not be loaded automatically when you restart
  Caudium and already have an auth module. Same for 123sessions/Gsession
  and IMAP preferences. (David Gourdelier)
  
- Auth modules now uses internal priority of the module like Actions ones.
  (David Gourdelier)
  
- New way of login users: Now we fetch only the minimum informations required
  at login thus resulting in a much faster login.
  Then another IMAP client is launched in the background to fetch all needed
  information and feed the cache.
  The cache is then used as usual, the search now uses this cache to search
  if the information is in the cache (headers mainly) so the search on
  headers is now very fast compared to search on disk by IMAP server. 
  (David Gourdelier)
  
- New Camas SQL auth module.
  This module allows you to identify your users using an SQL database
  (for now only MySQL has been tested).
  For example if you have a table containing the name, surname and imaplogin
  of your users you can use this module so that they can type their name
  and surname at the login prompt. The auth module will use the SQL table
  to convert the name and surname they give to the imap login suitable
  for the IMAP server.
  This module is also used to guess email and name and surname from imap login.
  Finally note you can set your own SQL query and have failover/load balancing
  to better match your existing architecture. (David Gourdelier)
  
- Added a preferences module API for storing user's preferences on
  other storage on various media type. Currently IMAP and SQL storage are 
  available. (David Gourdelier)
  
- Fix a bug in the mailindex sorting in new camas tags.

- Added an option to scan folders in the mailindex screen. As this can
  consume ressources, you can choose not to run each time. 
  It is disable by default.
  
- You can reply and reply and move directly from the mailindex screen.
  You can do this for several emails. (David Gourdelier)
  
- Removed some duplicated code that was in the compose/attachments screens

- Moved find_mailbox from imapclient.pmod to new IMHOTools.pmod
  This module is only for backward compatibility
  
- Added a new way to select attachments (HTML table instead of a select)

- Made the "stay in attachment" feature permanent

- Put all the session stuff in a CAMAS mapping so that you can now uses
  CAMAS on a virtual server without worrying about session name conflict with 
  your existing modules. (Olivier Girondel)
  
- It is now possible to extend CAMAS actions, see camas_actions_null.pike
  (David Gourdelier)
  
- Cleanup the folder management, mainly in camas_tags.pike

- Moving sessobj to CSESSION. (Olivier Girondel)

- Splitted big actions switch from camas.pike to functions in camas_actions.pike
  (David Gourdelier)
  
- Rewrite the get IMAP configuration part so that's more easy to setup 
  CAMAS.
  WARNING: All auth modules are not compatible anymore. Also note that old 
  IMAP configuration from the CIF must be make from again in one of your
  auth modules. Some complex configuration have been removed for IMAP
  preferences when your IMAP servers is detected with the email.
  (David Gourdelier)
  
- Fix installation problems on FreeBSD and warning messages on GNU/Linux.

- Added a klundge for Lotus Notes LDAP server that invert basedn and filter.
  Fix from Stephane Karges.
  
- You can now call the compose screen with the message="your message" arg, this
  will put "your message" in the textarea for compose
  
- Fix a backtrace in imapclient when accessing shared folders 

- Camas now read correctly the default session variables for the user

- Added a note about using non default template in camas_layout_manager CIF and
  some mutexes.
  
- Fixed multiple addressbook selector to use POST instead of GET 'cause of
  stupid limitation of M$IE >= 4.0 of 2083 char.
  
- Fix some NNTP support in Calta languages templates.

- Italian language support added.

- Removed NNTP support from 1.2 since it is not stable and feature rich
  enought for a release. (David Gourdelier)
  
- Fixed bug in LDAP Auth module that backtrace when get imap server from
  LDAP and when there is not webmail quota.
  
- Fixed bug about M$ Passeport mails that doesn't respect MIME RFC...

- CAMAS now uses the Pike/7.2 Calendar module to parse the dates

- Basic NNTP functionnalities (reading article, listing groups, subscribing to
  groups, searching for groups, post, followup). (David Gourdelier)
  Be sure to read help in CIF of CAMAS: NNTP module before installing it.
  
- Camas Basic Formbutton file is now automaticly reloaded if is was
  changed on disk.
  
- Workaround about Bug #506448 and subject using widestring and windows-xxxx
  encoding on pike 7.2.... This bug BTW is not present on 1.1, but just in case
  to prevent blocking of a Caudium webserver this is better.
  
- LDAP auth: cache stats was incorrect

- Global address book now support CSV file format.

- LDAP auth: fixed a case when no quota information is in the LDAP -
  CAMAS used to cause a backtrace then.

Changes in CAMAS 1.1.7 since Camas 1.0.18 branch
------------------------------------------------

- added auth ldap modules

- added entities functions (not finished)

- moved all features from main module to a standalone module

- formbuttons are now widestring complian

- the runtime admin is now a separate module

- the global addressbook is now a separate module

- added camas tags module

- "pre-camas" formbuttons is now deprecated and moved into compatibility
  section
  
- imho plug-ins supports are now depracated and moved into compatibility
  section
  
- added a paranoia check in mailindex that check if there is no mailboxes/
  folders in IMAP server. This, in theory cannot exist because there is
  at least on INBOX folder, but sometimes this appear when major imap 
  server error happened
  
- bugfixed the installation with OpenBSD

- IMAP server from LDAP server is now working. This feature is implemented
  in v2 auth modules, so this is more generic than before.
  
- in features module, LDAP is now named LDAP Global Addressbook

- modified mail forwarding code to handle multipart/alternative messages
  and corrected a bug if mail content type was different from
  text/*
