2004-01-18  Jacek Konieczny  <jajcus@bnet.pl>

	* Makefile:
	- *** Version: 0.3 ***

	* pyxmpp/jabber/vcard.py:
	- sytax fixed (but this is still not finished and non-functional)

	* Makefile:
	- use '+cvs' suffix for CVS version

	* TODO:
	- note about python 2.3 features

	* Makefile:
	- all unneeded and non-portable magic removed

	* README, TODO, DONE:
	- updated

	* pyxmpp/jabber/clientstream.py, pyxmpp/jabber/vcard.py, pyxmpp/error.py, pyxmpp/message.py, pyxmpp/presence.py, pyxmpp/roster.py, pyxmpp/stream.py:
	- use .newTextChild instead .newChild to create text nodes (fixes CJC bug #3179)

	* pyxmpp/jabber/vcard.py:
	- work on vCard support started. NFY

2003-11-30  Jacek Konieczny  <jajcus@bnet.pl>

	* setup.py:
	- /usr/local/include/libxml2 directory added to includes

	* Makefile:
	- more portable Makefile

2003-11-26  Jacek Konieczny  <jajcus@bnet.pl>

	* pyxmpp/stream.py:
	- initialize self.me not self.jid in _bin_success

2003-11-24  Jacek Konieczny  <jajcus@bnet.pl>

	* Makefile:
	- '-f' option to 'ln' doesn't always mean the same

	* pyxmpp/dns.py:
	- basic IDNA support (input only)

2003-11-11  Jacek Konieczny  <jajcus@bnet.pl>

	* pyxmpp/jabber/clientstream.py, pyxmpp/client.py, pyxmpp/clientstream.py, pyxmpp/stream.py:
	- resource binding (draft-ietf-xmpp-core-19)
	- some other authentication improvements

	* pyxmpp/roster.py:
	- convert group name to utf8 when adding group

	* pyxmpp/stream.py:
	- default error message when resolution/connection fails

	* pyxmpp/clientstream.py, pyxmpp/stream.py:
	- SRV handling improvements

2003-11-10  Jacek Konieczny  <jajcus@bnet.pl>

	* pyxmpp/clientstream.py, pyxmpp/resolver.py, pyxmpp/stream.py:
	- SRV support (some polishing still needed, but works)

	* pyxmpp/resolver.py:
	- support for CNAMEs and records other than requested in answer

	* pyxmpp/dns.py, pyxmpp/resolver.py:
	- use dns.py for DNS message handling
	- SRV record lookup and reordering
	- getaddrinfo reimplementation using custom resolver and cache'

	* pyxmpp/jid.py:
	- don't throw exception when comparing JID to something which is not a JID

2003-11-08  Jacek Konieczny  <jajcus@bnet.pl>

	* pyxmpp/presence.py:
	- process priority argument to Presence constructor

2003-11-02  Jacek Konieczny  <jajcus@bnet.pl>

	* pyxmpp/stream.py:
	- write_raw() stream method is back

2003-10-12  Jacek Konieczny  <jajcus@bnet.pl>

	* pyxmpp/resolver.py:
	- simple DNS resolver (not finished yet) - needed for SRV records support required for XMPP compliance

2003-10-11  Jacek Konieczny  <jajcus@bnet.pl>

	* pyxmpp/stream.py:
	- error handling fixed in case when target domain resolves to multiple IP addresses

2003-10-10  Jacek Konieczny  <jajcus@bnet.pl>

	* pyxmpp/jabber/clientstream.py:
	- legacy stream support fixed

2003-10-09  Jacek Konieczny  <jajcus@bnet.pl>

	* pyxmpp/jabber/clientstream.py, pyxmpp/clientstream.py, pyxmpp/stream.py, pyxmpp/xmlextra.py:
	- thread safety

2003-10-08  Jacek Konieczny  <jajcus@bnet.pl>

	* pyxmpp/jabber/clientstream.py, pyxmpp/client.py, pyxmpp/stanza.py, pyxmpp/stream.py:
	- connection state and progress monitoring

2003-10-07  Jacek Konieczny  <jajcus@bnet.pl>

	* pyxmpp/stream.py:
	- improved handling of OSError and IOError

	* pyxmpp/stream.py:
	- create dummy SSLError class if M2Crypto is not available

2003-10-02  Jacek Konieczny  <jajcus@bnet.pl>

	* setup.py:
	- pyxmpp.jabber package added

	* pyxmpp/jabber/.cvsignore, pyxmpp/jabber/__init__.py, pyxmpp/jabber/client.py, pyxmpp/jabber/clientstream.py, pyxmpp/jabber/disco.py, pyxmpp/__init__.py, pyxmpp/client.py, pyxmpp/clientstream.py, pyxmpp/disco.py:
	- protocol extensions not defined in XMPP specs moved to jabber subpackage

	* TODO:
	- StartTLS is ready

2003-10-01  Jacek Konieczny  <jajcus@bnet.pl>

	* pyxmpp/stream.py:
	- TLS support improved - better server certificate verification

2003-09-22  Jacek Konieczny  <jajcus@bnet.pl>

	* pyxmpp/stream.py:
	- don't require M2Crypto

	* pyxmpp/__init__.py, pyxmpp/client.py, pyxmpp/clientstream.py, pyxmpp/stream.py:
	- StartTLS basics (stream initiator only)

2003-09-21  Jacek Konieczny  <jajcus@bnet.pl>

	* pyxmpp/__init__.py, pyxmpp/clientstream.py, pyxmpp/stream.py:
	- starting StartTLS support (not finished yet)

	* pyxmpp/xmlextra.py:
	- second agument to stanza_start() and stanza_end() is node not doc\!

2003-09-18  Jacek Konieczny  <jajcus@bnet.pl>

	* pyxmpp/stream.py:
	- restart the stream after successfull SASL authentication

	* pyxmpp/sasl/digest_md5.py:
	- log computed rspauth value

	* pyxmpp/sasl/digest_md5.py:
	- workaround for broken (jabberd-2.0b1) SASL implementations

2003-09-16  Jacek Konieczny  <jajcus@bnet.pl>

	* pyxmpp/__init__.py:
	- import Disco* constructors

	* pyxmpp/client.py:
	- use client/pc as default disco category/type

2003-09-15  Jacek Konieczny  <jajcus@bnet.pl>

	* pyxmpp/stream.py:
	- ignore write error on disconnect

	* pyxmpp/xmlextra.py:
	- unneeded destructor removed from StreamReader

2003-09-11  Jacek Konieczny  <jajcus@bnet.pl>

	* pyxmpp/client.py, pyxmpp/clientstream.py, pyxmpp/stream.py:
	- keepalives support

2003-08-16  Jacek Konieczny  <jajcus@bnet.pl>

	* pyxmpp/sasl/__init__.py:
	- invalid assignment fixed

2003-08-15  Jacek Konieczny  <jajcus@bnet.pl>

	* Makefile: *** Version: 0.2 ***

	* Makefile:
	- update version only when using CVS

	* TODO:
	- roster updates are done

	* pyxmpp/.cvsignore, pyxmpp/version.py:
	- version.py is autogenerated

	* setup.py:
	- exit if version.py is not available

	* Makefile:
	- RELEASE variable to make release instead of snapshot

2003-08-14  Jacek Konieczny  <jajcus@bnet.pl>

	* Makefile:
	- make install
	- umask set before build and install - bad things happen without this

	* pyxmpp/version.py:
	- updated

	* Makefile:
	- cjc has been moved

	* MANIFEST.in, README, examples/README.cjc:
	- CJC has been moved

2003-08-11  Jacek Konieczny  <jajcus@bnet.pl>

	* pyxmpp/version.py:
	- updated

2003-08-09  Jacek Konieczny  <jajcus@bnet.pl>

	* pyxmpp/version.py:
	- update

2003-08-08  Jacek Konieczny  <jajcus@bnet.pl>

	* pyxmpp/version.py:
	- updated

	* Makefile:
	- update version on each make

	* pyxmpp/client.py:
	- stream_error() method

	* pyxmpp/error.py:
	- stream errors handling fixed

	* pyxmpp/client.py:
	- stream_created and stream_closed methods to override for low-level stream setup

	* pyxmpp/stream.py:
	- data_in() and data_out() methods to override for 'raw XML console'

2003-08-06  Jacek Konieczny  <jajcus@bnet.pl>

	* pyxmpp/client.py:
	- basic disco support

	* pyxmpp/stanza.py:
	- typos

	* pyxmpp/disco.py:
	- disco elements

2003-08-05  Jacek Konieczny  <jajcus@bnet.pl>

	* pyxmpp/version.py:
	- probably these should be updated more frequently :)

	* pyxmpp/roster.py:
	- various improvements

	* pyxmpp/client.py:
	- pass roster item instead of JID to roster_updated()

