Changelog
All notable changes to this project will be documented in this file.
0.5.1 - 2024-08-08
🐛 Bug Fixes
⚙️ Miscellaneous
- Release NativeLink v0.5.1 - (cbfc4b6)
 - Conversion implementations for awaited action db structs (#1243) - (d5f2781)
 - Make redis clients available on RedisStore (#1244) - (c3f648e)
 
0.5.0 - 2024-08-07
❌️ Breaking Changes
⛰️ Features
- Add example clang/rust/go toolchain (#1200) - (11298d8)
 - Introduce NL_LOG to control logging format (#1154) - (d9922b3)
 - Add Capacitor dashboard to devcluster (#1115) - (93ae95a)
 - Add Flux to development cluster (#1096) - (6a40374)
 - Allow Tekton pipelines to be triggered by Flux Alerts (#1094) - (5de75cc)
 - Allow WebSocket upgrades in devcluster Loadbalancer (#1098) - (dda8c31)
 - Implement RedisStateManager (#1023) - (5104778)
 - Add optional and experimental pub sub publisher for redis store write. (#1027) - (128ba2a)
 - Decouple nativelink from toolchain containers (#1013) - (00e5bb3)
 - Add Bazel rules for generating rust-project.json (#1019) - (bb91fa9)
 - Add list api to StoreApi and MemoryStore (#1003) - (5a78919)
 - Add memory store optimized subscription API (#988) - (bf9edc9)
 - Add serialize and deserialize to structs (#965) - (79908cb)
 - Add subscribe API to Store API (#924) - (3be7255)
 - Add a config option to prefix keys in Redis stores (#981) - (b7a7e36)
 - Add OrderBy field for OperationFilter (#969) - (a911af4)
 - Add initial support for BEP (Build Event Protocol) (#961) - (23cba13)
 - Convert RedisError into nativelink Error (#959) - (cabc0c3)
 - Add JSON config examples to store.rs (#967) - (da9399b)
 - Make quantity field human readable (#891) - (da2c4a7)
 - Add drake toolchain configs (#942) - (e65c04a)
 - Add Operation State Manager API (#937) - (1d2d838)
 
🐛 Bug Fixes
- Fix docker-compose (#1238) - (44bc795)
 - Fix compile time warnings from rustc version upgrade (#1231) - (7f9f2da)
 - Fix S3 store missing not having sleep function (#1220) - (827a000)
 - Fix case when scheduler drops action on client reconnect (#1198) - (0b40639)
 - Fix bad practice bazelrc naming scheme (#1183) - (8d843e8)
 - Fix bug in S3 where it ignores EOF (#1178) - (f3e58a2)
 - Fix clippy::manual_string_new (#1106) - (3992aef)
 - Fix script bugs (#1147) - (2e85c90)
 - Fix chromium demo (#1144) - (00a7134)
 - Fix filesystem_cas.json (#1111) - (0cbddba)
 - Fix vale issues in MDX files (#1086) - (a3bd7d9)
 - Unbreak LRE Remote workflow (#1058) - (2adda24)
 - Fix Cargo mismatch on MacOS build (#974) - (591126d)
 - Explicitly set deleted timestamp in trivy (#1006) - (43f1aeb)
 - Register metrics on PropertyModifierScheduler (#954) - (b1d6c40)
 - Unbreak docker-compose workflow (#940) - (fce476f)
 
📚 Documentation
- Update README.md (#1232) - (7b5231f)
 - Add CI focused content to api key docs (#1196) - (5798761)
 - Add read only key instructions to api key docs (#1187) - (d37bd90)
 - Add new API key prod docs (#1185) - (f59f8ba)
 - Fix typos in the documentation and comments (#1174) - (9948737)
 - Polish cloud docs for Bazel and Pants (#1152) - (c54fe00)
 - Fix an accessibility issue in the README (#1149) - (53215a9)
 - Overhaul NativeLink Documentation (#1138) - (71dee56)
 - Disable some workflows on PRs that only change docs (#1148) - (506c144)
 - Fix overflowing mermaid diagrams in docs (#1133) - (5810489)
 - Update README.md (#1134) - (ff90c34)
 - Fix README after 612b86e (#1132) - (e93b869)
 - Move installation instructions to new docs (#1127) - (612b86e)
 - fixed the docs and removed errant TODO. (#1085) - (f777126)
 - Improve README branding and links (#1083) - (eb8fc9f)
 - Revert “Improve README branding and links (#1074)” (#1080) - (2bdd9bd)
 - Improve README branding and links (#1074) - (1f107e4)
 - Reorder 
README(#1077) - (aedf2ef) - Reimplement documentation infrastructure (#1056) - (67e3164)
 - Move Terraform examples to graveyard (#1016) - (af4c1de)
 - Introduce basic rustdoc infrastructure (#980) - (af87ec1)
 - Expand configuration documentation (#970) - (c0c09ed)
 - Update images for docs (#930) - (b7b58a7)
 - Update old tag version in 
README.md(#923) - (ec257fe) 
🧪 Testing & CI
- Remove some needless CI tests (#1240) - (3e259fd)
 - Fix Cargo.toml files when using cargo test on specific packages (#1236) - (ba7abf3)
 - Remove nativelink-proto as build dependency (#1209) - (19f4483)
 - Significantly reduce Bazel test time (#1210) - (4f49d53)
 - [Refactor] Overhaul of scheduler component (#1169) - (3b8c3a5)
 - Add BEP to CI (#1124) - (fa7b099)
 - Fix bystream_server_tests (#1087) - (846b25b)
 - Reduce references to self.state_manager.inner (#1060) - (2eefa75)
 - Fixes cyclical dependency between util and store (#1017) - (200f976)
 - [bug] Ensure OperationId is used at external protocol points (#1001) - (5ffaf89)
 - Remove installation test from devShell (#1014) - (9c40d57)
 - Increase timeout of pre-commit-checks CI pipeline (#1009) - (2d64361)
 - Add CI test to run on nativelink.com (#1007) - (3bc14bd)
 - Create scheduler state module (#968) - (264edb7)
 - Remove extraneous mod statements from tests (#975) - (f59a1d7)
 - Add dev build profile and remove lto from CI (#976) - (cec25fb)
 - Fix pulumi ratelimiting build error (#953) - (03841cc)
 - Add kind-loadbalancer (#929) - (c42fd0d)
 
⚙️ Miscellaneous
- Release NativeLink v0.5.0 (#1223) - (d898c54)
 - Migrate much of the ActionScheduler API to ClientStateManager API (#1241) - (2b8f1ee)
 - Move ActionSchedulerListener to ActionStateResult (#1237) - (d57ee8d)
 - modified the lre file path (#1239) - (33f09cb)
 - Remove ClientOperationId and move all to OperationId (#1214) - (81db90e)
 - Remove unnecessary sync trait bounds. (#1227) - (e26e1b5)
 - Migrate from 
redis-rstofred.rs(#1188) - (44a4a91) - Convert AwaitedAction to and from raw bytes (#1206) - (f004351)
 - Make Cargo.toml feature pins compatible with project/main (#1212) - (d8c407a)
 - Remove unused features in dependencies (#1211) - (a501971)
 - ExistenceCacheStore now only evicts based on insert (#1203) - (250037f)
 - Remove unused dependencies (#1207) - (df5f9e2)
 - Migrate to hyper 1.x, axum 0.7.x, tonic 0.12.x (#1155) - (532d1b1)
 - S3 store can ignore 
.has()requests based on LastModified (#1205) - (e874baa) - [Refactor] Complete metrics overhaul (#1192) - (a6ff968)
 - Migrate to callPackage syntax (#1193) - (534a102)
 - Implement Serialize/Deserialize for ActionStage (#1186) - (3574149)
 - update store_trait.rs (#1184) - (97f64b2)
 - Double protect output stream of verify store (#1180) - (e6542e6)
 - Make TaskExecutor a wrapper around TokioExecutor (#1159) - (b7ef3b6)
 - Increase chromium deployment example jobs size (#1146) - (0e265dc)
 - Refresh readme (#1078) - (414289a)
 - Change remote cache URLs from secrets to vars (#1143) - (6e37f47)
 - converted single defaults from plural (#1099) - (0a05082)
 - Write Tekton image tag outputs to a ConfigMap (#1100) - (1b8e23b)
 - Temporarily disable rustdoc autogen (#1101) - (3aa4f94)
 - Cancel running GHA workflows on pushes to the same branch (#1090) - (545f752)
 - Make bystream limits configurable (#1076) - (54a9345)
 - [Refactor] Workers::find_worker_for_action should take PlatformProperties (#1068) - (f5e7276)
 - Include ActionState to MatchingEngineActionStateResult (#1064) - (35e9cd7)
 - revert bazel version bump. (#1061) - (194ab78)
 - Remove 
#[async_trait]where possible (#620) (#1055) - (ba168a3) - Rename cas CompressionAlgorithm to HttpCompressionAlgorithm (#1052) - (9ba4323)
 - Implement MatchingEngineStateManager (#1041) - (684dbc1)
 - Move 
update_action_with_internal_errorintoStateManager(#1053) - (0f33a8a) - Implement WorkerStateManager for simple scheduler (#993) - (1359513)
 - Remove execution permissions from non-executable files (#1048) - (fbc39f5)
 - Sync serde version in Cargo.toml to lockfile (#966) - (59df55d)
 - Support cluster mode when using Redis as a store (#998) - (c85b6df)
 - Implement 
ClientStateManagerforSimpleScheduler(#985) - (49efde2) - Reduce native-cli executable size (#1010) - (d1a8d9d)
 - Sync Cargo MSRV to Bazel (#1011) - (c0b284d)
 - [Refactor] Stores now return Arc for construction (#989) - (5bdc9eb)
 - Enable the dotcom workflow on main (#1008) - (28314e4)
 - EvictingMap now supports B-tree lookups (#996) - (fd4c89c)
 - [refactor] Migrate 
worker::WorkerIdforaction_messages::WorkerId(#992) - (50401c3) - [Refactor] Simple scheduler method signatures to async (#971) - (3c50dd5)
 - Refactor Store API to use StoreKey (#964) - (e524bbc)
 - Refactor Store Api into client side and driver side (#935) - (04beafd)
 - Create New Glossary (#957) - (77b2c33)
 - Use single quotes for char (#955) - (e90c4bc)
 - Include UUID in ActionState (#927) - (b07ca1d)
 - Refactor EvictingMap so it does not use DigestInfo (#932) - (9c45e86)
 
⬆️ Bumps & Version Updates
- Bump Go deps (#1219) - (a953f19)
 - Upgrade toolchains (#1191) - (97135e9)
 - Bump some Bazel deps (#1176) - (f9ef39c)
 - Update copyright headers (#1172) - (02465d3)
 - Update Go dependencies (#1095) - (98d645f)
 - Update Rust crate uuid to v1.9.0 (#1050) - (62f5a90)
 - Update Rust crate mimalloc to v0.1.43 (#1047) - (b6d2035)
 - Update Rust crate syn to v2.0.68 (#1046) - (97abbcd)
 - Update Rust crate proc-macro2 to v1.0.86 (#1045) - (f830294)
 - Update aws-sdk-rust monorepo (#1042) - (5f8a4f2)
 - Update dependency rules_java to v7.6.5 (#1040) - (cc53957)
 - Update dependency rules_rust to v0.46.0 (#1037) - (47a25b8)
 - Update dependency rules_python to v0.33.2 (#1036) - (6049d35)
 - Update dependency rules_java to v7.6.4 (#1035) - (7c52e89)
 - Update dependency bazel to v7.2.0 (#1033) - (a675de6)
 - Update dependency protobuf to v27.1.bcr.1 (#1034) - (1bc0f1a)
 - Update Rust crate console-subscriber to 0.3.0 (#1032) - (b49bc26)
 - Update Rust crate async-lock to v3.4.0 (#1031) - (c247057)
 - Update Rust crate proc-macro2 to v1.0.85 (#1029) - (90da4c9)
 - Update Rust crate hyper to v0.14.29 (#1028) - (0a64bb1)
 - Update aws-sdk-rust monorepo (#1030) - (fc656de)
 - Update Rust crate clap to v4.5.7 (#1026) - (9c0c68a)
 - Update git & remove unused deps in ubuntu runners (#1024) - (b71952b)
 - Bump yarn deps (#1015) - (b2678ff)
 - Update 
ValeCI action to handle large diffs (#978) - (f4ce898) - Increase pre-commit timeout in CI (#956) - (9bebba8)
 - Bump trivially bumpable deps (#950) - (5ecc739)
 - Bump flake and Bazel modules (#947) - (0eed759)
 - Update Rust crate syn to v2.0.66 (#946) - (80af57f)
 - Update Rust crate redis to v0.25.4 (#944) - (5fbd751)
 - Update Rust crate quote to v1.0.36 (#938) - (0300a12)
 - Update dependency protobuf to v26.0.bcr.1 (#887) - (724693f)
 - Update Rust crate parking_lot to v0.12.3 (#936) - (fd643e6)
 - Update Rust crate mimalloc to v0.1.42 (#933) - (08e2f2e)
 - Update Rust crate proc-macro2 to v1.0.84 (#916) - (409af67)
 
0.4.0 - 2024-05-16
❌️ Breaking Changes
⛰️ Features
- Implement get_tree() feature (#905) - (ae44878)
 - Introduce the LRE flake module (#909) - (60f712b)
 - Add OriginContext to track data across modules (#875) - (829904e)
 - Add backend store metrics to VerifyStore (#897) - (7effcc4)
 - Add metrics to CompletenessCheckingStore (#882) - (520b762)
 - Add hit metrics to FastSlowStore (#884) - (6c9071f)
 - Add metrics output to SizePartitioningStore (#880) - (17ecf8a)
 - Allow K8s demos to use prebuilt images (#872) - (24e30fa)
 - Add Redis Store (#393) - (f79b59b)
 - Introduce the 
nativeCLI (#851) - (fbe0583) - Refactor buf_channel (#849) - (f5e0035)
 
🐛 Bug Fixes
- Fix possible deadlock if max_open_files set too low (#908) - (e0a7bb9)
 - Fix LLVM 18 toolchains after fb0edae (#883) - (8ee7ab3)
 - Migrate K8s HTTPRoutes to GRPCRoutes (#868) - (7e379ff)
 - Fix bug in buf_channel::consume() where exact size doesn’t receive eof (#858) - (5583a5d)
 
📚 Documentation
- Update README.md (small edits) (#903) - (727fd19)
 - Update Chromium Readme (#896) - (185eab3)
 - Update README.md to pin version (#873) - (73c9929)
 - Rewrite contribution documentation (#827) - (5e4c32c)
 - Warn people about Nix in Chrome README.md (#865) - (d381162)
 - Update Kubernetes Readme (#846) - (4082759)
 - Document release process (#847) - (d854874)
 
🧪 Testing & CI
- Test building with Nix (#920) - (3391fdf)
 - Harden CI against too long running jobs (#917) - (ba7ed50)
 - Fix operations scripts evaluating to quickly (#906) - (66a72ab)
 - Add nativelink_test macro for tests (#888) - (c0d7eaa)
 
⚙️ Miscellaneous
- Release NativeLink v0.4.0 (#913) - (75105df)
 - Reduce keep alive log message level (#894) - (f9e67aa)
 - Migrate to Bazelisk (#912) - (ab46197)
 - Enable hermetic Bazel sandboxing (#902) - (acec6d3)
 - All tokio::spawn and related functions must use nativelink’s version (#890) - (c1d0402)
 - Remove zig-cc (#876) - (402f335)
 - Migrate all logging to the tracing library (#871) - (523ee33)
 - Refactor S3 store & support upload retry (#854) - (9db29ef)
 - fix a typo in the script comments. (#856) - (6d45a00)
 - Rename buf_channel::take() to buf_channel::consume() (#848) - (aadb2b9)
 - Connection Manager Rewrite (#806) - (a842f3a)
 
⬆️ Bumps & Version Updates
- Bump trivially bumpable deps (#914) - (0ff1f45)
 - Update all development dependencies (#910) - (8a63295)
 - Bump cilium in devcluster to 1.16.0-pre.2 (#904) - (64ed20a)
 - Update dependency platforms to v0.0.10 (#886) - (7f799d7)
 - Update Nix installers in CI (#879) - (5a549ba)
 - Update Rust crate parking_lot to 0.12.2 (#885) - (f6e02a6)
 - Update dependency clsx to v2.1.1 (#878) - (7227649)
 - Bump trivially bumpable deps (#877) - (fb0edae)
 - Update Rust version to 1.77.2 (#857) - (b2b83df)
 - Update Rust crate rustls-pemfile to 2.1.2 (#852) - (44bc15f)
 - Update Rust crate async-trait to 0.1.80 (#850) - (8df4345)
 
0.3.0 - 2024-04-10
🐛 Bug Fixes
⚙️ Miscellaneous
0.3.2 - 2024-04-09
❌️ Breaking Changes
- [Breaking] Remove completeness checking logic in CacheLookupScheduler - (692e4de)
 - [Breaking] Generalize LRE to arbitrary toolchains (#728) - (1a43ef9)
 - [Breaking] Change in behavior of /status by introduction of component based health (#636) - (48cadc7)
 - [BREAKING] Add concurrency limit to GRPC (#627) - (b47f39b)
 - [Breaking] Deny unknown fields durning configuration serialization (#603) - (95afd36)
 
⛰️ Features
- Add safe request timeout for running actions manager (#743) - (33db963)
 - Implement worker api for killing running actions (#840) - (abf12e8)
 - Create directory for action (#752) - (414fff3)
 - Add nativelink-debug target (#811) - (c60fb55)
 - Allow variables in platform property values (#809) - (09fc7f8)
 - Use mimalloc as global memory allocator (#749) - (6c647d6)
 - Optimize file uploads when source is file (#723) - (7c9a070)
 - Add API so stores can get Arc<Store> or &Store (#679) - (5df8a78)
 - Add check for slow store to be noop and conditionally replace with fast (#670) - (e402a10)
 - Max concurrent GrpcStore streams (#656) - (7548d4b)
 - Add metrics to compression and existence cache store (#651) - (722c80b)
 - Retry GrpcStore get_part_ref (#646) - (d46180c)
 - Allow ByteStream write restart (#635) - (3fabbaa)
 - Add warning for TLS (#609) - (63e2ad6)
 - Add support for mTLS (#470) - (6a379b3)
 - Add S3 http2 toggle flag (#604) - (8c433cd)
 - Add blake3 support for verify store (#575) - (3acefc7)
 - Build nativelink with musl (#583) - (ee4846c)
 - Shard store weight scale distribution (#574) - (928f12f)
 - Add console subscriber (#545) - (bb30474)
 
🐛 Bug Fixes
- Resolve upload deadlock (#816) - (b61142d)
 - Fix nightly clippy warnings (#817) - (6d87cca)
 - Fix 
.gitignoreafter 1a43ef9 (#797) - (53e5a99) - Fix image publishing workflow after 1a43ef9 (#777) - (54b21b8)
 - Completeness checking store should not check if directory digests exist (#748) - (e979e31)
 - Check owner and group executable bits (#727) - (cea2336)
 - Fix case where resource_name not set in stream error (#746) - (a651f2c)
 - Set 
rust-version(#734) - (d2dd46d) - Account for block size in filesystem store for eviction purposes (#661) - (0639a59)
 - Fix cargo install tag and start command (#654) - (89313ff)
 - Don’t retry permanent failures (#634) - (81b64f7)
 - Reenable caching for nix workflows (#631) - (6de799d)
 - Fix AMI NativeLink Tarballing (#645) - (c8473ac)
 - Evict on touch failure (#613) - (3037a66)
 - Disable flaky caching for LRE-Remote workflow (#619) - (2899f31)
 - Unbreak manual rustfmt invocations via Bazel (#617) - (f39e275)
 - Fix case where filesystem store future dropping causes issues (#496) - (249322d)
 - Minor refactor of functionally same code (#607) - (51715bd)
 - Fix a potential bug in DropCloserReadHalf::take() (#606) - (70e8525)
 - Fix dark mode accessibility contrast and made theme dynamic based on user machine (#597) - (d5443c8)
 
📚 Documentation
- Update README.md to include License and Slack (#841) - (6c4fb7e)
 - Example of chromium using deployment scripts (#786) - (0aa7f65)
 - Update README for more clarity (#803) - (31a1bf1)
 - Fix incorrect bazel version 6.4.0+ in documenation (#801) - (b1b3bcb)
 - Update js dependencies in docs (#766) - (4b8eeaf)
 - Add search functionality to docs (#740) - (3dc1b8e)
 - Add configuration breakdown page (#725) - (35daf43)
 - Starts a Breakdown of Configuration (#680) - (433829c)
 - Draw a General Purpose Diagram (#705) - (2c102c3)
 - Basic config updated. (#669) - (f4d9db3)
 - Introduce Vale to lint documentation (#585) - (745b0d6)
 - Re-Add Rustup to the README (#648) - (0cba4fa)
 - Improve the LRE README (#637) - (63826f2)
 - Update README.md for AWS Terraform Deployment (#608) - (8a43fe4)
 - Add artifact warning to documentation and swap out cargo emoji (#599) - (89eafed)
 - Add Kubernetes Example to docs (#596) - (e1246fb)
 - Fix the bazel run command documentation (#590) - (7f4a007)
 - Add deployment examples to docs (#584) - (546484b)
 - Update README.md (#580) - (0269835)
 - Add OSFamily property in basic_cas.json (#577) - (3578d50)
 - Rearrange docs and aligned content with README (#571) - (beb87cf)
 
🧪 Testing & CI
- Globally inline format args (#798) - (b940f65)
 - Publish nativelink-worker image for C++ (#794) - (646253d)
 - Forbid binary files in commits (#792) - (d9fc4ad)
 - Unbreak CI (#769) - (682c4fe)
 - Migrate Bazelisk actions to new variant (#760) - (3da42f2)
 - Add hadolint to pre-commit hooks (#422) - (d8afd33)
 - Reduce CI space requirements (#685) - (b9029bb)
 - Separate K8s setup steps in CI (#614) - (82d9ee6)
 
⚙️ Miscellaneous
- Revert “Release NativeLink v0.3.0 (#838)” (#843) - (002ece2)
 - Release NativeLink v0.3.0 (#838) - (f96ee92)
 - Generalize Kubernetes worker setup (#812) - (4146a34)
 - Unify RunningAction and AwaitedAction (#782) - (7997f03)
 - Don’t update rustup in native Cargo workflow (#775) - (9d49514)
 - Ignore .direnv for bazel builds (#756) - (a15bdb6)
 - Set max line length to Rust’s defaults (#750) - (a876cce)
 - Refactor fs.rs to use call_with_permit scheme (#741) - (011318a)
 - Improve the error message in resource info parsing failure (#742) - (3e6f154)
 - Cleanup hash functions to be more idomatic (#691) - (8dd786a)
 - Rename missing 
turbo-cachetonativelink(#663) - (f8044e6) - Autogenerate version from Cargo.toml (#660) - (59d3d28)
 - Adjust all instances of Native Link in comments and metadata to NativeLink (#658) - (4e7d68b)
 - Remove Alpha notice (#657) - (a9526b1)
 - GrpcStore Write Retry (#638) - (9f7f45d)
 - Create workflow for syncing Notion and Issues (#642) - (5470857)
 - Ignore fast store (#633) - (f9f7908)
 - Migrate to Bzlmod (#626) - (2a89ce6)
 - Don’t cache sanitizer workflows (#630) - (ae92fb3)
 - GrpcStore retry first (#616) - (30887a9)
 - Helpful Error Output for Integration Test (#625) - (39c6678)
 - Enable blake3 for Bazel builds (#565) - (5744813)
 - Migrate Mintlify to Docusaurus (#586) - (7247385)
 
⬆️ Bumps & Version Updates
- Bump Rust toolchains (#837) - (d501cd0)
 - Update Rust crate prost to 0.12.4 (#836) - (8bf14b6)
 - Update h2 to 0.3.26 (#835) - (e3913e7)
 - Update Rust crate aws-smithy-runtime to 1.2.1 (#832) - (77fe4a8)
 - Bump express (#833) - (2ae7cab)
 - Update docusaurus monorepo to v3.2.1 (#821) - (d640321)
 - Update docker workflows (#829) - (9a3b330)
 - Update nix environment (#830) - (6b9e68e)
 - Update Configuration.mdx (#822) - (15b455c)
 - Update Rust crate lz4_flex to 0.11.3 (#820) - (5a3a37d)
 - Update Rust crate pin-project-lite to 0.2.14 (#818) - (75f98e8)
 - Update Rust crate tokio to 1.37.0 (#813) - (9e00ebb)
 - Update Rust crate aws-sdk-s3 to 1.21.0 (#802) - (1dd302d)
 - Update node dependencies (#805) - (b6d4427)
 - Update Rust crate clap to 4.5.4 (#799) - (00ff4a0)
 - Update Rust crate aws-config to 1.1.9 (#796) - (f601cd0)
 - Update Rust crate async-trait to 0.1.79 (#790) - (09defc6)
 - Update Rust crate bytes to 1.6.0 (#787) - (08539ec)
 - Update dependency platforms to v0.0.9 (#784) - (a6976e0)
 - Update dependency rules_java to v7.5.0 (#780) - (a6d0f64)
 - Update Rust crate uuid to 1.8.0 (#776) - (4095e97)
 - Update Rust crate aws-sdk-s3 to 1.20.0 (#774) - (d3ee9b6)
 - Update Rust crate async-trait to 0.1.78 (#771) - (2960469)
 - Update Rust crate aws-sdk-s3 to 1.19.1 (#767) - (10d5599)
 - Update flake (#765) - (63a01c5)
 - Update Rust crate clap to 4.5.3 (#763) - (3783abc)
 - Update Rust crate aws-sdk-s3 to 1.19.0 (#762) - (aa599c3)
 - Update Rust crate tokio-stream to 0.1.15 (#761) - (d8b514c)
 - Update aws-sdk-rust monorepo (#759) - (4dc541e)
 - Update Rust crate blake3 to 1.5.1 (#758) - (d6e6863)
 - Update TypeScript dependencies (#753) - (4163da1)
 - Update Rust crate clap to 4.5.2 (#754) - (d3fa8b2)
 - Update Rust crate http to 1.1.0 (#549) - (14a4493)
 - Optimize hashing files (#720) - (0fa9a40)
 - Bump mio to v0.8.11 (#719) - (7169fc9)
 - Update step-security/harden-runner action to v2.7.0 (#718) - (44cb709)
 - Update dependency rules_java to v7.4.0 (#715) - (6058d6a)
 - Update Rust crate uuid to 1.7.0 (#711) - (fdf232c)
 - Update Rust crate tokio to 1.36.0 (#710) - (058828f)
 - Update Rust crate tempfile to 3.10.1 (#709) - (aa79732)
 - Update Rust crate shlex to 1.3.0 (#707) - (bd8d31a)
 - Update Rust crate serde to 1.0.197 (#706) - (fb761b7)
 - Update Rust crate rustls-pemfile to 2.1.1 (#704) - (59c2dd0)
 - Update Rust crate relative-path to 1.9.2 (#703) - (e6ae832)
 - Update Rust crate lz4_flex to 0.11.2 (#701) - (1840ca8)
 - Update Rust crate mock_instant to 0.3.2 (#702) - (ae0ba19)
 - Update Rust crate clap to 4.5.1 (#698) - (5427781)
 - Update Rust crate lru to 0.12.3 (#700) - (37184e8)
 - Update Rust crate log to 0.4.21 (#699) - (6364ddf)
 - Update Rust crate async-trait to 0.1.77 (#695) - (34af738)
 - Update Rust crate futures to 0.3.30 (#697) - (ab21dc5)
 - Update AWS SDK to 1.x (#684) - (cd78ed2)
 - Update Bazel-tracked toolchains (#690) - (c5851f9)
 - Update GHA workflows (#696) - (b0fcac8)
 - Update Rust crate async-lock to 3.3.0 (#693) - (65f89aa)
 - Bump development environment (#686) - (0fd8b51)
 - Update Rust crate hyper to 0.14.28 (#531) - (6491fc7)
 - [Security] Bump trivially bumpable deps (#629) - (20887ac)
 - EvictingMap should evict keys on all public access. (#601) - (56a0972)
 - Update rules_rust to 0.36.2 (#588) - (4cfadb3)
 
0.2.0 - 2023-12-21
❌️ Breaking Changes
📚 Documentation
🧪 Testing & CI
- Add Nix formatters and linters to pre-commit hooks (#561) - (d823964)
 - Fix kill_all_waits_for_all_tasks_to_finish test stuck on windows (#525) - (143a5a1)
 - Fix missing timeouts in tests (#553) - (c54c51c)
 - Remove many of the large-* images in CI (#552) - (de0ae1e)
 
⚙️ Miscellaneous
- Release navivelink v0.2.0 (#572) - (29eb1fa)
 - Publish SemVer-tagged images on tag pushes to main (#569) - (758c5d7)
 - S3 Store credential provider (#494) - (1039ea0)
 - fix a typo (#560) - (ff6d097)
 
⬆️ Bumps & Version Updates
- Update Rust crate async-lock to v3 (#548) - (6c555bb)
 - Update OSSF domain (#558) - (82603d2)
 - Update LLVM and rust toolchains (#557) - (1726a1a)
 - Update actions/checkout action to v4 (#556) - (0d18d36)
 - Update Rust crate tokio to 1.35.1 (#535) - (c6f8b8a)
 - Update Rust crate tokio-rustls to 0.25.0 & rustls-pemfile to 2.0.0 (#540) - (cb76d18)
 - Update actions/checkout action to v3.6.0 (#541) - (5dce4ce)
 - Update dependency rules_python to v0.27.1 (#546) - (6ef8b6c)
 - Update dependency rules_rust to v0.34.1 (#547) - (637f283)
 - Update dependency @google-cloud/compute to v4.1.0 (#544) - (dbac23a)
 
0.1.0 - 2023-12-20
❌️ Breaking Changes
- [Breaking] Mark S3 store experimental - (05a6dd7)
 - [Breaking] listen_address renamed/remapped in config (#476) - (9db28d6)
 - [Breaking] Rename entrypoint_cmd->entrypoint and precondition_script (#475) - (dbe61d2)
 - [Breaking] Mark prometheus config as experimental (#473) - (931e721)
 - [Breaking] Standardize configurations so they are all lower case (#461) - (3329d7c)
 - [Breaking Change] Message field can now be populated (#361) - (cf2f3e4)
 - [Breaking Change] Add store type to GrpcStore. - (e1f3716)
 - [BreakingChange] Scheduler config now supports multiple impls - (384f14e)
 
⛰️ Features
- Add renovate.json (#487) - (933963f)
 - Add OSFamily and container-image platform props (#512) - (b6b8252)
 - Add fancy badges (#521) - (e122042)
 - Add Git-Cliff Changelog (#515) - (8197bb9)
 - Integrate google analytics (#503) - (ef74f9c)
 - Add OpenSSF scorecard action (#486) - (4d9d897)
 - Add Completeness Checking Store (#404) - (d264624)
 - Publish container images (#443) - (697cddf)
 - Add function to Store API to get the inner store when possible (#410) - (a0788fa)
 - Add GCP to terraform deployment examples (#433) - (4661a36)
 - Add Blake3 digest support (#403) - (2c8f0f0)
 - Add Noop store (#408) - (aea3768)
 - Add DigestHasher as interface to hashing functions (#400) - (9e31ca4)
 - Add rustc explicitly to flake (#398) - (db724c0)
 - Add existence cache (#383) - (e8e6701)
 - Add ability for external scripts (ie: entrypoint_cmd) to manage timeout (#368) - (3ae120a)
 - Add Http2 flags for advanced configurations (#365) - (cb04ed4)
 - Add summary of platform properties to prometheus (#367) - (d9af3b9)
 - Add more err_tip for easier debugging (#363) - (b5ff95d)
 - Add security policy (#343) - (9173c2f)
 - Add retry to GrpcScheduler (#324) - (21519ce)
 - Add ability to ignore EOF check for writers (#341) - (979f941)
 - Introduce Nix development flake (#330) - (a0792fd)
 - Introduce Bazel build for Windows (#317) - (659d571)
 - Added tracking for all client connections since server started and time server started - (0375a8f)
 - Introduced shard store - (a7e3936)
 - Add Contributing file - (4900f06)
 - Add ADDITIONAL_SETUP_WORKER_CMD to Dockerfile - (3c30387)
 - Add windows support - (2875f0b)
 - Add support to build with Cargo - (bff3be3)
 - Add metrics to SimpleScheduler and Worker - (63f7393)
 - Add ability for metris to be disabled - (875b3ca)
 - Add property modifying scheduler. - (656e7f7)
 - Add metrics to LocalWorker and RunningActionsManager - (f0a526b)
 - Add prometheus stats to MemoryStore - (f274dcf)
 - Add retry to GrpcStore. - (259224b)
 - Add prometheus stats for VerifyStore - (5f5b2c4)
 - Add prometheus publishing and hook up FilesystemStore - (04a7772)
 - Add support for backpressure from workers. - (fc97fcb)
 - Add ability to create low watermark to avoid thrashing against eviction cap. - (e16b45c)
 - Add is_empty to LenEntry - (e643090)
 - Add timestamps to executor jobs. - (fa97b28)
 
🐛 Bug Fixes
- Remove Fixed-Buffer Dependency (#509) - (5a6b182)
 - Fix rustfmt after 6d07a86 (#520) - (cfdf7e8)
 - Fixes error forwarding to client for failed command executions (#432) - (0c225da)
 - Fix unwrap function in the Prometheus server code (#446) - (406eab7)
 - Refactor filesystem store for timeout function passing (#439) - (5123ffc)
 - Handle SIGINT (#434) - (f9e537c)
 - Fixup configs to have defaults & digest function uses lower case (#438) - (d56f008)
 - Fix AWS terraform deployment (#423) - (4cc53bc)
 - Fix empty bytes error in s3 store and support AWS_ENDPOINT_URL (#421) - (cf531dc)
 - Migrate S3 store to official AWS SDK (#369) - (6ce11ab)
 - Fix double negative when computing remaining memory % in terraform deployment (#407) - (9e981a5)
 - Fix the typo of WorkerProperty (#391) - (8a1cb6b)
 - Retry GrpcStore write (#326) - (6006e23)
 - Revert “Fix never looping loops (#372)” (#373) - (8e234c5)
 - Fix never looping loops (#372) - (755c10e)
 - Close on complete in GrpcScheduler (#328) - (6c937da)
 - Fix potential race condition if worker disconnects - (b871a90)
 - Don’t download zero size blobs - (c8e2ee8)
 - Fix prometheus metrics to not publish multiple times - (f42f150)
 - Fix readme TLDR - (b6a4046)
 - Fix default config regression in master - (bca2f3d)
 - Fix fence post bugs in dedup store - (d7c847c)
 - Fix the AWS deployment examples - (17bfbf6)
 - Fix inefficient upload of stderr/stdout in workers - (8ac4824)
 - Don’t remove Error context. - (e9ab61e)
 - Fix clippy warnings for scheduler directory - (1491d0a)
 - Fix potential bug where scheduer could drop action - (f118ccd)
 - Fix “unused function” warnings in utf8_range - (f048352)
 - Fix digest clones and a few other minor clippy warnings - (a523115)
 - Fix clippy messages in cas/store - (7fef931)
 - Fix clippy erros for most other non-scheduler files - (264849b)
 - Fix clippy cas/grpc_service folder - (e85faed)
 - Fix most clippy warnings in worker files - (be228d0)
 - Fixes the 
entrypoint_cmdconfiguration - (096d7ea) - Fix a couple of nits with the timestamp additions. - (b320de5)
 
📚 Documentation
- Include command example for Powershell in documentation files (#501) - (0536d8e)
 - Add CodeQL scanning for Python and JS/TS (#484) - (34f0aa0)
 - Add documentation and machine type variables for gcp. (#457) - (cb6540c)
 - Rename docs directory (#468) - (43b4ea8)
 - Add docs to monorepo (#453) - (378b806)
 - Handle SIGTERM (#462) - (e49049c)
 - Make Native Link installable via nix (#442) - (b8f3ef1)
 - Adds README to docker-compose deployment-example (#427) - (3ec203b)
 - Fix the incorrect config path in the documentation (#416) - (7f40696)
 - Rewrite the build infrastructure (#394) - (3147265)
 - update the README for discoverability. (#349) - (5e2e81a)
 - Minor optimizations and documentation to CacheLookupScheduler - (66c403d)
 - Simplify Dockerfile and prepare for Goma example - (65b8f0e)
 - Update README.md - (7563df7)
 - Document that users should use 
-c optfor release builds - (9351f26) - Fix bazel version change that broke proto building and documentation - (1994dde)
 
🧪 Testing & CI
- Fix ensure_full_copy_of_bytes_is_made_test flaky test (#528) - (14fdf4f)
 - Add small sleep in some tests to reduce flakes in CI (#526) - (fd4e6a3)
 - Mark nix-cargo and bazel tests as large ci instances (#524) - (a18d2d2)
 - Scale back a few CI runs (#516) - (245d9bb)
 - Add Kubernetes example (#479) - (e1c495f)
 - Avoid writer EOF until fast store complete (#480) - (2de8867)
 - Fix pre-commit hooks after 378b806 (#482) - (f2bd770)
 - Introduce Local Remote Execution (#471) - (449376b)
 - Separate CI runs by build system (#451) - (75a98f2)
 - Add remaining MacOS targets for further testing (#450) - (8f9da8f)
 - Fix MacOS tests (#449) - (befd1b6)
 - Give flaky memory store test more wiggle room (#448) - (ab0f1ac)
 - Add aarch64-apple-darwin to crates repository supported platforms (#440) - (ff6d5cf)
 - Fix pre-commit hooks after 3ec203b (#435) - (4aa2bc4)
 - Add pre-commit hooks for Starlark (#414) - (06654e6)
 - Add default pre-commit hooks (#405) - (228bdc4)
 - Add pre-commit infrastructure (#401) - (8de3014)
 - Added server readiness string listening to integration tests to reduce flakiness (#378) - (22abf90)
 - Refactor sanitizer CI (#344) - (ce64cc2)
 - Refactor Bazel unit test CI (#342) - (ef794c2)
 - Integration tests should work for Mac OS. (#334) - (1339e9d)
 - Make update_protos test compatible with Windows - (c2e2793)
 - Remove redundant formatting script - (93572d1)
 - Attempt to fix the flake Text file busy (os error 26) error in CI - (b730a90)
 - Attempt to fix flaky tests regarding Text file busy error - (637c8a9)
 - Fix flakey tests due to sync_all() not being called - (6c931fa)
 - Fix bug in BytestreamServer where it would ignore finish_write - (f645d69)
 - Files will now close if held open too long - (67b90e2)
 - Improve caching in CI and fix flakey prometheus test - (ea33b6c)
 - Fix incorrect type check. - (a22e437)
 - Add TSAN suppression and harness - (76326db)
 - Fix ASAN error and enable ASAN in CI - (e0cc0f9)
 - Add optional sanitizer build configurations - (a428e23)
 - Remove need for spawn in BytestreamServer - (44a4593)
 - Enable clippy by default for tests - (f211ef2)
 - Removes needless overoptimization of strings for DigestInfo - (4062d1d)
 - Move CI tests to run under docker - (5322c33)
 - Add convenience config to test clippy - (1185876)
 - Add a test for filestore loading from disk. - (5f3e9f5)
 - Remove the callbacks from the filesystem_store - (e2e62d2)
 
⚙️ Miscellaneous
- Release nativelink 0.1.0 (#533) - (395674f)
 - MacOS use non darwin iconv (#534) - (2e4a131)
 - MacOS enable flake nix builds (#529) - (e1d35d6)
 - Mark GCP & AWS terraform experimental (#522) - (910ad03)
 - Decouple toolchain generation and execution hashes (#523) - (0be8a3a)
 - Support empty digests in stores (#507) - (41a85fb)
 - Increase the Max Blocking Threads (#510) - (6d07a86)
 - Remove beta toolchain from native Cargo builds (#514) - (334e738)
 - Migrate L2 announcements and LB-IPAM to cilium (#505) - (df6f5b9)
 - Move custom crates to nativelink dirs (#483) - (1aadd42)
 - Temporarily disable caching in image action (#466) - (a22150d)
 - Renames the project to nativelink (#463) - (2259251)
 - Remove caching from native cargo action (#458) - (4eab282)
 - Migrate logs to tracing (#387) - (c5c440a)
 - Implement API to drain a specific worker (#413) - (fbf1e44)
 - Use lowercase image names (#447) - (8b49bac)
 - Rename ExistanceStore to ExistanceCacheStore (#437) - (95f470c)
 - Remove the unnecessary scheduler.rs file (#431) - (dd17524)
 - Switch json5 to serde_json5 (#420) - (9279ba1)
 - Move action_messages & part of platform_properties to utils crate (#417) - (6bc991c)
 - Refactor ExistanceStore (#418) - (08b2954)
 - Remove OpenSSL from build requirements (#412) - (55a1292)
 - Remove openssl from flake (#411) - (05ec3f2)
 - Use Blake3 hasher for computing the action message (#395) - (9543964)
 - Rename Turbo Cache to Native Link (#402) - (7d9deaf)
 - Reduce allocations needed to hash uploads (#396) - (6e0d271)
 - Rename proto organization to trace_machina (#389) - (cf5f45b)
 - Migrate from lazy_static to once_cell (#377) - (c4b296c)
 - Move AWS terraform to it’s own directory (#376) - (dd99eb0)
 - RBE consistency. (#364) - (7966d2d)
 - TLS Integration (#316) - (6c753d6)
 - Inline format args in cas_main (#337) - (62a2c1e)
 - Remove futures from scheduler_factory (#336) - (f15146d)
 - Globally enable windows symlinks (#327) - (9d08195)
 - propose a PR template to help newcomers get started more easily. - (b24b214)
 - Always make a copy in MemoryStore to reduce long-lasting allocs - (699dff9)
 - Refactor resource_info to support v2.3 resource names - (d3d0b64)
 - :get _part’s writer is now a mutable reference. - (082a85c)
 - Future proof code from accidentially creating zombies - (4bd986c)
 - Remove spawn in dedup store - (59bbfd8)
 - Change Copyright to Trace Machina, Inc. - (d8685ed)
 - Support injecting property values into worker command. - (06c03de)
 - Populate the fast store on partial read - (e0e0a88)
 - Worker services now start after listeners to prevent error confiusion - (16f2ca5)
 - Output paths are relative to the work directory. - (f835e6d)
 - improve clarity for getting started. - (b677d78)
 - Create CODE_OF_CONDUCT.md - (a9709b4)
 - Implement fast slow metrics. - (10d2618)
 - Make stats in EvictingMap more useful - (03c1a07)
 - Removed properties should be known to the property manager. - (7d0999b)
 - Rename prometheus_utils to metrics_utils - (298bfb9)
 - Move Cargo.toml to Workspace and config to single library - (61d89cd)
 - Prometheus now publishes connected clients - (29fa44a)
 - Streams may now be resumed on disconnect - (b0b66a1)
 - Jobs now honor timeout in action - (fdc6d9b)
 - Replace Sha256 with Blake3 in DedupStore - (b30dfce)
 - Improve prometheus utils api - (87bd0e6)
 - Change StoreTrait::has to take &[DigestInfo]. - (732ae83)
 - Use Axum’s router which supports multiple service types - (4856d35)
 - Create WaitExecution for ExecutionServer. - (857bf40)
 - Removes name from action state and make Operation::name schema - (0fac1ee)
 - Implementation of a cache lookup scheduler. - (fcdf192)
 - Move to UnorderedFutures in cas_store. - (5dc31e2)
 - Implement a GrpcScheduler to forward. - (bf0b933)
 - Promote chosen worker to distribute jobs. - (2fd1702)
 - Remove dependency on 
satackey/action-docker-layer-caching- (0801e26) - Implement Into traits indirectly via From - (86d8c60)
 - Scheduler is now an interface/trait - (13159ae)
 - Rename 
SchedulertoSimpleScheduler- (d9aeefc) - Goma places the platform properties in the command, so populate from there. - (69a9f5f)
 - Save action results in the action cache when they are completed on a worker. - (7bad256)
 - Move scheduler to use blocking mutexes - (74b2f04)
 - Change the version of C++ used for protoc to the earliest supported. - (b62338b)
 - Use recent Ubuntu with Clang as build environment - (5ac2c55)
 - Rename update_worker_with_internal_error - (58b5021)
 - Rename backends.rs to stores.rs - (451f68f)
 - Move trivial data access Mutex’s to sync Mutex. - (812b94d)
 - Perform parallel reading of content directory to speed up startup. - (b354b25)
 - Remove obsolete raze configuration from Cargo.toml - (42b9ce0)
 - Kill currently running actions on scheduler disconnect. - (d5468dc)
 - Workers may be running multiple actions, so track them individually. - (99ee5b7)
 - Gzip compression is now disabled by default and configurable - (f4fcff2)
 - Scheduled jobs should be in a queue, not a stack. - (497446b)
 - Migrate from cargo_raze to crate_universe - (61309c1)
 - Simplify proto generation - (eebd6be)
 - Overhaul filesystem store to no longer use renameat2 - (a3cddf9)
 - Move from fast-async-mutex to async-lock crate as it’s maintained. - (e172756)
 
⬆️ Bumps & Version Updates
- Update dependency mintlify to v4.0.80 (#536) - (7564e5e)
 - Update Rust crate http to ^0.2.11 (#530) - (ca146ac)
 - Update native-cargo.yaml Runner Group (#511) - (e1843f1)
 - Update protobuf dependencies (#493) - (3dacdad)
 - Bump trivially bumpable deps (#488) - (96302cb)
 - Update protos after 1aadd42 (#489) - (9c6efe0)
 - Make max_bytes_per_stream optional in config (#474) - (a01a552)
 - Bump Rust version to 1.74 (#459) - (5412d7c)
 - Update nightly Rust toolchain for Bazel (#456) - (5acfa25)
 - Update Bazel to 6.4.0 (#381) - (2fb59b6)
 - Update Rust version to 1.73.0 (#371) - (56eda36)
 - Reduce flakiness of memory_store_test (#318) - (ee1f343)
 - Make memory_store_test compatible with Windows (#315) - (2c7e22b)
 - Update rules_rust to 0.29.0 - (d925e26)
 - Update Bazel to 6.3.2 - (c577db5)
 - Introduce get_part_ref() and migrate primary use to .get_part() - (fb6e1fd)
 - Update remote_execution.proto to v2.3 - (4c71336)
 - Update all dependencies to their latest versions - (6a72841)
 - Update Bazel to 6.2.1 - (d30571e)
 - Update dependencies. - (85bf34d)
 - Update rules_rust to 0.20.0 - (7a543c2)
 
[1.0.1] - 2022-10-17
⛰️ Features
- Add support for environmental variable lookup in S3Store config - (cb0de9e)
 - Add ability to use env variables in config files - (d54b38e)
 - Add Send trait to as_any() store calls - (c4be423)
 - Add fs module which limits outstanding file handles - (f7b565f)
 - Add functionality for worker to download and create working dir - (5e7f9ef)
 - Adds .as_any() to stores - (e5de86d)
 - Adds initial implementation for LocalWorker and supporting classes - (90cff23)
 - Various minor updates - (cf6dd3d)
 - Add shlex package in third_party - (d935d7f)
 - Add worker config definitions and rename Metadata to Priority - (98c4e08)
 - Add WorkerApiServer to services being served - (af0ccc3)
 - Add support for keep alive for workers - (be6f2ee)
 - [RE] Add WorkerApiService and connection functionality - (e8a349c)
 - [RE] Various changes to worker_api.proto - (86220b7)
 - Add uuid package and update other packages - (5115bc6)
 - Add SizePartitioningStore - (d0112be)
 - Add RefStore and restructure StoreManager - (6795bb0)
 - Can now pass json config through CLI & add more sample configs - (ea4d76d)
 - Add nix package and upgrade third_party packages - (a451628)
 - Add basic scaffolding for scheduler + remote execution - (c91f61e)
 - Adds readme to configuration - (54e8fe7)
 - Add filesystem store - (d183cad)
 - Adds simple query_write_status support - (844014a)
 - Add buf_channel that will be used to help transport bytes around - (7e111c1)
 - Add byteorder to third_party cargo - (a76a35f)
 - Adds more eviction templates and functions in prep for filesystem store - (f2896a7)
 - Adds FastSlow store that will try the fast store before slow store - (8c71137)
 - Add dedup store - (2dba31c)
 - Add retry support to get_part in s3_store - (ea2fc4c)
 - Add CompressionStore and implement LZ4 compression - (d6cd4f9)
 - Add s3 configuration - (be87381)
 - Add retry utility in prep for s3_store - (86e63ee)
 - Add async_read_taker in prep for s3_store - (90222f9)
 - Add trust_size to DigestInfo - (d8f218f)
 - Add ability for VerifyStore to check the sha256 hash of the digest - (40ba2fb)
 - Add sha2 to Cargo.toml in prep for sha256 checking - (0eb2dab)
 - Add mock_instant library to Cargo.toml - (34b9312)
 - Add maplit to third_party dependencies - (b09153b)
 - Add json package dependencies and updates packages - (69cf723)
 - Add read stream support - (5c2db23)
 - Add drop_guard to Cargo.toml - (3c147cd)
 - Add ability to read partial store - (0b304cc)
 - Add multi-threading and fix some minor performance issues - (0ed309c)
 - Add DigestInfo utility - (25bef4a)
 - Add much better way to do error logging with .err_tip() - (9ae49b6)
 - Add futures package to Cargo.toml - (92912e6)
 - Add Capabilities and Execution api endpoints - (24dec02)
 - Add ./rust_fmt.sh - (5c65005)
 - Add dependent proto files for bazel cas - (d845d40)
 
🐛 Bug Fixes
- Fix bug if no instance_name/resource_name is given upload does not work - (b010b4b)
 - Fix scheduler so platform properties are properly restored - (059b0ef)
 - Fix bug on output_files’ folders were not being created - (bb010f2)
 - Fix bug where worker was not creating working directory properly - (4e51b6d)
 - Fix wrong 
type_urlin google-proto’s Any type - (9cda96a) - Fix bug during .has() call in dedup store - (5cc9a09)
 - Fixed various bugs in filesystem store - (7ba407d)
 - Fix bug in evicting_map with unref improperly called and readability - (ea393a5)
 - Fix minor issue in FastSlowStore - (81fb378)
 - Fix case where s3 uploads in wrong order - (4798fe9)
 - Fix bug in s3_store where 5mb is calculated wrong & improve debugability - (0451781)
 - Fix s3_store - (efcb653)
 - Fixed AsyncFixedBuffer - (519fa9f)
 - Minor changes to AsyncFixedBuffer - (a506363)
 - Fix lifetime of StoreTrait::update() - (9ec43a2)
 - Fix —config debug config to properly add debug symbols - (90b43c6)
 - Fix small bug in gen_rs_proto - (627c0f8)
 - Fix small needless cast to i64 - (59c609e)
 - Fix bug with verify_store when receiving multiple chunks - (a78caec)
 - Fixed typo in debug message when instance_name is not properly set - (d231ea1)
 - Fixed EOF bits and few other items in order to get bazel working - (8558ee9)
 - Fix async_fixed_buffers to add get_closer() - (9225b1f)
 - Fix memory leak - (c27685c)
 - Fix Store import in cas_server.rs - (a7e7859)
 
📚 Documentation
- Add terraform deployment example and documentation - (c7dff9f)
 - Filesystem store now delays before deleting temp file - (33d88c5)
 - Support deprecated symlink fields & fix bug for workers use CWD - (00431f9)
 - FastSlowStore now properly documented and used in LocalWorkerConfig - (728cb90)
 
🧪 Testing & CI
- Adds GrpcStore and first integration tests - (117e173)
 - Fix bug in scheduler of not removing actions after execution - (f2b825b)
 - Fixes flakey filesystem_store_test - (717d87a)
 - First draft to get remote execution working - (f207dfa)
 - Restructure LocalWorker for easier testing - (d7d71a1)
 - Fix bug in memory store when receiving a zero byte object - (52445a1)
 - Fix github CI badge - (2758d22)
 - Adds automated CI tests on pull requests and master - (e647de0)
 - Add more basic scheduler support - (2edf514)
 - Dedup store will now bypass deduplication when size is small - (997be53)
 - Fix buf in bytestream_server when NotFound was returned - (a4634eb)
 - Upgrade rustc, use new nightly, rules_python, and rustfmt - (d0c31fb)
 - Fix format of util/tests/async_read_taker_test.rs - (cd12d1d)
 - dummy_test.sh will now print some equal signs when done - (1227d39)
 - Added single_item_wrong_digest_size test back to stable - (b517db1)
 - Add //:dummy _test that is useful for testing caching - (e5a1e9a)
 - Add dummy test that is used for easy caching - (efd449a)
 - Add test for bytestream::write() - (5dc8ac0)
 - Add bytestream server scaffolding - (7aff76f)
 - Add test for single item update action cache - (c3d89e1)
 - get_action_result done with tests - (fcc8a31)
 - Add first test for ac_server - (221ed5f)
 - Add test and fix bug when querying and using bad hash on .has() - (9adbe81)
 - Add test for batch_read_blobs - (4b1ae1a)
 - Add tests for invalid memory store requests - (4f8e5a7)
 - Add impl and tests for get store data - (7922f84)
 - Basic HashMap for memory store and enable store_one_item_existence test - (5206e74)
 - Add test for store_one_item_existence - (a6f1a70)
 - Add store and first test - (ed4bde4)
 - Add ability to resolve GetCapabilities and bazel connect testing - (1aba20c)
 
⚙️ Miscellaneous
- Change license to Apache 2 license - (1147525)
 - Remove dependency on rust-nightly - (41028a9)
 - Enable Gzip compression support to GRPC - (438afbf)
 - Make JSON environmental variable lookup much better - (16a1a18)
 - Support more platforms for compilation - (7e09945)
 - Scheduler will retry on internal errors - (2be02e2)
 - LocalWorker will now purge the work directory on construction - (7325ffb)
 - Upgrade dependencies - (0765b63)
 - Upgrade LRU package and other deps - (1c02c09)
 is_executableflag on files now overrides unix_mode exec flag - (420e7ee)- Remove the requirement of using reference for action_messages - (5daa4ff)
 - Services in main() now run in their own spawn - (09c52d9)
 - Implement execution_response() in WorkerApiServer - (e26549a)
 - Implement going_away() support to WorkerAPIServer - (0b68053)
 - Rename project turbo-cache - (76a7131)
 - Remove small item optimization in dedup_store and .has() calls - (f9e090d)
 - S3 now has a limit on number of active requests at a time - (025305c)
 - Cleanup un-needed lifetime annotations in store traits - (e341583)
 - Refactor code to use streams instead of AsyncRead/AsyncWrite - (697a11c)
 - Move evicting_map to use bytes instead of Vec for future efficencies - (9abc64c)
 - Minor change to make fastcdc return Bytes intead of BytesMut - (d5f1918)
 - EvictingMap is now a template - (791dc67)
 .has()now returns size on success instead of boolean - (6a88752)- Slightly improve the performance of fastcdc by ~30% - (3063d2c)
 - Stores now support non-exact upload sizes & S3 store optimizations - (d093fdd)
 - Upgrade deps packages (tonic, tokio, tonic) - (692070a)
 - Various changes to improve debugging - (3a4d743)
 - Remove DigestInfo.trust_size & add expected_size to update() function - (e8a83eb)
 - Use fast-async-mutex for all mutex needs - (c5d450c)
 - Minor changes to ac_server to reduce chance of allocations - (41f989f)
 - Upgrade cargo packages and rust version - (7956a02)
 - Remove Sync requirement for ResultFuture - (59720c9)
 - Upgrade tonic, tokio and prost - (14eebc6)
 - MemoryStore now properly honors HASH and size constraints - (52b9ddb)
 - Move EvictingMapt to use DigestInfo - (1148952)
 - MemoryStore now can be configured to evict entries - (5830d0b)
 - ByteStream service now properly honors instance_name - (e9c8915)
 - Action Cache service now properly honors instance_name - (7af7cc6)
 - Remove need to pass CAS store to action cache service - (cc37b08)
 - CAS service now supports instance name partitioning - (faba6c9)
 - Moved hard coded settings to config - (0f7b2d0)
 - Configuration is now loaded from json - (99d170c)
 - Move store to use Pin and DigestInfo is no longer ref - (cf8cb79)
 - Now rust_fmt.sh will compile dependencies if needed - (c93b852)
 - Now use opt by default and add —config debug flag for dbg in bazel - (2abea44)
 - Better logging - (e61482a)
 - Improve logging - (7068b4b)
 - Store now has flag of when to verify the size of the digest - (6c70370)
 - Implement bufferstream’s write() - (e09db45)
 - Move AC to inner functions - (5452f4b)
 - Upgrade tokio library - (3e8c210)
 - Implement get_action_result for action cache - (04d6a6d)
 - Remove need for exposing store in CasServer - (b4682cb)
 - Makes storage an Arc in prep for action cache good-ness - (365151a)
 - Cas batch_read_blobs now works - (42d4c8d)
 - Move some code to common util library - (2048d24)
 - Move macros to //util folder - (2fe5d30)
 - Cleanup capabilities a little - (4f5aad9)
 - CAS server moved to cas directory - (fcca6df)
 - Ignore target directory and ./rust_fmt.sh uses parallel now - (7a070b9)
 - Bazel remote execution server mock - (862a923)
 - Initial commit - (4bf7887)
 
⬆️ Bumps & Version Updates
- Add minimum bazel version to .bazelversion - (a2be6f5)
 - Updates cargo packages - (a610e69)
 - Various minor changes - (2546a77)
 - Upgrade prost & tonic - (baad561)
 - Adds ability in proto for worker to return internal errors - (576aff4)
 - Restructure config format in prep for WorkerApiServer - (e8ce3a8)
 - Update Readme - (ecb4dc5)
 - Update third_party/Cargo in prep for s3_store - (f00b58f)
 - Update cargo packages - (786552f)
 - Move to 120 character line limit - (feb392d)
 - Update fully works for CAS w/ tests - (d2ed91e)