lucivy 4.3.0 → 4.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +20 -2
  2. package/package.json +6 -6
package/README.md CHANGED
@@ -1,9 +1,27 @@
1
- # lucivy 4.3.0
1
+ # lucivy 4.3.2
2
2
 
3
3
  **One index answers every question, and every answer is checked.** The default index answers exact substrings, matches across separators, typos across token boundaries, regular expressions and two-character needles — with BM25 and the exact bytes of every match — and nothing to configure per question; the ground-truth harness compares every answer to a scan of the files. From Node.js. Runs in your process, in your transaction (bring your own storage), and the same engine runs in the browser. Powered by Rust via napi-rs, MIT.
4
4
 
5
5
  [**Try the live playground**](https://l-defraiteur.github.io/lucivy/) — runs entirely in your browser via WASM.
6
6
 
7
+ ### What's new in 4.3.2
8
+
9
+ A patch release of four search fixes. The index format is unchanged.
10
+
11
+ - **Long passages are found again.** A `contains` of a sentence copied from a document no longer stops finding it past about 48 bytes.
12
+ - **Long fuzzy queries are fast.** A 200-word text searched at distance 1 takes 96 ms instead of 15.8 s on a sharded index.
13
+ - **Both apostrophes match.** « Vue d'ensemble » finds « Vue d’ensemble » and the other way round, on existing indexes too.
14
+ - **Unknown query keys are reported.** `boost`, `offset`, `slop` or a typo are named by `query_warnings` instead of being ignored silently.
15
+
16
+ ### What's new in 4.3.1
17
+
18
+ A patch release that fixes concurrency between searches and writes. The index format is unchanged.
19
+
20
+ - **Searches during commits no longer lose writes.** A BM25 statistic read across two states of the index made a search panic. The panic took down the shard serving it, and documents disappeared behind commits that returned `Ok`, or later commits froze. The statistic is now bounded, and a search that panics answers an error instead of killing the shard.
21
+ - **One commit in flight per shard.** Writes, commits and drains that arrive meanwhile wait, and run when it ends, in their order.
22
+ - **Closing commits, always.** Dropping an index without `close()` now commits what was still queued. Writes to a shard without a writer are reported by the next commit instead of being dropped silently.
23
+ - The browser playground starts its engine only on a cross-origin isolated page. A hard reload no longer leaves it dead.
24
+
7
25
  ### What's new in 4.3
8
26
 
9
27
  - **Indexing 48 → 35 s on the same index.** The whole kernel (Linux 7.2,
@@ -90,7 +108,7 @@ Still there from 2.x: SFX-only engine, distributed search (`exportStats` / `merg
90
108
  ## Install
91
109
 
92
110
  ```bash
93
- npm install lucivy # 4.3.0
111
+ npm install lucivy # 4.3.2
94
112
  ```
95
113
 
96
114
  ## Quick start
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lucivy",
3
- "version": "4.3.0",
3
+ "version": "4.3.2",
4
4
  "description": "Fast BM25 full-text search with substring matching, fuzzy search, and regex — powered by Rust",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -39,10 +39,10 @@
39
39
  "build:debug": "napi build"
40
40
  },
41
41
  "optionalDependencies": {
42
- "lucivy-linux-x64-gnu": "4.3.0",
43
- "lucivy-linux-arm64-gnu": "4.3.0",
44
- "lucivy-darwin-x64": "4.3.0",
45
- "lucivy-darwin-arm64": "4.3.0",
46
- "lucivy-windows-x64": "4.3.0"
42
+ "lucivy-linux-x64-gnu": "4.3.2",
43
+ "lucivy-linux-arm64-gnu": "4.3.2",
44
+ "lucivy-darwin-x64": "4.3.2",
45
+ "lucivy-darwin-arm64": "4.3.2",
46
+ "lucivy-windows-x64": "4.3.2"
47
47
  }
48
48
  }