forked from adhearsion/blather
-
Notifications
You must be signed in to change notification settings - Fork 1
/
CHANGELOG
150 lines (124 loc) · 6.07 KB
/
CHANGELOG
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
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!)