forked from twitter/util
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog
364 lines (271 loc) · 11.8 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
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
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
6.3.7 2013-06-24
* util-app: flags use by-name default values
* util-app: Make the global flag test idempotent
* util-collection: guard against missing element exception in BGQ
* util: Deal with UnknownHostException thrown by InetAddress.getLocalHost
* util: update version in README
6.3.6 2013-06-11
* util: Update owners files
* util-jvm: CpuProfile: sleep the right amount of time for the recording thread
* util-jvm: always try to construct hotspot instance Detection by VM name is unreliable.
* util: util/* compiling, testing and benchmarking with pants.
* util-eval: Gizzard: Some followup deps alignment to fix deployment classpath issues
6.3.5 2013-05-31
* util-core: add Time.fromMicroseconds to util.Time
* util-core: NullMonitor takes itself out when composed
* util-core: deprecate Config
* util-hashing: add entryForHash api to Distributor
* util-app: Flag: clarify usage and hide all Flag constructors.
* util-core: Added reduceLeft and foldLeft to the Spool class
* util: Update sbt project for (util, ostrich, finagle)
6.3.4 2013-05-16
* util-core: Convenience method to await all
* util-core: RootMonitor never propagates non fatal exception
6.3.3 2013-05-13
* util-collection: When growing chain only grow the chain. This addresses a NoSuchElementException.
* util-eval: fix for when class files are on the classpath directly
* util: Generate build.properties from sbt
* util-core:Time, Duration: implement Java serialization
* util-thrift: Bump Jackson to 1.9.11
* util-core: Add withFilter to Future and Try
* util: Remove zookeeper dependency ivyXML and replace with ExclusionRules
6.3.2 2013-04-18
* util-core: create less garbage in AsyncSemaphore.acquire()
* util-core: deprecate com.twitter.util.concurrent.Concurrent{Pool, MultiMap}
* util-core: restore prior Future.get behavior
* util-core: Spool error propagation
* util-core: Use futures for schema detection to avoid blocking finagle threads
* util-refect: test: use sys.error
* util-zk: ZNode("/path").parentPath should be "/", not an empty string
6.3.0 2013-04-05
* util-core: flag a bug with U64 truncation
* util-core: Future.get: include fatal exceptions
* util-core: deprecate Future#apply, get.
* util-core: special-case Duration.Zero to avoid allocation
6.2.5 2013-03-27
* util-zk: Improvements to util-zk NativeConnector
* util: Update sbt project definition
* util: launching test in all scala version of the project
6.2.4 2013-03-21
* util-core: Add Future.Nil, it can be used anytime you need a Future[Seq[_]] with an empty sequence.
* util-core: fix VM test error by ensuring reset
* util-core: Move Disposable/Managed to util
* util-logging: scribe binary thrift for tbird add/remove/scrub ops:
* util: upgrade com.twitter.common.objectsize to 0.0.7
6.2.3 2013-03-08
* util-core: Remove StreamHelper
* Flag: create Map flag type
6.2.2 2013-02-25
* Flag: introduce global flags
6.2.1 2013-02-20
* HttpMux: provide visibility into available handlers
* Flag: add Time type
* Spool: encode exceptions
* Closable: use Time.Bottom for close()
* Future.within: bypass timer entirely if we're passed Duration.Top
* Awaitable: introduce Await
* util-jvm: GC predictor
* io.Files: don't overallocate buffers
* Future: use .nonEmpty instead of != Nil
6.1.0 2013-01-30
* preliminary 2.10 port/build
* Add Closable trait
* Add contention snapshot
6.0.6 2013-01-22
* util-core: concurrent.SpoolSource utility for creating Spools
* util-core: Spool.flatMap, Spool.++
* util-app: add shutdown hooks
* util-logging: Make the logging work properly for Scala and
mixed Scala/Java
6.0.4 2012-12-18
* Broker: more efficient dequeueing of offers
* Duration: parse all output of Duration.toString
* ScheduledThreadPoolTimer: aggressively remove runnables
to avoid space leak
* util-core documentation: fix some parentheses, backticks
* util-hashing: add Hashable type class
6.0.3 2012-12-11
* Promise: remove future tracing, add explicit transforming state to
avoid extraneous allocation
* update zk client
* com.twitter.app: composable apps & flags
6.0.1 2012-11-26
* Use java.util.ArrayDeque in place of mutable.Queue due to
https://issues.scala-lang.org/browse/SI-6690
6.0.0 2012-11-26
* Removed future cancellation, which is now replaced with one-shot
interrupts. These also carry a ``cause'' which will be used
profitably in finagle.
* A new, leaner Promise implemetnation
* New implementations for Time and Duration with true sentinels
* Promise, Try combinators no longer attempt to catch fatal
exceptions
5.3.14 2012-11-20
* fix compiler warnings
* Future.join: support up to 22-tupled futures
* com.twitter.concurrent.Serialized: explicit docs
* util-logging: concurrent enqueue support for ScribeHandler, add stats
5.3.13 2012-10-16
* AsyncSemaphore: Use volatile vars for the active number and the waiters
* util-logging: fix ThrottledHandler to not leak memory
* util-logging: for file handlers, default to append=true since that was the default with FileHandlerConfig and is safer behavior
* upgrading slf4j dependent projects (1.6.1).
* sbt: robust MD5 checking.
* Fix Spool.foreachElem crashing on resoved spool with error
* FuturePool.defaultPool: use cached threadpool by default.
* util-logging: Correctly handle files with a shared prefix.
5.3.10 2012-09-06
* Improve ZNode.name and ZNode.parentPath to not use Regexes
* Fix ScheduledThreadPoolTimer.schedule(...).cancel()
* Upgrade guava dependency to v13
* Add a ZkClient Connector that dispatches requests across several zookeeper connections
* Support prefix-less sequential nodes in util-zk
* util-logging: Add Logger.withLoggers.
* Clean up equals and hashCode for Time and Duration
5.3.7 2012-08-21
* Disable log handler purging
* Added ThriftCodec
* Add a Time.hashCode method
* GC monitor: be more quiet about missed GCs
* patch public release of OSS libraries; catch up sbt
5.3.6 2012-07-26
* Fix temporary file name generation
5.3.0 2012-06-25
* util-jvm: start timer thread in 'daemon' mode
5.2.0 2012-06-14
* JVM CPU profiler
* util-jvm: fix for JDK 7
5.1.2 2012-06-07
* fix documentation
* util-jvm: gc monitoring
* Kill com.twitter.concurrent.Channel
5.0.4 2012-06-01
* Upgrade scala to 2.9.2
* Java compatibility: void -> voided
4.0.1
* added AsyncQueue
* config:validate optional subconfigs
* util-zk: allow multiple session event listeners, fix AsyncCallbackPromise
exception handling, misc fixes
* offer: deprecate apply()
* propagate cancellation exception when Timer.doAt future is cancelled
* KetamaDistributor optionally preserves a floating point truncation
* Timer uses daemon thread by default
* Future.monitor: release reference to promise when it's satisfied
* Future: misc Java compatibility fixes
* Eval.scala: Allow @deprecated
* util-logging: Add LoggerFactory
* Util: Add util-class-preloader (classfile preloading), util-jvm
(access to performance counters)
* Future: divorce from TryLike hierarchy
* LogRecord: use MessageFormat
* Time: Treat MaxValue specially in TimeMod.{add,sub}
3.0.0 2012-03-14
* AsyncSemaphore: allow parameterizing maximum queue size
* Logging: scribe handlers may now be named "scribe"
* Logging: Always make sure Level is initialized before being
able to refer to Logger.
* Offer/Broker: simpler, more flexible implementation
* Config: Config.optional results in lazy evaluation
2.0.0 2012-02-27
* NetUtil: optimize ipv4 address parsing
* upgrade to Guava r11
1.12.13 2012-02-13
* NetUtil: Add inetAddressToInt, isInetAddressInBlock, isInetAddressInBlocks
* Future tracer: fix bug where double proxied exceptions fail
* add "ExceptionalFunction0" for easier use from Java
* Locals: many optimizations to reduce allocations caused by saving
and restoring contexts
1.12.12 2012-01-24
* util-zk-common: Asynchronous wrappers for common ServerSets.
* IVar.unget: only remove closures by object equality
* Offer.choose: use nanoseconds for random seed
* Future.const - builds a constant Future from an existing Try
1.12.9 2012-01-05
* ThreadPoolFactories are named by default
* Offer: ensure ObjectOrder is independent of Object#hashCode
* new package: util-zk: asynchronous bindings to ZooKeeper
1.12.7 2011-12-02
* Future: temporarily disabling default usage of the AsmTracer
1.12.6 2011-12-01
* Future: all helper methods now have Java-friendly equivalents
that take Lists.
1.12.5 2011-11-29
* Config: recompile configs based on hash instead of timestamp, add
memoization
* Timer: make JavaTimer more resilient, log errors
* FuturePool: Fixed race condition in FuturePool where work that was
cancelled would not clean up after itself
* Function: Add ExceptionalFunction type to allow Java to throw
checked exceptions.
* Futures: trace dispatch "stack", supplying it as a stack trace for
exceptions, implement "transform", "transformedBy" to allow for a
more imperative control flow when used from Java.
* Monitors: composable widgets for handling exceptions
1.12.4 2011-11-09
* Files.delete has to follow symlinks because jdk6 support
for symlinks is weaksauce
* properly handle cancellation in FuturePool
* Locals: ensure ``Local'' is fully initialized before registering
1.12.3 2011-11-08
* add some docs to Offer, Time
* util.io.Files: file utilities, documentation for TempFile
* Offer/Broker: explicit return types for Java compat.
1.12.2 2011-10-28
* Json thrift deserializer
* Finagle: count pending timeouts
* Fix eval precompile bug
1.12.0 2011-10-21
* util.Config.Specified now delays evaluation of specified value, to
ensure evaluation happens in correct dependency order, rather than
in class-hierarchy order. This change is mostly source compatible,
unless you have directly used the Specified class.
1.11.9 2011-10-14
* ivar/future: provide "TCE", per-thread scheduling, and
promise squashing
* logger: restore original logging level after modifying them
* u64: fix
* filehandler: thread-visibility
* eval: fix mtime invalidation
* base64 encoder: make it threadsafe
1.11.8 2011-10-04
* Back out TCE for ivar/futures. This introduced a space
leak and will be fixed momentarily.
* FuturePool: Catch any exception thrown by executor.submit()
and return as a Future.exception
1.11.7 2011-09-28
* ivar/future: provide "TCE", per-thread scheduling, and
promise squashing
* util-core: add bijection
* util: Time.now is now measured at nanosecond granularity
instead of millisecond.
* futurepool: don't attempt to perform work for Futures
that are cancelled
1.11.2 2011-08-12
* offer: use Int.compare instead of subtraction to avoid
integer overflow in ObjectOrder
* offer: accept an empty offer list. this is just Offer.never
* Eval: persistent compilation targets
1.11.1 2011-08-05
* offer/broker: fixes, simplifications - gets rid of thunked
values on sends. removing the infrastructure required to
support this led to significant simplification. lock the
correct objects for broker events. don't try to resolve
identical objects in lock order.
* offer: java support
* hashing: actually return 64bit values from the 64bit hash
functions; tests
1.11.0 2011-08-02
* Introduce new util-codec module to contain various codecs.
Primarily so that it can depend on apache commons-codec 1.5
for base64 improvements over the sun one.
1.10.4 2011-07-29
* Added TestLogging specs helper to util-logging.
* Spools: like scala streams, but with deferred tails.
1.10.3 2011-07-27
* add GZip string encoder
1.10.2 2011-07-18
* Maintain a map of already visited objects incase someone
creates a circular of config objects.
* Make Duration hashable.
* Promise.on{Success, Failure}: returned chained future.