public
Description: XMPP DSL for Ruby written on EventMachine and Nokogiri.
Homepage: http://blather.squishtech.com
Clone URL: git://github.com/sprsquish/blather.git
Click here to lend your support to: blather and make a donation at www.pledgie.com !
blather / CHANGELOG
100644 91 lines (74 sloc) 3.775 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
v0.4.6
Bugfix: prioritize authentication mechanisms
 
v0.4.5
Bugfix: Change DSL#write to DSL#write_to_stream. Previous way was messing with YAML
 
v0.4.4
  Add "disconnected" handler type to handle connection termination
  Bugfix: Fix error with pubsub using the wrong client connection
 
v0.4.3
  Bugfix: status stanza with a blank state will be considered :available (GH-23)
  Bugfix: ensure regexp guards try to match against a string (GH-24)
  Stream creation is now evented. The stream object will be sent to #post_init
  Parser debugging disabled by default
  Update parser to work with Nokogiri 1.3.2
  Bugfix: discover helper now calls the correct method on client
  Bugfix: ensure XMPPNode#inherit properly sets namespaces on inherited nodes
  Bugfix: xpath guards with namespaces work properly (GH-25)
 
v0.4.2
  Fix -D option to actually put Blather in debug mode
  Stanzas over a client connection will either have the full JID or no JID
  Regexp guards can be anything that implements #last_match (Regexp or Oniguruma)
  Add "halt" and "pass" to allow handlers to either halt the handler chain or pass to the next handler
  Fix default status handler so it doesn't eat the stanza
  Add before and after filters. Filters, like handlers, can have guards.
 
v0.4.1
  Bugfix in roster: trying to call the wrong method on client
 
v0.4.0
  Switch from LibXML-Ruby to Nokogiri
  Update test suite to run on Ruby 1.9
  Add "<<" style writer to the DSL to provide for chaining outbound writes
  SRV lookup support
  Add XPath type of handler guard
  PubSub support
 
v0.3.4
  Remove unneeded functions from the push parser.
  Create a ParseWarning error that doesn't kill the stream.
  When a parse error comes in the reply should let the other side know it screwed up before dying.
  Add the LibXML::XML::Error node to the ParseError/ParseWarning objects.
 
v0.3.3
  Fix the load error related to not pushing Blather's dir into the load path
 
v0.3.2
  Switch the push parser from chunking to streaming.
  Don't push Blather's dir into the load paths
 
v0.3.1
  Small changes to the DSL due to handler collisions:
    "status" -> "set_status"
    "roster" -> "my_roster"
  Small changes to the Blather::Client API to keep it feeling more like EM's API:
    #stream_started -> #post_init
    #call -> #receive_data
    #stop -> #close
    #stopped -> #unbind
  Refactored some of the code internal to Blather::Client
  Added command line option handler to default use method (see README)
  require libxml-ruby >=1.1.2 (1.1.3 has an inconsistent malloc err on OS X 10.5)
  complete specs
  add single process ping-pong example
 
v0.3.0
  Remove autotest discover.rb (created all sorts of conflicts)
  Added Hash with Array guard
  Added a hirrarchy printer to examples directory
  Moved Disco to be in the Stanza namespace (staves off deeply namespaced classes)
  Namespaced the DSL methods to Blather::DSL. These can be included in any object you like now. "require 'blather/client'" will still include them directly in Kernel to keep the simple one-file dsl
  Stopped doing one class per error type. This created a giant hierarchy tree that was just unnecessary. The error name is now #name. Errors can be matched with a combination of handler and guard.
  Fixed XML namespaces. Previous versions weren't actually adding the node to the namespace making xpath queries inconsistent at best.
  Added support for anonymous authentication by providing a blank node on the jid ("@[host]")
 
v0.2.3
  Go back to using the master branch for gems (stupid mistake)
 
v0.2.2
  Switch to Jeweler.
  Move from custom libxml to just a custom push parser
  Add guards to handlers
 
v0.2.1 Upgrade to libxml 0.9.7
 
v0.2 Overhaul the DSL to look more like Sinatra
 
v0.1 Initial release (birth!)