squishy: Normalise Lua syntax default tip

server: Import one of Prosodys net.server implementations

squishy: Update for prosody.* namespace

Update for new Prosody module namespace

libs.encodings: Remove unused function

util.xstanza: Remove, unused since c95b84ed366b

Added tag 0.10.0 for changeset 98dc1750584d

Fix sha1 support when no binary dependencies available

component: Avoid adding to the global stream metatable

libs/hashes: Support for luaossl (lua-luaossl on Debian)

libs/table: Add table.move

squishy: Comment legacy protocol plugins by default

squishy: Add browsing plugin

Add time query plugin

squishy: Updates for Prosody trunk (@ e77c607e8da8)

Add dummy util.net

sasl: Add oauthbearer mechanism

presence: Clone stanza before caching it

disco: Fire disco-info-changed when necessary, move presence resending there

disco: Remove stray print()

disco: Add support for extended disco forms

buildscripts: Update included squish (now supports Lua 5.2)

libs/time: Add monotonic() if lua-system is available

pep: Include item id in event

jingle_ibb: Remove unused import of table.concat

pubsub: Fire event on item retraction notifications

sasl: Expose what mechanisms were offered on authentication-failure

browsing: whitespace fixes

Add 'shutdown' event for a self-initiated disconnect

Fix whitespace

Update to new tls_builder() API in net.server upstream

archive: Add 'complete' flag

Use util.format for logging

client: Include xml:lang in stream header, if known

client: Don't enable session plugin by default, that protocol is obsolete

client: Correctly randomize SRV targets (thanks Zash)

Update to use util.id for random ids instead of counters (thanks Zash)

sasl: Include offered mechanisms in event when no supported mechanisms found

util.sasl.scram: Add support for 'tls-exporter' channel binding

util.sasl.scram: Disable 'tls-unique' channel binding on TLS 1.3

util.sasl.scram: Refactor channel binding

client: Allow passing SCRAM hashes for use in authentication

Merge with MattJ

plugins.smacks: Change to track enabled state per direction

plugins.smacks: Restructure events to avoid double hooks after (failed) resumption

plugins.smacks: Handle failed resumption by trying to bind instead

squishy: Include util.hex used by util.uuid

plugins.smacks: Convert counter to string in resumption

plugins.smacks: Don't warn about zero stanzas acked

client: Send whitespace keeplives

libs.hashes: Add back pure Lua sha1 implementation

util.dataforms: Support XEP-0122 validation

util.dataforms: Update from prosody trunk 5fb6563eee1e keeping from_stanza()

util.time: Add pure Lua version of Prosody C module

util.table: Add fallback for the Prosody C module

pubsub: Support for 'notify' in retract and purge operations 0.10.0

pubsub: Allow setting additional attributes in pubsub action elements

Merge

verse.plugins.groupchat: Add support for MUC passwords https://xmpp.org/extensions/xep-0045.html#example-27

Merge

docs/example.lua: Don't depend on 'verse' being a global

libs.encodings: Add encodings.utf8 compat (works on Lua 5.3+)

libs.encodings: Export empty idna table

client: Remove unused import

disco: Force calculated caps in outgoing presence

Fix typos (thanks Link Mauve and codespell)

plugins.archive: Remove compat for really old version of XEP-0313

squishy: Include util.x509, required by net.http in Prosody 0.10+

squishy: Add util.time

verse: Ensure verse.quit() only quits the loop once

plugins.disco: Fix to use util.caps instead of broken hacky implementation

libs.hashes: Better error message when method not available

libs.hashes: Add support for sha1 lib from luarocks

squishy: Remove unnecessary files (indexedbheap only in Prosody trunk)

Makefile: Use configured squish path

verse.plugins.groupchat: Fix import of util.events

verse: Remove use of deprecated module() function

buildsys: Update to fetch from Prosody 0.10 branch

verse.plugins.pep: Support taking an item id, default to "current"

libs.hashes: Switch to moteus bgcrypto suite

plugins.archive: Call callback even f there were no <fin> element