2003-08-03  Jacek Konieczny  <jajcus@bnet.pl>

	* pyxmpp/roster.py:
	- update subscription when updating existing roster item

	* pyxmpp/presence.py:
	- presence subscription state notifications responses

2003-07-27  Jacek Konieczny  <jajcus@bnet.pl>

	* pyxmpp/stream.py:
	- set version to None in reset()

	* pyxmpp/stream.py:
	- allow setting multiple message/presence handlers with different priorities

2003-07-25  Jacek Konieczny  <jajcus@bnet.pl>

	* pyxmpp/stream.py:
	- return 1 from loop_iter if anything received

2003-07-24  Jacek Konieczny  <jajcus@bnet.pl>

	* pyxmpp/utils.py:
	- missing StringType imported

	* pyxmpp/__init__.py, pyxmpp/jid.py, pyxmpp/stringprep.py, pyxmpp/utils.py, pyxmpp/xmlextra.py:
	- some docstrings

2003-07-22  Jacek Konieczny  <jajcus@bnet.pl>

	* pyxmpp/client.py:
	- more locking and thread sync stuff - probably unneeded, but it is better to be safe
	- s/post_auth/authenticated/
	- disconnected() callback added

	* pyxmpp/clientstream.py:
	- make deep copy of auth_methods for auth_methods_left, or the list passed by caller will be cleared

	* pyxmpp/stream.py:
	- disconnect on EOF

