Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 173 lines (99 sloc) 5.424 kb
4f7a3fe Michael Klishin Make sure return listeners receive message body as is
authored
1 ## Changes between Langohr 1.0.0-beta8 and 1.0.0-beta9
2
3 `1.0.0-beta9` has **BREAKING CHANGES**:
4
5 ### Return Handlers Body Now Passed as-is
6
7 Langohr no longer instantiates a string from the message body before passing it to
8 return listeners. The body will be passed as is, as an array of bytes.
9
10
11
12
fdfabda Michael Klishin BREAKING CHANGE: Make langohr.basic/get return value consistent with wha...
authored
13 ## Changes between Langohr 1.0.0-beta7 and 1.0.0-beta8
14
15 `1.0.0-beta8` has **BREAKING CHANGES**:
16
17 ### langohr.basic/get Return Value Change
18
19 `langohr.basic/get` now returns a pair of `[metadata payload]` to be consistent with what
20 delivery handler functions accept:
21
22 ``` clojure
23 (require '[langohr.basic :as lhb])
24
25 (let [[metadata payload] (lhb/get channel queue)]
26 (println metadata)
27 (println (String. ^bytes payload)))
28 ```
29
30
88e05c5 Michael Klishin Minor change log update
authored
31 ## Changes between Langohr 1.0.0-beta6 and 1.0.0-beta7
32
5b8f72c Michael Klishin Breaking change: unify consumer handler names
authored
33 `1.0.0-beta7` has **BREAKING CHANGES**:
34
35 ### langohr.basic/consume Handler Names
36
2b0c0cd Michael Klishin Change log corrections
authored
37 The options `langohr.consumers/create-default` takes now have consistent naming:
5b8f72c Michael Klishin Breaking change: unify consumer handler names
authored
38
39 * `:consume-ok-fn` becomes `:handle-consume-ok-fn`
40 * `:cancel-fn` becomes `:handle-cancel-fn`
41 * `:cancel-ok-fn` becomes `:handle-cancel-ok-fn`
42 * `:shutdown-signal-ok-fn` becomes `:handle-shutdown-signal-ok-fn`
43 * `:recover-ok-fn` becomes `:handle-recover-ok-fn`
44 * `:handle-delivery-fn` does not change
45
46 This makes handler argument names consistent across the board.
88e05c5 Michael Klishin Minor change log update
authored
47
48
4585f2d Michael Klishin Breaking change: make delivery handler signatures consistent everywhere
authored
49 ## Changes between Langohr 1.0.0-beta5 and 1.0.0-beta6
50
51 `1.0.0-beta6` has **BREAKING CHANGES**:
52
2b0c0cd Michael Klishin Change log corrections
authored
53 ### langohr.consumes/create-default Delivery Handler Signature Change
4585f2d Michael Klishin Breaking change: make delivery handler signatures consistent everywhere
authored
54
2b0c0cd Michael Klishin Change log corrections
authored
55 `langohr.consumers/create-default`'s `:handle-delivery-fn` signature is now consistent with
4585f2d Michael Klishin Breaking change: make delivery handler signatures consistent everywhere
authored
56 that of `langohr.basic/subscribe`:
57
58 ``` clojure
59 (fn [^Channel ch metadata ^bytes payload]
60 )
61 ```
62
88e05c5 Michael Klishin Minor change log update
authored
63 This makes delivery handler signatures consistent across the board.
4585f2d Michael Klishin Breaking change: make delivery handler signatures consistent everywhere
authored
64
65
66
53149dd Michael Klishin Back to SNAPSHOT
authored
67 ## Changes between Langohr 1.0.0-beta4 and 1.0.0-beta5
68
1cf3651 Michael Klishin Support "advanced" connection factory settings
authored
69 ### More Connection Settings
70
71 `langohr.core/connect` now supports several more options:
72
73 * `:ssl` (true or false): when true, Langohr will use the default SSL protocol (SSLv3) and the default (trusting) trust manager
74 * `:ssl-context` (`javax.net.ssl.SSLContext`): SSL context to use to create connection factory
75 * `:sasl-config` (`com.rabbitmq.client.SaslConfig`): use if you need to use a custom SASL config
76 * `:socket-factory` (`javax.net.SocketFactory`): use if you need to use a custom socket factory
77
78
d7b3b13 Michael Klishin Update change log
authored
79 ### Client Capabilities
80
81 Langohr now provides its capabilities to the broker so it's possible to tell the difference between
82 Langohr and the RabbitMQ Java client in the RabbitMQ Management UI connection information.
83
ba1d270 Michael Klishin Update change log
authored
84 ### Broker Capabilities Introspection
85
86 `langohr.core/capabilities-of` is a new function that returns broker capabilities as an immutable map,
87 e.g.
88
89 ``` clojure
90 {:exchange_exchange_bindings true
91 :consumer_cancel_notify true
92 :basic.nack true
93 :publisher_confirms true}
94 ```
95
066f76d Michael Klishin Clojure 1.4 is the new default
authored
96 ### Clojure 1.4 By Default
97
98 Langohr now depends on `org.clojure/clojure` version `1.4.0`. It is still compatible with Clojure 1.3 and if your `project.clj` depends
99 on 1.3, it will be used, but 1.4 is the default now.
100
101 We encourage all users to upgrade to 1.4, it is a drop-in replacement for the majority of projects out there.
102
53149dd Michael Klishin Back to SNAPSHOT
authored
103
104
caba792 Michael Klishin 1.0.0-beta3
authored
105 ## Changes between Langohr 1.0.0-beta3 and 1.0.0-beta4
106
909f99a Michael Klishin Change log update
authored
107 ### Payload is Now Longer Assumed to Be a String
108
109 `langohr.basic/publish` no longer assumes the payload is always a string. It can be anything the `langohr.conversion/BytePayload`
110 protocol is implemented for, by default byte arrays and strings.
111
2d0767d Michael Klishin Change langohr.queue/declare defaults: :exclusive is now false by defaul...
authored
112 ### queue.declare :exclusive Default Value Change
113
114 `langohr.queue/declare` now uses default value for the `:exclusive` parameter as `false`. The reason for
115 this is that exclusive queues are deleted when connection that created them is closed. This caused
116 confusion w.r.t. non-auto-deleted queues being deleted in such cases.
caba792 Michael Klishin 1.0.0-beta3
authored
117
118
119
51cb34b Michael Klishin Begin beta3 iteration
authored
120 ## Changes between Langohr 1.0.0-beta2 and 1.0.0-beta3
121
caba792 Michael Klishin 1.0.0-beta3
authored
122 ### URI parsing
123
124 `langohr.core/settings-from` is a new public API function that parses AMQP and AMQPS connection URIs
125 and returns an immutable map of individual arguments. URI parsing is now delegated to the Java client
126 for consistency.
127
128
836a3c6 Michael Klishin Bump RabbitMQ Java client to 2.8.6
authored
129 ### RabbitMQ Java Client 2.8.6
803e2ca Michael Klishin RabbitMQ Java client 2.8.2
authored
130
836a3c6 Michael Klishin Bump RabbitMQ Java client to 2.8.6
authored
131 RabbitMQ Java Client has been upgraded to version 2.8.6.
51cb34b Michael Klishin Begin beta3 iteration
authored
132
133
c367bc1 Michael Klishin Migrate to Leiningen 2
authored
134 ## Changes between Langohr 1.0.0-beta1 and 1.0.0-beta2
135
ebd0f4c Michael Klishin Change message consumer fn signature per discussion in #3
authored
136 ### Breaking change: message handler signature has changed
137
138 Previously message handlers registered via `langohr.consumers/subscribe` had the following
139 signature:
140
141 ``` clojure
142 (fn [^QueueingConsumer$Delivery delivery ^AMQP$BasicProperties properties payload] ...)
143 ```
144
145 starting with beta2, it has changed to be more Clojure friendly
146
147 ``` clojure
148 (fn [^Channel ch metadata payload] ...)
149 ```
150
151 All message metadata (both envelope and message properties) are now passed in as a single Clojure
152 map that you can use destructuring on:
153
154 ``` clojure
155 (fn [^Channel ch {:keys [type content-type message-id correlation-id] :as metadata} payload] ...)
156 ```
157
158 In addition, in explicit acknowledgement mode, ack-ing and nack-ing messages got easier because
159 consumer channel is now passed in.
160
161 It is important to remember that sharing channels between threads that publish messages is **dangerous**
162 and should be avoided. Ack-ing, nack-ing and consuming messages with shared channels is usually acceptable.
163
164
165
741fd22 Michael Klishin Upgrade to RabbitMQ Java client 2.8.x
authored
166 ### RabbitMQ Java Client 2.8.x
167
168 RabbitMQ Java Client which Langohr is based on has been upgraded to version 2.8.1.
169
c367bc1 Michael Klishin Migrate to Leiningen 2
authored
170 ### Leiningen 2
171
172 Langohr now uses [Leiningen 2](https://github.com/technomancy/leiningen/wiki/Upgrading).
Something went wrong with that request. Please try again.