plugins.archive: Don't require 'queryid' attribute in iq response

verse: trim trailing whitespace

component: Import sha1 via util.hashes

plugins.archive: Update to XEP-0313 v0.6

plugins.smacks: Update to sm:3 namespace

util.sasl.scram: Add support for authenticating with pre-hashed password

plugins.presence: If a string is given as presece options, use it as status

plugins.presence: Have option keys mirror the tag names (keeping compat with previous behaviour)

plugins.presence: Fix resending previous presence

Add plugin for XEP-0195: User Browsing

Merge with Zash

util.random: Use /dev/urandom or LuaCrypto

client, component: Fix logging of invalid XML

Merge with Zash

libs.hashes: Fix HMAC-SHA-1 blocksize to 64 (20 is output size)

squishy: Pin to Prosody 0.9.9 release to avoid more breaking changes there

Add util.ip, dependency of net.dns since Prosody 0.9.9

plugins: Cleanup [luacheck]

plugins.smacks: explicitly import luasocket which stops setting globals in new versions

plugins.ping: Import socket.gettime to a local, LuaSocket stopped setting globals

plugins: Use util.hashes instead of util.sha1

libs.encodings: mime.unb64 is buggy with \0 should have been fixed

util.sasl.scram: Use the new util.hashes and util.random

libs.hashes: Wrap LuaCrypto with fallback to util.sha1

Import util.random from Prosody (using SHA-1)

Import util.rsm from prosody-modules

squishy: Include util.xml and util.json

verse: Pass on error from trying to require verse connection module

plugins.tls: Allow configuring TLS options at stream.ssl

libs.adhoc: Don't set unintentional globals

verse: Enable TCP keepalives

plugins.legacy: Make functions local

Discard trailing whitespace

plugins.jingle_ft: Update to version 0.16

Added tag 0.9.1 for changeset 9aa5bce207b2

squishy: Add util.ip, now required by net.dns 0.9.1

Makefile: Remove config.unix when making a release

Added tag 0.9.0 for changeset 3267ae7c9217

README: Add README file 0.9.0

Makefile: Error if config.unix is missing

Makefile: Add 'install' target

configure, Makefile: Add configure script to set build-time variables

Makefile, buildscripts/squish: Add Makefile and squish to the repo

init: Log the error message that caused loading of a connection module to fail

init: Restore loading of LuaSec (must be loaded before net.server) (thanks ?)

squishy: Fetch from latest 0.9

squishy: Fix for fetching util.rsm

util.sasl.scram: Only indicate channel binding support when TLS is used

client: Deal with eg no-stream errors where no stanza is passed

util.sasl.scram: Slight optimization of HMAC

util.sasl.scram: Correctly verify that the server added its own nonce

verse: Import LuaSocket properly (especially for 5.2)

plugins.sasl: Store mechanisms with the correct name

util.sasl.scram: Fix typo

plugins.sasl: Alter mechanism loading and pass name of loaded mechanism. Fixes attempting SCRAM-PLUS when only SCRAM is offered

squishy: Add sasl mechs

SCRAM: Add channel binding support (SCRAM-SHA-1-PLUS)

Add SCRAM-SHA-1 implementation

Almost a SASL framework, supports negotiation and challenge-response, mechanism code split out into util/sasl/

plugins.archive: Update to MAM version 0.3

Merge with Zash

verse.plugins.uptime: Explicitly cast uptime to a number

plugins.smacks: Improve logic for sending <r/>

plugins.groupchat: Use verse.eventable (room objects were missing :unhook() )

plugins.pubsub: Implement fetching of items

plugins.pubsub: Keep track of wrapped callbacks

plugins.pubsub: Implement node discovery

plugins.archive: Update for MAM 0.2

verse.client: Fix stream error error

plugins.register: Support submitting email when registering an account

plugins.register: Fix event name (failure vs. failed)

plugins.adhoc, plugins.jingle: Fix checking of type attribute (thanks Mark)

plugins.adhoc: Add missing return in error case

plugins.ping: Reply to pings

