Skip to content
This repository has been archived by the owner on Dec 22, 2021. It is now read-only.

Releases: scala/collection-strawman

0.9.0

31 Jan 09:26
Compare
Choose a tag to compare

This release improves performance and compatibility with 2.12 collections.

It supports the following targets:

Target Versions
Scala 2.12.x and 2.13.0-M2
Scala.js 0.6.x
Dotty 0.6.x

Performance improvements

  • #278 Specialize Array collections (ArrayBuilder, ImmutableArray and WrappedArray)
  • #332 Override toXxx operations when they are a no-op
  • #340 Make knownSize non final on Iterator
  • #343 Don’t force view elements prematurely
  • #348 Optimize reverseIterator in IndexedSeq

2.12-compatibility improvements

  • #334 Add IntMap, LongMap and AnyRefMap
  • #346 Various bug fixes, additional methods and deprecated forwarders
  • #351 Add WrappedString
  • #352 Create a scalafix rule to migrate a 2.12 code base to a 2.13 code base using the new collections
  • #355 Add immutable.Map#transform operation
  • #358 Add collection.BitSet factory object, StringOps#updated, LazyList#append
  • #364 Add MapOps#collect and IterableOnce#toIterator
  • #369 Add Cloneable trait

Bug fixes

  • #370 Fix ListBuffer#clear operation
  • #371 Add implicit Factory and BuildFrom instances for Array[?] and String

Other changes

  • #329 Rename unordered to unsorted
  • #337 Rename Growable#add to addOne and Shrinkable#subtract to subtractOne
  • #373 Add @implicitNotFound annotation to BuildFrom

0.8.0

03 Jan 11:11
Compare
Choose a tag to compare

This release supports the following targets:

Target Versions
Scala 2.12.x and 2.13.0-M2
Scala.js 0.6.x
Dotty 0.6.x

Highlights

  • #314 Add MultiMap and SortedMultiMap (in collections-contrib)
  • #315 More performance optimizations

Fixes and Minor Changes

  • #316 Fix API documentation
  • #321 Cross-build collections-contrib and junit modules with Dotty
  • #330 Add +: and :+ to StringOps and fix the API documentation

0.7.0

06 Dec 13:37
Compare
Choose a tag to compare

This release supports the following targets:

Target Versions
Scala 2.12.x and 2.13.0-M2
Scala.js 0.6.x
Dotty 0.5.0-RC1

Highlights

  • #284 Enable Java converters for concurrent maps
  • #291 Add rewrite rule for lazyZip: (xs, ys).zipped will be rewritten to xs.lazyZip(ys)
  • #295 Add foldSomeLeft and lazyFoldRight (in collections-contrib)
  • #299 Add MultiSet and SortedMultiSet (in collections-contrib). Note that SortedMultiSet can be used as a priority queue as well (a sorted sequence)
  • #302 Add minAfter and maxBefore to SortedMap and SortedSet
  • #305 Improve performance of strict collections

Fixes and Minor Changes

  • #282 Simplify implementation of collection conversion methods on IterableOnce
  • #285 Fix scalafix tests
  • #287 Upgrade scalafix to 0.5.3
  • #297 Remove @SerialVersionUID from traits
  • #301 Rename TreeMapView and TreeSetView to avoid confusion with Views
  • #309 Improve migration rules

0.6.0

01 Nov 13:44
Compare
Choose a tag to compare

This release supports the following targets:

Target Versions
Scala 2.12.x and 2.13.0-M2
Scala.js 0.6.x
Dotty 0.4.0-RC1

Highlights

  • #223 Add lazyZip operation
  • #273 Drastically improve source compatibility with the current collections
  • #274 Fix broken references in API documentation
  • #275 Add support for Map with default values
  • #276 Enable scalacheck tests
  • #279 Add Java converters

New Operations

  • #259 Add more join operations: Map#zipByKey, Map#join, Map#mergeByKeyWith, Map#mergeByKey, Map#fullOuterJoin, Map#leftOuterJoin, Map#rightOuterJoin (in collections-contrib)
  • #268 Map#updateWith, Map#updatedWith (in collections-contrib)

