Skip to content

Commit

Permalink
[new release] kcas_data and kcas (0.5.3)
Browse files Browse the repository at this point in the history
CHANGES:

All notable changes to this project will be documented in this file.

## 0.5.3

- Fix to also snapshot and rollback post commit actions (@polytypic)
- Fix `Loc.compare_and_set` to have strong semantics (@polytypic)
- Fix single location no-op updates to be strictly serializable (@polytypic)
- Add `Dllist.move_l node list` and `Dllist.move_r node list` (@polytypic)

## 0.5.2

- Improve `Hashtbl` read-write performance and add `swap` (@polytypic)
- Avoid some unnecessary verifies of read-only CMP operations (@polytypic)

## 0.5.1

- Add synchronizing variable `Mvar` to `kcas_data` (@polytypic)
- Fix to allow retry from within `Xt.update` and `Xt.modify` (@polytypic)

## 0.5.0

- Add nested conditional transaction support (@polytypic)
- Add explicit location validation support (@polytypic)

## 0.4.0

- Allocation of location ids in a transaction log friendly order (@polytypic)
- Per location operating mode selection (@Dashy-Dolphin, review: @polytypic)
- Injectivity `!'a Kcas_data.Dllist.t` annotation (@polytypic)

## 0.3.1

- Added doubly-linked list `Dllist` to `kcas_data` (@polytypic)
- Minor optimizations (@polytypic)

## 0.3.0

- Remove the `Tx` API (@polytypic)
- Add blocking support to turn kcas into a proper STM (@polytypic, review:
  @lyrm)
- Add periodic validation of transactions (@polytypic)

## 0.2.4

- Introduce `kcas_data` companion package of composable lock-free data
  structures (@polytypic)
- Add `is_in_log` operation to determine whether a location has been accessed by
  a transaction (@polytypic)
- Add `Loc.modify` (@polytypic)
- Add transactional `swap` operation to exchange contents of two locations
  (@polytypic)
- Injectivity `!'a Loc.t` and variance `+'a Tx.t` annotations (@polytypic)

## 0.2.3

- Add support for post commit actions to transactions (@polytypic)
- Bring `Xt` and `Tx` access combinators to parity and add `compare_and_swap`
  (@polytypic)

## 0.2.2

- New explicit transaction log passing API based on idea by @gasche (@polytypic,
  review: @samoht and @lyrm)

## 0.2.1

- New k-CAS-n-CMP algorithm extending the GKMZ algorithm (@polytypic, review:
  @bartoszmodelski)

## 0.2.0

- Complete redesign adding a new transaction API (@polytypic, review:
  @bartoszmodelski)

## 0.1.8

- Fix a bug in GKMZ implementation (@polytypic, review: @bartoszmodelski)

## 0.1.7

- Change to use the new GKMZ algorithm (@polytypic, review: @bartoszmodelski)

## 0.1.6

- Add preflights sorting and checks (@bartoszmodelski, review: @polytypic)

## 0.1.5

- Republish in opam (update opam, dune) (@tmcgilchrist, review: @Sudha247)
  • Loading branch information
polytypic committed Jun 13, 2023
1 parent cb1f0fd commit 8482c20
Show file tree
Hide file tree
Showing 2 changed files with 78 additions and 0 deletions.
39 changes: 39 additions & 0 deletions packages/kcas/kcas.0.5.3/opam
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
opam-version: "2.0"
synopsis:
"Software transactional memory based on lock-free multi-word compare-and-set"
maintainer: ["KC Sivaramakrishnan <[email protected]>"]
authors: ["KC Sivaramakrishnan <[email protected]>"]
license: "ISC"
homepage: "https://github.com/ocaml-multicore/kcas"
bug-reports: "https://github.com/ocaml-multicore/kcas/issues"
depends: [
"dune" {>= "3.3"}
"ocaml" {>= "5.0"}
"domain-local-await" {>= "0.2.0"}
"mdx" {>= "1.10.0" & with-test}
"odoc" {with-doc}
]
build: [
["dune" "subst"] {dev}
[
"dune"
"build"
"-p"
name
"-j"
jobs
"@install"
"@runtest" {with-test}
"@doc" {with-doc}
]
]
dev-repo: "git+https://github.com/ocaml-multicore/kcas.git"
url {
src:
"https://github.com/ocaml-multicore/kcas/releases/download/0.5.3/kcas-0.5.3.tbz"
checksum: [
"sha256=2ee27b04a5ef1d36c28302da5bfbc67d34201b143d0b558b27743565aca2a39c"
"sha512=14bbad72d05936c96f0c93d08b5c13935438f02db55f72536e36641db86d2b84850434a761adb7f7ea861b3a99e37e6a7c8a5f248fbdc12fcaaa64ea59c07137"
]
}
x-commit-hash: "bb2571cb7b431efd47c3007aef3b7ed6be4a1705"
39 changes: 39 additions & 0 deletions packages/kcas_data/kcas_data.0.5.3/opam
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
opam-version: "2.0"
synopsis:
"Compositional lock-free data structures and primitives for communication and synchronization"
maintainer: ["KC Sivaramakrishnan <[email protected]>"]
authors: ["KC Sivaramakrishnan <[email protected]>"]
license: "ISC"
homepage: "https://github.com/ocaml-multicore/kcas"
bug-reports: "https://github.com/ocaml-multicore/kcas/issues"
depends: [
"dune" {>= "3.3"}
"kcas" {= version}
"mdx" {>= "1.10.0" & with-test}
"multicore-magic" {>= "1.0.0" & with-test}
"odoc" {with-doc}
]
build: [
["dune" "subst"] {dev}
[
"dune"
"build"
"-p"
name
"-j"
jobs
"@install"
"@runtest" {with-test}
"@doc" {with-doc}
]
]
dev-repo: "git+https://github.com/ocaml-multicore/kcas.git"
url {
src:
"https://github.com/ocaml-multicore/kcas/releases/download/0.5.3/kcas-0.5.3.tbz"
checksum: [
"sha256=2ee27b04a5ef1d36c28302da5bfbc67d34201b143d0b558b27743565aca2a39c"
"sha512=14bbad72d05936c96f0c93d08b5c13935438f02db55f72536e36641db86d2b84850434a761adb7f7ea861b3a99e37e6a7c8a5f248fbdc12fcaaa64ea59c07137"
]
}
x-commit-hash: "bb2571cb7b431efd47c3007aef3b7ed6be4a1705"

0 comments on commit 8482c20

Please sign in to comment.