What's Changed
- Start development on 1.54.0 by @cjreynol in #2455
- Replace usage of android::base::Readlink by @jemoreira in #2453
- CF host debian package deployment should be in advance of on-premise server image by @0405ysj in #2447
- Add crun as dependency of cuttlefish-podcvd by @0405ysj in #2458
- Install linux-headers/linux-image although not having backports. by @0405ysj in #2459
- Clean up simple_device reference implementation and start using emulated_camera_splane implementation. by @ser-io in #2451
- Consolidate Bazel modules in frontend and fix build by @Databean in #2435
- Revert "Do not preserve owner user/group when extracting tar archive" by @Databean in #2463
- Gather data for fetch metrics (but do not transmit) V2 by @cjreynol in #2391
- Introduce bsdtar wrapper to fix bsdtar issue on podcvd fetch by @0405ysj in #2465
- Expose CF home dir via rw bind mount of container instance on podcvd by @0405ysj in #2466
- Port: "Add radio desktop apex to legacy boot config" by @ser-io in #2468
- Introduce E2E tests on podcvd by @0405ysj in #2300
- Metrics gathering for cvd invocation sources (version 2) by @cjreynol in #2471
- Add const char* and std::string_view overloads for StringFromEnv by @Databean in #2472
- Update dependency of cuttlefish-podcvd to use podman(>=4.4) for pasta by @0405ysj in #2475
- Update release procedure of cuttlefish-podcvd by @0405ysj in #2476
- Always use Hyperdisk for ARM machine types. by @3405691582 in #2479
- Replace some uses of android::base::unique_fd with SharedFD by @jemoreira in #2473
- Replace usages of android::base::Realpath by @jemoreira in #2446
- Detect stockouts on ARM machine types in GCE. by @3405691582 in #2478
- Cleanup disk if it can't be attached. by @3405691582 in #2480
- Update metrics protos with expanded fields by @cjreynol in #2486
- Name the disk when attaching it. by @3405691582 in #2483
- Remove default for -arch and make it mandatory. by @3405691582 in #2481
- Make -arch mandatory across all tools. by @3405691582 in #2485
- Install image with docker pull as well as load. by @3405691582 in #2482
- Detect failures in GCE operation wait functions. by @3405691582 in #2470
- Added host orchestrator endpoint for cvd status by @SuperStrongDinosaur in #2395
- Correct argument order in cleanupDetachDisk. by @3405691582 in #2484
- Pass through the path to the iptables binary. by @3405691582 in #2460
- Lift requirement that devices have bootconfig by @Databean in #2474
cvd createdetects and fails when creating already existing group by @jemoreira in #2492- Transmit new metrics data by @cjreynol in #2493
Full Changelog: v1.53.0...v1.54.0
What's Changed
- Mark v1.51.0 as unreleased. by @3405691582 in #2333
- Add a powerwash e2etest by @jmacnak in #2311
- Use github standard runner with having more free space by @0405ysj in #2337
- Add cloud image installer for Gigabyte Ampere server. by @grandpaul in #2303
- Remove "requires_gpu" tag from gfxstream+swangle tests by @jmacnak in #2336
- Revert "Use github standard runner with having more free space" by @0405ysj in #2339
- Optimize TAP interface check. by @bridadan in #2326
- Remove "requires_gpu" tag from powerwash tests by @jmacnak in #2335
- Add corresponding config file for kokoro_gpu check for merge queue by @0405ysj in #2350
- Add tools on cuttlefish_mcp_server, but executing podcvd directly by @0405ysj in #2338
- Fixes some bugs around container lifecycle on podcvd by @0405ysj in #2341
- Replace android::base::NoDestructor with abseil's by @jemoreira in #2347
- Replace some android::base functions with abseil's equivalents by @jemoreira in #2346
- Use absl::StrSplit instead of android::base::Split by @jemoreira in #2345
- Set default file attributes for fetches by @rmuthiah in #2340
- Replace android::base::ScopedGuard with absl::Cleanup by @jemoreira in #2349
- Run powerwash tests on gfxstream modes by @jmacnak in #2344
- Boilerplate for an emulated camera viertio-media device. by @ser-io in #2343
- Replace android::base::StringReplace with absl::StrReplaceAll by @jemoreira in #2356
- Use absl::BytesToHexString instead of libbase's HexString by @jemoreira in #2359
- Replace android::base::StringPrintf with absl::StrFormat by @jemoreira in #2357
- gigabyte-ampere-cuttlefish-installer: preseed.cfg: make dhcp timeout … by @grandpaul in #2352
- Use memcpy instead of android::base::get_unaligned by @jemoreira in #2360
- Isolate Cuttlefish instance groups between AI agents on CF MCP server by @0405ysj in #2351
- Fail if new BOARD_BOOTCONFIG keys are found. by @ser-io in #2358
- Revert "Run powerwash tests on gfxstream modes" by @jemoreira in #2368
- Mark release 1.51.0 as unstable by @jemoreira in #2370
- Start development of version 1.52 by @jemoreira in #2371
- Use
androidboot.cuttlefish_service_bluetooth_checkerin launcher. by @ser-io in #2367 - Rename
cameraflag tomedia. by @ser-io in #2353 - Replace android::base::Append with fold expression by @jemoreira in #2369
- Add udev rules for reverse ncm device interface service by @zenczykowski in #2366
- Use absl::StripAsciiWhitespace instead of android::base::Trim by @jemoreira in #2372
- Fix 9 ClangTidyReadability findings: by @jemoreira in #2373
- Metrics refactors in preparation for incoming fetch metrics gathering by @cjreynol in #2387
- Do not filter containers when allContainers is set by @0405ysj in #2388
- Fix
podcvd createto deal with parallel execution properly by @0405ysj in #2389 - Fix redundant get() call on smart pointer in oauth2_consent.cpp by @Databean in #2392
- Mark release 1.49.0 as stable by @ser-io in #2390
- Update Gfxstream to 765baff by @jmacnak in #2393
- webrtc: Add Sound volume and mute controls support by @thjnk in #2213
- swiftshader: add riscv64 default condition to select() blocks by @monkey-jsun in #2379
- Add NVENC AV1 hardware video encoding for WebRTC by @larsers in #2240
- gigabyte-ampere-cuttlefish-installer: preseed.cfg: disable backports by @grandpaul in #2394
- Add missing include to audio_settings.h by @Databean in #2397
- debian: add riscv64 bazel output paths to dh-exec install files by @monkey-jsun in #2385
- libwebrtc: add generic DSP implementations for riscv64 by @monkey-jsun in #2383
- Revert "Fail if new BOARD_BOOTCONFIG keys are found." by @ser-io in #2404
- Replace libbase's ReadFully and WriteFully by @jemoreira in #2398
- Revert "Add NVENC AV1 hardware video encoding for WebRTC" by @jmacnak in #2407
- Bump bzip2 ver to 1.0.8.bcr.4 and remove patch. by @dxapd in #2399
- Implicitly add :gtest and :gtest_main dependencies to cf_cc_test targets by @Databean in #2408
- Mark the 1.52 release as unstable by @Databean in #2412
- Start development on 1.53.0 by @Databean in #2414
- Add some utilities for PATH searching. by @3405691582 in #2405
- Bump vhost and vhost-user-backend deps. by @ser-io in #2416
- Add staging build configs by @jmacnak in #2415
- Added host orchestrator endpoint for cvd restart by @SuperStrongDinosaur in #2088
- Replace libbase's ReadFileToString by @jemoreira in #2406
- Replace libbase's WriteStringToFd with cuttleifsh::WriteExact by @jemoreira in #2400
- Rename emulated_camera to emulated_camera_mplane by @ser-io in #2417
- Allow group to write to /tmpfs/src by @jmacnak in #2420
- Add more functions to config_instance_derived.cc by @Databean in #2422
- Fix clang-tidy readability finding by @jemoreira in #2426
- Split
//cuttlefish/host/frontend/webrtc/libdevice:libdeviceby @Databean in #1522 - Enable launching legacy Cuttlefish builds by @rmuthiah in #2421
- Move container image creation code into dedicated subdir by @0405ysj in #2430
- Add CpioReader for reading CPIO archives by @Databean in #2423
- Mark release 1.51 as stable by @jemoreira in #2410
- Introduce emulated camera device generating single planar (MJPEG) for… by @ser-io in #2425
- Use vhost user media binary rather than crosvm flag. by @ser-io in #2313
- Hide irrelevant commands in cvd help by default by @Databean in #2429
- Separate the webRTC target by @Databean in #2433
- Refine GH postsubmit workflow to calculate version schema earlier by @0405ysj in #2436
- Fix typo on update-cache-and-deployment.yaml for adopting image-version by @0405ysj in #2440
- Remove select() use in cuttlefish/package/BUILD.bazel by @ser-io in #2437
- gigabyte-ampere-cuttlefish-installer: modify actions and workflow to support pinned version by @grandpaul in #2442
- Replace android::base::RemoveFileIfExists by @jemoreira in #2445
- Podcvd uses proper container image version, based on version itself by @0405ysj in #2439
- Append an environment variable to
cvdcmds by @cjreynol in #2434 - Reapply "Fail if new
BOARD_BOOTCONFIGkeys are found." by @ser-io in #2441 - Return "adb_port". by @ser-io in #2438
- Media e2e test by @ser-io in #2443
- Update e2e tests containers documentation to using rootless podman. by @ser-io in #2432
- Mark 1.52 as stable by @Databean in #2449
- Protbuf best practice: Do Include an Unspecified Value in an Enum by @ser-io in #2444
- Always show all help commands by @cjreynol in #2452
- Mark release 1.53 as unstable by @cjreynol in #2454
- Start development on 1.54.0 by @cjreynol in #2455
- Replace usage of android::base::Readlink by @jemoreira in #2453
- CF host debian package deployment should be in advance of on-premise server image by @0405ysj in #2447
- Add crun as dependency of cuttlefish-podcvd by @0405ysj in #2458
- Install linux-headers/linux-image although not having backports. by @0405ysj in #2459
- Clean up simple_device reference implementation and start using emulated_camera_splane implementation. by @ser-io in #2451
- Consolidate Bazel modules in frontend and fix build by @Databean in #2435
- Revert "Do not preserve owner user/group when extracting tar archive" by @Databean in #2463
- Gather data for fetch metrics (but do not transmit) V2 by @cjreynol in #2391
- Introduce bsdtar wrapper to fix bsdtar issue on podcvd fetch by @0405ysj in #2465
- Expose CF home dir via rw bind mount of container instance on podcvd by @0405ysj in #2466
- Port: "Add radio desktop apex to legacy boot config" by @ser-io in #2468
- Introduce E2E tests on podcvd by @0405ysj in #2300
- Metrics gathering for cvd invocation sources (version 2) by @cjreynol in #2471
- Add const char* and std::string_view overloads for StringFromEnv by @Databean in #2472
- Update dependency of cuttlefish-podcvd to use podman(>=4.4) for pasta by @0405ysj in #2475
- Update release procedure of cuttlefish-podcvd by @0405ysj in #2476
- Always use Hyperdisk for ARM machine types. by @3405691582 in #2479
- Replace some uses of android::base::unique_fd with SharedFD by @jemoreira in #2473
- Replace usages of android::base::Realpath by @jemoreira in #2446
- Detect stockouts on ARM machine types in GCE. by @3405691582 in #2478
- Cleanup disk if it can't be attached. by @3405691582 in #2480
- Update metrics protos with expanded fields by @cjreynol in #2486
- Name the disk when attaching it. by @3405691582 in #2483
- Remove default for -arch and make it mandatory. by @3405691582 in #2481
- Make -arch mandatory across all tools. by @3405691582 in #2485
- Install image with docker pull as well as load. by @3405691582 in #2482
- Detect failures in GCE operation wait functions. by @3405691582 in #2470
- Added host orchestrator endpoint for cvd status by @SuperStrongDinosaur in #2395
- Correct argument order in cleanupDetachDisk. by @3405691582 in #2484
- Pass through the path to the iptables binary. by @3405691582 in #2460
- Lift requirement that devices have bootconfig by @Databean in #2474
cvd createdetects and fails when creating already existing group by @jemoreira in #2492- Transmit new metrics data by @cjreynol in #2493
go fmtcvd e2e tests. by @ser-io in #2495- Bump build id used in orchestration e2e tests. by @ser-io in #2499
- Fix include adb bugreport. by @ser-io in #2503
- Enable back including adb bugreport in orchestration e2e test. by @ser-io in #2507
- Make the output of
cvd help <command>the same ascvd <command> --helpby @jemoreira in #2505 - Enable gemini-cli workflows for code review and security analysis by @adelva1984 in #2500
- Fix netsimd by @jmacnak in #2510
- Tidy up cURL error messages in metrics cases by @cjreynol in #2508
- Bump build id used in create_single_instance_test. by @ser-io in #2513
- Auto login for cvd fetch by @cjreynol in #2487
- Stop using EmulatedAbsolutePath by @jemoreira in #2509
- Remove CommandSequenceExeuctor by @Databean in #2512
- cvd: Add support for logging to a file by @Databean in #2506
- Cvd logs subcommand by @ser-io in #2498
- Retry when DialTimeout fails. by @ser-io in #2516
- Use fixed build_id for media_test. by @ser-io in #2521
- Add CvdMonitor command to monitor device logs. by @Databean in #2518
- Expose operator into another port of the host to avoid port collision by @0405ysj in #2525
- Resolve path to the iptables binary. by @3405691582 in #2515
- Return struct CommandOutput rather than two strings. by @ser-io in #2520
- Substitute all artifacts when the build has the debian_substitution_marker present. by @ser-io in #2491
- Disable cvdalloc if iptables cannot be resolved. by @3405691582 in #2526
- Cleanup includes. by @3405691582 in #2528
- [assemble_cvd] Replace slow lsof for file cleanup by @bridadan in #2489
- Remove deleted target from substitution file by @cjreynol in #2522
- Fail with unsupported flags. by @ser-io in #2530
- Fix launch with kernel repacking by @Databean in #2531
- cvd: start and bugreport help works everywhere by @jemoreira in #2517
- Trim down
cvd createoutput by @cjreynol in #2523 - Statically allocate the iptables path. by @3405691582 in #2527
- Fix 1 ClangTidyReadability finding: redundant get() call on smart pointer. by @Databean in #2536
- Create privileged executable for refreshing groups by @Databean in #2532
- Load modules in postinst. by @3405691582 in #2519
- Create library for declaring log names. by @ser-io in #2537
- Do not show full group JSON to users by default at the end of
cvd createby @cjreynol in #2533 - Fix two memory issues detected by asan by @Databean in #2541
- Refactor podcvd setup procedure by @jemoreira in #2524
- Rename the V2 metrics log by @cjreynol in #2538
- Don't store references to cuttlefish::CuttlefishConfig::InstanceSpecific by @jemoreira in #2543
- More log names definitions by @ser-io in #2544
- Enforce
clang-formaton Cuttlefish code by @Databean in #2545 - Refactor selector argument parsing in cvd by @Databean in #2535
- Selector cleanup by @cjreynol in #2550
- Some QoL improvements in cvd command handlers by @jemoreira in #2546
- Introduce skill of podcvd, and prepare deprecation of MCP server by @0405ysj in #2556
- Remove gitYYYYMMDDHHMM- prefix for setting nightly docker tag by @0405ysj in #2557
- Adds systemd unit file for cuttlefish-host-resources.service by @ser-io in #2553
- Add postrm and prerm for cuttlefish-base debian package. by @ser-io in #2559
- cvd: Introduce setup command and refactor host validation by @Databean in #2552
- Refresh groups if necessary when running
cvdcommands by @Databean in #2534 - Move cvd subcommand class declaration to headers by @jemoreira in #2562
- Operator systemd unit by @ser-io in #2560
- Centralize .clang-tidy configuration files by @Databean in #2564
- Orchestrator systemd unit by @ser-io in #2566
- Remove Cuttlefish MCP server, as podcvd skill can do the role by @0405ysj in #2565
- Map old commands at cvd into actively supported command in podcvd by @0405ysj in #2570
- Add linkopts to build_variables.bzl. by @3405691582 in #2567
- cvd: prune old log files in user log directory by @Databean in #2568
- Add systemd unit file for cuttlefish-podcvd.service by @0405ysj in #2572
- Update podcvd skill, and include more evaluations by @0405ysj in #2575
- Declare contents: read on the seven workflows without an explicit scope by @arpitjain099 in #2558
- More log names by @ser-io in #2578
- Make --gpu_mode=gfxstream_guest_angle[_host_swiftshader] default by @jmacnak in #2576
- Update SwiftShader to f9d5d49a3c599a315e3493dc1e9b5309cffb3305 by @jmacnak in #2577
- Set up shared library targets. by @3405691582 in #2573
- Improve
cvd help startoutput by @jemoreira in #2569 - Group-level logs by @ser-io in #2529
- Support different emulated camera types for splane and mplane by @chihchiachen in #2555
- Add auto targets to cvd_create_tests and launch_cvd_tests by @chihchiachen in #2563
- Revert "Added host orchestrator endpoint for cvd status" by @ser-io in #2583
- Replace
cvd loadwithcvd create --config_filein e2etests by @chihchiachen in #2584 - Use relevant log names constant variables. by @ser-io in #2585
- Prefer Gfxstream over Gfxstream+ANGLE temporarily by @jmacnak in #2586
- feat: support dynamic bind mounting in podcvd by @ikicha in #2571
- Revert "Set up shared library targets." by @ser-io in #2587
- Remove udev rules for /dev/vhost-vsock and /dev/vhost-net by @Databean in #2589
- Add user to kvm (and cvdnetwork) group when podcvd-setup is executed by @0405ysj in #2590
- Use mirror.gcr.io rather than docker hub for pulling base image by @0405ysj in #2579
- Treat all monitored subprocesses as critical. by @3405691582 in #2592
- Migrate iptables and ebtables usages in host resources script to nftables by @dxapd in #2561
- Handle AMD GPU + KVM bug check by @jmacnak in #2595
- Revert "Migrate iptables and ebtables usages in host resources script to nftables" by @ser-io in #2598
- Revert "Treat all monitored subprocesses as critical." by @ser-io in #2600
- logs command: handle cases where instance_dir and logs dir were not yet created by @ser-io in #2597
- Add selector flags to
cvd help startby @jemoreira in #2588 - Don't ask to choose groups on
cvd help startby @jemoreira in #2602 - Include cuttlefish-podcvd under cuttlefish-common by @0405ysj in #2591
- Reapply the nftables migration changes. by @dxapd in #2604
- Use INADDR_LOOPBACK for adb serial by @jemoreira in #2609
- Use only appended partitions during raw disk build by @dimorinny in #2610
- cvd: Begin simplifying creation analyzer by @jemoreira in #2606
- Reapply "Set up shared library targets." by @3405691582 in #2594
- run_cvd: Improve tap device validation error messages by @bridadan in #2601
- cvd: Better help for load and start subcommands by @jemoreira in #2605
- Implement GET /cvds/{group}/{name} endpoint by @SuperStrongDinosaur in #2607
- Fix Cuttlefish multi-instance restart deadlocks, socket hangs, and UWB/bootconfig configuration mismatches by @SuperStrongDinosaur in #2581
- Move the new gpu mode opt-in behind a stubbed googler guard by @jmacnak in #2611
- Remove acl-restore.sh, and add do setfacl via udev instead by @0405ysj in #2580
- Revert "Reapply "Set up shared library targets."" by @3405691582 in #2625
- Fix the gpu mode ordering in the non-opt'ing path by @jmacnak in #2624
New Contributors
- @zenczykowski made their first contribution in #2366
- @monkey-jsun made their first contribution in #2379
- @dxapd made their first contribution in #2399
- @SuperStrongDinosaur made their first contribution in #2088
- @arpitjain099 made their first contribution in #2558
Full Changelog: v1.50.0...v1.54.0