plugins.pubsub: If no jid given to unsubscribe with, default to what was subscribed to (if given) or the bound jid

plugins.pubsub: Collect the subscribed jid

verse.client: Fire stream error events, so they can be handled

util.dataforms: Add method for converting XML dataforms to tables

util.dataforms: Update from Prosody repo

plugins.pubsub: Implement retract, purge and delete operations

plugins.pubsub: Explicitly subscribe with our current full jid as default

verse: Fix disconnected event for unassociated connections

Backout 55e3fd7b9731

verse.client: Use a different flag to indicate that our outgoing stream is closed

verse: Err, I meant the stream, not the connection

verse: Really pass the connection to ondisconnect, not some unknown global

plugins.smacks: Start counting when sending <enable/>

verse: Only fire the disconnected event if the stream and the connection are still associated (fixes smacks issue)

plugins.smacks: Don't try to reconnect on gracefull stream closure

verse.client: Try to behave better when stream is closed gracefully

verse: Add missing 'reason' argument to stream:close()

plugins.smacks: Re-send unacked outgoing stanzas on resumption

plugins.smacks: Break less on sending of non-stanzas such as raw strings.

plugins.receipts: XEP-0184 support.

plugins.carbons: Update to Carbons v0.8

util.vcard: Don't break on data outside of VCARD sections (thanks moo-min)

plugins.vcard: Convert textual vCards to XEP-54 format

plugins/sasl: Use ANONYMOUS authentication when no username provided

component: allow binding to non-host jids (thanks mva)

plugins.vcard: Fix previous commit

plugins.vcard: Update for never util.vcard

util.vcard: Handle empty vcards

util.vcard: Iterate on tags instead of items (thanks mva)

plugins.adhoc: Collect a <note/>

plugins.adhoc: Add explicit dependency on the disco plugin.

util.vcard: Ignore undefined properties

util.vcard: Completed separation of parsers and generators

plugins.archive: Don't modify the query params table

squishy, plugins.archive: Fetch RSM lib from prosody-modules and use.

plugins.archive: Treat query params correctly

plugins.sasl: Collect text message on SASL failure

plugins.groupchat: Import util.jid here too.

plugins.bind: Import util.jid to fix traceback

squishy: Update to fetch from a pre-timber revision of Prosody

util.vcard: Don't use module()

plugins.archive: Parse the timestamp

plugins.archive: Collect the archive id

plugins.archive: Move namespaces to the top

plugins.archive: Implement archiving preferences

plugins.archive: Import util.stanza directly and use it

plugins.archive: Add local verse

plugins.archive: Add a header comment

Merge with Zash

plugins.jingle_s5b: Add missing xmlns

plugins.jingle_s5b: Add local verse

doc/example_carbons.lua: Update to reflect timestamp change in carbons plugin.

plugins.carbons: Get and parse timestamp from carbon into a number.

plugins.carbons: Don't check carbons flag twice.

plugins.jingle_ibb: new_ibb() doesn't need to be global

plugins.pubsub: Add a local variable to save some table lookups

client, component: `ret` was probably meant to be a local

verse: Remove some, erm, debug logging

verse: Add :listen(host, port) to Verse objects ("connected" event is fired with new clients)

verse: Accept a file object as a log handler, and automatically call :write() on it with a formatted message

squishy: add util.datetime

plugins.carbons: Fix wrong variable name

plugins.roster: Make stanza error parts locals.

plugins.archive: Add missing :up()

plugins.carbons: Update to XEP v0.6. Check that messages are from your bare jid.

plugins.archive: Experimental implementation of the Message Archive Management ProtoXEP

plugins.pubsub: Implement unsubscribe.

plugins.roster: Change variable name to what's used in XMPP-IM

doc/example_pubsub.lua: Fix typo.

doc/example_pep.lua: Reorder a bit to avoid re-sending presence multiple times when caps change.

plugins.pep: Load disco, since PEP depends on it

plugins.disco: Add set_ and add_identity()

plugins.disco: A little cleanup and a bit of rewrite with a touch of premature optimization.

plugins.pubsub: Fix to use correct method in backwards-compatibility code

plugins.pubsub: Fix typo

plugins.pubsub: Fix missing <item/> when publishing.

verse.bosh: Minor change to pass Verse stream to stream callbacks (though it isn't currently used by them)

verse.bosh: Fix to loop over every child tag (childtags() is now too namespace-aware for this purpose)

doc/example*.lua: Update to use new .init() method

Merge with Zash

verse: Add stream:info() for emitting info-level log message.

verse: Add init(...) method to load connection modules (client, component, bosh, etc.)

plugins.groupchat: Fix missing 'end' in last commit

Merge with MattJ & mva

plugins.pep: Use the new PubSub api.

plugins.pubsub: Make the old functions wrap the new.

verse.plugins.groupchat: Make last commit (7802a048) more concise

fixed sending of leave message

added local verse var to all plugins

plugins.pep: Use the new PubSub api.

plugins.pubsub: Make the old functions wrap the new.

verse: Remove silly logger line I just noticed at the end of the file

Merge with Zash

plugins.bind: get_child_text()

plugins.vcard_update: get_child_text()

doc/example_pep.lua: get_child_text()

verse: Add default log handler for errors

verse: Format messages before passing them to custom log handler

verse: set_log_handler(): Allow nil to be passed for log_handler to disable logging (the default).

verse: Switch connection ids to be a simple incrementing integer

verse, squishy: Port to Prosody's util.logger. Adds new function, verse.set_log_handler(handler, levels).

verse: require('util.logger') (besides being correct, also fixes a silly bug when loading verse twice)

verse: verse.logger() -> verse.new_logger()

plugins.register: Add in-band registration plugin

verse: Connections use global Verse logger by default

squishy: Rewrite in an attempt to curb the unbounded growth of the plugin list

plugins.pep: Set item to the first tag instead of first child.

plugins.groupchat: Use stanza:get_child_text()

doc/example_pubsub.lua: Example plugins.pubsub usage

plugins.vcard_update: Update for util.vcard changes.

plugins.vcard: Use util.vcard

util.vcard: Add util for converting vCard3 to/from XEP 54

doc: Add Carbons example

squishy: Add carbons plugin

plugins.carbons: Add, implements Message Carbons (XEP 280)

squishy: add vcard, vcard_update, jingle_ibb

plugins.pubsub: New, OOP-ish, PubSub interface. Beware of stubs.

plugins.pubsub: implement node creation

plugins.jingle: Stop event propagation after returning errors

plugins.jingle_ibb: In-Band Bytestreams, initial commit.

plugins.version: Use get_child_text() and fix traceback on empty iq-result reply.

plugins.roster: Check stream features for roster versioning support.

plugins.pep: Reuse the pubsub plugin.

plugins.groupchat: Improve room subject handling, add event

squishy: Add a convenience function for plugins

plugins.roster: Fix wrong name of reply variable

plugins.disco: Increase hook priority. Fixes duplicated disco features.

plugins.jingle: Logging fix

plugins.roster: Roster versioning support.

plugins.roster: Don't signal roster events if there was no such item

squishy: Add the roster plugin

plugins.groupchat: Bump topic change handling up a bit

plugins.keepalive: Add (thanks chris)

verse: Expose net.server as verse.server

squishy: Add smacks and keepalive plugins

plugins.smacks: Scatter some logging and comments through the code for good measure

plugins.smacks: Fix event priority and handling to make the code actually... work

plugins.smacks: Remove some debugging code from resumption success handling, and fire a "resumed" event instead

plugins.smacks: Add 1s delay between reconnect attempts

verse.client: Reopen stream in response to 'connected' event

libs/adhoc.lib.lua: Update copy (ugh) from Prosody

plugins.*: Use verse.stanza() & co instead of require util.stanza

plugins.vcard_update: Support for XEP-153 avatar hash in presence broadcasts

plugins.vcard: Get and set vcard-temp info.

Added uptime plugin, included also an entry for it into the squishy file.

plugins.pubsub: Fix to use :childtags() for iterating through items in a pubsub notification (:matching_tags() was removed from Prosody)

plugins.roster: Add roster push handling, roster item parsing, delete_contact()

plugins.presence: Fix priority setting. (Thanks Florob)

Merge with Zash

plugins.groupchat: Fix self reference when leaving rooms

plugins.smacks: XEP-0198 support

plugins.groupchat: Fix prev commit.

plugins.groupchat: Extra options. Route join presence through the room. Option to stamp from attr on outgoing stanzas (useful for components).

plugins.groupchat: Trying to get subject to behave properly

plugins.groupchat: Fix a missing `st.` and send join stanza regardless of return value from pre-join event.

squishy: Add groupchat plugin

plugins.groupchat: Adapt from Riddim

Merge with Zash

plugins.disco: Load the presence plugin

plugins.disco: Use the new presence plugin for caching and resending

squishy: Add plugis.presence

plugins.presence: Initial commit of plugin that caches the last outgoing presence, and handles rebroadcast

plugins.disco,compression: Use xmlns_* variables

plugins.disco: Fix missing xmlns variable.

plugins.legacy: Try to login anyways, compat for servers not supporting XEP 78 properly.

verse: Make add_plugin only load a plugin once per stream

plugins.disco: Fix disco_local_services() to call callback with empty array in case of disco error

verse.client: Fix two cases where we called methods on the base stream object instead of the current one

Merge with Zash

plugins.legacy: Try to login anyways, compat for servers not supporting XEP 78 properly.

plugins.pep: Update for new disco/caps code

plugins.disco: Automatically insert caps into outgoing presence, and re-send last global presence with new caps when features change

verse.client: Fire 'stanza-out' and {message,presence,iq}'-out' for outgoing stanzas

plugins.pubsub: Return true to indicate success loading

plugins.pep: Only add +notify feature if there weren't any handlers for it already

verse: Change to set conn:send in only one place, and fire new events 'outgoing' and 'outgoing-raw'

verse: Consider a plugin as failed to load only if it returns false

squishy, verse.client, verse.component, verse.bosh: Port to util.xmppstream instead of xmlhandlers which has been removed from Prosody. Also remove util.ztact from squishy for the same reason.

plugins.bind: Fix the bind-success event, now fires with data { jid = result_jid } (thanks Jon)

plugins.pubsub: Fire pubsub/event on incoming pubsub notifications

squishy: Add --prosody option to specify a path to a Prosody checkout to use when squishing

squishy: Add util.httpstream. Now also squishes bosh by default

Merge with Zash

plugins.private, squishy: Allow setting the storage node, and not just child(s). And add to squishy.

plugins.pubsub, squishy: New pubsub plugin (basic)

squishy: Add legacy plugin

plugins.legacy: Support for legacy non-SASL authentication :(

doc/example_component.lua: Add code to echo stanzas

verse.component: Namespacing fixes

plugins.private: Private XML storage support

Merge

squishy, plugins.ping, plugins.sasl: Remove xstanza references

plugins.disco: Fix traceback when disco#info isn't returned for a service in disco#items

plugins.adhoc: Remove some stray debugging

docs/example_jingle.lua: Update to use content.type instead of content.name for checking the kind of content we're receiving

plugins.jingle_ft: Change content 'name' field to 'type' to avoid confusion with the 'name' attribute of the <content> tag in Jingle

verse: Add verse.filter_log(levels, logger) to filter a logger for certain levels

verse: Fix set_logger() to set verse.log() correctly

plugins.jingle, plugins.jingle_s5b: API changes to allow not sending <reason> inside <content> when transfer succeeds

plugins.jingle_ft: Fix global access

squishy: Add verse.component

verse.client: Support for SRV record lookups

squishy: Re-organise and add net.dns, net.adns and util.ztact

verse: Fire disconnected event even if connection fails instantly

squishy: Use --internal-bit-module to squish with the pure-Lua bit library

libs/bit.lua: Add pure-Lua bit library

verse: Log error and return when trying to close a closed connection

squishy: Add util.hashes [libs/hashes.lua]

libs/encodings.lua: Use mime.b64 for base64.encode

libs.hashes: Pure-Lua util.hashes replacement (depends on util.sha1)

doc/example_pep.lua: Example script to use the PEP plugin

libs.logger: Use io.write instead of print

verse: verse.loop() and new verse.step() use the new error handler to, er, handle errors.

verse: Add verse.log() to log a message using the default logger. Also add verse.set_error_handler() to, er, set an error handler.

verse: Log error when connection fails instantly

util.dataforms, squishy: Add util.dataforms library

plugins.adhoc: Support for querying for and executing commands

plugins.disco: Further fixes to storing and retrieving to/from the disco cache

plugins.disco: Store node of disco items

plugins.disco: Fixes for storing/retrieving items from the disco cache.

plugins.jingle: Add 'terminated' event

doc/example_adhoc.lua: Example of using ad-hoc commands

verse.plugins.adhoc: XEP-0050 Ad-hoc commands plugin

verse.plugins.disco: Add stream:add_disco_item()

verse.plugins.pep: New plugin to add an API for sending and catching PEP events

verse.plugins.disco: Add stream:remove_disco_feature()

verse.plugins.disco: Remove warning about base64 issue, bug located and fixed

util.sha1: Truncate to a single return result when returning the binary form of the hash

doc/example_jingle.lua, doc/example_jingle_send.lua: Example scripts to receive and send files using Jingle

verse.plugins.disco: Auto-disco local services on connect, and delay 'ready' event until done

doc/example.lua: Don't add sasl plugin, since it is enabled by default

libs/encodings.lua: Throw error when calling unimplemented function

squishy: Add proxy65, jingle, jingle_ft, jingle_s5b, disco plugins

util.sha1: Obey second parameter which decides whether to return the result in ASCII hex encoding

verse.plugins.version: Return true when handling a version request

verse.plugins.proxy65: Add proxies discovered by disco plugin to proxy65.available_streamhosts

verse.plugins.jingle_ft: Jingle File Transfer application profile

verse.plugins.jingle_s5b: Jingle SOCKS5 Bytestreams transport

verse.plugins.jingle: XEP-0166 Jingle plugin

verse.plugins.disco: Add disco plugin originally developed by Hubert Chathi for Riddim, but here adapted for Verse with new APIs added to allow disco'ing the local server and remote entities

verse: Add verse.eventable() to give a passed object :event() and :hook()/:unhook() methods and return it again

verse.client: Update stream:close() to use base stream:close(), and not add an XMPP-specific :close() to the base stream

verse: Return true from connect() on success, add stream:close()

verse: Return false rather than nil from connect() on error, for consistency

verse: Add stream:set_loglevels()

verse.bosh: Implemented retry/reconnect logic, and handling of disconnects (either CM-intiated or due to connection failures)

squishy: Build in BOSH and HTTP by default, --no-bosh to disable

doc/example_bosh.lua: Put url into variable

squishy: Add --with-bosh option to squish with verse.bosh and necessarylibraries

verse.bosh: Update to use net.http instead of verse.plugins.http

Add doc/example_bosh.lua

verse.bosh: Use verse.new_bosh(logger, url) to make a BOSH connection

example_component.lua: Fix password

docs/example_component.lua: Example for connecting to the server as a component

verse.component: XEP-0114 support \o/

verse.client: Add stream_id property

plugins.roster: Unfinished roster plugin

Bounce service-unavailable on unhandled iq stanzas (thanks Kev, Florob and anyone else who poked me)

verse.plugins.blocking, squishy: New plugin for XEP-0191: Simple Communications Blocking

plugins.compression: Add newline at end of file (helps old versions of squish for one thing)

verse.client, verse.plugins.bind, verse.plugins.session: Rename binding-success and binding-failure to bind-success and bind-failure for consistency

doc/example.lua: Update to use 'ready' event

verse.client: Fire 'ready' event on stream when resource binding or session negotiation is complete, hook this instead of binding-success

verse.plugins.session: Only negotiate session when support is advertised by the server, and not marked as optional (saves a round-trip in a lot of cases)

verse.plugins.compression: Remove some redundant debug logging

verse.plugins.session: Convert from spaces to tabs

verse.plugins.compression: Bump priority of stream-features handler to negotiate compression before resource binding

verse.plugins.compression: Support for stream compression (requires brimworks lua-zlib)

verse.client: Add stream:reset(), keep self.data static between resets

LICENSE: Add license (MIT/X11)

plugins.session: Convert from Windows line endings

verse.plugins.tls: self -> stream

verse.plugins.tls: Return true to indicate success loading plugin

verse.plugins.tls: Set secure flag, hide some warnings

verse: Load LuaSec if possible

verse.plugins.tls: Fail gracefully when LuaSec not loaded

verse.client: Load TLS along with other core plugins

verse.plugins.tls: Support for TLS encryption! (thanks Azelphur for the final push)

verse: Fire "status" event for connection status changes (notably SSL handshake complete)

verse: Remove some useless comments

doc/example.lua: Example XMPP client script

util.sha1, squishy: Add sha1 lib needed for proxy65 (and soon XEP-0114)

verse.plugins.proxy65: XEP-0065 plugin for file transfer through a proxy

verse: Add "drained" event to signal when send buffer is empty (new server.lua feature)

verse: Take advantage of server.lua's new onconnect callback for a more robust "connected" event

verse: Add stream:unhook(event_name, handler)

verse.client: Add verse.error_reply() helper

plugins.version: Detect errors based on type attribute, rather than presence of query element

Add support for 3921 session negotiation (makes ejabberd happy), thanks Chris!

verse.client: Add missing version to stream header (thanks Bill Clark)

verse.client: Update stream_callbacks format for new xmlhandlers API (thanks to Bill Clark for the patch)

verse.client, squishy: Rename "xmlhandlers" to "core.xmlhandlers" in line with Prosody's structure

verse.client: Fire disconnected event when the disconnect is initiated by the client too

verse: Add verse.quit() to exit the event loop

verse: Multiple changes to allow controlling logging for both verse and streams

verse.plugins.bind: Fix incorrect variable name causing traceback on unsuccessful bind

verse: Add verse.add_task(delay, callback) to add timer functions using util.timer

plugins.ping: Don't handle all errors as successful pongs, call callback with nil time and 3rd parameter a table with error info

plugins.bind: Requested JID^Wresource should be in <jid/>^W<resource/> tag (thanks Maranda :) )

plugins.bind: Requested JID should be in <jid/> tag (thanks Maranda :) )

