Skip to content

Latest commit

 

History

History
executable file
·
286 lines (248 loc) · 16.7 KB

CHANGES.md

File metadata and controls

executable file
·
286 lines (248 loc) · 16.7 KB

Algebird

Version 0.12.3 (Not yet released)

  • Add SetDiff data structure to algebird-core: twitter#555
  • Add Ring[BigDecimal], modeled after Ring[BigInt]: twitter#553
  • "Exponential Histogram" sliding window counter implementation added to algebird-core as ExpHist: twitter#568
  • improve HLLSeries performance: twitter#575
  • Add a microsite at https://twitter.github.io/algebird via the sbt-microsites plugin, along with docs for all typeclasses and data structures: twitter#576
  • Adds lots of scalacheck Arbitrary and Gen instances to algebird-test, under com.twitter.algebird.scalacheck.{ gen, arbitrary }: twitter#579
  • Add Monoid[Max[Vector[T]]], Monoid[Max[Stream[T]]]: twitter#579
  • Add FirstAggregator and LastAggregator, and docs and API / perf improvements for First, Last, Min, Max: twitter#579
  • Add LawsEquiv versions of all laws: twitter#584
  • Deprecates broken group/ring for Future/Try: twitter#584
  • Add metricsLaws[T] to BaseProperties in algebird-test: twitter#584
  • Modify generated Tuple2Monoid, etc to extend TupleNSemigroup, giving subclasses access to efficient sumOption: twitter#585
  • optimize Generated{Abstract,Product}Algebra.sumOption with benchmarking twitter#591
  • Add an efficient sumOption, +, -, methods and docs to AveragedValue: twitter#589

Version 0.12.2

Version 0.12.1

  • Add Identity class and Monad instance: twitter#511
  • Using dropRight instead of tail for shortening BytesSpec array: twitter#510
  • Fix flaky MinHasherSpec test: twitter#514
  • fix input type of toRichTraversable: twitter#518
  • build in scala 2.11 by default: twitter#520
  • make SSOne/SSMany constructors private and add apply method with count: twitter#519
  • Fix BytesSpec to not reference head on an empty list twitter#525
  • Add an Aggregator.randomSample aggregator: twitter#529
  • Add sortedTakeBy and sortedReverseTakeBy to Aggregator.scala: twitter#527
  • Add Batched[A] type for efficient lazy addition: twitter#530
  • Add a default k value for Aggregator.approximatePercentile: twitter#531

Version 0.12.0

Version 0.11.0

Version 0.10.2

  • QTree quantileBounds assert percentile <= 1.0 #447

Version 0.10.1

  • Make HLL easier to use, add Hash128 typeclass #440
  • add ! to ApproximateBoolean #442
  • add QTreeAggregator and add approximatePercentileBounds to Aggregator #443
  • Make level configurable in QTreeAggregators #444

Version 0.10.0

  • HyperLogLogSeries #295
  • CMS: add contramap to convert CMS[K] to CMS[L], add support for String and Bytes, remove Ordering context bound for K #399
  • EventuallyAggregator and variants #407
  • Add MultiAggregator.apply #408
  • Return a MonoidAggregator from MultiAggregator when possible #409
  • Add SummingWithHitsCache class to also track key hits. #410
  • Add MapAggregator to compose tuples of (key, agg) pairs #411
  • fix README.md. 2.9.3 no longer published #412
  • Add Coveralls Badge to the README #413
  • Add some combinators on MonoidAggregator #417
  • Added function to safely downsize a HyperLogLog sketch #418
  • AdaptiveCache #419
  • fix property tests #421
  • Make Preparer extend Serializable #422
  • Make MutableBackedMap Serializable. #424
  • A couple of performance optimizations: HyperLogLog and BloomFilter #426
  • Adds a presenting benchmark and optimizes it #427
  • Fixed broken links in README #428
  • Speed up QTree #433
  • Moments returns NaN when count is too low for higher order statistics #434
  • Add HLL method to do error-based Aggregator #438
  • Bump bijection to 0.8.0 #441

Version 0.9.0

  • Replace mapValues with one single map to avoid serialization in frameworks like Spark. #344
  • Add Fold trait for composable incremental processing (for develop) #350
  • Add a GC friendly LRU cache to improve SummingCache #341
  • BloomFilter should warn or raise on unrealistic input. #355
  • GH-345: Parameterize CMS to CMS[K] and decouple counting/querying from heavy hitters #354
  • Add Array Monoid & Group. #356
  • Improvements to Aggregator #359
  • Improve require setup for depth/delta and associated test spec #361
  • Bump from 2.11.2 to 2.11.4 #365
  • Move to sbt 0.13.5 #364
  • Correct wrong comment in estimation function #372
  • Add increments to all Summers #373
  • removed duplicate semigroup #375
  • GH-381: Fix serialization errors when using new CMS implementation in Storm #382
  • Fix snoble's name #384
  • Lift methods for Aggregator and MonoidAggregator #380
  • applyCumulative method on Aggregator #386
  • Add Aggregator.zip #389
  • GH-388: Fix CMS test issue caused by roundtripping depth->delta->depth #395
  • GH-392: Improve hashing of BigInt #394
  • add averageFrom to DecayedValue #391
  • Freshen up Applicative instances a bit #387
  • less noise on DecayedValue tests #405
  • Preparer #400
  • Upgrade bijection to 0.7.2 #406