2003-07-21  Jacek Konieczny  <jajcus@bnet.pl>

	* examples/test.py:
	- use localhost by default

2003-07-17  Jacek Konieczny  <jajcus@bnet.pl>

	* pyxmpp/sasl/digest_md5.py:
	- proper unquoting

2003-07-14  Jacek Konieczny  <jajcus@bnet.pl>

	* .cvslog:
	- it is jabber:// \!

	* .cvslog:
	- send commit logs to cvs@conference.jabber.org

2003-07-10  Jacek Konieczny  <jajcus@bnet.pl>

	* pyxmpp/client.py:
	- preparing for thread safety

	* pyxmpp/stream.py:
	- loop_iter() functions containing single loop() iteration

	* pyxmpp/jid.py:
	- optimizations

	* examples/.cvsignore:
	- ignore all .cjc* files

2003-07-01  Jacek Konieczny  <jajcus@bnet.pl>

	* pyxmpp/presence.py:
	- get_priority() method added

	* pyxmpp/client.py, pyxmpp/roster.py:
	- roster updates support

	* pyxmpp/sasl/digest_md5.py:
	- unquote() marked with #FIXME

2003-06-30  Jacek Konieczny  <jajcus@bnet.pl>

	* pyxmpp/stanza.py:
	- stanza comparizion (__eq__ and __ne__)

	* pyxmpp/error.py:
	- error handling updated to latest XMPP drafts
	- get_message() method

