Skip to content

trustfall-v0.7.1

Latest
Compare
Choose a tag to compare
@obi1kenobi obi1kenobi released this 17 Nov 21:35
· 148 commits to main since this release
6114244

A major new update to the Adapter API in order to allow more flexibility when creating and composing adapters: #481

It requires tweaks to adapter implementations to make property and edge resolvers include the V: AsVertex<Self::Vertex> + 'a generic parameter. In practice, this change should be possible to do with only find-and-replace, since other helper functions like accessor_property!() or resolve_property_with() had their APIs updated to dereference via AsVertex as well. For example: https://github.com/obi1kenobi/trustfall-rustdoc-adapter/pull/305/files#diff-f6f5d3d9607240984eb0cbf4ebcf94307990abe1c5a2092756f48ef35798348f

Other Highlights

  • Query evaluation optimization: stop evaluating @fold early if it has no outputs and its count is never observed by the query: #423
  • Expand the adapter optimizations API with the ability to check which properties are used within a vertex: #449
  • accessor_property!() now has a form that allows specifying additional arguments for the function being called: #513
  • Support repeatable on @filter directives by upgrading to a newer parser version.
  • Substantial expansion of the queryable surface area SchemaAdapter supports.
  • Changed representation of FieldValue to make it cheaper to clone, which our APIs will now do a bit more freely.

