Skip to content

Commit a97322d

Browse files
authored
release v0.9.0
1 parent c024e1b commit a97322d

16 files changed

Lines changed: 120 additions & 87 deletions

File tree

.github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,8 @@ body:
7171
attributes:
7272
label: Version of the release
7373
options:
74-
# <newest-release=v0.8.7>
74+
# <newest-release=v0.9.0>
75+
- v0.9.0
7576
- v0.8.7
7677
- v0.8.6
7778
- v0.8.5

CHANGELOG.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,31 @@
22

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

5+
## [0.9.0] - 2024-03-28
6+
7+
### Features
8+
9+
- Array slice selector. ([#152](https://github.com/V0ldek/rsonpath/issues/152))
10+
- Simple slicing: forward step and positive bounds.
11+
Includes an overhaul to how array transitions are compiled.
12+
13+
### Performance
14+
15+
- Improve performance of the index selector. ([#138](https://github.com/V0ldek/rsonpath/issues/138))
16+
- Added more structure and metadata to the automaton,
17+
improving perf of all queries in general (~6% thpt) and
18+
array-index queries in particular (~12% thpt).
19+
20+
### Reliability
21+
22+
- Run JSONPath Compliance Test Suite on basic queries.
23+
- CTS is now run in CI on queries that the engine supports.
24+
25+
### Dependencies
26+
27+
- Bump clap from 4.5.1 to 4.5.2
28+
- Bump thiserror from 1.0.57 to 1.0.58
29+
530
## [0.8.7] - 2024-02-29
631

732
### Features

Cargo.lock

Lines changed: 7 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

README.md

Lines changed: 59 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ A query is a sequence of segments, each containing one or more selectors.
100100
| Wildcard | `.*`, `..*`, `[*]` | ✔️ | v0.4.0 | |
101101
| Index (array index) | `[<index>]` | ✔️ | v0.5.0 | |
102102
| Index (array index from end) | `[-<index>]` || | |
103-
| Array slice (forward, positive bounds) | `[<start>:<end>:<step>]` | | | [#152](https://github.com/V0ldek/rsonpath/issues/152) |
103+
| Array slice (forward, positive bounds) | `[<start>:<end>:<step>]` | ✔️ | v0.9.0 | [#152](https://github.com/V0ldek/rsonpath/issues/152) |
104104
| Array slice (forward, arbitrary bounds) | `[<start>:<end>:<step>]` || | |
105105
| Array slice (backward, arbitrary bounds) | `[<start>:<end>:-<step>]` || | |
106106
| Filters &ndash; existential tests | `[?<path>]` || | [#154](https://github.com/V0ldek/rsonpath/issues/154) |
@@ -136,9 +136,9 @@ with `rq --version` &ndash; check the `SIMD support` field:
136136

137137
```console,ignore
138138
$ rq --version
139-
rq 0.8.4
139+
rq 0.9.0
140140
141-
Commit SHA: be6abb7fc8a3a9342876d01cad2388c10f5751e3
141+
Commit SHA: c024e1bab89610455537b77aed249d2a05a81ed6
142142
Features: default,simd
143143
Opt level: 3
144144
Target triple: x86_64-unknown-linux-gnu
@@ -216,16 +216,16 @@ cargo tree --package rsonpath --edges normal --depth 1
216216

217217
<!-- rsonpath dependencies start -->
218218
```ini
219-
rsonpath v0.8.7 (/home/mat/src/rsonpath/crates/rsonpath)
220-
├── clap v4.5.1
221-
├── color-eyre v0.6.2
219+
rsonpath v0.9.0 (/home/mat/src/rsonpath/crates/rsonpath)
220+
├── clap v4.5.4
221+
├── color-eyre v0.6.3
222222
├── eyre v0.6.12
223223
├── log v0.4.21
224-
├── rsonpath-lib v0.8.7 (/home/mat/src/rsonpath/crates/rsonpath-lib)
225-
├── rsonpath-syntax v0.2.0 (/home/mat/src/rsonpath/crates/rsonpath-syntax)
224+
├── rsonpath-lib v0.9.0 (/home/mat/src/rsonpath/crates/rsonpath-lib)
225+
├── rsonpath-syntax v0.3.1 (/home/mat/src/rsonpath/crates/rsonpath-syntax)
226226
└── simple_logger v4.3.3
227227
[build-dependencies]
228-
├── rustflags v0.1.4
228+
├── rustflags v0.1.5
229229
└── vergen v8.3.1
230230
[build-dependencies]
231231
```
@@ -237,16 +237,16 @@ cargo tree --package rsonpath-lib --edges normal --depth 1
237237

238238
<!-- rsonpath-lib dependencies start -->
239239
```ini
240-
rsonpath-lib v0.8.7 (/home/mat/src/rsonpath/crates/rsonpath-lib)
240+
rsonpath-lib v0.9.0 (/home/mat/src/rsonpath/crates/rsonpath-lib)
241241
├── arbitrary v1.3.2
242242
├── cfg-if v1.0.0
243243
├── log v0.4.21
244244
├── memmap2 v0.9.4
245245
├── nom v7.1.3
246-
├── rsonpath-syntax v0.2.0 (/home/mat/src/rsonpath/crates/rsonpath-syntax)
247-
├── smallvec v1.13.1
246+
├── rsonpath-syntax v0.3.1 (/home/mat/src/rsonpath/crates/rsonpath-syntax)
247+
├── smallvec v1.13.2
248248
├── static_assertions v1.1.0
249-
├── thiserror v1.0.57
249+
├── thiserror v1.0.58
250250
└── vector-map v1.0.1
251251
```
252252
<!-- rsonpath-lib dependencies end -->
@@ -272,9 +272,9 @@ cargo tree --package rsonpath --edges normal
272272

273273
<!-- rsonpath-full dependencies start -->
274274
```ini
275-
rsonpath v0.8.7 (/home/mat/src/rsonpath/crates/rsonpath)
276-
├── clap v4.5.1
277-
│ ├── clap_builder v4.5.1
275+
rsonpath v0.9.0 (/home/mat/src/rsonpath/crates/rsonpath)
276+
├── clap v4.5.4
277+
│ ├── clap_builder v4.5.2
278278
│ │ ├── anstream v0.6.13
279279
│ │ │ ├── anstyle v1.0.6
280280
│ │ │ ├── anstyle-parse v0.2.3
@@ -298,8 +298,8 @@ rsonpath v0.8.7 (/home/mat/src/rsonpath/crates/rsonpath)
298298
│ │ ├── clap_lex v0.7.0
299299
│ │ ├── strsim v0.11.0
300300
│ │ └── terminal_size v0.3.0
301-
│ │ ├── rustix v0.38.31
302-
│ │ │ ├── bitflags v2.4.2
301+
│ │ ├── rustix v0.38.32
302+
│ │ │ ├── bitflags v2.5.0
303303
│ │ │ ├── errno v0.3.8
304304
│ │ │ │ ├── libc v0.2.153
305305
│ │ │ │ └── windows-sys v0.52.0 (*)
@@ -315,29 +315,29 @@ rsonpath v0.8.7 (/home/mat/src/rsonpath/crates/rsonpath)
315315
│ │ ├── windows_x86_64_gnu v0.48.5
316316
│ │ ├── windows_x86_64_gnullvm v0.48.5
317317
│ │ └── windows_x86_64_msvc v0.48.5
318-
│ └── clap_derive v4.5.0 (proc-macro)
319-
│ ├── heck v0.4.1
320-
│ ├── proc-macro2 v1.0.78
318+
│ └── clap_derive v4.5.4 (proc-macro)
319+
│ ├── heck v0.5.0
320+
│ ├── proc-macro2 v1.0.79
321321
│ │ └── unicode-ident v1.0.12
322322
│ ├── quote v1.0.35
323-
│ │ └── proc-macro2 v1.0.78 (*)
324-
│ └── syn v2.0.52
325-
│ ├── proc-macro2 v1.0.78 (*)
323+
│ │ └── proc-macro2 v1.0.79 (*)
324+
│ └── syn v2.0.55
325+
│ ├── proc-macro2 v1.0.79 (*)
326326
│ ├── quote v1.0.35 (*)
327327
│ └── unicode-ident v1.0.12
328-
├── color-eyre v0.6.2
329-
│ ├── backtrace v0.3.69
328+
├── color-eyre v0.6.3
329+
│ ├── backtrace v0.3.71
330330
│ │ ├── addr2line v0.21.0
331331
│ │ │ └── gimli v0.28.1
332332
│ │ ├── cfg-if v1.0.0
333333
│ │ ├── libc v0.2.153
334334
│ │ ├── miniz_oxide v0.7.2
335335
│ │ │ └── adler v1.0.2
336336
│ │ ├── object v0.32.2
337-
│ │ │ └── memchr v2.7.1
337+
│ │ │ └── memchr v2.7.2
338338
│ │ └── rustc-demangle v0.1.23
339339
│ │ [build-dependencies]
340-
│ │ └── cc v1.0.88
340+
│ │ └── cc v1.0.90
341341
│ ├── eyre v0.6.12
342342
│ │ ├── indenter v0.3.3
343343
│ │ └── once_cell v1.19.0
@@ -346,32 +346,32 @@ rsonpath v0.8.7 (/home/mat/src/rsonpath/crates/rsonpath)
346346
│ └── owo-colors v3.5.0
347347
├── eyre v0.6.12 (*)
348348
├── log v0.4.21
349-
├── rsonpath-lib v0.8.7 (/home/mat/src/rsonpath/crates/rsonpath-lib)
349+
├── rsonpath-lib v0.9.0 (/home/mat/src/rsonpath/crates/rsonpath-lib)
350350
│ ├── cfg-if v1.0.0
351351
│ ├── log v0.4.21
352352
│ ├── memmap2 v0.9.4
353353
│ │ └── libc v0.2.153
354354
│ ├── nom v7.1.3
355-
│ │ ├── memchr v2.7.1
355+
│ │ ├── memchr v2.7.2
356356
│ │ └── minimal-lexical v0.2.1
357-
│ ├── rsonpath-syntax v0.2.0 (/home/mat/src/rsonpath/crates/rsonpath-syntax)
357+
│ ├── rsonpath-syntax v0.3.1 (/home/mat/src/rsonpath/crates/rsonpath-syntax)
358358
│ │ ├── nom v7.1.3 (*)
359359
│ │ ├── owo-colors v4.0.0
360-
│ │ ├── thiserror v1.0.57
361-
│ │ │ └── thiserror-impl v1.0.57 (proc-macro)
362-
│ │ │ ├── proc-macro2 v1.0.78 (*)
360+
│ │ ├── thiserror v1.0.58
361+
│ │ │ └── thiserror-impl v1.0.58 (proc-macro)
362+
│ │ │ ├── proc-macro2 v1.0.79 (*)
363363
│ │ │ ├── quote v1.0.35 (*)
364-
│ │ │ └── syn v2.0.52 (*)
364+
│ │ │ └── syn v2.0.55 (*)
365365
│ │ └── unicode-width v0.1.11
366-
│ ├── smallvec v1.13.1
366+
│ ├── smallvec v1.13.2
367367
│ ├── static_assertions v1.1.0
368-
│ ├── thiserror v1.0.57 (*)
368+
│ ├── thiserror v1.0.58 (*)
369369
│ └── vector-map v1.0.1
370370
│ ├── contracts v0.4.0 (proc-macro)
371-
│ │ ├── proc-macro2 v1.0.78 (*)
371+
│ │ ├── proc-macro2 v1.0.79 (*)
372372
│ │ ├── quote v1.0.35 (*)
373373
│ │ └── syn v1.0.109
374-
│ │ ├── proc-macro2 v1.0.78 (*)
374+
│ │ ├── proc-macro2 v1.0.79 (*)
375375
│ │ ├── quote v1.0.35 (*)
376376
│ │ └── unicode-ident v1.0.12
377377
│ └── rand v0.7.3
@@ -387,7 +387,7 @@ rsonpath v0.8.7 (/home/mat/src/rsonpath/crates/rsonpath)
387387
│ ├── rand_core v0.5.1 (*)
388388
│ └── rand_hc v0.2.0
389389
│ └── rand_core v0.5.1 (*)
390-
├── rsonpath-syntax v0.2.0 (/home/mat/src/rsonpath/crates/rsonpath-syntax) (*)
390+
├── rsonpath-syntax v0.3.1 (/home/mat/src/rsonpath/crates/rsonpath-syntax) (*)
391391
└── simple_logger v4.3.3
392392
├── colored v2.1.0
393393
│ ├── lazy_static v1.4.0
@@ -396,7 +396,7 @@ rsonpath v0.8.7 (/home/mat/src/rsonpath/crates/rsonpath)
396396
├── time v0.3.34
397397
│ ├── deranged v0.3.11
398398
│ │ └── powerfmt v0.2.0
399-
│ ├── itoa v1.0.10
399+
│ ├── itoa v1.0.11
400400
│ ├── libc v0.2.153
401401
│ ├── num-conv v0.1.0
402402
│ ├── num_threads v0.1.7
@@ -408,41 +408,41 @@ rsonpath v0.8.7 (/home/mat/src/rsonpath/crates/rsonpath)
408408
│ └── time-core v0.1.2
409409
└── windows-sys v0.48.0 (*)
410410
[build-dependencies]
411-
├── rustflags v0.1.4
411+
├── rustflags v0.1.5
412412
└── vergen v8.3.1
413-
├── anyhow v1.0.80
413+
├── anyhow v1.0.81
414414
├── cargo_metadata v0.18.1
415415
│ ├── camino v1.1.6
416416
│ │ └── serde v1.0.197
417417
│ │ └── serde_derive v1.0.197 (proc-macro)
418-
│ │ ├── proc-macro2 v1.0.78 (*)
418+
│ │ ├── proc-macro2 v1.0.79 (*)
419419
│ │ ├── quote v1.0.35 (*)
420-
│ │ └── syn v2.0.52 (*)
421-
│ ├── cargo-platform v0.1.7
420+
│ │ └── syn v2.0.55 (*)
421+
│ ├── cargo-platform v0.1.8
422422
│ │ └── serde v1.0.197 (*)
423423
│ ├── semver v1.0.22
424424
│ │ └── serde v1.0.197 (*)
425425
│ ├── serde v1.0.197 (*)
426-
│ ├── serde_json v1.0.114
427-
│ │ ├── itoa v1.0.10
426+
│ ├── serde_json v1.0.115
427+
│ │ ├── itoa v1.0.11
428428
│ │ ├── ryu v1.0.17
429429
│ │ └── serde v1.0.197 (*)
430-
│ └── thiserror v1.0.57 (*)
430+
│ └── thiserror v1.0.58 (*)
431431
├── cfg-if v1.0.0
432-
├── regex v1.10.3
433-
│ ├── aho-corasick v1.1.2
434-
│ │ └── memchr v2.7.1
435-
│ ├── memchr v2.7.1
436-
│ ├── regex-automata v0.4.5
437-
│ │ ├── aho-corasick v1.1.2 (*)
438-
│ │ ├── memchr v2.7.1
439-
│ │ └── regex-syntax v0.8.2
440-
│ └── regex-syntax v0.8.2
432+
├── regex v1.10.4
433+
│ ├── aho-corasick v1.1.3
434+
│ │ └── memchr v2.7.2
435+
│ ├── memchr v2.7.2
436+
│ ├── regex-automata v0.4.6
437+
│ │ ├── aho-corasick v1.1.3 (*)
438+
│ │ ├── memchr v2.7.2
439+
│ │ └── regex-syntax v0.8.3
440+
│ └── regex-syntax v0.8.3
441441
├── rustc_version v0.4.0
442442
│ └── semver v1.0.22 (*)
443443
└── time v0.3.34
444444
├── deranged v0.3.11 (*)
445-
├── itoa v1.0.10
445+
├── itoa v1.0.11
446446
├── libc v0.2.153
447447
├── num-conv v0.1.0
448448
├── num_threads v0.1.7 (*)

book/src/user/installation.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ To verify it works, check if `rq` is available from your command line:
3535

3636
```console
3737
$ rq -V
38-
rq 0.8.7
38+
rq 0.9.0
3939

4040
```
4141

book/src/user/installation/manual.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ field.
4949

5050
```console,ignore
5151
$ rq --version
52-
rq 0.8.3
52+
rq 0.9.0
5353
5454
Commit SHA: 05ced6146b2dcc4e474f2dbc17c2e6d0986a7181
5555
Features: default,simd

crates/rsonpath-lib/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "rsonpath-lib"
3-
version = "0.8.7"
3+
version = "0.9.0"
44
authors = ["Mateusz Gienieczko <mat@gienieczko.com>"]
55
description = "Blazing fast JSONPath query engine powered by SIMD. Core library of `rsonpath`."
66
readme = "README.md"
@@ -32,7 +32,7 @@ cfg-if = "1.0.0"
3232
log = "0.4.21"
3333
memmap2 = "0.9.4"
3434
nom = "7.1.3"
35-
rsonpath-syntax = { version = "0.3.0", path = "../rsonpath-syntax" }
35+
rsonpath-syntax = { version = "0.3.1", path = "../rsonpath-syntax" }
3636
smallvec = { version = "1.13.1", features = ["union"] }
3737
static_assertions = "1.1.0"
3838
thiserror = "1.0.58"

0 commit comments

Comments
 (0)