diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 000000000..4fcec008b --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,806 @@ +# 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.13.0](https://github.com/TimelyDataflow/differential-dataflow/compare/differential-dataflow-v0.12.0...differential-dataflow-v0.13.0) - 2024-10-29 + +### Changed + +- changed some comments, suggested future direction of hashed() +- changed timely depedence to allow rc in channels + +### Fixed + +- fix master +- fix liveness, doctest +- fix more tests +- fix examples +- fix lattice for Duration +- fix assert with () time +- fix trace test +- fix FIXMEs +- fixed example +- fixed example for small edge count; cleaned up warnings +- fixes for 1.6 migration +- fixed perf bug in RHHMap +- fixing bfs + +### Other + +- Fix interactive ([#533](https://github.com/TimelyDataflow/differential-dataflow/pull/533)) +- Add support for release-plz ([#531](https://github.com/TimelyDataflow/differential-dataflow/pull/531)) +- Avoid recommending crates.io versions ([#529](https://github.com/TimelyDataflow/differential-dataflow/pull/529)) +- Fix typos ([#521](https://github.com/TimelyDataflow/differential-dataflow/pull/521)) +- Update `itertools` from 0.7 to 0.13 ([#522](https://github.com/TimelyDataflow/differential-dataflow/pull/522)) +- Update to latest Timely ([#519](https://github.com/TimelyDataflow/differential-dataflow/pull/519)) +- Bump flatcontainer to 0.5 ([#516](https://github.com/TimelyDataflow/differential-dataflow/pull/516)) +- Define flat container types in terms of regions ([#514](https://github.com/TimelyDataflow/differential-dataflow/pull/514)) +- Relax constraints on `Collection` generic types ([#507](https://github.com/TimelyDataflow/differential-dataflow/pull/507)) +- Merge batcher input generic over containers ([#494](https://github.com/TimelyDataflow/differential-dataflow/pull/494)) +- Adjust for timely TimelyDataflow/timely-dataflow[#569](https://github.com/TimelyDataflow/differential-dataflow/pull/569) ([#511](https://github.com/TimelyDataflow/differential-dataflow/pull/511)) +- Fix panic in to_vec ([#512](https://github.com/TimelyDataflow/differential-dataflow/pull/512)) +- Insert time by ref ([#510](https://github.com/TimelyDataflow/differential-dataflow/pull/510)) +- Remove Arrange::arrange_core ([#509](https://github.com/TimelyDataflow/differential-dataflow/pull/509)) +- Remove `BatchContainer::{copy, copy_range}`. ([#508](https://github.com/TimelyDataflow/differential-dataflow/pull/508)) +- Generalize Collection to containers ([#506](https://github.com/TimelyDataflow/differential-dataflow/pull/506)) +- Batch container for flat stack ([#505](https://github.com/TimelyDataflow/differential-dataflow/pull/505)) +- Make Abelian::negate act on borrowed data ([#504](https://github.com/TimelyDataflow/differential-dataflow/pull/504)) +- Introduce Time/Diff GATs ([#502](https://github.com/TimelyDataflow/differential-dataflow/pull/502)) +- Introduce IsZero trait for is_zero() ([#503](https://github.com/TimelyDataflow/differential-dataflow/pull/503)) +- Replace covariant PartialOrd with reborrow() ([#500](https://github.com/TimelyDataflow/differential-dataflow/pull/500)) +- Remove 'static requirement from difference traits ([#501](https://github.com/TimelyDataflow/differential-dataflow/pull/501)) +- Minimize `OwnedItem` bounds ([#499](https://github.com/TimelyDataflow/differential-dataflow/pull/499)) +- Remove `KeyOwned` ([#498](https://github.com/TimelyDataflow/differential-dataflow/pull/498)) +- Update timely dependency ([#496](https://github.com/TimelyDataflow/differential-dataflow/pull/496)) +- Introduce and integrate `IntoOwned` trait ([#495](https://github.com/TimelyDataflow/differential-dataflow/pull/495)) +- Pass data from batcher to builder by chunk ([#491](https://github.com/TimelyDataflow/differential-dataflow/pull/491)) +- Cleanup, fix rhh example ([#492](https://github.com/TimelyDataflow/differential-dataflow/pull/492)) +- Semigroup generic over Rhs ([#493](https://github.com/TimelyDataflow/differential-dataflow/pull/493)) +- Use usize and u64 better ([#486](https://github.com/TimelyDataflow/differential-dataflow/pull/486)) +- Use consolidating builder in consolidate_stream ([#488](https://github.com/TimelyDataflow/differential-dataflow/pull/488)) +- Remove uses of time::Instant from core DD ([#485](https://github.com/TimelyDataflow/differential-dataflow/pull/485)) +- Correct defects in getting started ([#484](https://github.com/TimelyDataflow/differential-dataflow/pull/484)) +- Drop chain while feeding data to builder ([#482](https://github.com/TimelyDataflow/differential-dataflow/pull/482)) +- Re-introduce safe implementation ([#481](https://github.com/TimelyDataflow/differential-dataflow/pull/481)) +- `join_traces` uses timely's container builder ([#478](https://github.com/TimelyDataflow/differential-dataflow/pull/478)) +- Merge batcher generic over containers ([#474](https://github.com/TimelyDataflow/differential-dataflow/pull/474)) +- Remove `ValOwned` ([#476](https://github.com/TimelyDataflow/differential-dataflow/pull/476)) +- Allow joins to produce arbitrary containers ([#477](https://github.com/TimelyDataflow/differential-dataflow/pull/477)) +- Make arrange_core public ([#475](https://github.com/TimelyDataflow/differential-dataflow/pull/475)) +- Further clean-up ([#473](https://github.com/TimelyDataflow/differential-dataflow/pull/473)) +- `Arrange` cleanup ([#472](https://github.com/TimelyDataflow/differential-dataflow/pull/472)) +- Extract batcher input to assoc type, arrange_core freestanding ([#471](https://github.com/TimelyDataflow/differential-dataflow/pull/471)) +- Track TD Capture changes ([#470](https://github.com/TimelyDataflow/differential-dataflow/pull/470)) +- Prevent enter_at from using enter_at ([#469](https://github.com/TimelyDataflow/differential-dataflow/pull/469)) +- Name Handle's container type ([#468](https://github.com/TimelyDataflow/differential-dataflow/pull/468)) +- Update to track TD changes ([#467](https://github.com/TimelyDataflow/differential-dataflow/pull/467)) +- Support container GATs ([#466](https://github.com/TimelyDataflow/differential-dataflow/pull/466)) +- Fix testing mdbook ([#465](https://github.com/TimelyDataflow/differential-dataflow/pull/465)) +- Change parameters to exert_logic from iterator to slice ([#461](https://github.com/TimelyDataflow/differential-dataflow/pull/461)) +- Remove dependency on rdkafka ([#462](https://github.com/TimelyDataflow/differential-dataflow/pull/462)) +- impl Deref for PointStamp ([#459](https://github.com/TimelyDataflow/differential-dataflow/pull/459)) +- Canonicalize `PointStamp` representation ([#458](https://github.com/TimelyDataflow/differential-dataflow/pull/458)) +- Offset list counts zero offsets ([#454](https://github.com/TimelyDataflow/differential-dataflow/pull/454)) +- Introduce container for default values ([#452](https://github.com/TimelyDataflow/differential-dataflow/pull/452)) +- Remove unused `BatchContainer` methods ([#451](https://github.com/TimelyDataflow/differential-dataflow/pull/451)) +- Let Layout specify OffsetContainer ([#449](https://github.com/TimelyDataflow/differential-dataflow/pull/449)) +- Introduce trait constraints; simplify elsewhere ([#445](https://github.com/TimelyDataflow/differential-dataflow/pull/445)) +- Remove unused code ([#448](https://github.com/TimelyDataflow/differential-dataflow/pull/448)) +- Fix off-by-one capacity error when sizing target containers ([#450](https://github.com/TimelyDataflow/differential-dataflow/pull/450)) +- Further clean-up ([#447](https://github.com/TimelyDataflow/differential-dataflow/pull/447)) +- Log size/capacity/allocations from the merge batchers ([#434](https://github.com/TimelyDataflow/differential-dataflow/pull/434)) +- Take clippy's advice on some things ([#444](https://github.com/TimelyDataflow/differential-dataflow/pull/444)) +- Bring differential to Rust 2021 ([#443](https://github.com/TimelyDataflow/differential-dataflow/pull/443)) +- Reorganize arrangement methods ([#442](https://github.com/TimelyDataflow/differential-dataflow/pull/442)) +- Delete dead code +- Huffman container example ([#441](https://github.com/TimelyDataflow/differential-dataflow/pull/441)) +- Arrangement GATs ([#438](https://github.com/TimelyDataflow/differential-dataflow/pull/438)) +- Make contents of OffsetList pub ([#440](https://github.com/TimelyDataflow/differential-dataflow/pull/440)) +- First cut at neu key-only spine ([#439](https://github.com/TimelyDataflow/differential-dataflow/pull/439)) +- Replace OrdOffset with OffsetList ([#437](https://github.com/TimelyDataflow/differential-dataflow/pull/437)) +- Cursor repivoting ([#435](https://github.com/TimelyDataflow/differential-dataflow/pull/435)) +- Check whole workspace in ci ([#432](https://github.com/TimelyDataflow/differential-dataflow/pull/432)) +- Remove batcher dependence on updates ([#431](https://github.com/TimelyDataflow/differential-dataflow/pull/431)) +- Revisiting ownership of key and value types ([#429](https://github.com/TimelyDataflow/differential-dataflow/pull/429)) +- Avoid reallocations in first `keep`, bound stash size ([#430](https://github.com/TimelyDataflow/differential-dataflow/pull/430)) +- :with_capacity` enrichment ([#428](https://github.com/TimelyDataflow/differential-dataflow/pull/428)) +- Further trait reorganization ([#427](https://github.com/TimelyDataflow/differential-dataflow/pull/427)) +- Only retain two allocations ([#425](https://github.com/TimelyDataflow/differential-dataflow/pull/425)) +- Trait reorganization ([#424](https://github.com/TimelyDataflow/differential-dataflow/pull/424)) +- Configurable batcher implementation in ord_neu ([#422](https://github.com/TimelyDataflow/differential-dataflow/pull/422)) +- Encode singleton repetition update cleverly ([#421](https://github.com/TimelyDataflow/differential-dataflow/pull/421)) +- Quality of life updates: non-optional compaction, and `Builder::copy`. +- Implement `OrdValBatch` without `retain_from` ([#419](https://github.com/TimelyDataflow/differential-dataflow/pull/419)) +- Another attempt at introducing a columnated merge batcher ([#418](https://github.com/TimelyDataflow/differential-dataflow/pull/418)) +- remove deref bound from containers ([#417](https://github.com/TimelyDataflow/differential-dataflow/pull/417)) +- Organize generic arguments as layouts ([#415](https://github.com/TimelyDataflow/differential-dataflow/pull/415)) +- Allow custom exertion logic ([#411](https://github.com/TimelyDataflow/differential-dataflow/pull/411)) +- Remove push_unchecked ([#413](https://github.com/TimelyDataflow/differential-dataflow/pull/413)) +- remove superfluous cloning of keys ([#408](https://github.com/TimelyDataflow/differential-dataflow/pull/408)) +- Implement Columnation for PointStamp ([#410](https://github.com/TimelyDataflow/differential-dataflow/pull/410)) +- Provide TraceAgent::trace_box_unstable to expose the inner trace ([#404](https://github.com/TimelyDataflow/differential-dataflow/pull/404)) +- Add support for CI ([#373](https://github.com/TimelyDataflow/differential-dataflow/pull/373)) +- fix a Miri error ([#394](https://github.com/TimelyDataflow/differential-dataflow/pull/394)) +- fix a Miri warning ([#396](https://github.com/TimelyDataflow/differential-dataflow/pull/396)) +- Inline functions frequently called from Materialize ([#382](https://github.com/TimelyDataflow/differential-dataflow/pull/382)) +- Fix `find_cycles` in the progress example ([#388](https://github.com/TimelyDataflow/differential-dataflow/pull/388)) +- Expose TraceAgent::operator ([#387](https://github.com/TimelyDataflow/differential-dataflow/pull/387)) +- Update documentation for group → reduce +- use Rust iterators and VecDeque in place of VecQueue ([#380](https://github.com/TimelyDataflow/differential-dataflow/pull/380)) +- Generalize bounds on dynamic timestamp actions ([#379](https://github.com/TimelyDataflow/differential-dataflow/pull/379)) +- Pointstamps and dynamic scopes ([#378](https://github.com/TimelyDataflow/differential-dataflow/pull/378)) +- Move consolidate methods to inherent implementations ([#376](https://github.com/TimelyDataflow/differential-dataflow/pull/376)) +- Loosen trait bounds on Arrange for Collection ([#375](https://github.com/TimelyDataflow/differential-dataflow/pull/375)) +- Simplify `trace` construction in the `cursors` example. ([#374](https://github.com/TimelyDataflow/differential-dataflow/pull/374)) +- Generalize arrangements to Containers ([#281](https://github.com/TimelyDataflow/differential-dataflow/pull/281)) +- Generalize TraceFrontier with upper ([#370](https://github.com/TimelyDataflow/differential-dataflow/pull/370)) +- add Semigroup/Monoid impls for unsigned ints ([#368](https://github.com/TimelyDataflow/differential-dataflow/pull/368)) +- Further tidying up of submitted PRs ([#367](https://github.com/TimelyDataflow/differential-dataflow/pull/367)) +- dont rely on un-merged timely changes ([#365](https://github.com/TimelyDataflow/differential-dataflow/pull/365)) +- make capture::source's token thread-safe ([#364](https://github.com/TimelyDataflow/differential-dataflow/pull/364)) +- Lattice implementation for tuples ([#359](https://github.com/TimelyDataflow/differential-dataflow/pull/359)) +- add generic `count_core` method ([#356](https://github.com/TimelyDataflow/differential-dataflow/pull/356)) +- add generic `count_total_core` method ([#355](https://github.com/TimelyDataflow/differential-dataflow/pull/355)) +- fix UB from mutable pointer aliasing ([#353](https://github.com/TimelyDataflow/differential-dataflow/pull/353)) +- Add dogs^3 to workspace and silence warnings ([#349](https://github.com/TimelyDataflow/differential-dataflow/pull/349)) +- derive Serialize+Deserialize for Description ([#345](https://github.com/TimelyDataflow/differential-dataflow/pull/345)) +- Memory alloc improvements ([#341](https://github.com/TimelyDataflow/differential-dataflow/pull/341)) +- Relax set_*_compaction methods ([#340](https://github.com/TimelyDataflow/differential-dataflow/pull/340)) +- let set_{logical,physical}_compaction take arguments equal to or beyond current frontier. ([#339](https://github.com/TimelyDataflow/differential-dataflow/pull/339)) +- Base buffer size off 8KiB ([#336](https://github.com/TimelyDataflow/differential-dataflow/pull/336)) +- join, half_join: add lower-level interfaces ([#327](https://github.com/TimelyDataflow/differential-dataflow/pull/327)) +- add PartialEq/Eq impls for Description ([#335](https://github.com/TimelyDataflow/differential-dataflow/pull/335)) +- Fix compiler warning on Rust 1.53 ([#329](https://github.com/TimelyDataflow/differential-dataflow/pull/329)) +- use PartialOrder implementation where appropriate ([#328](https://github.com/TimelyDataflow/differential-dataflow/pull/328)) +- Removed debug print from sequential ([#325](https://github.com/TimelyDataflow/differential-dataflow/pull/325)) +- Merge branch 'master' of github.com:TimelyDataflow/differential-dataflow +- correct formatting +- add std::num::Wrapping to difference.rs ([#322](https://github.com/TimelyDataflow/differential-dataflow/pull/322)) +- use array::IntoIter ([#321](https://github.com/TimelyDataflow/differential-dataflow/pull/321)) +- Use bespoke traits in place of std::ops traits ([#319](https://github.com/TimelyDataflow/differential-dataflow/pull/319)) +- prepare 0.12 ([#316](https://github.com/TimelyDataflow/differential-dataflow/pull/316)) +- remove unused implementations ([#314](https://github.com/TimelyDataflow/differential-dataflow/pull/314)) +- Remove use of `timely_sort` crate ([#313](https://github.com/TimelyDataflow/differential-dataflow/pull/313)) +- rebase on master ([#312](https://github.com/TimelyDataflow/differential-dataflow/pull/312)) +- avoid multiple borrows in join ([#311](https://github.com/TimelyDataflow/differential-dataflow/pull/311)) +- Address rename errors ([#310](https://github.com/TimelyDataflow/differential-dataflow/pull/310)) +- reformat all tabs to spaces ([#309](https://github.com/TimelyDataflow/differential-dataflow/pull/309)) +- improve comments +- Robust join implementation ([#307](https://github.com/TimelyDataflow/differential-dataflow/pull/307)) +- Clarify `Trace` capability nomenclature ([#308](https://github.com/TimelyDataflow/differential-dataflow/pull/308)) +- correct upper frontier placement ([#306](https://github.com/TimelyDataflow/differential-dataflow/pull/306)) +- Disable timely's default features ([#297](https://github.com/TimelyDataflow/differential-dataflow/pull/297)) +- multitemporal example +- tidy README.md +- use more ergonomic config +- Track timely Config changes ([#295](https://github.com/TimelyDataflow/differential-dataflow/pull/295)) +- clean up iterate.rs ([#290](https://github.com/TimelyDataflow/differential-dataflow/pull/290)) +- Function for concatenating rather than replacing ([#288](https://github.com/TimelyDataflow/differential-dataflow/pull/288)) +- Add enter_region and leave_region ([#289](https://github.com/TimelyDataflow/differential-dataflow/pull/289)) +- expose flat_map_batches method ([#285](https://github.com/TimelyDataflow/differential-dataflow/pull/285)) +- Propagate better names for arrangements ([#284](https://github.com/TimelyDataflow/differential-dataflow/pull/284)) +- activate source on capability drop ([#283](https://github.com/TimelyDataflow/differential-dataflow/pull/283)) +- word fix ([#282](https://github.com/TimelyDataflow/differential-dataflow/pull/282)) +- Shrink upsert allocation ([#280](https://github.com/TimelyDataflow/differential-dataflow/pull/280)) +- add monoid impls +- Capture and replay implementations ([#279](https://github.com/TimelyDataflow/differential-dataflow/pull/279)) +- permit cursor requests through empty initial frontiers +- minimize AntichainRef::new +- update upsert +- update to reflect timely changes +- update types to Antichain +- add Lattice impl for Antichain +- Update README.md ([#268](https://github.com/TimelyDataflow/differential-dataflow/pull/268)) +- build batch in correct order +- Update mdbook to Timely 0.11.1 and Differential 0.11.0 ([#267](https://github.com/TimelyDataflow/differential-dataflow/pull/267)) +- Upsert support ([#263](https://github.com/TimelyDataflow/differential-dataflow/pull/263)) +- Fixing some typos in mdbook and readme files ([#266](https://github.com/TimelyDataflow/differential-dataflow/pull/266)) +- Update documentation and simplify implementation ([#265](https://github.com/TimelyDataflow/differential-dataflow/pull/265)) +- Properly consolidate slices with one element +- remove eprintlns +- Import shouldn't produce empty batches, join shouldn't panic on empty batches. +- better diagnostics +- re-shuffle logic +- better error messages +- remove noisy warning +- add lattice implementations +- use Timestamp::minimum() +- update documentation link +- Update chapter_4.md +- Fix typo +- point at timely master +- release 0.11 +- optimized empty batch insertion +- treat empty batches as reduced +- correct calculation of records +- tidying up +- tidy more assertively +- merge master +- re-enable logging +- further rigor +- rationalize effort +- checkin +- comment update +- accept effort parameter +- merge master +- Make offset generic in ordered batch implementation +- Make `propagate`, `scc` generic over difference type +- update compact.rs +- stop the whining +- undo secret branch defects +- add ord32 layers and trace +- progress tracking example +- always log drops +- Log state drops +- added import_frontier +- initial check-in +- deprecate some names +- rename to semigroup +- tidy +- guard freelist against ZSTs +- extract and improve advance +- add LTO +- error in mem::swap +- performance +- passes tests +- sosp submit and reviews +- point at gh again +- extend monoid types +- v0.10 checkin +- remove stray mut +- restrict reached to goals +- add derefs for diff_vector +- correct description +- enter and leave for regions +- arrange frontier bug +- export better +- re-tidy +- documentation +- :frontier not generally correct +- weird +- avoid work for empty batches +- add read_upper +- refactor arrange +- local path change +- Merge pull request [#170](https://github.com/TimelyDataflow/differential-dataflow/pull/170) from TimelyDataflow/collection_concatenate +- add Collection::concatenate +- Add collection::concatenate +- Loosen Hashable constraint +- Add arrange_core +- group to reduce +- un-mod hash +- Merge branch 'master' into associated_types +- zero iters means unbounded +- hide all the lies +- change query order +- improve concat and consolidate +- change the right files +- better setup explanation +- use drain +- tidy up +- cleaner version, arguably +- first attempt +- merge +- update doctests +- update examples +- rename Group to Reduce +- tidy up errors +- remove Add, Sub +- DiffVector added +- Copy requirement removed +- mdbook updates +- Make graph_map a dev-dependency +- update links based on ownership +- update Cargo.toml +- projekt example +- generalize pagerank, repair cargo.toml +- improve antijoin documentation +- formatting +- formatting +- sigmod reviews. as expected +- version bump to 0.8 +- use Result +- version bump +- examples tidy, graph algorithms +- filter wrapper +- enter_at +- use identifiers +- identifiers +- update claimed version +- tracking timely master +- raw input method +- doop update +- oops +- consolidate_stream +- generalize trace enter +- update Cargo.tomls +- tracking changes +- track timely changes +- remove BatchWrapper +- doctests passing +- tests updated +- tracking timely master +- tidy dead files +- flat_map_ref improved +- documentation +- simplified logic +- tidy reviews +- reduce allocations +- update dependencies +- more interactive +- version bump +- point at master +- made functional +- tracking timely logging +- network monitoring +- robust lookup +- sort unstable +- release distinguish in lookup +- clean up +- clean up +- tidy operators, add impls +- added arrange_named +- correct examples/tests +- clean up examples +- set socket nonblocking, use correct identifier +- logging example +- add BeginMerge +- logging checkin +- input ergonomics +- update README +- mdbook yaml stuff +- mdbook update +- tracking master +- Merge branch 'master' into dataplane +- comments +- updated examples +- formatting +- mdbook beginnings +- undo regression +- correct timely dependencies +- expanded +- reviews +- unknown +- Fix links +- Fix doc url +- Use env::args() consistently +- add osdi submission +- cargo update +- remove deprecations +- update dataflog example, fixes [#107](https://github.com/TimelyDataflow/differential-dataflow/pull/107) +- add indexmap +- graspan example +- added delay +- generalized iterate variables +- added flat_map_ref +- logging processor +- arrange_query fix, whitespace +- general variable +- experiments update, whitespace +- fueled spine default +- tabs -> spaces +- new cursor_list +- Minor changes to group. Replaced `segmented` with Iter::partition(), added comments. +- Fix typos. +- fueled update +- niko example +- scc tests +- updated +- remove non-progressive merge +- update to timely master +- add back graph-map +- prep for 0.5 +- warnings removed +- add except messages +- correct bug for zero weights +- remove debug requirement +- updated for measurements +- graph example update +- more featurez +- graphs example +- use sort_unstable +- remove radix batcher for now +- set default batch size +- renamed accumulation tests +- change degrees reporting +- spine_fueled update +- unwrap_or allocated, now unwrap_or_else +- unwrap_or allocated, now unwrap_or_else +- memory leak in merge_batcher +- oops +- remove logging option, update README +- add worker identifier +- correct some measurements +- README, server stuff +- prefix sum added +- tidy sequential example +- arrange uses abom batch +- derive abomonation for batches +- updated for abomonation +- prototype abomonation batch wrapper +- pick up abom 0.5 +- merge and advance together +- remove Clone requirement for BatchReader +- actually advance if not uniquely owned +- clone impls for raw batches panic +- Merge branch 'master' into batch_cursors +- put blanket impls in a module +- rc_batch blanket impl +- merger takes references +- batch cursor revamp +- in progress bfs work +- freeze example +- remove debug requirement +- freeze example +- added freeze method +- freeze wrapper +- added interpreted.rs +- correct, improve batching +- add get_key and get_val methods +- add triangle computation example +- preliminary incremental merging +- generalize distinct to threshold +- git confuses me +- tidy up +- failed to test +- add join, group impls for Arranged +- remove Default requirement +- degrees example warms for as long as it measures, takes exactly 10s worth of measurements +- Merge branch 'master' into merge_batcher +- normalize (sort) data before assert_eq +- readd dependencies post Cargo publish +- version bump +- rewrite logic using Antichain +- version bump communication +- sync versions for communication +- TotalOrder moved to timely +- remove distasteful comments +- downgrade HashOrdered constraint to Hashable +- don't build when upper empty +- only time field in merge +- learning about Cargo.toml +- learning about Cargo.toml +- added dev paths +- consolidate_u added +- don't make merge_batcher default yet +- radix-free merge_batcher +- revert clone change +- deal with Clone absence +- tracking timely changes +- Introduce DistinctTotal and associated operator +- remove clone of key +- remove OwningRef uses +- input flushes batches in send +- correct examples and server +- change paths to ops +- reintroduce hash layers +- merge +- updated examples +- weakened deref from vec to slice +- arrange_mut implemented for ord +- addresses name class introduced by nightly +- turn clone into swap +- remove commented code +- whitespace cleanup +- Remove Rcs from trace layers +- hide Rc from Batch public interface +- update examples to flush outputs +- added more measurements +- bidirectional dijkstra example +- flush graph input after advancing to time=1 +- trace advance_by distinguish_since cursor_through test +- first attempt at trace test +- deduplicate CollectionHistory.reload +- moar doctests +- many doctests added +- many doctests added +- add input and new_collection +- updated readme, tidied warnings +- doctests, Empty trait +- doctest +- local replica of paper +- update ignored doctest +- add explode operator +- add TotalOrder, require for count_total +- group slices input before batch +- tidied comparison +- added HashOrdered req +- ordleaf added, specialized count +- point timely dependency at github master +- todo items, updated tpch queries +- join_core introduced, into_iter based +- re-use allocations in Deferred +- TraceAgent needed Drop to allow compaction +- tidying group.rs +- update timely depedency +- clarify current import behavior +- trace agent clones should not intefere +- Merge branch 'trace_wrappers' of https://github.com/frankmcsherry/differential-dataflow into trace_wrappers +- update version numbers +- redesigned for better ownership +- drop for TraceAgent +- said lots about descriptions +- said lots about descriptions +- ownership issues +- correct frontier information +- correctness improvements +- cleaned up tests +- cleaned up examples +- batch and trace seek'd symmetrically +- updating examples +- minimize arrange example to demonstrate trace import and wrapping +- moved import method to TraceRc from TraceArrange +- consistent build with new trace wrappers +- require HashOrdered keys for Arrange +- updates tracking timely changes +- cleaned up dependencies +- accidentally left a gt in there +- Merge branch 'shared_arrangements' of https://github.com/frankmcsherry/differential-dataflow into shared_arrangements +- tracking timely changes with PartialOrder +- merge from master +- tracking timely probe change +- updated to use IntoIterator +- updated to track timely changes +- stopped using hash layers, correct join parameters +- tweaking difference +- actually save edits this time +- updated example, join documentation +- rename Ring to Diff, move Mul bound to join +- internally consistent drop +- added i32 and i64 +- stable operator implementations +- added merging batcher +- updated example2 and roadmap +- advance_by documented, always returns a lattice element +- corrected comments +- tidied up comments, methods +- added with_capacity to builders +- tidied tpch17.rs example +- updated README +- updated README +- updated README +- some sort of merge happened +- merge +- current in-progress group impl +- force inlining of per-tuple record pushing +- force inlining of per-tuple addition +- group reimplementation, ready for awesomeness +- reorganized group logic +- send even empty batches +- consolidate times in exfil, use reference interesting times comp on small input +- force inlining of very simple methods +- implementation should be more linear +- always push merged layers, even if empty +- added scaling tests which should time out on non-linear implementations +- profile example demonstrates linear behavior of group and join +- Merge branch 'master' into join-rewrite +- join rewritten to be more correct +- tidy up files, add todo comments +- arrange_by_key exposes multiple ways to arrange by key +- optimize seal to allocate less +- added since bounds in merge +- added description sanity checks +- rhh_k uses radix sort less often +- added documentation, comments +- added bfs integration test; compares with sequential impl +- group substantially reworked to be less quadratic +- efficient, perhaps incorrect, implementations +- insist on inlining simple operations +- degrees.rs example behaves poorly +- consolidate in place, ring.rs example +- generalized collections from isize to rings +- tidied unused variable +- awesome hires code check-in +- corrected arrange.rs +- prototype highres +- updated version +- switch ack from downward capture to a frontier +- typo +- renamed stream.rs to collection.rs +- removing println +- tidying operators +- remove Ext from two traits, updated iterate example and docs +- renamed, reorged, updated examples and tests +- ordered builder added +- hash based traces, more tests +- added todo list +- started implementation of trace for constant collection +- remove Ord constraint where redundant +- added integration tests +- added ascollection +- updated doc example +- examples update +- updated examples to compile, may not be correct yet +- first cut at arranged join +- more prototyping +- comments updated +- arrangement ready to test +- wrapped cursor to allow measured amounts of output +- tweaked mutability, added comment +- many things, apparently +- added join_alt, arrange_alt, and started keys only trace +- added cursor_pair, tweaked other things +- comments, deleting comments +- reorganization of modules +- reorganized trace module +- moved traits to mod.rs +- trace trait in effect +- preliminary trait definitions +- sorting a few places we forgot to; comments +- added join_alt, improved trace +- about to upgrade os +- switched to trie store +- initial newtrace checkin +- corrected typo, moved method +- combineds capabilities with input frontier, correctly +- corrected PACT to be exchange not pipeline +- added compacting group_alt implementation +- trace rework to avoid so many traits +- moved SearchStatus around +- commenting out FNV hash map for now +- updated unused variable name +- hints of the trace module +- tweaked roots to test more +- added advance_by method to Lattice +- typo +- changes LeastUpperBound to Lattice +- updated for measurement taking +- updated roadmap +- tidies example code +- added weaver example +- added antijoin operator +- updated for usability +- simplified example +- more examples +- regular checkin +- moved unsigned implementations into main trait +- example typo +- graphmap +- join did a test it shouldn't have +- bunches of edits; sorry +- updated timely; ported all to notify.for_each +- updated timely, moved some ops to for_each for logging +- error in interesting time recording +- updated dependence on timely to 0.0.14 +- added experimental shared state version; not better yet +- point at crates.io version of timely +- tidying +- Switch from using exposed `Vec>`s as maps to contain-rs' `VecMap` +- Switch from using exposed `Vec<(K, V)>`s as maps to contain-rs' `LinearMap` +- added Variable; rewrote iterate using it +- corrected README +- scc tidying +- scc tidying +- group implemented using arrange +- merged +- switch to capability-based operator api +- depend on timely master +- copyright notice +- update README with roadmap +- added dataflow example +- added dataflow example +- implemented group for Collection +- 0.0.2 commit +- added negate() to Collection +- added Clone for Collection +- updated README.md to track BFS example +- updated README.md to track BFS example +- updated README.md to track BFS example +- updated README.md to track BFS example +- updated README.md to track BFS example +- remove reliance on timely::DrainExt +- minor glitch +- Update to a timely with the argument order to enter switched +- Remove the _into suffix from Collection::enter_into +- Make Collection its own abstract type +- Replace all explicit mentions of Stream with Collection +- made operators unsigned +- batch size of zero means no batches +- updated work in progress +- updated extend_by for Compact; join uses RHHMap +- consolidate glitch; commentout out RHHMap for now +- reduced index size for unsigned ints +- tidying +- dataflog update +- updated macros, simplified, extended to full example +- removing printing +- cogroupby fix; dataflog +- explicit use of JoinBy, etc +- tpch17 bug fix +- many constraints cleaned up +- added reachability example +- added new hashmap +- tidying +- random updates; sorry +- cogroup implementation; untested +- cogroup implementation; untested +- Merge branch 'master' of https://github.com/frankmcsherry/differential-dataflow +- pre-merge +- lots of broken stuff without a full check-in +- updated to reflect feedback name change; now with macros +- logging feature added +- logging feature added +- moving things around +- reorganization +- examples updated +- documentation, clean-up, used of Unsigned +- started simplified group and join operators +- started simplified group and join operators +- started simplified group and join operators +- updated examples +- documentation updates +- documentation updates +- documentation updates +- Merge branch 'collection-trace-rewrite' +- in-process stuff +- tests need work +- simpler, more memory hungry maintenance +- seems to work +- beginning new trace +- preparing for trace swap-over +- tweaked example for stability +- Accumulator working, passing tests anyhow +- hash_index test +- hash index added; not tested +- improved comments, use of dedup +- travis, etc +- dataflog stuffs +- dataflog stuffs +- dataflog stuffs +- more index work +- more index work +- working on OrdIndex +- oops +- updated dataflog +- dataflog example +- timely dataflow update +- timely dataflow update +- timely update +- merge tree implementation +- oops +- switched much logic from vecs and slices to iterators +- betweenness centrality example +- update readme +- readme update +- readme update +- updated readme, bfs example +- updated readme +- updated readme +- updated readme +- updated readme +- updated readme +- many edits +- updated README.md +- updated query fields +- updated input parsing +- added TPCH Q17-like query +- pointed at git timely-dataflow +- updated for stable 1.0 +- working around Rust nightly regression +- working around Rust nightly regression +- updated examples, added hybrid trace +- added compact collection trace; memory reduction in exchange for running time +- tweaked _u operators to not require partition function. uses map, which may result in more buffers etc due to not being in situ +- renamed benches to co-located like results +- change test to actually assert if error, rather than print and return +- introduced Offset wrapper, cc example +- don't use local timely dataflow +- renames; added bfs example +- use git timely dataflow, not my local build +- typo +- initial checkin +- Initial commit + +### Removed + +- removed warning-inducing extern statements +- removed B typed parameter +- removed Clone constraints, added advance_ to Batch trait +- removed unused reference +- removed orphaned dependencies +- removed columnar dependence diff --git a/Cargo.toml b/Cargo.toml index 3d4e39211..03e62168d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "differential-dataflow" -version = "0.12.0" +version = "0.13.0" authors = ["Frank McSherry "] description = "An incremental data-parallel dataflow platform" diff --git a/dogsdogsdogs/CHANGELOG.md b/dogsdogsdogs/CHANGELOG.md new file mode 100644 index 000000000..8b0b1dee6 --- /dev/null +++ b/dogsdogsdogs/CHANGELOG.md @@ -0,0 +1,89 @@ +# 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.1.0](https://github.com/TimelyDataflow/differential-dataflow/releases/tag/differential-dogs3-v0.1.0) - 2024-10-29 + +### Fixed + +- fix example + +### Other + +- Add support for release-plz ([#531](https://github.com/TimelyDataflow/differential-dataflow/pull/531)) +- Fix typos ([#521](https://github.com/TimelyDataflow/differential-dataflow/pull/521)) +- Update to latest Timely ([#519](https://github.com/TimelyDataflow/differential-dataflow/pull/519)) +- Make Abelian::negate act on borrowed data ([#504](https://github.com/TimelyDataflow/differential-dataflow/pull/504)) +- Introduce Time/Diff GATs ([#502](https://github.com/TimelyDataflow/differential-dataflow/pull/502)) +- Introduce IsZero trait for is_zero() ([#503](https://github.com/TimelyDataflow/differential-dataflow/pull/503)) +- Remove 'static requirement from difference traits ([#501](https://github.com/TimelyDataflow/differential-dataflow/pull/501)) +- Remove `KeyOwned` ([#498](https://github.com/TimelyDataflow/differential-dataflow/pull/498)) +- Introduce and integrate `IntoOwned` trait ([#495](https://github.com/TimelyDataflow/differential-dataflow/pull/495)) +- Remove `ValOwned` ([#476](https://github.com/TimelyDataflow/differential-dataflow/pull/476)) +- dogs^3 compaction improvement ([#457](https://github.com/TimelyDataflow/differential-dataflow/pull/457)) +- Introduce trait constraints; simplify elsewhere ([#445](https://github.com/TimelyDataflow/differential-dataflow/pull/445)) +- Bring differential to Rust 2021 ([#443](https://github.com/TimelyDataflow/differential-dataflow/pull/443)) +- Arrangement GATs ([#438](https://github.com/TimelyDataflow/differential-dataflow/pull/438)) +- Update halfjoin to new idioms ([#436](https://github.com/TimelyDataflow/differential-dataflow/pull/436)) +- Cursor repivoting ([#435](https://github.com/TimelyDataflow/differential-dataflow/pull/435)) +- Fix lookup_map compile error ([#433](https://github.com/TimelyDataflow/differential-dataflow/pull/433)) +- Implement `OrdValBatch` without `retain_from` ([#419](https://github.com/TimelyDataflow/differential-dataflow/pull/419)) +- Improve the precision of half_join ([#386](https://github.com/TimelyDataflow/differential-dataflow/pull/386)) +- Further tidying up of submitted PRs ([#367](https://github.com/TimelyDataflow/differential-dataflow/pull/367)) +- Add dogs^3 to workspace and silence warnings ([#349](https://github.com/TimelyDataflow/differential-dataflow/pull/349)) +- Allow halfjoin to yield tastefully ([#342](https://github.com/TimelyDataflow/differential-dataflow/pull/342)) +- join, half_join: add lower-level interfaces ([#327](https://github.com/TimelyDataflow/differential-dataflow/pull/327)) +- Implement half-join operator ([#320](https://github.com/TimelyDataflow/differential-dataflow/pull/320)) +- Use bespoke traits in place of std::ops traits ([#319](https://github.com/TimelyDataflow/differential-dataflow/pull/319)) +- prepare 0.12 ([#316](https://github.com/TimelyDataflow/differential-dataflow/pull/316)) +- Remove use of `timely_sort` crate ([#313](https://github.com/TimelyDataflow/differential-dataflow/pull/313)) +- Clarify `Trace` capability nomenclature ([#308](https://github.com/TimelyDataflow/differential-dataflow/pull/308)) +- Disable timely's default features in dogsdogsdogs, too ([#299](https://github.com/TimelyDataflow/differential-dataflow/pull/299)) +- actually test from dogs3 crate +- change Fn constraint to FnMut +- update projects correctly +- Merge pull request [#255](https://github.com/TimelyDataflow/differential-dataflow/pull/255) from benesch/patch-1 +- Move graph_map to a dev dependency in dogsdogsdogs +- more idiomatic code +- improve variable name +- add differentiation and integration +- Merge branch 'master' into dogs_distinguish_less +- Remove the `Default` requirement from keys. +- correct fundamental errors +- Require arrangement sharing to communicate frontier changes. +- Update abomonation_derive to 0.5 +- Update abomonation_derive to 0.4 +- corrections +- rename to semigroup +- frontier race, fixes [#183](https://github.com/TimelyDataflow/differential-dataflow/pull/183) +- better name +- factor lookup into file +- unify +- checkpoint +- remove Rc +- add Default constraint +- use published dependency +- rework example +- re-organization +- track dd master +- Multiply diffs before testing for zero +- Monoid multiplication in propose and validate +- Reuse arrangement +- Use distinct to count correctly +- Cleanup comments +- Remove maximum for altneu +- Move to AddAssign +- Count correctly +- Relax wco diff trait to Monoid +- update depedencies +- Derive Serialize and Deserialize for AltNeu +- tidy and rename +- readme +- readme +- wcoj example +- dogsdogsdogs update