Changelog History
Page 2
-
v0.12.3 Changes
December 02, 2016π The main new feature of this release is a faster (benchmarked!) implementation of tuple and product semigroup sumOptions. This means if you are aggregating on scalding or spark, you should see a significant (~ 2x faster).
There is a new
Set
membership monoid calledSetDiff
. It can model adding and removing from sets (which can be useful for applications in summingbird).π We have an exponential histogram Fold, which is an approximate data-structure that can tell you approximate counts over sliding windows (see #568). A future work will add a monoid for this type, however when possible, using the Fold is better since it has better error properties.
π Lastly, there are many new docs.
π Huge thanks to @sritchie who was the main contributor to this release.
π changelog:
- β Add
SetDiff
data structure toalgebird-core
: #555 - β Add
Ring[BigDecimal]
, modeled afterRing[BigInt]
: #553 - "Exponential Histogram" sliding window counter implementation added to
algebird-core
asExpHist
: #568 - π improve HLLSeries performance: #575
- β Add a microsite at https://twitter.github.io/algebird via the
sbt-microsites
plugin, along with docs for all typeclasses and data structures: #576 - β Adds lots of scalacheck
Arbitrary
andGen
instances toalgebird-test
, undercom.twitter.algebird.scalacheck.{ gen, arbitrary }
: #579 - β Add
Monoid[Max[Vector[T]]]
,Monoid[Max[Stream[T]]]
: #579 - β Add
FirstAggregator
andLastAggregator
, and docs and API / perf improvements forFirst
,Last
,Min
,Max
: #579 - β Add
LawsEquiv
versions of all laws: #584 - π Deprecates broken group/ring for
Future
/Try
: #584 - β Add
metricsLaws[T]
toBaseProperties
inalgebird-test
: #584 - Modify generated
Tuple2Monoid
, etc to extendTupleNSemigroup
, giving subclasses access to efficientsumOption
: #585 - β‘οΈ optimize
Generated{Abstract,Product}Algebra.sumOption
with benchmarking #591 - β Add an efficient
sumOption
,+
,-
, methods and docs toAveragedValue
: #589
- β Add
-
v0.12.2 Changes
- β‘οΈ optimize
CMS.create(Seq[K])
: https://github.com/twitter/algebird/pull/537 - β‘οΈ Update to sbt 0.13.11: https://github.com/twitter/algebird/pull/540
- β Add
Semigroup.maybePlus
: https://github.com/twitter/algebird/pull/544 - π Improve the build and test times and add Codecov.io: https://github.com/twitter/algebird/pull/541
- β‘οΈ optimize
-
v0.12.1 Changes
- β Add
Identity
class andMonad
instance: https://github.com/twitter/algebird/pull/511 - Using
dropRight
instead oftail
for shorteningBytesSpec
array: https://github.com/twitter/algebird/pull/510 - π Fix flaky
MinHasherSpec
test: https://github.com/twitter/algebird/pull/514 - π fix input type of
toRichTraversable
: https://github.com/twitter/algebird/pull/518 - π build in scala 2.11 by default: https://github.com/twitter/algebird/pull/520
- π make
SSOne
/SSMany
constructors private and add apply method with count: https://github.com/twitter/algebird/pull/519 - π Fix
BytesSpec
to not reference head on an empty list https://github.com/twitter/algebird/pull/525 - β Add an
Aggregator.randomSample
aggregator: https://github.com/twitter/algebird/pull/529 - β Add
sortedTakeBy
andsortedReverseTakeBy
toAggregator.scala
: https://github.com/twitter/algebird/pull/527 - β Add
Batched[A]
type for efficient lazy addition: https://github.com/twitter/algebird/pull/530 - β Add a default
k
value forAggregator.approximatePercentile
: https://github.com/twitter/algebird/pull/531
- β Add
-
v0.12.0 Changes
- Implement an appendMonoid Aggregator factory which yields aggregatorsβ¦: https://github.com/twitter/algebird/pull/501
- β Dealing with probabilistic tests: https://github.com/twitter/algebird/pull/478
- β Add Applicative.sequenceGen: https://github.com/twitter/algebird/pull/498
- π Create a sparse Count-Min-Sketch.: https://github.com/twitter/algebird/pull/464
- π fix name and visibility of negativePowersOfTwo: https://github.com/twitter/algebird/pull/492
- Speed up HLL presentation by 100x: https://github.com/twitter/algebird/pull/491
- β Test Semigroup#sumOption using Iterator instead of List: https://github.com/twitter/algebird/pull/490
- π Fix tests that were not actually running: https://github.com/twitter/algebird/pull/485
- β add immutable version of sorted(Reverse)Take: https://github.com/twitter/algebird/pull/484
- Cuber/roller macros: https://github.com/twitter/algebird/pull/483
- β Add sanity requirement for Approximate: https://github.com/twitter/algebird/pull/481
- Ioconnell/make develop version have snapshot suffix: https://github.com/twitter/algebird/pull/482
- β¬οΈ Upgrade scalacheck and scalatest: https://github.com/twitter/algebird/pull/480
- β Adding scoped top-N CMS monoid: https://github.com/twitter/algebird/pull/471
- π Fix Qtree quantileBounds off-by-one error: https://github.com/twitter/algebird/pull/472
- π Move benchmarks to JMH: https://github.com/twitter/algebird/pull/473
- Ianoc/q tree benchmark more coverage: https://github.com/twitter/algebird/pull/474
- β‘οΈ Optimize QTree a bunch: https://github.com/twitter/algebird/pull/475
- π Disable coveralls, shows up as builds pending that are long finished: https://github.com/twitter/algebird/pull/476
-
v0.11.0 Changes
- π Move CMSHasherByteArray from scalding: https://github.com/twitter/algebird/pull/467
- β¬οΈ Upgrade sbt launcher script (sbt-extras): https://github.com/twitter/algebird/pull/469
- Create case class macros for algebraic structures: https://github.com/twitter/algebird/pull/466
- π¨ Refactor MapAggregator: https://github.com/twitter/algebird/pull/462
- π Algebird support for spark: https://github.com/twitter/algebird/pull/397
- β Add MapAggregator from 1 (key, aggregator) pair: https://github.com/twitter/algebird/pull/452
- β Remove unnecessary use of scala.math: https://github.com/twitter/algebird/pull/455
- β Don't call deprecated HyperLogLog methods in tests: https://github.com/twitter/algebird/pull/456
- β‘οΈ Update product_generators.rb: https://github.com/twitter/algebird/pull/457
- Pzheng/gaussian euclidean: https://github.com/twitter/algebird/pull/448
-
v0.10.2 Changes
- QTree quantileBounds assert percentile <= 1.0 #447
-
v0.10.1 Changes
- π 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
-
v0.10.0 Changes
- π 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
-
v0.9.0 Changes
- 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
-
v0.8.0 Changes
- β Removes deprecated monoid: https://github.com/twitter/algebird/pull/342
- π Use some value classes: https://github.com/twitter/algebird/pull/340
- π§ WIP: Algebird 210 211: https://github.com/twitter/algebird/pull/337
- π Use Builder in Seq/List Monoids: https://github.com/twitter/algebird/pull/338
- β Add a commment to close 334: https://github.com/twitter/algebird/pull/339
- π Make trait public that should never have been private: https://github.com/twitter/algebird/pull/335
- π Fix some issues with Successible/Predessible: https://github.com/twitter/algebird/pull/332
- β Add Applicative and Functor as superclasses of Monad: https://github.com/twitter/algebird/pull/330
- β‘οΈ Updated Maven section to updated version 0.7.0: https://github.com/twitter/algebird/pull/329