Version 2.2.2
-------------

Changes from 2.2.1:

* Bugfixes, especially in presence subscription and user registration
  handling.

* /registered resource dropped (kept it only for backward
  compatibility).

Version 2.2.1
-------------

Changes from 2.2.0:

* Bugfixes.

Version 2.2.0
-------------

Changes from 2.1.0:

* Libgadu is now included in the sources. External libgadu is not
  required any more and won't be used even if available. Most available
  builds of libgadu didn't work well with the transport and changes in
  libgadu often break jggtrans.

* Per-user, bidirectional presence control added. Now XMPP privacy lists
  and one-way presence subscriptions will work with GG contacts (in
  'friends-only' mode).

* Ignore lists. User may choose GG numbers to completely ignore.

* Customizable status messages for available, unavailable and invisible
  modes. When set they will be used instead of current XMPP status.

* Password change code dropped. It didn't work after protocol change any
  more anyway and the new protocol uses graphical tokens which are much
  harder to implement in the transport.

* Many bugfixes.


Version 2.1.0
-------------

Changes from 2.0.9:

* GG "conference" messages are dropped.

* GG roster is passed in 'normal', not 'chat' message. This makes it
  compatible with recent Psi.

* Proper handling of internationalized JIDs has been implemented using
  libidn. Fixes crash on some JIDs.

* Handling of unknown characters in messages has been improved.

* 'Invisible' and 'Friends Only' modes are active immediately when set
  by a registration form.

* Various other bugs are fixed.

* Various fixes to and updates of the build system. Mainly for the
  code migration from CVS to Subversion that has been recently done.

* Code has been ported to glib2.

* External Expat is now used instead of the buggy version which was
  included in previous versions of the transport.

* Dutch translation is included.

Version 2.0.9
-------------

Changes from 2.0.8:

* Roster import is back again. Only the "get roster" command, the other
  "import roster" used a protocol hack forbidden in XMPP.

* jggtrans will not hang when it cannot connect to the Jabber server.

* Transport will not break when output buffer overflows (that happened
  on transport setups with many registered users).

* presence errors are not sent anymore in response to some presence errors received


Version 2.0.8
-------------

This is another bugfix release.

Changes from 2.0.7:

* Disable roster import - it crashed with libgadu >= 1.0 (possible DoS)
  and the protocol has changed so it doesn't work anyway 

* Jabberd 2.0 compatibility fixes

* infinite loop on user re-regitration fixed (possible DoS)

* failure on empty <priority/> fixed (another possible DoS)

* presence subscribe/subscribe stanzas sent fixed

* 64-bit fixes in libxode SHA computation (for AMD64)

* other minor bugfixes


Version 2.0.7
-------------

This is another bugfix release.

Changes from 2.0.6:

* Multiline messages processing fixes

* Segmentation fault when user with empty resource connects (possible
  DoS) fixed

* Gadu-Gadu protocol to client version mapping updated

* Status message sent to Jabber user from the transport chopped to 70
  characters (as seen by GG users)

* Crash after unregistered user requests GG client version (another DoS
  possibility) fixed

* All contacts are reported to be unavailable when the transport
  disconnects from GG server

* Send 'away' presence with '(invisible)' status to user instead of
  invisible presence when going to invisible mode after Jabber invisible
  presence request

Version 2.0.6
-------------

This is major bugfix release.

Changes from 2.0.5:

* Fixed segmentation fault when message from unknown client is received
  (this bug allowed remote DoS attack).

* Presence handling cleaned up - now multiple Jabber sessions should
  work well and offline status messages should be available.

* "import roster" command marked as "not recommended". "get roster" is
  now also available in the registration form.

* removing transport's subscription to user's presence doesn't doesn't
  unregister the user from the transport. Subscription type may be used
  to disable automatic login to the transport.


Version 2.0.5
-------------

This is minor feature improvement release.

Changes from 2.0.4:

* Fixed one presence bug ("GG" resource was not used everywhere as it should).

* All way of handling presence probes is back - no more errors instead
  of unavailable users.

* Jggtrans will now compile with TLS-enabled libgadu.

* TLS support (only with TLS-enabled libgadu).


Version 2.0.4
-------------

This is mainly bugfix/compatibility-improvement release.

Note: strange things may happen to GG contacts in users' rosters 
after upgrade until they log-off from Jabber and login again.

Changes from 2.0.3:

* All GG users use a "GG" resource.

* Search and registration form should now be fully compatible with JAJC's
  JEP-004 implementation.

* Support for Jabber presence type "invisible" added.

* Statistics gathering fixed, so multiple stats may be read at once.

Version 2.0.3
-------------

This is mainly bugfix release.

Changes from 2.0.2:

* Browsing support updated to the active JEP-11 version.

* More proxy configuration settings added: username, password and
  http_only flag.

Version 2.0.2
-------------

This is mainly bugfix release.

Changes from 2.0.1:

* Presence change notification handling improved. This should fix the
  annoying problem with transport users changing their GG presence
  multiple times when logging in.

* "get roster" doesn't add users to roster any more. There is new
  "import roster" command instead.

* There is an option in registration form allowing to auto-import
  userlist from GG server.

* Should now link on FreeBSD and other OSes without gettext in libc.

Version 2.0.1
-------------

