Packages
rbt_weave
0.2.5
0.2.67
0.2.66
0.2.65
0.2.64
0.2.63
0.2.62
0.2.61
0.2.60
0.2.59
0.2.58
0.2.57
0.2.56
0.2.55
0.2.54
0.2.53
0.2.52
0.2.51
0.2.50
0.2.49
0.2.48
0.2.47
0.2.46
0.2.45
0.2.44
0.2.43
0.2.42
0.2.41
0.2.40
0.2.39
0.2.38
0.2.37
0.2.36
0.2.35
0.2.34
0.2.33
0.2.32
0.2.31
0.2.30
0.2.29
0.2.28
0.2.27
0.2.26
0.2.25
0.2.24
0.2.23
0.2.22
0.2.21
0.2.20
0.2.19
0.2.18
0.2.17
0.2.16
0.2.15
0.2.14
0.2.13
0.2.12
0.2.11
0.2.10
0.2.9
0.2.8
0.2.7
0.2.6
0.2.5
0.2.4
0.2.3
0.2.2
0.2.1
0.2.0
0.1.0
Graph conflict detection and image processing NIFs for OSINT knowledge graphs, powered by Rust.
Current section
Files
Jump to
Current section
Files
CHANGELOG.md
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
## [0.2.4] - 2026-04-17
### Fixed
- Remove weave-content from workspace members to fix hex package compilation
(cargo metadata failed because weave-content source files are not included in the hex package)
- Make weave-content a standalone crate with explicit config instead of workspace inheritance
## [0.2.3] - 2026-04-17
### Fixed
- Fix clippy pedantic errors: wildcard match for single variant, redundant closure, function too many lines
- Remove unused `entries()` method from `EntityRegistry`
- Extract `writeback_registry_entities` and `write_case_output` helpers from `build_single_case`
## [0.2.2] - 2026-04-17
### Added
- **weave-content** crate published to crates.io (`cargo install weave-content`)
- Content DSL parser, validator, and builder for case files
- Shared entity registry: standalone actor/institution files with cross-file name resolution
- NULID write-back: `build` generates IDs and writes them back to source files
- Auto-discover: finds `actors/`, `institutions/`, `cases/` directories from content root
- Commands: `validate`, `verify`, `build`
### Fixed
- NEXT relationship IDs no longer written back to timeline section during build
(timeline chains are `Event A -> Event B` syntax, not bullet-list relationships)
## [0.2.1] - 2026-04-16
### Added
- `thumbnail_key/1` and `process_thumbnail/1` NIF exports in the bridge crate
- `Weave.Image` Elixir module wrapping image processing NIFs
### Changed
- Removed external site references from READMEs
## [0.2.0] - 2026-04-16
### Added
- **weave-image** crate for thumbnail processing
- Download images from URLs with 5 MB size limit and 15s timeout
- Center-crop and resize to 256x256 lossless WebP thumbnails
- Deterministic storage keys via SHA-256 of source URL (`thumbnails/{hex[0..32]}.webp`)
- Output size capped at 50 KB
- `thumbnail_key/1`, `download/1`, `resize_to_webp/1`, `process_thumbnail/1`
- Unit tests for resize, key generation, size limits, error cases
- Per-crate README files for crates.io
## [0.1.0] - 2026-04-16
### Added
- **weave-graph** crate for conflict-of-interest pattern detection on knowledge graphs
- `Node` and `Edge` types for subgraph representation (NULID-based identifiers)
- `Subgraph` and `IndexedSubgraph` with O(1) adjacency list lookups
- Cycle detection -- enumerate directed simple cycles matching edge-type sequences
- Path detection -- constrained DFS matching edge types and node labels against templates
- Hub detection -- flag Actor-Institution pairs with concentrated influence edges
- Six built-in patterns: COI-001 through COI-006
- Configurable `DetectOpts` with max depth and pattern ID filtering
- Property-based tests via `proptest` for correctness guarantees
- Performance benchmarks: <50ms for 10K nodes / 50K edges
- **weave_nif** crate providing Rustler NIF bridge
- `health_check/0` -- verify NIF is loaded
- `detect_conflicts/2` -- JSON-in, JSON-out conflict detection on dirty CPU scheduler
- **rbt_weave** Elixir hex package
- `Weave.Native` -- low-level NIF bindings via Rustler
- `Weave.Graph` -- public API delegating to `Weave.Native`
- Publishable to both [crates.io](https://crates.io) (Rust) and [hex.pm](https://hex.pm) (Elixir)
[Unreleased]: https://github.com/redberrythread/weave/compare/v0.2.4...HEAD
[0.2.4]: https://github.com/redberrythread/weave/compare/v0.2.3...v0.2.4
[0.2.3]: https://github.com/redberrythread/weave/compare/v0.2.2...v0.2.3
[0.2.2]: https://github.com/redberrythread/weave/compare/v0.2.1...v0.2.2
[0.2.1]: https://github.com/redberrythread/weave/compare/v0.2.0...v0.2.1
[0.2.0]: https://github.com/redberrythread/weave/compare/v0.1.0...v0.2.0
[0.1.0]: https://github.com/redberrythread/weave/releases/tag/v0.1.0