Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

file 200 lines (162 sloc) 8.301 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 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200
v0.5.11
  Feature(benlangfeld): Allow specifying a connection timeout
    * Raise Blather::Stream::ConnectionTimeout if timeout is exceeded
    * Default to 180 seconds

v0.5.10
  Feature(juandebravo): Allow configuring the wire log level
  Bugfix(benlangfeld): Checking connection status before the stream is established

v0.5.9
  Bugfix(benlangfeld): Failed connections now raise a Blather::Stream::ConnectionFailed exception
  Bugfix(crohr): Blather now supports EventMachine 1.0

v0.5.8
  Bugfix(benlangfeld): JIDs now maintain case, but still compare case insensitively
  Bugfix(jmazzi): Development dependencies now resolve correctly on JRuby and Rubinius

v0.5.7
  Bugfix(benlangfeld): Don't install BlueCloth as a development dependency when on JRuby

v0.5.6
  Changes from 0.5.5, this time without a bug when using the namespaced DSL approach

v0.5.5 (yanked)
  Bugfix(benlangfeld/kibs): ActiveSupport was overriding the presence DSL method
  Feature(fyafighter): Adds SSL peer verification to TLS

v0.5.4
  Bugfix(fyafighter): Regression related to earlier refactoring: https://github.com/sprsquish/blather/issues/53
  Feature(fyafighter): Make it much easier to allow private network addresses
  Bugfix(benlangfeld): Fix the Nokogiri dependency to the 1.4.x series, due to a bug in 1.5.x
  Bugfix(zlu): Replace class_inheritable_attribute with class_attribute because it is deprecated in ActiveSupport 3.1

v0.5.3
  Feature(benlangfeld): Add XMPP Ping (XEP-0199) support

v0.5.2
  Bugfix(benlangfeld): Remove specs for the Nokogiri extensions which were moved out

v0.5.1 - yanked
  Feature(benlangfeld): Abstract out Nokogiri extensions and helpers into new Niceogiri gem for better sharing
  Documentation(benlangfeld)

v0.5.0
  Feature(radsaq): Add a #connected? method on Blather::Client
  Feature(benlangfeld)[API change]: Allow the removal of child nodes from an IQ reply
  Bugfix(zlu): Use rubygems properly in examples
  Bugfix(benlangfeld): Remove code borrowed from ActiveSupport and instead depend on it to avoid version conflicts
  Documentation(sprsquish)

v0.4.16
  Feature(benlangfeld): switch from jeweler to bundler
  Feature(benlangfeld): add cap support (XEP-0115)
  Bugfix(sprsquish): Better equality checking
  Bugfix(sprsquish): Fix #to_proc
  Bugfix(mironov): Skip private IPs by default

v0.4.15
  Feature(mironov): Implement XEP-0054: vcard-temp
  Feature(benlangfeld): Basic support for PubSub subscription notifications as PubSub events
  Feature(mironov): Ability to clear handlers
  Feature(mironov): Implement incoming file transfers (XEP-0096, XEP-0065, XEP-0047)
  Bugfix(mironov): Fix for importing messages with chat states
  Bugfix(mironov): Added Symbol#to_proc method to work on ruby 1.8.6
  Bugfix(mironov): Fix roster items .status method to return highest priority presence
  Bugfix(mironov): Remove old unavailable presences while adding new one
  Bugfix(mironov): Use Nokogiri::XML::ParseOptions::NOENT to prevent double-encoding of entities
  Bugfix(benlangfeld): Disco Info Identities should have an xml:lang attribute
  Bugfix(mironov): Fix lookup path for ruby 1.9
  Bugfix(mironov): stanza_error.to_node must set type of the error
  Bugfix(mironov): Allow message to have iq child
  Bugfix(mironov): Find xhtml body in messages sent from iChat 5.0.3

v0.4.14
  Tests: get specs fully passing on rubinius
  Feature(mironov): Implement XEP-0085 Chat State Notifications
  Bugfix(mironov): send stanzas unformatted
  Bugfix(mironov): Message#xhtml uses inner_html so tags aren't escaped
  Bugfix(mironov): Message#xhtml= now works with multiple root nodes

v0.4.13
  Bugfix: Place form child of command inside command element

v0.4.12
  API Change: Switch order of var and type arguments to X::Field.new since var is always required but type is not
  API Change: PubSub payloads can be strings or nodes and can be set nil. PubSub#payload will always return a string
  Feature: Add forms to Message stanzas

v0.4.11
  Bugfix: command nodes where generating the wrong xml
  Bugfix: x nodes where generating the wrong xml
  Feature: ability to set identities and features on disco info nodes
  Feature: ability to set items on disco item nodes

v0.4.10
  no change

v0.4.9
  Feature: XEP-0004 x:data (benlangfeld)
  Feature: XEP-0050 Ad-Hoc commands (benlangfeld)
  Minor bugfixes for the specs

v0.4.8
  Feature: add xhtml getter/setter to Message stanza
  Bugfix: heirarchy -> hierarchy spelling mistake
  Hella documentation

v0.4.7
  Update to work with Nokogiri 1.4.0

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!)
Something went wrong with that request. Please try again.