forked from vangberg/librevox
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGES
98 lines (64 loc) · 2.66 KB
/
CHANGES
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
= 0.5 / 2012-06-27
* Allow setting a response's content from a hash:
response = Librevox::Response.new
response.content = {:key => 'value'}
[Ben Langfeld]
* Removing fibers and reintroducing callback passing style:
def session_initiated
answer do
play_and_get_digits 'some-file.mp3' do |digit|
...
end
end
end
Fibers have proven to be hard to understand and prune to intro-
ducing subtle bugs, whereas callback passing style is easier to
manage.
= 0.3 / 2010-09-30
* New commands: uuid_bridge, uuid_park, hash.
* New applications: respond.
* Trap INT / TERM and terminate gracefully.
* You now have to do `api.status` instead of `api :status` when using
commands from a listener – this is easier on the eye, and makes for
a slighly simpler implementation.
* Introduced fibers, making Librevox Ruby 1.9-only. Support for the
old callback-style has been removed. This would have worked in < 0.3:
def session_initiated
answer
play_and_get_digits 'some-file.mp3' do |digit|
...
end
end
Now you can write your code in a seemingly blocking manner:
def session_initiated
answer
digit = play_and_get_digits 'some-file.mp3'
...
end
* Use `Listener::Outbound#variable(name)` to access channel variables.
E.g. `variable("foo")` is a shortcut for `session["variable_foo"]`.
* `Applications#play_and_get_digits/#read` uses the parameter key
`:variable` to determine which channel variable to read the result
from. Before it was `:read_var`.
* Applications automatically calls `update_session`, which means that
`Outbound#session` always will be up to date. Before you had to call
it explicitly.
= 0.2.1 / 2010-02-09
* Listener::Outbound#update_session takes a callback like other functions.
* Fix minor bug in parsing order: api/response comes before events.
= 0.2 / 2010-01-26
* Use #session_initiated instead of #session.
* bridge() takes an optional hash with channel variables.
* bridge() takes an array of arrays as endpoints, each set being failover.
* New applications: unbind_meta_app, pre_answer, export, gentones, deflect,
redirect, unset.
* Add logger: Librevox.logger
* Listener::Base#done is an alias of
EventMachine::Connection#close_connection_after_writing
* Listener::Base#on_event is called with a duplicate of Base#response as
argument.
* Event hooks are passed a duplicate of Base#response.
= 0.1.1 / 2010-01-05
* Released to fix Gemcutter weirdness.
= 0.1 / 2009-12-18
* Initial development release.