Skip to content

Commit 32addff

Browse files
committed
Add changelog.
1 parent d86ba69 commit 32addff

File tree

1 file changed

+154
-0
lines changed

1 file changed

+154
-0
lines changed

changelog.md

Lines changed: 154 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,154 @@
1+
# Changelog for [`containers` package](http://github.com/haskell/containers)
2+
3+
## 0.5.7.1 *Dec 2015*
4+
5+
* Planned to bundle with GHC 8.0.1.
6+
7+
* Add `IsString` instance to `Data.Sequence`.
8+
9+
* Define `Semigroup` instances for ``Data.Map`, `Data.Set`, `Data.IntMap`,
10+
`Data.IntSet` and `Data.Sequence`.
11+
12+
## 0.5.6.2 *Dec 2014*
13+
14+
* Bundled with GHC 7.10.1.
15+
16+
* Add role annotations for `Data.Map` and `Data.Set`.
17+
18+
* Add `IsList` instances for `Data.Map`, `Data.Set`, `Data.IntMap` and
19+
`Data.IntSet`.
20+
21+
* Several performance improvements for `Data.Sequence`.
22+
23+
* Add `Data.Sequence.fromFunction` and `Data.Sequence.fromArray`.
24+
25+
## 0.5.4.0 *Jan 2014*
26+
27+
* Bundled with GHC 7.8.1.
28+
29+
* The `Data.Map.fromList` and `Data.Set.fromList` now use linear-time
30+
algorithm if the input is sorted, without need to call `fromDistinctAscList`.
31+
32+
* Implement indexing operations (`lookupIndex`, `findIndex`, `elemAt`,
33+
`deletaAt`) for `Data.Set` too.
34+
35+
* Add `Applicative` and `Alternative` instances for `Data.Sequence`.
36+
37+
* Add `foldMapWithKey` to `Data.Map` and `Data.IntMap`.
38+
39+
* Implement poly-kinded `Typeable`.
40+
41+
* Add `Functor` instance for `Data.Graph.SCC`.
42+
43+
* Add `Data.Map.splitRoot` and `Data.Set.splitRoot`.
44+
45+
## 0.5.0.0 *May 2012*
46+
47+
* Bundled with GHC 7.6.1.
48+
49+
* Major improvements since last release:
50+
* a clearer distinction between value-lazy and value-strict containers,
51+
* performance improvements across the board,
52+
* a big internal clean-up, and
53+
* new functions for e.g. merging, updating, and searching containers.
54+
55+
* While the old `Data.Map` and
56+
`Data.IntMap` modules will continue to exist for the foreseeable future, we've
57+
abandoned the practice of having the strict and lazy versions of each
58+
function distinguished by an apostrophe. The distinction is instead made at
59+
the module level, by introducing four new modules:
60+
* Data.Map.Strict
61+
* Data.Map.Lazy
62+
* Data.IntMap.Strict
63+
* Data.IntMap.Lazy
64+
65+
This split has three benefits:
66+
* It makes the choice between value-strict and value-lazy containers
67+
more declarative; you pick once at import time, instead of having to
68+
remember to use the strict or lazy versions of a function every time
69+
you modify the container.
70+
* It alleviates a common source of performance issues, by forcing the
71+
user to think about the strictness properties upfront. For example,
72+
using insertWith instead of insertWith' is a common source of
73+
containers-related performance bugs.
74+
* There are fewer functions per module, making it easier to get an
75+
overview of each module.
76+
77+
* Note that the types used in the strict and lazy APIs are the same, so
78+
you can still use the same container in a "mixed" manner, if needed.
79+
80+
* The `Data.IntSet` representation changed to store small sets using
81+
bits in an `Word`. Larger sets are stored as a collection of such
82+
dense small sets, connected together by a prefix trie.
83+
84+
## 0.4.2.1 *Feb 2012*
85+
86+
* Bundled with GHC 7.4.1.
87+
88+
* `Data.Map now exports `foldr`, `foldr'`, `foldl` and `foldl'`.
89+
90+
* `Data.Set now exports `foldr`, `foldr'`, `foldl` and `foldl'`.
91+
92+
* `Data.IntMap now exports `foldr`, `foldr'`, `foldl`, `foldl'`, `foldrWithKey`, `foldrWithKey'`, `foldlWithKey` and `foldlWithKey'`.
93+
94+
* `Data.IntSet now exports `foldr`, `foldr'`, `foldl` and `foldl'`.
95+
96+
* `Data.Map.foldWithKey` is no longer deprecated, although it is expected to be deprecated again in the future.
97+
98+
* There are now `NFData` instance for `Data.Map.Map`, `Data.Set.Set`, `Data.IntMap.IntMap`, `Data.IntSet.IntSet` and `Data.Tree.Tree`.
99+
100+
## 0.4.1.0 *Aug 2011*
101+
102+
* Bundled with GHC 7.2.1.
103+
104+
* `Data.Map` now exports new functions `foldrWithKey'` and `foldlWithKey'`, which are strict variants of `foldrWithKey` and `foldlWithKey` respectively.
105+
106+
* `Data.IntMap` now exports new functions `insertWith'` and `insertWithKey'`, which are strict variants of `insertWith` and `insertWithKey` respectively.
107+
108+
## 0.4.0.0 *Nov 2010*
109+
110+
* Bundled with GHC 7.0.1.
111+
112+
* Strictness is now more consistent, with containers being strict in their elements even in singleton cases.
113+
114+
* There is a new function `insertLookupWithKey'` in `Data.Map`.
115+
116+
* The `foldWithKey` function in `Data.Map` has been deprecated in favour of `foldrWithKey`.
117+
118+
## 0.3.0.0 *Dec 2009*
119+
120+
* Bundled with GHC 6.12.1.
121+
122+
* `mapAccumRWithKey` has been added to `Data.IntMap`.
123+
124+
* A `Traversable` instance has been added to `Data.IntMap.IntMap`.
125+
126+
* The types of `Data.IntMap.intersectionWith` and `Data.IntMap.intersectionWithKey` have been changed from
127+
`intersectionWith :: (a -> b -> a) -> IntMap a -> IntMap b -> IntMap a`
128+
`intersectionWithKey :: (Key -> a -> b -> a) -> IntMap a -> IntMap b -> IntMap a`
129+
to
130+
`intersectionWith :: (a -> b -> c) -> IntMap a -> IntMap b -> IntMap c`
131+
`intersectionWithKey :: (Key -> a -> b -> c) -> IntMap a -> IntMap b -> IntMap c`
132+
133+
* The types of `Data.IntMap.findMin` and `Data.IntMap.findMax` have been changed from
134+
`findMin :: IntMap a -> a`
135+
`findMax :: IntMap a -> a`
136+
to
137+
`findMin :: IntMap a -> (Int,a)`
138+
`findMax :: IntMap a -> (Int,a)`
139+
140+
* `Data.Map` now exports `mapAccumRWithKey`, `foldrWithKey`, `foldlWithKey` and `toDescList`.
141+
142+
* `Data.Sequence` now exports `replicate`, `replicateA`, `replicateM`, `iterateN`, `unfoldr`, `unfoldl`, `scanl`, `scanl1`, `scanr`, `scanr1`, `tails`, `inits`, `takeWhileL`, `takeWhileR`, `dropWhileL`, `dropWhileR`, `spanl`, `spanr`, `breakl`, `breakr`, `partition`, `filter`, `sort`, `sortBy`, `unstableSort`, `unstableSortBy`, `elemIndexL`, `elemIndicesL`, `elemIndexR`, `elemIndicesR`, `findIndexL`, `findIndicesL`, `findIndexR`, `findIndicesR`, `foldlWithIndex`, `foldrWithIndex`, `mapWithIndex`, `zip`, `zipWith`, `zip3`, `zipWith3`, `zip4` and `zipWith4`.
143+
144+
## 0.2.0.0 *Nov 2008*
145+
146+
* Bundled with GHC 6.10.1.
147+
148+
* Various result type now use `Maybe` rather than allowing any `Monad`.
149+
150+
## 0.1.0.0 *Nov 2007*
151+
152+
* Bundled with GHC 6.8.1.
153+
154+
* Initial split off from GHC base.

0 commit comments

Comments
 (0)