2003-06-24  Jacek Konieczny  <jajcus@bnet.pl>

	* Makefile:
	- precede make-defined snapshot with dot

	* README:
	- info about running examples (including CJC)

	* MANIFEST.in, Makefile, setup.py:
	- version generator
	- CJC included in distribution

	* pyxmpp/version.py:
	- version strings, mostly autogenerated

	* DONE, README, TODO:
	- updated

2003-06-23  Jacek Konieczny  <jajcus@bnet.pl>

	* pyxmpp/roster.py: remove duplicates from group list

	* pyxmpp/clientstream.py:
	- skip unknown auth methods instead of looping

2003-06-22  Jacek Konieczny  <jajcus@bnet.pl>

	* pyxmpp/message.py:
	- <thread/> support

	* pyxmpp/roster.py:
	- support for roster items without name or group

	* pyxmpp/stream.py, pyxmpp/client.py:
	- print_exception method

2003-06-17  Jacek Konieczny  <jajcus@bnet.pl>

	* pyxmpp/stream.py:
	- responses to iq without "to" may come from own jid

	* pyxmpp/roster.py:
	- fixes

	* examples/.cvsignore:
	- CJC is getting bigger, got plugin support, but is still not very usable

	* pyxmpp/jid.py:
	- optimalizations: do not do stringprep in bare()

	* pyxmpp/iq.py, pyxmpp/message.py, pyxmpp/presence.py:
	- each stanza class must have its own copy()

	* pyxmpp/error.py:
	- namespace and jid handling fixes

2003-06-15  Jacek Konieczny  <jajcus@bnet.pl>

	* examples/.cvsignore:
	- CJC is going to be usable soon, I hope

	* pyxmpp/client.py, pyxmpp/roster.py:
	- basic roster handling

	* pyxmpp/stream.py:
	- presence and message handlers fixes
	- use self.debug() to print exceptions tracebacks

	* pyxmpp/jid.py:
	- comparision fixes

	* pyxmpp/iq.py:
	- unneeded "print" removed

	* pyxmpp/error.py:
	- get_condition() fixed

2003-06-13  Jacek Konieczny  <jajcus@bnet.pl>

	* Makefile:
	- set permisions on scripts

	* pyxmpp/__init__.py, pyxmpp/client.py, pyxmpp/clientstream.py, pyxmpp/stream.py:
	- Client separated from ClientStream

	* examples/test.py:
	- updated

2003-06-12  Jacek Konieczny  <jajcus@bnet.pl>

	* DONE, TODO:
	- updated

	* pyxmpp/sasl/digest_md5.py, pyxmpp/sasl/plain.py, pyxmpp/clientstream.py, pyxmpp/jid.py, pyxmpp/stream.py, examples/test.py:
	- draft-ietf-xmpp-core-13 updates
	- bugfixes

	* pyxmpp/clientstream.py:
	- s/debug/self.debug/

	* pyxmpp/stream.py:
	- set "from" in the stream start tag

	* pyxmpp/clientstream.py, pyxmpp/error.py, examples/test.py:
	- fixes for legacy authentication and error handling

	* pyxmpp/__init__.py, pyxmpp/clientstream.py, pyxmpp/error.py, pyxmpp/iq.py, pyxmpp/message.py, pyxmpp/presence.py, pyxmpp/stanza.py, pyxmpp/stream.py, examples/stest.py:
	- draft-ietf-xmpp-core-13 error handling

	* pyxmpp/jid.py:
	- stringprep profiles and size limits for JID parts