This is mainly bugfix release.

Changes from 2.0.0:

* GG number used to register in transport is displayed with the "menu"
  and current settings

* Translation of local messages (log, --help) rewritten so it should
  really work now

* Fixes for bugs in "get roster" code, which caused transport crash or
  disconnection

* Other (minor) bugfixes


Version 2.0.0
-------------

This is a major feature improvement release. It may be not as stable as
1.4.x, but it is much cooler. However most of the new features are only
usable with modern-enough Jabber client.

Changes from 1.4.1:

* Userlist retrieval from GG server.

* Access Control Lists (ACL) may be defined in the configuration file.

* Statistic gathering (JEP-0039) support.

* Administrators (listed in the configuration file) can browse (using
  browse or disco) online users registered in the transport.

* Service discovery (JEP-0030) support.

* Jabber forms (data gathering and reporting, JEP-004) may be used for
  registration, searching and changing transport options.

* All messages generated by the transport (including error messages and
  logs content) maybe translated to user's or admin's favorite language.
  Polish translation is ready.

* GG public directory updates and password change (via the register
  form) work again.

* Several segmentation-fault bugs fixed.

* More GG client versions are now known to the transport.

Version 1.4.1
-------------

Changes from 1.4.0:

* autorestart (after connection to jabber server is broken) fixed.

* fix for automatic server change (now jggtrans should really change
  server, when one doesn't respond)

* searching by email removed (it seems this is not supported any more)

* fixed handling of delayed (stored on GG server) messages

* user settings, like invisible or friends-only, are properly saved now

* detection of new GG client versions

* command list is sent as one message now


-------------

Changes from 1.3.1:

* configurable GG server list.

* support for new GG search protocol. Searching and retrieving user
  information should work again.

* crash caused by invalid registration form fixed.


Version 1.3.1
-------------

Changes from 1.3.0:

* crash caused by empty presence priority (sometimes sent by Exodus) fixed

* pid file is written before privileges are dropped and is removed on exit


Version 1.3.0
-------------

Changes from 1.2.3:

* several (at least 3) segmentation faults fixed

* fixes for some "strange behaviour" in several Jabber clients 

* "friends only" and "invisible" modes (controlled by messages to the
  transport)

* support for user lists stored on GG server started (broken, disabled by
  default)

* restart after connection to Jabber server is broken

* GG client version detection

* pkg-config support for libgadu configure check

Version 1.2.3
-------------

Changes from 1.2.2:

* new character conversion function (instead of sometimes broken
  iconv()). Fixes crashes on invalid characters in GG input.

* jggtrans will now ignore control characters in GG input. These are
  invalid in XML stream
  
* fixes in contact status handling 

Not a change in the program, but important: jabber-gg-project is now
registered on JabberStudio (http://www.jabberstudio.org). This is the
proper place for bug reports and feature requests now.

Version 1.2.2
-------------

Changes from 1.2.1:

* two bugs in vCard and user directory fixed


Version 1.2.1
-------------

Changes from 1.2.0:

* compilation on FreeBSD fixed

* GG status change fixed when no reason string is given

* fixed freeing already free  xmlnode query  while registering.
  Patch by Tomasz Sterna <tomek@smoczy.net>

* added jabber:iq:version jggtrans query support. Psi nicely shows it on
  transport tooltip.
  Patch by Tomasz Sterna <tomek@smoczy.net>


Version 1.2.0
-------------

Changes from 1.1.0:

* updated to new libgadu (works with libgadu-20021205).

* searching works again.

* IP address of active GG user in roster is provided in "About" field of
  user's vCard.

* several memory leaks fixed.

* workaround for buggy support for jabber:iq:gateway in some clients.
  This fixes contact addition problems.


Version 1.1.0
-------------

Changes from 1.0.1:

* presence change reason (status description) support


Version 1.0.1
-------------
This version contains mainly updates for the latest libgadu. 
It works at least with libgadu-20020528.

Changes from 1.0.0:

* new config tags: <gg_server/> and <gg_port/>

* updates for libgadu-20020528


Version 1.0.0
-------------
This version fixes some more bugs. Probably still there are some, but it is
high time to release another version and I don't want to add another ".9" :-)

Changes from 0.9.9:

* just bug fixes


Version 0.9.9
--------------
This version fixes all fatal bugs known to me. If no bug report come this
release will become 1.0.0 soon.

Changes from 0.9.8:

* Timeout and ping interval settings are now included in example config files

* Auto-reconnect to GaduGadu server after connection is broken (<reconnect/>
  option in config file)

* Fixes for some crashes related to user lookup 


Version 0.9.8
--------------
This will be (hopefully) the last one before jabber-gg-transport-1.0.0
It has changed a lot, so don't believe that your old config files will
work :-)


Changes from 0.9:

* Support for <remove/> in registration

* Many bug fixes 

* Don't panic when PONG is not received. It seems GG server doesn't send
  them any more

* Support for system message. They are sent from the agent, not user "0"
  now. And each message is sent only once

* Workarounds for WinJab bugs with child elements of <iq/> 
  (eg. VCARD instead of vCard)

* Browse support

* Changing of uid/gid when started as root (good for init scripts)

* Support for multiple user resources



Version 0.9
--------------
This is the first released version.

# vi: tw=72 fo=tcql1 
