trustfall-v0.4.0
版本发布时间: 2023-04-24 22:04:59
obi1kenobi/trustfall最新发布版本:trustfall-v0.7.1(2023-11-18 05:35:14)
What's Changed
-
Breaking:
Adapter
trait methods now take&self
instead of&mut self
to avoid reentrancy bugs: #249 -
Breaking: Released the new optimizations API:
Adapter
methods now take aresolve_info
argument that can be used to get information about the query for the purpose of applying optimizations. Incargo-semver-checks
this new API led to a 2354x speedup. - Many smaller bug fixes thanks to 26,000+ lines of new tests and test code.
Migrating from Trustfall v0.3
Replace all BasicAdapter
and Adapter
method receivers with &self
instead of &mut self
.
If you need mutability, you need to do BOTH of these things:
- advance the
ContextIterator
input iterator before doing any mutation, to avoid reentrancy bugs - use
RefCell
around yourAdapter
orBasicAdapter
's mutable state, making sure to not hold its mutable borrow across operations on the inputContextIterator
in order to avoid reentrancy bugs
All Merged PRs
- Use dtolnay's Rust toolchain action instead of the actions-rs ones. by @obi1kenobi in https://github.com/obi1kenobi/trustfall/pull/215
- Modernize more GitHub Actions steps. by @obi1kenobi in https://github.com/obi1kenobi/trustfall/pull/216
- Internal refactor to unblock the new optimizations API. by @obi1kenobi in https://github.com/obi1kenobi/trustfall/pull/217
- Implement the
VertexInfo
notable trait and basic hint functionality. by @obi1kenobi in https://github.com/obi1kenobi/trustfall/pull/219 - Add doc comments to a bunch of the public API. by @obi1kenobi in https://github.com/obi1kenobi/trustfall/pull/220
- Make the edge-facing optimizations API more ergonomic. by @obi1kenobi in https://github.com/obi1kenobi/trustfall/pull/221
- Improve VertexInfo doc comments. by @obi1kenobi in https://github.com/obi1kenobi/trustfall/pull/222
- Improve the
edges_with_name
doc comment. by @obi1kenobi in https://github.com/obi1kenobi/trustfall/pull/223 - Update dependencies. by @obi1kenobi in https://github.com/obi1kenobi/trustfall/pull/218
- Flesh out the candidate values submodule. by @obi1kenobi in https://github.com/obi1kenobi/trustfall/pull/226
- Seal the VertexInfo and InternalVertexInfo traits. by @obi1kenobi in https://github.com/obi1kenobi/trustfall/pull/227
- Allow using
*_property
helper macros without importingFieldValue
by @ginger51011 in https://github.com/obi1kenobi/trustfall/pull/229 - Implement
statically_known_property()
onVertexInfo
. by @obi1kenobi in https://github.com/obi1kenobi/trustfall/pull/228 - Bump json5 from 2.2.1 to 2.2.3 in /experiments/browser_based_querying by @dependabot in https://github.com/obi1kenobi/trustfall/pull/232
- chore: Bump package-lock using npm upgrade by @paavanb in https://github.com/obi1kenobi/trustfall/pull/233
- feat: Bump monaco-graphql, update editor configs by @paavanb in https://github.com/obi1kenobi/trustfall/pull/231
- Implement resolving dynamically-known property values. by @obi1kenobi in https://github.com/obi1kenobi/trustfall/pull/230
- Remove no-longer-needed TODO note. by @obi1kenobi in https://github.com/obi1kenobi/trustfall/pull/234
- Re-export
EdgeInfo
intrustfall
. by @obi1kenobi in https://github.com/obi1kenobi/trustfall/pull/235 - Add remaining new hint-related re-exports. by @obi1kenobi in https://github.com/obi1kenobi/trustfall/pull/236
- Allow the helper functions to take functions with
'vertex
lifetime. by @obi1kenobi in https://github.com/obi1kenobi/trustfall/pull/237 - Release Trustfall v0.4.0-beta.0 to test the new APIs. by @obi1kenobi in https://github.com/obi1kenobi/trustfall/pull/238
- Add a README in the
trustfall/examples
and to theweather
demo. by @obi1kenobi in https://github.com/obi1kenobi/trustfall/pull/239 - Fix new README links. by @obi1kenobi in https://github.com/obi1kenobi/trustfall/pull/240
- Make examples less sensitive to the exact path from which they're run. by @obi1kenobi in https://github.com/obi1kenobi/trustfall/pull/241
- Add more READMEs for example projects. by @obi1kenobi in https://github.com/obi1kenobi/trustfall/pull/242
- Remove accidental character. by @obi1kenobi in https://github.com/obi1kenobi/trustfall/pull/243
- Add another test case to the suite. by @obi1kenobi in https://github.com/obi1kenobi/trustfall/pull/244
- Add fuzz project lint to CI. by @obi1kenobi in https://github.com/obi1kenobi/trustfall/pull/245
- Fix the fuzz targets. by @obi1kenobi in https://github.com/obi1kenobi/trustfall/pull/246
- Add fuzz target for adapter batching behavior tests. by @obi1kenobi in https://github.com/obi1kenobi/trustfall/pull/247
- Make the
Adapter
trait methods take&self
instead of&mut self
. by @obi1kenobi in https://github.com/obi1kenobi/trustfall/pull/249 - Publish v0.4.0-beta.1 with the new
&self
-basedAdapter
API. by @obi1kenobi in https://github.com/obi1kenobi/trustfall/pull/250 - Update dependencies to latest versions. by @obi1kenobi in https://github.com/obi1kenobi/trustfall/pull/251
- Add test cases for the semantics of combining
@optional
+@filter
. by @obi1kenobi in https://github.com/obi1kenobi/trustfall/pull/252 - Add more test cases for edge cases around
@optional
semantics. by @obi1kenobi in https://github.com/obi1kenobi/trustfall/pull/253 - Navigating past an
@optional
edge should disable many hints. by @obi1kenobi in https://github.com/obi1kenobi/trustfall/pull/254 - Update dependency versions. by @obi1kenobi in https://github.com/obi1kenobi/trustfall/pull/256
- Using
@tag
from nonexistent@optional
inside@fold
works now. by @obi1kenobi in https://github.com/obi1kenobi/trustfall/pull/257 - Fix
@tag
on@fold
-related field inside nonexistent@optional
. by @obi1kenobi in https://github.com/obi1kenobi/trustfall/pull/258 - Split off query execution outputs into their own files. by @obi1kenobi in https://github.com/obi1kenobi/trustfall/pull/259
- Check query outputs metadata in the test suite. by @obi1kenobi in https://github.com/obi1kenobi/trustfall/pull/260
- Fix type inference for optional and fold-related outputs. by @obi1kenobi in https://github.com/obi1kenobi/trustfall/pull/261
- Add more fold-related edge cases to the test suite. by @obi1kenobi in https://github.com/obi1kenobi/trustfall/pull/255
- Add
cloned()
methods onRange
andCandidateValue
. by @obi1kenobi in https://github.com/obi1kenobi/trustfall/pull/262 - Rename
FieldValue::as_vec()
toas_vec_with()
. by @obi1kenobi in https://github.com/obi1kenobi/trustfall/pull/263 - Improved documentation for the new optimizations API. by @obi1kenobi in https://github.com/obi1kenobi/trustfall/pull/264
- Release v0.4.0-beta.2 of Trustfall. by @obi1kenobi in https://github.com/obi1kenobi/trustfall/pull/265
- Improve adapter-related docs. by @obi1kenobi in https://github.com/obi1kenobi/trustfall/pull/266
- Improve naming, docs, and ergonomics of
VertexInfo
trait. by @obi1kenobi in https://github.com/obi1kenobi/trustfall/pull/267 - Build
trustfall
docs on docs.rs with the--cfg docsrs
flag. by @obi1kenobi in https://github.com/obi1kenobi/trustfall/pull/269 - Add top-level doc comment in Trustfall crate and improve main README. by @obi1kenobi in https://github.com/obi1kenobi/trustfall/pull/270
- Publish v0.4.0-beta.3 with renamed optimization methods. by @obi1kenobi in https://github.com/obi1kenobi/trustfall/pull/271
- Release v0.4.0 with the new optimization hints API. by @obi1kenobi in https://github.com/obi1kenobi/trustfall/pull/272
New Contributors
- @dependabot made their first contribution in https://github.com/obi1kenobi/trustfall/pull/232
Full Changelog: https://github.com/obi1kenobi/trustfall/compare/trustfall-v0.3.4...trustfall-v0.4.0