Version 0.8.0

Version 0.7.0

  • simplification for spacesaver. before buckets were kept in an option str...: twitter#308
  • Dynamic Summer, may use heuristics to decide not to keep a tuple in a buffer for aggregation.: twitter#314
  • Was a missing call to the update if we had flushed. Now we just do it as...: twitter#324
  • Bump to 2.10.4 in travis: twitter#323
  • Feature/auto formatter ran: twitter#321
  • Little commit fixing up some spacing per our norms:: twitter#319
  • provider methods for java: twitter#317
  • Serializable adaptive matrix: twitter#318
  • Clean up comments: twitter#315
  • make distribution immutable now that it contains mutable counters: twitter#313
  • a monoid that keeps track of the monoid usage: twitter#311

Version 0.6.0

  • make constructors for SpaceSaver subclasses public so that deserializers..: twitter#289
  • Restoring optimized SketchMapMonoid#sumOption: twitter#293
  • Newer caliper hll benchmark: twitter#297
  • hll optimization: twitter#299
  • Optimize the storage backend used in sketch map: twitter#301
  • migrate async summers from Summingbird: twitter#296
  • add sumOption to EventuallySemiGroup: twitter#306
  • Heavyhitters no longer attempts lazy storage in SketchMap: twitter#305
  • Async Maps performance improvements: twitter#302
  • Make the AsyncListSum be immutable again: twitter#309

Version 0.5.0

  • Remove handling that doesn't seem needed/wanted for longs: twitter#287
  • Add average() for DecayedValue: twitter#286
  • SketchMapParams can support being constructed with both width/depth and eps/delta: twitter#285
  • undo the undo of the interval fixes: twitter#283
  • Fix priority queue bug found by scalacheck: twitter#280
  • Adds type parameters to Intersection for more precision: twitter#279
  • Make resolver consistent with scalding: twitter#276
  • remove Math use in test: twitter#275
  • Remove extends function from algebird: twitter#274
  • remove unnecessary implicit requirement: twitter#272
  • Fix SketchMapMonoid zero: twitter#269
  • Make SketchMapMonoid params public: twitter#265
  • Add Predecessible and methods to Interval: twitter#262
  • Implement StreamSummary data structure for finding frequent/top-k items: twitter#259

Version 0.4.0

Version 0.3.1

Version 0.3.0

  • Optimize lots of the Monoids/Semigroups when summing many items: see Semigroup.sumOption twitter#206
  • Add many Aggregators for more convenient aggregation: twitter#194
  • Aggregators compose: twitter#188
  • Added scala.collection.Map (not just immutable.Map) algebras: twitter#199
  • Added Boolean monoids (Or and And): twitter#198

Version 0.2.0

Version 0.1.13

  • Adds QTree monoid for range queries

Version 0.1.12

  • Adds hashing trick monoid for dimensionality reduction

Version 0.1.10

  • Fix compiler flag issue

Version 0.1.9

  • Build algebird against scala 2.9.2 and 2.10.0
  • algebird-util with Future and Try algebras.

Version 0.1.8

  • Break out algebird-core and algebird-test into separate jars

Version 0.1.7

  • SummingQueue works with capacity of 0, just passes through
  • adds compressed bitset (RichCBitSet)
  • Add BFSparse
  • Heavy hitters in countminsketch
  • Monad typeclass

Version 0.1.6

  • Adds publishing pom.
  • Add SummingQueue
  • rename Cassandra's MurmurHash.

Version 0.1.5

  • Make Metric serializable
  • JMap uses Semigroup

Version 0.1.4

  • Count-min-sketch (with Monoid)
  • Added Bloom Filter (with Monoid)
  • HyperLogLog now uses Murmur128 (should be faster)
  • Max/Min/First/Last Monoids
  • VectorSpace trait (implementations for Maps/Vector)
  • DecayedVector for efficient exponential moving average on vectors
  • Metric trait
  • Approximate[Numeric]/Boolean to track error in approximations
  • Adds Semigroup and implicits for usual primitives and collections
  • Fixes EitherMonoid to have a zero
  • Add MinPlus algebra for shortest path calculations
  • Lots of code cleanups

Version 0.1.2

  • Improves speed of HyperLogLog.
  • Refactoring of RightFolded Monoid

Version 0.1.1

  • Added Moments monoid for first 5 moments
  • Improved HyperLogLogMonoid (less memory usage, added intersections)

Version 0.1.0

  • Moved code over from Scalding.