All Merged Commits

  • Fix publish trustfall_derive job name. by @obi1kenobi in #412
  • Add as_arc_str() and as_arc_slice() methods on FieldValue. by @obi1kenobi in #414
  • Weekly cargo update of fuzzing dependencies by @obi1kenobi in #416
  • Weekly cargo update of primary dependencies by @obi1kenobi in #417
  • Run doctests in CI and fix failures. by @obi1kenobi in #419
  • add schema starting edge to schemaadapter by @u9g in #413
  • Add docs properties to VertexType, Property, Edge metaschema types. by @obi1kenobi in #422
  • Add new test queries by @u9g in #421
  • Add negative filter tests by @u9g in #425
  • Add a test for no-output folds with @tag on count by @u9g in #427
  • Allow querying docs on edge parameters. by @obi1kenobi in #428
  • Add impossible filter and dominated filter tests by @u9g in #429
  • Add a test for ignoring necessary filters by @u9g in #431
  • add min_fold_count_limit optimization by @u9g in #423
  • Throw error for tag directive on edge by @u9g in #432
  • Add tag on fold test by @u9g in #433
  • Weekly cargo update of fuzzing dependencies by @obi1kenobi in #436
  • Weekly cargo update of primary dependencies by @obi1kenobi in #437
  • Only use Rust matchers in lint jobs. by @obi1kenobi in #439
  • Don't run clippy on dependencies. by @obi1kenobi in #440
  • Adding information about the scripts for generating test data on readme by @era in #443
  • Convert to pnpm to fix autocompletions by @u9g in #442
  • Weekly cargo update of fuzzing dependencies by @obi1kenobi in #446
  • Weekly cargo update of primary dependencies by @obi1kenobi in #447
  • Allow any script to be executed anywhere inside the repo by @era in #444
  • Fix false assumption of vertex_type being singleton by @u9g in #445
  • Add an iterator over all the required properties of a Vertex by @era in #449
  • Pin serde to <1.0.172. by @obi1kenobi in #452
  • Weekly cargo update of primary dependencies by @obi1kenobi in #454
  • Weekly cargo update of fuzzing dependencies by @obi1kenobi in #453
  • Upgrade to latest async-graphql-{parser,value} and Add repeatable to all @filter's by @u9g in #458
  • Suppress new clippy lints. by @obi1kenobi in #460
  • Do not allow users to apply fold, recurse and transform directives to properties by @era in #457
  • Use serde 1.0.185, skipping past the version with a precompiled binary. by @obi1kenobi in #459
  • Add better filter error message for string instead of array. by @u9g in #461
  • Add more tests and rename existing test by @u9g in #462
  • Add error for filter where value argument is just ["$"] or ["%"] by @u9g in #463
  • Weekly cargo update of fuzzing dependencies by @obi1kenobi in #464
  • Weekly cargo update of primary dependencies by @obi1kenobi in #465
  • Remove reference from statically_required_property's FieldValue by @u9g in #466
  • Weekly cargo update of fuzzing dependencies by @obi1kenobi in #468
  • Weekly cargo update of primary dependencies by @obi1kenobi in #467
  • Weekly cargo update of primary dependencies by @obi1kenobi in #469
  • Weekly cargo update of fuzzing dependencies by @obi1kenobi in #470
  • Weekly cargo update of fuzzing dependencies by @obi1kenobi in #471
  • Weekly cargo update of primary dependencies by @obi1kenobi in #472
  • Weekly cargo update of fuzzing dependencies by @obi1kenobi in #474
  • Weekly cargo update of primary dependencies by @obi1kenobi in #475
  • Bump all crates to 1.70 MSRV. by @obi1kenobi in #476
  • Weekly cargo update of primary dependencies by @obi1kenobi in #478
  • Weekly cargo update of fuzzing dependencies by @obi1kenobi in #477
  • Add Python 3.12 to test matrix. by @obi1kenobi in #479
  • Add Python package classifier for Python 3.12 support. by @obi1kenobi in #480
  • Fix new clippy lint. by @obi1kenobi in #484
  • Weekly cargo update of fuzzing dependencies by @obi1kenobi in #483
  • Weekly cargo update of primary dependencies by @obi1kenobi in #482
  • Move to our own Type type for everything that's exposed in trustfall_core by @u9g in #435
  • Upgrade to actions/checkout@v4 in GitHub Actions. by @obi1kenobi in #486
  • Upgrade to the actions-rust-lang/setup-rust-toolchain action. by @obi1kenobi in #485
  • Build Python wheels for 3.12 on all operating systems. by @obi1kenobi in #487
  • Upgrade to node 20 for JS linting. by @obi1kenobi in #488
  • Remove once_cell dependency from most of the repo's crates. by @obi1kenobi in #489
  • Weekly cargo update of fuzzing dependencies by @obi1kenobi in #491
  • Weekly cargo update of primary dependencies by @obi1kenobi in #492
  • Add FUNDING.yml file. by @obi1kenobi in #493
  • Use sccache to speed up test runs. by @obi1kenobi in #494
  • Upgrade pytrustfall to pyo3 v0.20. by @obi1kenobi in #496
  • Update pnpm by @u9g in #497
  • Generate a __typename handler branch in stubgen. by @obi1kenobi in #500
  • Allow adapters to process types that deref to their vertex type. by @obi1kenobi in #481
  • Add better autocomplete patch to playground by @u9g in #498
  • Use GitHub permalinks for Adapter docs. by @obi1kenobi in #501
  • Weekly cargo update of fuzzing dependencies by @obi1kenobi in #502
  • Weekly cargo update of primary dependencies by @obi1kenobi in #503
  • Re-enable playground "accept suggestion" on enter key. Fix HN adapter bug. by @obi1kenobi in #504
  • Weekly cargo update of fuzzing dependencies by @obi1kenobi in #505
  • Weekly cargo update of primary dependencies by @obi1kenobi in #506
  • Weekly cargo update of primary dependencies by @obi1kenobi in #508
  • Weekly cargo update of fuzzing dependencies by @obi1kenobi in #507
  • Make stubgen emit move closures by default. by @obi1kenobi in #509
  • Weekly cargo update of fuzzing dependencies by @obi1kenobi in #511
  • Weekly cargo update of primary dependencies by @obi1kenobi in #510
  • Update playgrounds to new dependency versions and new rustdoc schema. by @obi1kenobi in #512
  • Allow accessor_property!() to pass arguments to called functions. by @obi1kenobi in #513
  • Upgrade to cargo-semver-checks-action v2. by @obi1kenobi in #515
  • Fix resolve_with() API and release v0.7.1 after yanking 0.7. by @obi1kenobi in #516

New Contributors

  • @era made their first contribution in #443

Full Changelog: trustfall-v0.6.1...trustfall-v0.7.1