verse.client: Automatically load sasl and bind plugins

verse.client: Don't hook the stanza event every time a stanza comes in :)

plugins.ping: Define xmlns_ping namespace

squishy: Add ping plugin

plugins.ping: Return true on module load to indicate load success

plugins.version: Return true on module load to indicate load success

plugins.ping: Add ping plugin to XMPP ping a JID

squish: Add version plugin

Revert module names throughout to their Prosody equivalents

verse.plugins.version: Fix for handling of version requests

verse.client: New stanza dispatcher to fire events based on the name (and in the case of iq, xmlns) of the stanza

Add 'version' plugin to handle and generate version requests

Rename verse2 -> verse

verse.client: Add verse.reply() as shortcut for util.stanza.reply()

squishy: Add util.uuid dependency

verse: Have verse.new() accept a prototype table on which to base the connection

verse.client: Extend verse object with message/iq/presence/stanza methods from util.stanza

verse.client: Fixes for new xmlhandlers namespace seperator

verse: Update for new server connection API

squishy: Update to fetch new server_select.lua from Prosody

squishy: Add util.timer

verse: Include LuaRocks packages if we can

verse: Fix stream:hook() to pass additional parameters to the underlying hook(), so we don't strip priority

util.xstanza: Fix and rename error_from_stanza() -> get_error()

squish: Add plugins

(0) -480 tip

mercurial