Fixes

  • #258 Optimize List#updated
  • #261 Move equality implementation out of Ops classes
  • #266 Fix empty iterator in NumericRange
  • #270 Implement concat in terms of :++
  • #271 Optimize SeqFactory methods
  • #280 Make ListBuffer and ArrayBuffer Serializable

0.5.0

28 Sep 13:24
Compare
Choose a tag to compare

Thanks to all the external contributors of this release:

git shortlog -s -n v0.4.0..v0.5.0

    42  Julien Richard-Foy
     4  Odd Möller
     2  Ethan Pronovost
     2  Marcelo Cenerino
     1  Jeff Shaw
     1  Sébastien Doeraene

This is release supports the following targets:

Target Versions
Scala 2.12.3 and 2.13.0-M2
Scala.js 0.6.20
Dotty 0.3.0-RC2

Highlights

  • #220 Cross-compilation with Scala.js 0.6.20
  • #252 New artifact providing additional operations as implicit decorators: collections-contrib

New Operations

  • #218 Iterator#nextOption
  • #224 Seq#intersperse (in collections-contrib)
  • #244 Seq#distinctBy
  • #252 Map#zipByKeyWith (in collections-contrib)
  • #253 Iterable#groupMap and Iterable#groupMapReduce

New Collections

  • #248 LinkedHashSet and LinkedHashMap

Internal Changes & Bug Fixes

  • #205 ++: and :++ are now available only on collection.Seq and +: and :+ are now available on collection.Seq
  • #237 Factories now take an IterableOnce source collection (excepted View that still take an Iterable)
  • #238 Fix Scaladoc of View.Fill
  • #242 Fix TrieIterator implementation
  • #249 BuildFrom provides implicit builders that build from the dynamic type of a source collection

Changelist: 0.4.0...0.5.0

0.4.0

01 Sep 09:32
Compare
Choose a tag to compare

Thanks to all the external contributors of this release: @EPronovost, @marcelocenerine, @nicolasstucki, @odd, @olafurpg, @smarter, @xavier-fernandez!

This release is built for Scala 2.12.3 and 2.13.0-M2, and for Dotty 0.3.0-RC1.

New operations

  • #137 filterKeys, keys, keySet, keysIterator, mapValues, values, valuesIterator (on Map)
  • #174 toIterable (on IterableOps) and toSeq (on SeqOps)
  • #180 distinct (on Seq)
  • #184 :++ (on Seq)
  • #185 patch (on immutable.Seq)
  • #188 iterate, range (on IterableFactory) and fill, tabulate (on SeqFactory)
  • #189 +: and :+ extractors (on Seq)
  • #200 from, continually (on LazyList companion)

New collections

Optimizations

  • #200 filterNot
  • #216 immutable.Set and immutable.Map of small sizes

Other changes

  • #193 Rename benchmarks to better reflect the operations measured
  • #200 Port JUnit tests from scala/scala
  • #209 Add a scalafix rewrite to migrate a code base from the standard collection to the strawman
  • #212 Fix incorrect benchmark charts
  • #215 Replace call to size with knownSize in bounds check in Patched to not exhausts iterator prematurely

Changelist: 0.3.0...0.4.0

0.3.0

27 Jul 12:51
Compare
Choose a tag to compare

Highlights

  • #158 Upgrade to Dotty 0.2
  • #165 Add withFilter
  • #168 Make factories implicitly available

Other changes

  • #148 Fix implementation of length on LinearSeq
  • #150 Remove dropRight and takeRight from Iterator
  • #153 Add @throws annotations ; fix some Iterator implementations
  • #161 Optimize append, prepend, updated on strict immutable Seq collections. Optimize span and unzip on strict Iterable collections.
  • #166 Fix hierarchy of List and LazyList
  • #176 Optimize List operations
  • #177 Fix mutable.HashMap.getOrElseUpdate ; Add more operations on Iterator and optimize concat.

Changelist: 0.2.0...0.3.0