{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":35096584,"defaultBranch":"master","name":"differential-dataflow","ownerLogin":"TimelyDataflow","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2015-05-05T12:00:16.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/11913839?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1715108875.0","currentOid":""},"activityList":{"items":[{"before":"359d22c26dd9e4558fde5f3948a35bbba9765317","after":"4a0f7bbb2f07a2cc37e9ea2406522f805565184c","ref":"refs/heads/master","pushedAt":"2024-06-11T15:46:00.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"frankmcsherry","name":"Frank McSherry","path":"/frankmcsherry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5741500?s=80&v=4"},"commit":{"message":"Fix panic in to_vec (#512)\n\n`rewind_vals` only works if there are any values.\r\n\r\nSigned-off-by: Moritz Hoffmann ","shortMessageHtmlLink":"Fix panic in to_vec (#512)"}},{"before":"56c62c835e2542dfa7e1a1b4c638ecb95a2d2ee5","after":"359d22c26dd9e4558fde5f3948a35bbba9765317","ref":"refs/heads/master","pushedAt":"2024-06-04T21:13:08.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"frankmcsherry","name":"Frank McSherry","path":"/frankmcsherry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5741500?s=80&v=4"},"commit":{"message":"Reduce: Insert time by ref (#510)\n\nSigned-off-by: Moritz Hoffmann ","shortMessageHtmlLink":"Reduce: Insert time by ref (#510)"}},{"before":"be698bc0f62f6577a811058ff4314fdd3affa400","after":"56c62c835e2542dfa7e1a1b4c638ecb95a2d2ee5","ref":"refs/heads/master","pushedAt":"2024-06-04T01:04:16.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"frankmcsherry","name":"Frank McSherry","path":"/frankmcsherry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5741500?s=80&v=4"},"commit":{"message":"Remove Arrange::arrange_core (#509)\n\nThe function is a thin wrapper around the freestanding `arrange_core`\r\nfunction, and doesn't add any additional value. It's not used within\r\ndifferential.\r\n\r\nSigned-off-by: Moritz Hoffmann ","shortMessageHtmlLink":"Remove Arrange::arrange_core (#509)"}},{"before":"f6076add906a812423d6c7a02999f882df935bb8","after":"be698bc0f62f6577a811058ff4314fdd3affa400","ref":"refs/heads/master","pushedAt":"2024-05-31T14:52:12.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"frankmcsherry","name":"Frank McSherry","path":"/frankmcsherry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5741500?s=80&v=4"},"commit":{"message":"Remove `BatchContainer::{copy, copy_range}`. (#508)\n\n* Add PushInto constraint\r\n\r\n* Remove BatchContainer::{copy, copy_range}","shortMessageHtmlLink":"Remove BatchContainer::{copy, copy_range}. (#508)"}},{"before":"c8f8917710371cf608f876d9a51e64249c114d83","after":"f6076add906a812423d6c7a02999f882df935bb8","ref":"refs/heads/master","pushedAt":"2024-05-30T18:17:05.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"frankmcsherry","name":"Frank McSherry","path":"/frankmcsherry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5741500?s=80&v=4"},"commit":{"message":"Generalize Collection to containers (#506)","shortMessageHtmlLink":"Generalize Collection to containers (#506)"}},{"before":"83796a9861111854e53d55a513dafdb545ddfa9f","after":"c8f8917710371cf608f876d9a51e64249c114d83","ref":"refs/heads/master","pushedAt":"2024-05-29T09:38:08.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"antiguru","name":"Moritz Hoffmann","path":"/antiguru","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/582946?s=80&v=4"},"commit":{"message":"Batch container for flat stack (#505)\n\nAdds a flat layout to store batches in flat container, and a blanket\nimplementation for flat stack to implement batch container. Switches\nDifferential's into owned trait with flat container's variant.\n\nSigned-off-by: Moritz Hoffmann ","shortMessageHtmlLink":"Batch container for flat stack (#505)"}},{"before":"08fce581e6538cb13b35a4aef3903db078833c3b","after":"83796a9861111854e53d55a513dafdb545ddfa9f","ref":"refs/heads/master","pushedAt":"2024-05-28T21:36:44.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"frankmcsherry","name":"Frank McSherry","path":"/frankmcsherry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5741500?s=80&v=4"},"commit":{"message":"Make Abelian::negate act on borrowed data (#504)","shortMessageHtmlLink":"Make Abelian::negate act on borrowed data (#504)"}},{"before":"6ce91f16d999ed998b1ddf30a9782bd755abb263","after":"08fce581e6538cb13b35a4aef3903db078833c3b","ref":"refs/heads/master","pushedAt":"2024-05-28T19:30:31.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"frankmcsherry","name":"Frank McSherry","path":"/frankmcsherry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5741500?s=80&v=4"},"commit":{"message":"Introduce Time/Diff GATs (#502)\n\n* Separate Time/Diff containers, allow IntoOwned vs refs\r\n\r\n* Introduce DiffGat<'a>\r\n\r\n* Introduce TimeGat<'a>\r\n\r\n* Reduce .into_owned() calls\r\n\r\n* Alter signature of IntoOwned::clone_onto\r\n\r\n* Respond to feedback","shortMessageHtmlLink":"Introduce Time/Diff GATs (#502)"}},{"before":"075a15a3d614f41049d4743ab41d26da36d87732","after":"6ce91f16d999ed998b1ddf30a9782bd755abb263","ref":"refs/heads/master","pushedAt":"2024-05-28T13:07:54.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"frankmcsherry","name":"Frank McSherry","path":"/frankmcsherry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5741500?s=80&v=4"},"commit":{"message":"Introduce IsZero trait for is_zero() (#503)","shortMessageHtmlLink":"Introduce IsZero trait for is_zero() (#503)"}},{"before":"56b8cf95fc34676d4f74d0b573c2a119392eb43c","after":"075a15a3d614f41049d4743ab41d26da36d87732","ref":"refs/heads/master","pushedAt":"2024-05-27T21:38:21.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"frankmcsherry","name":"Frank McSherry","path":"/frankmcsherry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5741500?s=80&v=4"},"commit":{"message":"Replace covariant PartialOrd with reborrow() (#500)","shortMessageHtmlLink":"Replace covariant PartialOrd with reborrow() (#500)"}},{"before":"1f17e65a9538d74372672a51bd7838667c1127f3","after":"56b8cf95fc34676d4f74d0b573c2a119392eb43c","ref":"refs/heads/master","pushedAt":"2024-05-27T14:56:38.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"frankmcsherry","name":"Frank McSherry","path":"/frankmcsherry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5741500?s=80&v=4"},"commit":{"message":"Remove 'static requirement from difference traits (#501)","shortMessageHtmlLink":"Remove 'static requirement from difference traits (#501)"}},{"before":"94edc75056323dd7dc241400612abf1936290456","after":"1f17e65a9538d74372672a51bd7838667c1127f3","ref":"refs/heads/master","pushedAt":"2024-05-26T18:16:14.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"frankmcsherry","name":"Frank McSherry","path":"/frankmcsherry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5741500?s=80&v=4"},"commit":{"message":"Minimize `OwnedItem` bounds (#499)\n\n* Remove all opinions on OwnedItem\r\n\r\n* Remove BatchContainer::OwnedItem\r\n\r\n* Remove PushInto bounds","shortMessageHtmlLink":"Minimize OwnedItem bounds (#499)"}},{"before":"5730a6f2f7cea1fb696694c265166884e3e15d4f","after":"94edc75056323dd7dc241400612abf1936290456","ref":"refs/heads/master","pushedAt":"2024-05-26T12:48:59.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"frankmcsherry","name":"Frank McSherry","path":"/frankmcsherry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5741500?s=80&v=4"},"commit":{"message":"Remove `KeyOwned` (#498)\n\n* Remove references to KeyOwned\r\n\r\n* Remove definitions of KeyOwned\r\n\r\n* Remove IntoOwned bounds\r\n\r\n* Pivot Val<'_> -> V into IntoOwned\r\n\r\n* Update min CI version","shortMessageHtmlLink":"Remove KeyOwned (#498)"}},{"before":"2de0cbd0a7e674a075aa6a758220272101cc99a0","after":"5730a6f2f7cea1fb696694c265166884e3e15d4f","ref":"refs/heads/master","pushedAt":"2024-05-25T18:37:25.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"antiguru","name":"Moritz Hoffmann","path":"/antiguru","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/582946?s=80&v=4"},"commit":{"message":"Update timely dependency (#496)\n\nSigned-off-by: Moritz Hoffmann ","shortMessageHtmlLink":"Update timely dependency (#496)"}},{"before":"85b126c61a2b41e61268e09e39e5bb7dfce3cfc0","after":"2de0cbd0a7e674a075aa6a758220272101cc99a0","ref":"refs/heads/master","pushedAt":"2024-05-24T15:32:24.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"frankmcsherry","name":"Frank McSherry","path":"/frankmcsherry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5741500?s=80&v=4"},"commit":{"message":"Introduce and integrate `IntoOwned` trait (#495)\n\n* Introduce and integrate IntoOwned trait\r\n\r\n* Respond to feedback","shortMessageHtmlLink":"Introduce and integrate IntoOwned trait (#495)"}},{"before":"9731d7fc957f22393291ffd38d23666af889cd2b","after":"85b126c61a2b41e61268e09e39e5bb7dfce3cfc0","ref":"refs/heads/master","pushedAt":"2024-05-23T20:17:04.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"antiguru","name":"Moritz Hoffmann","path":"/antiguru","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/582946?s=80&v=4"},"commit":{"message":"Pass data from batcher to builder by chunk (#491)\n\n* Pass data from batcher to builder by chain\r\n\r\nCurrently, the data shared between the batcher and the builder are\r\nindividual tuples, either moved or by reference. This limits flexibility\r\naround what kind of data can be provided to a builder, i.e., it has to\r\nbe in the form of tuples, either owned or a reference to a fully-formed\r\none. This works fine for vector-like structures, but will not work for\r\ncontainers that like to arrange their data differently.\r\n\r\nThis change alters the contract between the batcher and the builder to\r\nprovide chunks instead of individual items (it does not require\r\n_chains_.) The data in the chunks must be sorted, and subsequent calls\r\nmust maintain order, too. The input containers need to implement\r\n`BuilderInput`, a type that describes how a container's items can be\r\nbroken into key, value, time, and diff, where key and value can be\r\nreferences or owned data, as long as they can be pushed into the\r\nunderlying key and value containers.\r\n\r\nThe change has some quirks around comparing keys to keys already in the\r\nbuilder. The types can differ, and the best solution I could come up\r\nwith was to add two explicit comparison functions to `BuilderInput` to\r\ncompare keys and values. While it is not elegant, it allows us to move\r\nforward with this change, without adding nightmare-inducing trait bounds\r\nall-over.\r\n\r\nSigned-off-by: Moritz Hoffmann \r\n\r\n* Address feedback\r\n\r\nSigned-off-by: Moritz Hoffmann \r\n\r\n---------\r\n\r\nSigned-off-by: Moritz Hoffmann ","shortMessageHtmlLink":"Pass data from batcher to builder by chunk (#491)"}},{"before":"9171e73d551109be7afcc5914cab31f06fbe60b8","after":"9731d7fc957f22393291ffd38d23666af889cd2b","ref":"refs/heads/master","pushedAt":"2024-05-23T19:13:49.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"frankmcsherry","name":"Frank McSherry","path":"/frankmcsherry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5741500?s=80&v=4"},"commit":{"message":"Cleanup, fix rhh example (#492)\n\nSigned-off-by: Moritz Hoffmann ","shortMessageHtmlLink":"Cleanup, fix rhh example (#492)"}},{"before":"b0c8f2adea5a8b9a39ada50525f760136ec13000","after":"9171e73d551109be7afcc5914cab31f06fbe60b8","ref":"refs/heads/master","pushedAt":"2024-05-23T13:48:35.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"antiguru","name":"Moritz Hoffmann","path":"/antiguru","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/582946?s=80&v=4"},"commit":{"message":"Semigroup generic over Rhs (#493)\n\nAdds support for implementing semigroup for types that can plus_equals\r\nfrom another type, for example vectors and slices.\r\n\r\nFixes a bug where the semigroup implementation for `Vec` would add\r\noverhanging elements twice, i.e., `[1,2] + [1,1,1]` would result in\r\n`[2,3,2`] instead of `[2,3,1]`.\r\n\r\nThis leaves one quirk where `is_zero` does not depend on `Rhs`, so Rust\r\ncannot figure out which implementation to use when two are in scope,\r\nforcing the caller to phrase it as `::is_zero(&value)`.\r\nThis only applies if `R` implements `Semigroup + Semigroup`.\r\n\r\nSigned-off-by: Moritz Hoffmann ","shortMessageHtmlLink":"Semigroup generic over Rhs (#493)"}},{"before":"7063c6fd592fc4bb126ade1feb5ba3c7e060583f","after":"b0c8f2adea5a8b9a39ada50525f760136ec13000","ref":"refs/heads/master","pushedAt":"2024-05-17T12:44:11.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"frankmcsherry","name":"Frank McSherry","path":"/frankmcsherry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5741500?s=80&v=4"},"commit":{"message":"Use usize and u64 better (#486)","shortMessageHtmlLink":"Use usize and u64 better (#486)"}},{"before":"b215b9a76eaa1f1e2ef0945fce1bf5cdb822bc40","after":"7063c6fd592fc4bb126ade1feb5ba3c7e060583f","ref":"refs/heads/master","pushedAt":"2024-05-15T18:30:26.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"frankmcsherry","name":"Frank McSherry","path":"/frankmcsherry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5741500?s=80&v=4"},"commit":{"message":"Use consolidating builder in consolidate_stream (#488)\n\nThis switches from consolidating each input individually to\r\nconsolidating at the output. The benefits are that it can yield better\r\nconsolidation performance because it can consolidate across input\r\ncontainers instead of only being able to consolidate each individual\r\ninput container.\r\n\r\nSigned-off-by: Moritz Hoffmann ","shortMessageHtmlLink":"Use consolidating builder in consolidate_stream (#488)"}},{"before":"869ec47883e89de89d92efcfc99744c488153d67","after":"b215b9a76eaa1f1e2ef0945fce1bf5cdb822bc40","ref":"refs/heads/master","pushedAt":"2024-05-13T15:45:58.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"frankmcsherry","name":"Frank McSherry","path":"/frankmcsherry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5741500?s=80&v=4"},"commit":{"message":"Remove uses of time::Instant from core DD (#485)","shortMessageHtmlLink":"Remove uses of time::Instant from core DD (#485)"}},{"before":"16f3c457826d470cbeebeda64a66610553fcee42","after":"dffc08e266cd0865684ac172c3f8a51f5cea6d1c","ref":"refs/heads/gh-pages","pushedAt":"2024-05-08T17:37:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Deploying to gh-pages from @ TimelyDataflow/differential-dataflow@869ec47883e89de89d92efcfc99744c488153d67 ๐Ÿš€","shortMessageHtmlLink":"Deploying to gh-pages from @ 869ec47 ๐Ÿš€"}},{"before":"abe18c5aab5a156ccdeec2cf15a6a6b2037d416b","after":"869ec47883e89de89d92efcfc99744c488153d67","ref":"refs/heads/master","pushedAt":"2024-05-08T17:35:12.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"frankmcsherry","name":"Frank McSherry","path":"/frankmcsherry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5741500?s=80&v=4"},"commit":{"message":"Correct defects in getting started (#484)","shortMessageHtmlLink":"Correct defects in getting started (#484)"}},{"before":"9ae50092ab58eb9edf2bfb0eb010c9333281b093","after":null,"ref":"refs/heads/batcher_col_smooth_deallocation","pushedAt":"2024-05-07T19:07:55.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"antiguru","name":"Moritz Hoffmann","path":"/antiguru","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/582946?s=80&v=4"}},{"before":"de6a353400e7b39addb65a7b95a62ee5a1b40bae","after":"abe18c5aab5a156ccdeec2cf15a6a6b2037d416b","ref":"refs/heads/master","pushedAt":"2024-05-07T15:13:29.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"frankmcsherry","name":"Frank McSherry","path":"/frankmcsherry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5741500?s=80&v=4"},"commit":{"message":"Seal: Drop chain while feeding data to builder (#482)\n\nFix a regression where the columnated merge batcher would only\r\ndeallocate the merged chain after revealing all data to the builder.\r\nInstead, it now drains the chain, which deallocates each chunk after\r\nrevealing its contents to the builder.\r\n\r\nSigned-off-by: Moritz Hoffmann ","shortMessageHtmlLink":"Seal: Drop chain while feeding data to builder (#482)"}},{"before":null,"after":"9ae50092ab58eb9edf2bfb0eb010c9333281b093","ref":"refs/heads/batcher_col_smooth_deallocation","pushedAt":"2024-05-07T14:51:53.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"antiguru","name":"Moritz Hoffmann","path":"/antiguru","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/582946?s=80&v=4"},"commit":{"message":"Seal: Drop chain while feeding data to builder\n\nFix a regression where the columnated merge batcher would only\ndeallocate the merged chain after revealing all data to the builder.\nInstead, it now drains the chain, which deallocates each chunk after\nrevealing its contents to the builder.\n\nSigned-off-by: Moritz Hoffmann ","shortMessageHtmlLink":"Seal: Drop chain while feeding data to builder"}},{"before":"1eb052cbfd0e7295ee078b42432d5580db0cfed2","after":"de6a353400e7b39addb65a7b95a62ee5a1b40bae","ref":"refs/heads/master","pushedAt":"2024-05-06T13:39:57.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"frankmcsherry","name":"Frank McSherry","path":"/frankmcsherry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5741500?s=80&v=4"},"commit":{"message":"Re-introduce safe implementation (#481)","shortMessageHtmlLink":"Re-introduce safe implementation (#481)"}},{"before":"b281e50565c26d14fcbf4bcdab8e8ad01e1f4baa","after":"1eb052cbfd0e7295ee078b42432d5580db0cfed2","ref":"refs/heads/master","pushedAt":"2024-04-30T21:30:15.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"antiguru","name":"Moritz Hoffmann","path":"/antiguru","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/582946?s=80&v=4"},"commit":{"message":"`join_traces` uses timely's container builder (#478)\n\njoin_traces can produce arbitrary containers.\r\n\r\n---------\r\n\r\nSigned-off-by: Moritz Hoffmann ","shortMessageHtmlLink":"join_traces uses timely's container builder (#478)"}},{"before":"d18497c41add25471c469c9d0e8fa94e0462c414","after":"b281e50565c26d14fcbf4bcdab8e8ad01e1f4baa","ref":"refs/heads/master","pushedAt":"2024-04-26T21:10:26.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"antiguru","name":"Moritz Hoffmann","path":"/antiguru","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/582946?s=80&v=4"},"commit":{"message":"Merge batcher generic over containers (#474)\n\n* Split default merge batcher\n\nThis change splits the default merge batcher implementation into a type\nthat maintains the outer part of its algorithm, specifically knows how\nto maintain chains, and an inner part that knows how to maintain the\nindividual batches in chains. The benefit is that the outer part does\nnot need to know about the contents of the containers it holds on to\nbecause that's encapsulated in the inner trait's implementation.\n\nSigned-off-by: Moritz Hoffmann \n\n* Undo some changes, rip out old columnated batcher\n\nSigned-off-by: Moritz Hoffmann \n\n* Address feedback\n\nSigned-off-by: Moritz Hoffmann \n\n* Formatting and renaming\n\nSigned-off-by: Moritz Hoffmann \n\n* Address feedback\n\nSigned-off-by: Moritz Hoffmann \n\n---------\n\nSigned-off-by: Moritz Hoffmann ","shortMessageHtmlLink":"Merge batcher generic over containers (#474)"}},{"before":"3e81b8b6a8d6160fe3ba0fa0f78af66babc36aad","after":"d18497c41add25471c469c9d0e8fa94e0462c414","ref":"refs/heads/master","pushedAt":"2024-04-24T19:03:28.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"frankmcsherry","name":"Frank McSherry","path":"/frankmcsherry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5741500?s=80&v=4"},"commit":{"message":"Remove `ValOwned` (#476)\n\n* Remove use of ValOwned\r\n\r\n* Respond to feedback","shortMessageHtmlLink":"Remove ValOwned (#476)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEYmi_zgA","startCursor":null,"endCursor":null}},"title":"Activity ยท TimelyDataflow/differential-dataflow"}