diff --git a/Cargo.lock b/Cargo.lock index 04fe775a..5a4b9a72 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -140,7 +140,7 @@ dependencies = [ "arbitrary", "enum-as-inner 0.5.1", "flate2", - "loro-common 0.5.1", + "loro-common 0.16.2", "rand", "serde_json", ] @@ -607,7 +607,7 @@ dependencies = [ "criterion 0.4.0", "ctor 0.2.6", "flate2", - "loro 0.5.1", + "loro 0.16.2", "serde_json", "tabled 0.15.0", "tracing", @@ -641,19 +641,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fractional_index" version = "0.1.0" -dependencies = [ - "criterion 0.5.1", - "fractional_index 2.0.1", - "imbl", - "rand", - "serde", - "smallvec", -] - -[[package]] -name = "fractional_index" -version = "0.1.0" -source = "git+https://github.com/loro-dev/loro.git?rev=913099534fa437477583acddf4854c17b9fd8354#913099534fa437477583acddf4854c17b9fd8354" +source = "git+https://github.com/loro-dev/loro.git?rev=cd04b27d65128420f6daaf792be9ef511483de99#cd04b27d65128420f6daaf792be9ef511483de99" dependencies = [ "imbl", "rand", @@ -683,9 +671,9 @@ dependencies = [ "enum_dispatch", "fxhash", "itertools 0.12.1", + "loro 0.16.2", "loro 0.5.1", - "loro 0.5.1 (git+https://github.com/loro-dev/loro.git?rev=913099534fa437477583acddf4854c17b9fd8354)", - "loro-common 0.5.1 (git+https://github.com/loro-dev/loro.git?rev=913099534fa437477583acddf4854c17b9fd8354)", + "loro-common 0.5.1", "rand", "tabled 0.10.0", "tracing", @@ -1005,6 +993,19 @@ dependencies = [ [[package]] name = "loro" version = "0.5.1" +source = "git+https://github.com/loro-dev/loro.git?rev=cd04b27d65128420f6daaf792be9ef511483de99#cd04b27d65128420f6daaf792be9ef511483de99" +dependencies = [ + "either", + "enum-as-inner 0.6.0", + "generic-btree", + "loro-delta 0.5.1", + "loro-internal 0.5.1", + "tracing", +] + +[[package]] +name = "loro" +version = "0.16.2" dependencies = [ "anyhow", "ctor 0.2.6", @@ -1012,34 +1013,37 @@ dependencies = [ "either", "enum-as-inner 0.6.0", "generic-btree", - "loro-delta 0.5.1", - "loro-internal 0.5.1", + "loro-delta 0.16.2", + "loro-internal 0.16.2", "serde_json", "tracing", ] -[[package]] -name = "loro" -version = "0.5.1" -source = "git+https://github.com/loro-dev/loro.git?rev=913099534fa437477583acddf4854c17b9fd8354#913099534fa437477583acddf4854c17b9fd8354" -dependencies = [ - "either", - "enum-as-inner 0.6.0", - "generic-btree", - "loro-delta 0.5.1 (git+https://github.com/loro-dev/loro.git?rev=913099534fa437477583acddf4854c17b9fd8354)", - "loro-internal 0.5.1 (git+https://github.com/loro-dev/loro.git?rev=913099534fa437477583acddf4854c17b9fd8354)", - "tracing", -] - [[package]] name = "loro-common" version = "0.5.1" +source = "git+https://github.com/loro-dev/loro.git?rev=cd04b27d65128420f6daaf792be9ef511483de99#cd04b27d65128420f6daaf792be9ef511483de99" +dependencies = [ + "arbitrary", + "enum-as-inner 0.6.0", + "fxhash", + "loro-rle 0.5.1", + "nonmax", + "serde", + "serde_columnar", + "string_cache", + "thiserror", +] + +[[package]] +name = "loro-common" +version = "0.16.2" dependencies = [ "arbitrary", "enum-as-inner 0.6.0", "fxhash", "js-sys", - "loro-rle 0.5.1", + "loro-rle 0.16.2", "nonmax", "serde", "serde_columnar", @@ -1049,24 +1053,20 @@ dependencies = [ ] [[package]] -name = "loro-common" +name = "loro-delta" version = "0.5.1" -source = "git+https://github.com/loro-dev/loro.git?rev=913099534fa437477583acddf4854c17b9fd8354#913099534fa437477583acddf4854c17b9fd8354" +source = "git+https://github.com/loro-dev/loro.git?rev=cd04b27d65128420f6daaf792be9ef511483de99#cd04b27d65128420f6daaf792be9ef511483de99" dependencies = [ - "arbitrary", - "enum-as-inner 0.6.0", - "fxhash", - "loro-rle 0.5.1 (git+https://github.com/loro-dev/loro.git?rev=913099534fa437477583acddf4854c17b9fd8354)", - "nonmax", - "serde", - "serde_columnar", - "string_cache", - "thiserror", + "arrayvec", + "enum-as-inner 0.5.1", + "generic-btree", + "heapless 0.8.0", + "tracing", ] [[package]] name = "loro-delta" -version = "0.5.1" +version = "0.16.2" dependencies = [ "arrayvec", "color-backtrace", @@ -1081,20 +1081,43 @@ dependencies = [ ] [[package]] -name = "loro-delta" +name = "loro-internal" version = "0.5.1" -source = "git+https://github.com/loro-dev/loro.git?rev=913099534fa437477583acddf4854c17b9fd8354#913099534fa437477583acddf4854c17b9fd8354" +source = "git+https://github.com/loro-dev/loro.git?rev=cd04b27d65128420f6daaf792be9ef511483de99#cd04b27d65128420f6daaf792be9ef511483de99" dependencies = [ - "arrayvec", + "append-only-bytes", + "arref", + "either", "enum-as-inner 0.5.1", + "enum_dispatch", + "fractional_index 0.1.0", + "fxhash", "generic-btree", - "heapless 0.8.0", + "getrandom", + "im", + "itertools 0.12.1", + "leb128", + "loro-common 0.5.1", + "loro-delta 0.5.1", + "loro-rle 0.5.1", + "md5", + "num", + "num-derive", + "num-traits", + "once_cell", + "postcard", + "rand", + "serde", + "serde_columnar", + "serde_json", + "smallvec", + "thiserror", "tracing", ] [[package]] name = "loro-internal" -version = "0.5.1" +version = "0.16.2" dependencies = [ "append-only-bytes", "arbitrary", @@ -1109,7 +1132,6 @@ dependencies = [ "either", "enum-as-inner 0.5.1", "enum_dispatch", - "fractional_index 0.1.0", "fxhash", "generic-btree", "getrandom", @@ -1117,9 +1139,10 @@ dependencies = [ "itertools 0.12.1", "js-sys", "leb128", - "loro-common 0.5.1", - "loro-delta 0.5.1", - "loro-rle 0.5.1", + "loro-common 0.16.2", + "loro-delta 0.16.2", + "loro-rle 0.16.2", + "loro_fractional_index", "md5", "miniz_oxide 0.7.1", "num", @@ -1144,43 +1167,21 @@ dependencies = [ ] [[package]] -name = "loro-internal" +name = "loro-rle" version = "0.5.1" -source = "git+https://github.com/loro-dev/loro.git?rev=913099534fa437477583acddf4854c17b9fd8354#913099534fa437477583acddf4854c17b9fd8354" +source = "git+https://github.com/loro-dev/loro.git?rev=cd04b27d65128420f6daaf792be9ef511483de99#cd04b27d65128420f6daaf792be9ef511483de99" dependencies = [ "append-only-bytes", "arref", - "either", - "enum-as-inner 0.5.1", - "enum_dispatch", - "fractional_index 0.1.0 (git+https://github.com/loro-dev/loro.git?rev=913099534fa437477583acddf4854c17b9fd8354)", + "enum-as-inner 0.6.0", "fxhash", - "generic-btree", - "getrandom", - "im", - "itertools 0.12.1", - "leb128", - "loro-common 0.5.1 (git+https://github.com/loro-dev/loro.git?rev=913099534fa437477583acddf4854c17b9fd8354)", - "loro-delta 0.5.1 (git+https://github.com/loro-dev/loro.git?rev=913099534fa437477583acddf4854c17b9fd8354)", - "loro-rle 0.5.1 (git+https://github.com/loro-dev/loro.git?rev=913099534fa437477583acddf4854c17b9fd8354)", - "md5", "num", - "num-derive", - "num-traits", - "once_cell", - "postcard", - "rand", - "serde", - "serde_columnar", - "serde_json", "smallvec", - "thiserror", - "tracing", ] [[package]] name = "loro-rle" -version = "0.5.1" +version = "0.16.2" dependencies = [ "append-only-bytes", "arref", @@ -1195,19 +1196,6 @@ dependencies = [ "static_assertions", ] -[[package]] -name = "loro-rle" -version = "0.5.1" -source = "git+https://github.com/loro-dev/loro.git?rev=913099534fa437477583acddf4854c17b9fd8354#913099534fa437477583acddf4854c17b9fd8354" -dependencies = [ - "append-only-bytes", - "arref", - "enum-as-inner 0.6.0", - "fxhash", - "num", - "smallvec", -] - [[package]] name = "loro-thunderdome" version = "0.6.2" @@ -1221,8 +1209,8 @@ dependencies = [ "console_error_panic_hook", "getrandom", "js-sys", - "loro-internal 0.5.1", - "loro-rle 0.5.1", + "loro-internal 0.16.2", + "loro-rle 0.16.2", "serde", "serde-wasm-bindgen", "tracing", @@ -1231,6 +1219,18 @@ dependencies = [ "wasm-bindgen-derive", ] +[[package]] +name = "loro_fractional_index" +version = "0.16.2" +dependencies = [ + "criterion 0.5.1", + "fractional_index 2.0.1", + "imbl", + "rand", + "serde", + "smallvec", +] + [[package]] name = "md5" version = "0.7.0" diff --git a/crates/delta/Cargo.toml b/crates/delta/Cargo.toml index 32e3bc8f..766c12fc 100644 --- a/crates/delta/Cargo.toml +++ b/crates/delta/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "loro-delta" -version = "0.5.1" +version = "0.16.2" edition = "2021" license = "MIT" description = "Loro internal library. It's used as a delta between two versions of text or lists. It's also an efficient Rope." diff --git a/crates/dev-utils/Cargo.toml b/crates/dev-utils/Cargo.toml index 5b9aaeed..96eb7527 100644 --- a/crates/dev-utils/Cargo.toml +++ b/crates/dev-utils/Cargo.toml @@ -2,6 +2,7 @@ name = "dev-utils" version = "0.1.0" edition = "2021" +publish = false # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/crates/fractional_index/Cargo.toml b/crates/fractional_index/Cargo.toml index 6811f608..505ed868 100644 --- a/crates/fractional_index/Cargo.toml +++ b/crates/fractional_index/Cargo.toml @@ -1,7 +1,13 @@ [package] -name = "fractional_index" -version = "0.1.0" +name = "loro_fractional_index" +version = "0.16.2" edition = "2021" +license = "MIT" +description = "Fraction index for Loro. Fork and modified from jamsocket/fractional_index" +repository = "https://github.com/loro-dev/loro/" +authors = ["Liang Zhao", "Zixuan Chen"] +categories = ["crdt", "collaborative-editing", "local-first"] +keywords = ["crdt", "local-first"] # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/crates/fractional_index/LICENSE b/crates/fractional_index/LICENSE new file mode 100644 index 00000000..3aff770e --- /dev/null +++ b/crates/fractional_index/LICENSE @@ -0,0 +1,21 @@ +MIT License Copyright (c) 2024 Loro + +Permission is hereby granted, free of +charge, to any person obtaining a copy of this software and associated +documentation files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice +(including the next paragraph) shall be included in all copies or substantial +portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO +EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/crates/fractional_index/benches/fractional_index.rs b/crates/fractional_index/benches/fractional_index.rs index 55659a07..0a09c24b 100644 --- a/crates/fractional_index/benches/fractional_index.rs +++ b/crates/fractional_index/benches/fractional_index.rs @@ -3,7 +3,7 @@ use criterion::{criterion_group, criterion_main, Criterion}; pub fn criterion_benchmark(c: &mut Criterion) { use criterion::{AxisScale, BenchmarkId, PlotConfiguration}; use fraction_index::FractionalIndex as MyIndex; - use fractional_index::FractionalIndex; + use loro_fractional_index::FractionalIndex; let mut group = c.benchmark_group("FractionalIndex"); let plot_config = PlotConfiguration::default().summary_scale(AxisScale::Logarithmic); group.plot_config(plot_config); diff --git a/crates/fractional_index/examples/size.rs b/crates/fractional_index/examples/size.rs index 702ad5de..bca4db87 100644 --- a/crates/fractional_index/examples/size.rs +++ b/crates/fractional_index/examples/size.rs @@ -1,4 +1,4 @@ -use fractional_index::FractionalIndex; +use loro_fractional_index::FractionalIndex; fn find_common_prefix(a: &[u8], b: &[u8]) -> usize { a.iter().zip(b.iter()).take_while(|(a, b)| a == b).count() diff --git a/crates/fuzz/Cargo.toml b/crates/fuzz/Cargo.toml index d21542fc..4ce63c76 100644 --- a/crates/fuzz/Cargo.toml +++ b/crates/fuzz/Cargo.toml @@ -10,10 +10,10 @@ publish = false loro-without-counter = { path = "../loro", package = "loro" } loro = { git = "https://github.com/loro-dev/loro.git", features = [ "counter", -], rev = "913099534fa437477583acddf4854c17b9fd8354" } +], rev = "cd04b27d65128420f6daaf792be9ef511483de99" } loro-common = { git = "https://github.com/loro-dev/loro.git", features = [ "counter", -], rev = "913099534fa437477583acddf4854c17b9fd8354" } +], rev = "cd04b27d65128420f6daaf792be9ef511483de99" } # loro = { path = "../loro", package = "loro", features = ["counter"] } # loro-common = { path = "../loro-common", features = ["counter"] } # loro-without-counter = { git = "https://github.com/loro-dev/loro.git", branch = "zxch3n/loro-560-undoredo", package = "loro" } diff --git a/crates/loro-common/Cargo.toml b/crates/loro-common/Cargo.toml index 49032fa7..8db666b4 100644 --- a/crates/loro-common/Cargo.toml +++ b/crates/loro-common/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "loro-common" -version = "0.5.1" +version = "0.16.2" edition = "2021" license = "MIT" description = "Common types and functions for Loro. This is an internal lib of Loro." @@ -14,7 +14,7 @@ keywords = ["crdt", "local-first"] # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -rle = { path = "../rle", version = "0.5.1", package = "loro-rle" } +rle = { path = "../rle", version = "0.16.2", package = "loro-rle" } serde = { version = "1", features = ["derive"] } thiserror = "1.0.43" wasm-bindgen = { version = "=0.2.92", optional = true } diff --git a/crates/loro-internal/Cargo.toml b/crates/loro-internal/Cargo.toml index 07deb1ba..627b15ba 100644 --- a/crates/loro-internal/Cargo.toml +++ b/crates/loro-internal/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "loro-internal" -version = "0.5.1" +version = "0.16.2" edition = "2021" license = "MIT" description = "Loro internal library. Do not use it directly as it's not stable." @@ -14,10 +14,12 @@ keywords = ["crdt", "local-first"] # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -loro-delta = { path = "../delta", version = "0.5.1", package = "loro-delta" } -rle = { path = "../rle", version = "0.5.1", package = "loro-rle" } -loro-common = { path = "../loro-common", version = "0.5.1" } -fractional_index = { path = "../fractional_index", features = ["serde"] } +loro-delta = { path = "../delta", version = "0.16.2", package = "loro-delta" } +rle = { path = "../rle", version = "0.16.2", package = "loro-rle" } +loro-common = { path = "../loro-common", version = "0.16.2" } +fractional_index = { path = "../fractional_index", features = [ + "serde", +], version = "0.16.2", package = "loro_fractional_index" } smallvec = { version = "1.8.0", features = ["serde"] } postcard = "1" fxhash = { workspace = true } diff --git a/crates/loro/Cargo.toml b/crates/loro/Cargo.toml index 900e7139..8bb54171 100644 --- a/crates/loro/Cargo.toml +++ b/crates/loro/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "loro" -version = "0.5.1" +version = "0.16.2" edition = "2021" license = "MIT" documentation = "https://docs.rs/loro/" @@ -14,8 +14,8 @@ keywords = ["crdt", "local-first"] # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -loro-internal = { path = "../loro-internal", version = "0.5.1" } -delta = { path = "../delta", package = "loro-delta", version = "0.5.1" } +loro-internal = { path = "../loro-internal", version = "0.16.2" } +delta = { path = "../delta", package = "loro-delta", version = "0.16.2" } generic-btree = { version = "0.10.5" } enum-as-inner = "0.6.0" either = "1.9.0" diff --git a/crates/rle/Cargo.toml b/crates/rle/Cargo.toml index 0d94f6f5..196e3b20 100644 --- a/crates/rle/Cargo.toml +++ b/crates/rle/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "loro-rle" -version = "0.5.1" +version = "0.16.2" edition = "2021" license = "MIT" description = "A internal library of loro for storing and manipulating run-length encoded data. Do not use it directly."