2003-06-11  Jacek Konieczny  <jajcus@bnet.pl>

	* pyxmpp/rfc3454.py, pyxmpp/stringprep.py:
	- RFC 3454 ("stringprep") implementation
	- nodeprep and resourceprep profiles

	* tests/unorm.py:
	- statistics

	* pyxmpp/unicode/nfkc.py:
	- debug output removed

	* pyxmpp/unicode/utils/makeccomp.py, pyxmpp/unicode/utils/makecexc.py, pyxmpp/unicode/utils/makediff.py, pyxmpp/unicode/nfkc.py, pyxmpp/unicode/ud_3_2_0.py:
	- Unicode 3.2.0 normalization now passes all the tests

2003-06-10  Jacek Konieczny  <jajcus@bnet.pl>

	* pyxmpp/clientstream.py, pyxmpp/stream.py, examples/stest.py, examples/test.py:
	- more session stuff

	* examples/stest.py:
	- session establishement

	* pyxmpp/clientstream.py, pyxmpp/stream.py:
	- session support
	- removed difference between pre-auth and post-auth handlers

	* pyxmpp/stream.py:
	- make JID from authzid

	* pyxmpp/sasl/digest_md5.py:
	- step 3 of DIGEST-MD5 is <challenge/> not <success/>

	* pyxmpp/sasl/core.py:
	- strip '\n' from base64 encoded data

	* pyxmpp/sasl/digest_md5.py:
	- return nonce in the response

	* pyxmpp/sasl/digest_md5.py:
	- allow to choose realm even if server didn't give any

	* pyxmpp/sasl/core.py, pyxmpp/sasl/digest_md5.py:
	- fixes

2003-06-09  Jacek Konieczny  <jajcus@bnet.pl>

	* pyxmpp/message.py, pyxmpp/presence.py:
	- generate errors for all stanza types

	* pyxmpp/error.py, pyxmpp/stream.py:
	- generate error responses for stanzas which are not understood

	* pyxmpp/unicode/nfkc.py:
	- some hangul fixes - still not perfect

2003-06-08  Jacek Konieczny  <jajcus@bnet.pl>

	* tests/.cvsignore, tests/unorm.py, pyxmpp/unicode/utils/.cvsignore, pyxmpp/unicode/utils/makeccomp.py, pyxmpp/unicode/utils/makecexc.py, pyxmpp/unicode/utils/makediff.py, pyxmpp/unicode/.cvsignore, pyxmpp/unicode/__init__.py, pyxmpp/unicode/ccomp.py, pyxmpp/unicode/cexc.py, pyxmpp/unicode/nfkc.py, pyxmpp/unicode/ud_3_2_0.py, pyxmpp/stringprep.py, Makefile, setup.py:
	- unicode normalization

	* pyxmpp/sasl/digest_md5.py:
	- do not fail if no realm is given by server

	* pyxmpp/clientstream.py:
	- authentication method negotiation fixed

2003-06-06  Jacek Konieczny  <jajcus@bnet.pl>

	* pyxmpp/clientstream.py:
	- set auth_method_used not only for initiator
	- auth_method_used is now Stream property

	* pyxmpp/stream.py:
	- auth_method_used attribute
	- stream element closed by peer means eof

	* pyxmpp/message.py, pyxmpp/stream.py, ext/xmlextra.c, examples/stest.py, examples/streamtest.py, setup.py:
	- new stream handling

	* pyxmpp/libxml2addon/.cvsignore, pyxmpp/libxml2addon/__init__.py, pyxmpp/libxml2addon.py, pyxmpp/stanza.py, pyxmpp/stream.py, pyxmpp/xmlextra.py, libxml2addon/Copyright, libxml2addon/README, libxml2addon/config.h, libxml2addon/libxml.c, libxml2addon/libxml.h, libxml2addon/libxml2-export.c, libxml2addon/libxml2-py.c, libxml2addon/libxml2-py.h, libxml2addon/libxml_wrap.h, libxml2addon/proto.h, libxml2addon/tree.c, libxml2addon/types.c, libxml2addon/xmlreader.c, ext/Copyright-libxml2, ext/xmlextra.c, examples/stest.py, examples/streamtest.py, MANIFEST.in, README, setup.py:
	- no more ugly libxml2 hacks

