Skip to content

Commit

Permalink
release/v0.9.2 (#619)
Browse files Browse the repository at this point in the history
release v0.9.2
  • Loading branch information
V0ldek authored Dec 22, 2024
1 parent 62d336f commit 73e5641
Show file tree
Hide file tree
Showing 29 changed files with 569 additions and 462 deletions.
3 changes: 2 additions & 1 deletion .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,8 @@ body:
attributes:
label: Version of the release
options:
# <newest-release=v0.9.1>
# <newest-release=v0.9.2>
- v0.9.2
- v0.9.1
- v0.9.0
- v0.8.7
Expand Down
28 changes: 28 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,34 @@

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

## [0.9.2] - 2024-12-22

### Library

- Added `StringPattern` and made `Automaton` no longer borrow the query. ([#117](https://github.com/V0ldek/rsonpath/issues/117)[#613](https://github.com/V0ldek/rsonpath/issues/613))

- The `Automaton` struct borrowed the source query, which also caused the Engine to carry the query's lifetime with it.
The actual data being borrowed were the `JsonString` values for member transitions.
In preparation for [#117](https://github.com/V0ldek/rsonpath/issues/117)we remove the borrowed `JsonString` and replace it
with `StringPattern`. For UTF-8 the `StringPattern` will be a more complex struct that precomputes some stuff for efficient matching later.
For now, it's a thin wrapper over a `JsonString`.
- During construction we may create many transitions over the same pattern.
To reduce the size of the automaton we cache the patterns and put them into an `Rc`.
This may get optimised later to instead use some kind of inline storage, but it's unlike to actually matter.
I ran the benchmarks and saw no measurable difference between the previous version and this one.

### Dependencies

- Bump arbitrary from 1.3.1 to 1.4.1
- Bump clap from 4.5.2 to 4.5.23
- Bump color-eyre from 0.6.2 to 0.6.3
- Bump log from 0.4.21 to 0.4.22
- Bump memmap2 from 0.9.4 to 0.9.5
- Bump simple_logger from 4.3.3 to 5.0.0
- Bump smallvec from 1.13.1 to 1.13.2
- Bump thiserror from 1.0.58 to 2.0.9 (#617). ([#617](https://github.com/V0ldek/rsonpath/issues/617))
- Remove `nom` as a direct dependency of `rsonpath-lib`

## [0.9.1] - 2024-04-03

### Bug Fixes
Expand Down
10 changes: 5 additions & 5 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

63 changes: 61 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,19 @@ exclude = ["crates/rsonpath-benchmarks", "crates/rsonpath-test-codegen"]

resolver = "2"

[workspace.package]
version = "0.9.2"
authors = ["Mateusz Gienieczko <[email protected]>"]
readme = "README.md"
license = "MIT"
repository = "https://github.com/rsonquery/rsonpath"
homepage = "https://rsonquery.github.io/rsonpath/"
edition = "2021"

[workspace.dependencies]
# Project crates
rsonpath-lib = { version = "0.9.1", path = "./crates/rsonpath-lib", package = "rsonpath-lib", default-features = false }
rsonpath-syntax = { version = "0.3.1", path = "./crates/rsonpath-syntax" }
rsonpath-lib = { version = "0.9.2", path = "./crates/rsonpath-lib", package = "rsonpath-lib", default-features = false }
rsonpath-syntax = { version = "0.3.2", path = "./crates/rsonpath-syntax" }
# Main dependencies
arbitrary = { version = "1.4.1" }
cfg-if = "1.0.0"
Expand All @@ -26,6 +35,56 @@ pretty_assertions = "1.4.1"
proptest = "1.5.0"
test-case = "3.3.1"

[workspace.lints.rust]
explicit_outlives_requirements = "warn"
semicolon_in_expressions_from_macros = "warn"
unreachable_pub = "warn"
unused_import_braces = "warn"
unused_lifetimes = "warn"

[workspace.lints.clippy]
allow_attributes_without_reason = "warn"
cargo_common_metadata = "warn"
cast_lossless = "warn"
cloned_instead_of_copied = "warn"
empty_drop = "warn"
empty_line_after_outer_attr = "warn"
equatable_if_let = "warn"
expl_impl_clone_on_copy = "warn"
explicit_deref_methods = "warn"
explicit_into_iter_loop = "warn"
explicit_iter_loop = "warn"
fallible_impl_from = "warn"
flat_map_option = "warn"
if_then_some_else_none = "warn"
inconsistent_struct_constructor = "warn"
large_digit_groups = "warn"
let_underscore_must_use = "warn"
manual_ok_or = "warn"
map_err_ignore = "warn"
map_unwrap_or = "warn"
match_same_arms = "warn"
match_wildcard_for_single_variants = "warn"
missing_inline_in_public_items = "warn"
mod_module_files = "warn"
must_use_candidate = "warn"
needless_continue = "warn"
needless_for_each = "warn"
needless_pass_by_value = "warn"
ptr_as_ptr = "warn"
redundant_closure_for_method_calls = "warn"
ref_binding_to_reference = "warn"
ref_option_ref = "warn"
rest_pat_in_fully_bound_structs = "warn"
undocumented_unsafe_blocks = "warn"
unneeded_field_pattern = "warn"
unseparated_literal_suffix = "warn"
unreadable_literal = "warn"
unused_self = "warn"
use_self = "warn"
# Panic-free lints
exit = "warn"

[profile.dev]
lto = false

Expand Down
12 changes: 9 additions & 3 deletions Justfile
Original file line number Diff line number Diff line change
Expand Up @@ -276,13 +276,19 @@ release ver:
cargo build
cargo +nightly fuzz build

# Execute prerequisits for a release of `rsonpath-syntax` for the given version.
release-syntax ver:
#!/usr/bin/env nu
let ver = "{{ver}}";
sed -i $'s/^version = "[^"]*"/version = "($ver)"/' "./crates/rsonpath-syntax/Cargo.toml"
sed -i $'s/^rsonpath-syntax = { version = "[^"]*"/rsonpath-syntax = { version = "($ver)"/' "./Cargo.toml"

[private]
release-patch ver:
#!/usr/bin/env nu
let ver = "{{ver}}";
let crates = ["rsonpath", "rsonpath-lib", "rsonpath-benchmarks", "rsonpath-test", "rsonpath-test-codegen"];
$crates | each { |cr|
let path = $"./crates/($cr)/Cargo.toml";
let paths = ["./Cargo.toml", "./crates/rsonpath-benchmarks/Cargo.toml", "./crates/rsonpath-test-codegen/Cargo.toml"];
$paths | each { |path|
sed -i $'s/^version = "[^"]*"/version = "($ver)"/;s/^rsonpath-lib = { version = "[^"]*"/rsonpath-lib = { version = "($ver)"/;s/rsonpath-test-codegen = { version = "[^"]*"/rsonpath-test-codegen = { version = "($ver)"/' $path;
};

Expand Down
Loading

0 comments on commit 73e5641

Please sign in to comment.