forked from airlift/airlift
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCHANGES
325 lines (251 loc) · 11.9 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
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
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
* 0.80
- [Bug] Fix issue in launcher when inspecting etc and plugin symlinks
- [Bug] Fix JSONP support in jaxrs for generic types (like collections)
- Move the HTML user interface for JMX to /v1/jmx
* 0.79
- Replace custom jmx agent with jdk's
- Defunct jmx.rmiserver.hostname property
- Add additional Logger methods for literal messages
- Update RequestStats to use DistributionStat instead of MeterStat
- Deprecate TimedStat and introduce TimeStat
- Add ConfigurationAwareProvider interface to implement custom
configuration providers
- Roll and compress the http request log daily
- [Experimental] Add management wrapper for thread pool executor
- New python-based launcher
* 0.78
- Redesign HttpClient exception handling
- Backwards incompatible change to Duration to align with DataSize
- Bind to localhost when using TestingNodeModule
- Validate discovered address in NodeInfo
- Add Discovery ServiceSelectorManager for forced refreshes
- [Bug] In Discovery retry quicker after a failure
* 0.77
- Implemented QuantileDigest merging
- Added methods for serializing and deserializing QuantileDigest
- Allow adding negative values to QuantileDigest
- Fix handling of missing content type for JSON http responses
* 0.76
- Rack server support has been moved to a separate project: airlift-rack
- Added TestingHttpClient to simplify testing
* 0.75
- Add "X-Content-Type-Options: nosniff" header to all json responses to prevent
broken browsers from rendering the json as html, which is a potential XSS
vulnerability
* 0.74
- Remove experimental from all artifact names
- AsyncHttpClient (Netty based) now shares I/O pools by default. To get a
private IO pool, use withPrivateIoThreadPool() when binding the client.
The pools running user code are still per-client.
* 0.73
- [BUG] Always notify http response handler of errors
- Properly name http client threads
- Add properties to control number of Netty http boss and worker io threads
- Add AsyncHttpResponseFuture with state method for debugging
* 0.72
- Event client supports multiple backend implementations simultaneously
- Move logging management code from log module to new log-manager module
- Drop jax-rs dependencies in clients
- [Bug] launcher would sometimes create empty pid file which resulted in "kill 0" being executed
* 0.71
- JMXAgent now uses NodeInfo to find IP address to bind to.
- Use airbase to build.
- Upgrade to Jetty 8.1.9
- Upgrade to Guava 13.0.1
- Upgrade to Apache BVal 0.5
- Upgrade to slf4j 1.7.2
- Upgrade to logback 1.0.9
- Upgrade to Jersey 1.17
- Upgrade to Joda Time 2.1
- Upgrade to JCommander 1.30
- Upgrade to MySQL Connector 5.1.23
- Upgrade to h2 1.3.170
- Upgrade to TestNG 6.8
- Upgrade to Mockito 1.9.5
- Upgrade to Hamcrest 1.3
- Change io.airlift.log.Logger to use java.util.logging internally
* 0.70
- Upgrade to Jackson 2.1.3
- add support for Jackson modules
- Change AsyncHttpClient to be a true async http client
* 0.69
- Upgrade to jmxutils 1.13
- Upgrade to Jackson 1.9.12
* 0.68
- Dropped support for v1 events
- HTTP clients are now Closeable and shutdown properly
- JsonCodecFactory no longer pretty prints by default
- [Bug] Prevent HTTP tests from hanging on machines with many processors
* 0.67
- Dropped the Cassandra module
- Improvements to EquivalenceTester
- [Bug] Don't send entity in http client if there's no body generator
- [Bug] Use System.nanoTime() instead of System.currentTimeMillis for measuring time intervals
- Upgrade to Apache httpclient 4.2.2
- [Bug] Don't throw an exception from http request logger when wall clock time goes backwards
- Improve validation of H2EmbeddedDataSource config
- Allow use of H2 without an init script
- Enable mvcc support for embedded H2
- DataSize and Duration are now serializable as json
* 0.66
- Java 7 is now required
- Replace EWMA with DecayCounter, an implementation that doesn't require a thread pool
- Add HttpUriBuilder from Airship (Formerly Galaxy)
- Add support for binding Jackson key serializers and deserializers in Guice
- Add support for fromString method in configuration type coercion
- Better testing for nulls and unrelated classes in EquivalenceTester
- [Bug] Http client could attempt to connect to port zero; now throw an exception
- Minor fixes for windows
- Add QuantileDigest for computing approximate quantile statistics
- Deprecate MeterStat in favor of newly introduced DistributionStat
* 0.65
- Repackaged the project under io.airlift
* 0.64
- [Bug] Add missing HttpEventModule to skeleton-server
- Enforce use of HttpClientBinder
* 0.63
- [Bug] Make http-client-experimental a compile dependency
* 0.62
- Removed all dependencies to Ning's Asynchronous HTTP client
- Cleaned up dependency management
- Multiple refactoring commits for readability
- Addition of request filter support to HttpClient
- Removal of deprecated JavaUrlHttpClient
- Removal of the experimental module, segmented into separate modules
* 0.61
- Upgrade to Guava 12.0 for Platform and Rest Server Base
- Tests for keep alives in ApacheHttpClient
* 0.60
- [Bug] Fix announcements for Rack servers
* 0.59
- Replace Hibernate validator with direct dependency on Apache BVal
- [Bug] Fix V1 Events so they can be used with http request events
- Check for duplicate classes in the dependency closure during builds
- Add JsonEventSerializer for external use
- Add support for Rack servers to be able to announce with Discovery
* 0.58
- [Bug] Add new required modules for Rack server
- [Bug] Make media type parser more lenient
- [Experimental] Make JsonResponseHandler success codes configurable
* 0.57
- [Bug] ServiceInventory periodic refresh wasn't working
- Export ServiceInventory through JMX
* 0.56
- Fixed bug that causes HttpRequestEvents to not be published
* 0.55
- Upgrade to Jackson 1.9.5
- Record and event for each http request processed
- Added support for X-FORWARDED-FOR and X-FORWARDED-PROTO in request event and logging
- Add timing filter to http request flow for measuring time to first byte
- Set names of http server threads to a reasonable value
- Service inventory now support file URIs
- [Experimental] Changed HttpClient to not be async and added new AsyncHttpClient
- [Experimental] Replace java.net.URL with Apache HTTP Components in http-client
* 0.54
- [Bug] Don't use doclava in javadoc plugin for servers that use rest-server-base, it's buggy
* 0.53
- Upgrade to jetty 8.1.1 to fix connection leak when clients hang up prematurely
- EOFException while reading a JSON request now results in a 400 instead of a 500
- Add support for binding servlet filters into TestingHttpServer
- [Experimental] Update Rack packaging (JRuby on Rails) for Rails 3.1+
* 0.52
- Use a separate thread pool for http server admin listener
- Make http client connect and read timeout configurable
- Add node.external-address property to specify external routable address
- Server response header is not longer sent
* 0.51
- [Experimental] Trace token support in http server
- Support Map and Multimap for event fields
- Add server binary and config spec in jmx-http-rpc announcement
- [Bug] Announce jmx-http-rpc on admin port instead of main port
- [Bug] Add support for legacy log.config to launcher
* 0.50
- Upgrade to Guava 10.0.1
- Upgrade to TestNG 6.2.1
- Upgrade to Joda time 2.0
- Upgrade to CGlib 2.2.2
- Upgrade to Hibernate validation 4.2.0.Final
- Upgrade to log4j-over-slf4j 1.6.2
- Upgrade to Logback 0.9.30
- [Experimental] Log levels can be configured via JMX
* 0.49
- Upgrade to Jetty 8.0.3. Fixes critical bug where the http server leaks connections and file descriptors
- Sign artifacts for projects that inherit from rest-server-base and rack-server-base-experimental
- Optimize event serializer under high-concurrency
- [Experimental] Discovery client now bootstraps itself by calling out to an optional service inventory API
- [Experimental] Http server and client now expose request stats over JMX
- [Experimental] Support for conditional module binding
- [Experimental] Http-based JMX connector listens on an alternate admin port
- [Bug] Http client now consumes all unread input, otherwise keep-alive doesn't work
- [Bug] RackServlet inherited GEM_HOME and GEM_PATH environment variables
* 0.48
- Upgrade to Guava 10.0 - older version are now banned
- Upgrade to Hector 0.8.0-2
- Upgrade to Jersey 1.9.1
- Upgrade to Jetty 8.0.1
- [Experimental] Added http based JMX remote connector
- [Experimental] User agent if http client is now node.id to make debugging easier
- [Bug] removed broken discovery and event fail-safe logic
* 0.47
- [Bug] Fixed memory leaks in DiscoveryClient and EventClient due to AsyncHttpClient
- [Experimental] Added simplified HttpClient based in java.net.URL
* 0.46
- Launcher script now symlinks etc directory from install dir to data dir
- Launcher now looks for etc/node.properties instead of etc/node.config
* 0.45
- Releases and snapshots are now published to oss.sonatype.org
- HttpServer now allows SSL renegotiation (underlying issue has been fixed in JVM)
- Record request size in http log
- Launcher now supports --node-config for passing node specific data from Galaxy Agent
- Upgrade to async-http-client 1.6.5
- [Experimental] Rewrote event client v2 serialization and deprecated v1
- [Experimental] Added support for nested and iterable event fields in v2
- [Experimental] Changed event client to use java.net.URL instead of AsyncHttpClient due to memory leak
- [Experimental] Upgraded embedded Cassandra to 0.8.5
- [Experimental] Changed default Cassandra partitioner to BYTE_ORDERED
- [Experimental] Added rpc timeout configuration support for embedded Cassandra
- [Experimental] Moved experimental discovery based JDBC driver to pure Ruby
- [Experimental] Removed experimental dbpool-no-dep jar
- [Experimental] JRuby on Rails platform integration and galaxy packaging
- [Experimental] Added toBytes and roundTo methods to DataSize
- [Bug] System out and err redirect to logging does not flush
- [Bug] Fixed race condition in embedded Cassandra lifecycle
- [Bug] Fixed error reporting in event client
- [Bug] Fixed launcher issues with spawn using 'sh -c' on Linux
* 0.44 [BAD]
- This is a bad release. Do not use.
* 0.43
- [Experimental] Added rack servlet for integration with JRuby on Rails
- [Bug] Discovery client fails to reschedule refresh job in some cases
* 0.42
- [Experimental] Embedded cassandra server and testing utilities
- [Experimental] Added DataSize (similar to Duration)
- [Experimental] Added ValidationAssertions.assertValidates and assertFailsValidation
- [Bug] Discovery client fails when consuming static announcements
- [Bug] MySQL connection timeouts using the wrong unit (ms vs s)
- [Bug] Jar manifest using the wrong file names when building snapshot versions
* 0.41
- Removed support for building RPMs
- Launcher now requires MRI Ruby 1.9.2+
- Launcher script now supports arbitrary properties using -Dname=value
- Launcher script now supports restart command
- Launcher script now supports a data directory argument which specifies
the location to which the process should write persistent data files
- Launcher script now writes pid file and launcher log to data directory
- Added location to NodeInfo
- Updated to Surefire 2.8.1 which fixes Guice dependency problems
- Graduated @MinDuration and @MaxDuration to platform units module
- [Experimental] Added service discovery client
- [Experimental] JMX now announces to discovery server
- [Experimental] HTTP event client now uses discovery to find event collectors
- [Experimental] MySQL db pool now uses discovery to find mysql servers
- [Experimental] Added no-dep discovery database driver for use in Rails
- [Bug] Assembly packaging now picks up jars that contain a maven classifier
* 0.40
- Builder-based API for EquivalenceTester
- Improved error reporting for EquivalenceTester
- MockRequest for testing Jax-RS resources
- Bean validation annotations for Durations (@MinDuration, @MaxDuration)
- Log.debug() variant that takes an exception
- http-server.https.keystore.password to http-server.https.keystore.key
- Bug fixes