2003-06-04  Jacek Konieczny  <jajcus@bnet.pl>

	* pyxmpp/clientstream.py, pyxmpp/stream.py:
	- improved error handling

	* pyxmpp/libxml2addon/.cvsignore, pyxmpp/libxml2addon/__init__.py, pyxmpp/.cvsignore, libxml2addon/README, libxml2-patches/README, libxml2-patches/libxml2-ns_remove_replace.patch, libxml2-patches/libxml2-reader-dontblock2.patch, examples/.cvsignore, examples/test.py, .cvsignore, MANIFEST.in, Makefile, README, setup.py:
	- source tree reorganization

	* libxml2addon/tree.c, pyxmpp/error.py, pyxmpp/iq.py, pyxmpp/libxml2addon.py, pyxmpp/message.py, pyxmpp/presence.py, pyxmpp/stanza.py, pyxmpp/stream.py:
	- "common_ns" is not used any more - NULL namespace is used instead

2003-06-03  Jacek Konieczny  <jajcus@bnet.pl>

	* examples/test.py:
	- test with jabberd.jabber.org

	* pyxmpp/clientstream.py:
	- really try to authenticate

	* pyxmpp/jid.py:
	- comparision methods

	* DONE, TODO: updated

	* libxml2addon/Copyright, libxml2addon/README, libxml2addon/config.h, libxml2addon/libxml.c, libxml2addon/libxml.h, libxml2addon/libxml2-export.c, libxml2addon/libxml2-py.c, libxml2addon/libxml2-py.h, libxml2addon/libxml_wrap.h, libxml2addon/proto.h, libxml2addon/tree.c, libxml2addon/types.c, libxml2addon/xmlreader.c, MANIFEST.in, README, pyxmpp/.cvsignore, pyxmpp/libxml2addon.py, pyxmpp/stream.py, setup.py:
	- the great and ugly hack - libxml2 patching is not needed any more

	* pyxmpp/sasl/.cvsignore, pyxmpp/sasl/__init__.py, pyxmpp/sasl/core.py, pyxmpp/sasl/digest_md5.py, pyxmpp/sasl/plain.py, pyxmpp/sasl/utils.py, COPYING, pyxmpp/.cvsignore, pyxmpp/__init__.py, pyxmpp/clientstream.py, pyxmpp/error.py, pyxmpp/expdict.py, pyxmpp/iq.py, pyxmpp/jid.py, pyxmpp/message.py, pyxmpp/presence.py, pyxmpp/stanza.py, pyxmpp/stream.py, pyxmpp/utils.py, .cvsignore, examples/stest.py, examples/test.py:
	- many new fixes, updates... and workarounds
	- copying info (LGPL)
	- SASL and legacy auth is working (at least pyxmpp <-> pyxmpp)

2003-06-01  Jacek Konieczny  <jajcus@bnet.pl>

	* pyxmpp/sasl/.cvsignore, pyxmpp/sasl/__init__.py, pyxmpp/sasl/core.py, pyxmpp/sasl/digest_md5.py, pyxmpp/sasl/plain.py, pyxmpp/sasl/utils.py, libxml2-patches/README, libxml2-patches/libxml2-ns_remove_replace.patch, libxml2-patches/libxml2-reader-dontblock2.patch, pyxmpp/iq.py, pyxmpp/jid.py, pyxmpp/message.py, pyxmpp/presence.py, pyxmpp/stanza.py, pyxmpp/stream.py, pyxmpp/utils.py, DONE, TODO, pyxmpp/.cvsignore, pyxmpp/__init__.py, pyxmpp/clientstream.py, pyxmpp/error.py, examples/stest.py, examples/test.py:
	- initial import (but this is already quite usable, but with patched libxml2)

