mirror of
https://github.com/c-cube/ocaml-containers.git
synced 2025-12-06 11:15:31 -05:00
put changelog in master
This commit is contained in:
parent
b481d919bf
commit
c6e359c406
3 changed files with 153 additions and 3 deletions
146
CHANGELOG.md
Normal file
146
CHANGELOG.md
Normal file
|
|
@ -0,0 +1,146 @@
|
||||||
|
# Changelog
|
||||||
|
|
||||||
|
## 0.6
|
||||||
|
|
||||||
|
#### breaking changes
|
||||||
|
|
||||||
|
- new `CCIO` module, much simpler, but incompatible interface
|
||||||
|
- renamed `CCIO` to `advanced.CCMonadIO`
|
||||||
|
- `CCError.t` now has two type arguments
|
||||||
|
|
||||||
|
#### other changes
|
||||||
|
|
||||||
|
- `CCMultiSet.{add_mult,remove_mult,update}`
|
||||||
|
- `CCVector.{top,top_exn}`
|
||||||
|
- `CCFun.compose_binop` (binary composition)
|
||||||
|
- `CCList.init`
|
||||||
|
- new module `CCCache`
|
||||||
|
* moved from `misc`
|
||||||
|
* add `CCache`.{size,iter}
|
||||||
|
* incompatible interface (functor -> values), much simpler to use
|
||||||
|
- `lwt/Lwt_actor` stub, for erlang-style concurrency (albeit much much more naive)
|
||||||
|
- `misc/Mixtbl`
|
||||||
|
- more benchmarks, with a more general system to select/run them
|
||||||
|
- more efficient versions of `CCList.{flatten,append,flat_map}`, some functions
|
||||||
|
are now tailrec
|
||||||
|
|
||||||
|
|
||||||
|
## 0.5
|
||||||
|
|
||||||
|
#### breaking changes
|
||||||
|
|
||||||
|
- dependency on `cppo` (thanks to @whitequark, see AUHORS.md) and `bytes`
|
||||||
|
- `CCError`:
|
||||||
|
* now polymorphic on the error type
|
||||||
|
* some retro-incompatibilies (wrap,guard)
|
||||||
|
- `CCPervasives.Opt` -> `CCPervasives.Option`
|
||||||
|
- `Levenshtein.Index.remove` changed signature (useless param removed)
|
||||||
|
|
||||||
|
#### other changes
|
||||||
|
|
||||||
|
- stronger inlining for `CCVector` (so that e.g. push is inline)
|
||||||
|
- more tests for `CCVector`
|
||||||
|
- removed many warnings
|
||||||
|
- `CCSequence` now provides some bytes-dependent operations
|
||||||
|
- `CCList.(>|=)` map operator
|
||||||
|
- `CCOpt.filter`
|
||||||
|
- `CCInt.neg`
|
||||||
|
- `CCMap` wrapper to the standard `Map` module
|
||||||
|
- make some functions in `CCFun` and `CCString` depend on ocaml version
|
||||||
|
- thanks to @whitequark, could use cppo for preprocessing files
|
||||||
|
- add Format printers to `CCString`
|
||||||
|
- `AUTHORS.md`
|
||||||
|
|
||||||
|
## 0.4.1
|
||||||
|
|
||||||
|
- `CCOpt.get`
|
||||||
|
- new functions in `CCSexp.Traverse`
|
||||||
|
- comments in `CCMultiSet.mli`, to explain meet/intersection/union
|
||||||
|
- `CCMultiset`: Add meet
|
||||||
|
- update of readme
|
||||||
|
- generate doc for `containers.advanced`
|
||||||
|
|
||||||
|
## 0.4
|
||||||
|
|
||||||
|
- `core/CCSexp` for fast and lightweight S-expressions parsing/printing
|
||||||
|
- moved `CCLinq`, `CCBatch` and `CCat` from core/ to advanced/
|
||||||
|
- ensure compatibility with ocaml 4.00
|
||||||
|
- get rid of deprecated `Array.create`
|
||||||
|
- move benchmarks to benchs/ so they are separate from tests
|
||||||
|
- `CCError.{iter,get_exn}`
|
||||||
|
- `CCPair.print`
|
||||||
|
- some small improvements to `CCRandom`
|
||||||
|
- moved `CCHashtbl` to `CCFlatHashtbl`; new module `CCHashtbl` that
|
||||||
|
wraps and extends the standard hashtable
|
||||||
|
- `CCPervasives` module, replacing modules of the standard library
|
||||||
|
- removed type alias `CCString.t` (duplicate of String.t which already exists)
|
||||||
|
|
||||||
|
## 0.3.4
|
||||||
|
|
||||||
|
- subtree for `sequence` repo
|
||||||
|
- `CCSequence` is now a copy of `sequence`
|
||||||
|
- `CCOpt.wrap{1,2}`
|
||||||
|
- `CCList.findi`, `CCArray.findi` and `CCArray.find_idx`
|
||||||
|
- better `Format` printers (using break hints)
|
||||||
|
- specialize some comparison functions
|
||||||
|
- `CCOrd.map`
|
||||||
|
|
||||||
|
## 0.3.3
|
||||||
|
|
||||||
|
- readme: add ci hook (to http://ci.cedeela.fr)
|
||||||
|
- `CCIO`: monad for IO actions-as-values
|
||||||
|
- explicit finalizer system, to use a `>>>=` operator rather than callbacks
|
||||||
|
- `File` for basic filenames manipulations
|
||||||
|
- `Seq` for streams
|
||||||
|
- `CCMultiMap`: functor for bidirectional mappings
|
||||||
|
- `CCMultiSet`: sequence
|
||||||
|
- renamed threads/future to threads/CCFuture
|
||||||
|
- big upgrade of `RAL` (random access lists)
|
||||||
|
- `CCList.Ref` to help use references on lists
|
||||||
|
- `CCKList`: group,uniq,sort,sort_uniq,repeat and cycle, infix ops, applicative,product
|
||||||
|
- `CCTrie.above/below`: ranges of items
|
||||||
|
- more functions in `CCPair`
|
||||||
|
- `CCCat`: funny (though useless) definitions inspired from Haskell
|
||||||
|
- `CCList`: applicative instance
|
||||||
|
- `CCString.init`
|
||||||
|
- `CCError.fail_printf`
|
||||||
|
|
||||||
|
## 0.3.2
|
||||||
|
|
||||||
|
- small change in makefile
|
||||||
|
- conversions for `CCString`
|
||||||
|
- `CCHashtbl`: open-addressing table (Robin-Hood hashing)
|
||||||
|
- registered printers for `CCError`.guard,wrap1,etc.
|
||||||
|
- monadic operator in `CCList`: map_m_par
|
||||||
|
- simple interface to `PrintBox` now more powerful
|
||||||
|
- constructors for 1 or 2 elements fqueues
|
||||||
|
- bugfixes in BTree (insertion should work now)
|
||||||
|
- `CCFQueue`: logarithmic access by index
|
||||||
|
- add BTree partial implementation (not working yet)
|
||||||
|
- fix bug in `CCPrint.to_file`
|
||||||
|
- `CCArray.lookup` for divide-and-conquer search
|
||||||
|
- `CCList.sort_uniq`
|
||||||
|
- `CCError`: retry and choose combinators
|
||||||
|
- stub for monadic IO in `CCPrint`
|
||||||
|
- `CCopt.pure`
|
||||||
|
- updated `CCPersistentHashtbl` with new functions; updated doc, simplified code
|
||||||
|
- move `CCString` into core/, since it deals with a basic type; also add some features to `CCString` (Sub and Split modules to deal with slices and splitting by a string)
|
||||||
|
- `CCArray.blit`, .Sub.to_slice; some bugfixes
|
||||||
|
- applicative and lifting operators for `CCError`
|
||||||
|
- `CCError.map2`
|
||||||
|
- more combinators in `CCError`
|
||||||
|
|
||||||
|
## 0.3.1
|
||||||
|
|
||||||
|
- test for `CCArray.shuffle`
|
||||||
|
- bugfix in `CCArray.shuffle`
|
||||||
|
- `CCOpt.get_exn`
|
||||||
|
- `CCOpt.sequence_l`
|
||||||
|
- mplus instance for `CCOpt`
|
||||||
|
- monad instance for `CCFun`
|
||||||
|
- updated description in _oasis
|
||||||
|
- `CCTrie`, a compressed functorial persistent trie structure
|
||||||
|
- fix `CCPrint.unit`, add `CCPrint.silent`
|
||||||
|
- fix type mismatch
|
||||||
|
|
||||||
|
note: git log --no-merges previous_version..HEAD --pretty=%s
|
||||||
6
HOWTO.md
6
HOWTO.md
|
|
@ -4,9 +4,9 @@
|
||||||
1. `make test-all`
|
1. `make test-all`
|
||||||
2. update version in `_oasis`
|
2. update version in `_oasis`
|
||||||
3. `make update_next_tag` (to update `@since` comments)
|
3. `make update_next_tag` (to update `@since` comments)
|
||||||
4. `git checkout stable`
|
4. update `CHANGELOG.md` (see its end to find the right git command)
|
||||||
5. `git merge master`
|
5. `git checkout stable`
|
||||||
6. update `CHANGELOG.md` (see its end to find the right git command)
|
6. `git merge master`
|
||||||
7. commit, tag, and push both to github
|
7. commit, tag, and push both to github
|
||||||
8. new opam package
|
8. new opam package
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,10 @@ Some of the modules have been moved to their own repository (e.g. `sequence`,
|
||||||
|
|
||||||
[](http://ci.cedeela.fr/job/containers/)
|
[](http://ci.cedeela.fr/job/containers/)
|
||||||
|
|
||||||
|
## Change Log
|
||||||
|
|
||||||
|
See [this file](https://github.com/c-cube/ocaml-containers/blob/master/CHANGELOG.md).
|
||||||
|
|
||||||
## Finding help
|
## Finding help
|
||||||
|
|
||||||
- the [github wiki](https://github.com/c-cube/ocaml-containers/wiki)
|
- the [github wiki](https://github.com/c-cube/ocaml-containers/wiki)
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue