From e65c3e11c2d96e57e194ce98724ca9cb52d0e2e8 Mon Sep 17 00:00:00 2001 From: won Date: Wed, 8 Apr 2026 13:30:17 -0700 Subject: [PATCH 1/3] Launch image generation by default --- codex-rs/features/src/lib.rs | 4 ++-- codex-rs/features/src/tests.rs | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/codex-rs/features/src/lib.rs b/codex-rs/features/src/lib.rs index 590a1ff69f95..05b17f53590e 100644 --- a/codex-rs/features/src/lib.rs +++ b/codex-rs/features/src/lib.rs @@ -794,8 +794,8 @@ pub const FEATURES: &[FeatureSpec] = &[ FeatureSpec { id: Feature::ImageGeneration, key: "image_generation", - stage: Stage::UnderDevelopment, - default_enabled: false, + stage: Stage::Stable, + default_enabled: true, }, FeatureSpec { id: Feature::SkillMcpDependencyInstall, diff --git a/codex-rs/features/src/tests.rs b/codex-rs/features/src/tests.rs index 40009dd884a5..0584a7aae5e1 100644 --- a/codex-rs/features/src/tests.rs +++ b/codex-rs/features/src/tests.rs @@ -146,9 +146,9 @@ fn use_linux_sandbox_bwrap_is_a_removed_feature_key() { } #[test] -fn image_generation_is_under_development() { - assert_eq!(Feature::ImageGeneration.stage(), Stage::UnderDevelopment); - assert_eq!(Feature::ImageGeneration.default_enabled(), false); +fn image_generation_is_stable_and_enabled_by_default() { + assert_eq!(Feature::ImageGeneration.stage(), Stage::Stable); + assert_eq!(Feature::ImageGeneration.default_enabled(), true); } #[test] From 0aef08e255b08adf6e0a6fef9a68caa7bd193644 Mon Sep 17 00:00:00 2001 From: won Date: Wed, 8 Apr 2026 14:07:42 -0700 Subject: [PATCH 2/3] Update image generation default tool expectations --- codex-rs/core/src/tools/spec_tests.rs | 9 +++++++++ codex-rs/tools/src/tool_registry_plan_tests.rs | 1 + 2 files changed, 10 insertions(+) diff --git a/codex-rs/core/src/tools/spec_tests.rs b/codex-rs/core/src/tools/spec_tests.rs index 2a2c11a917df..c2c408fce154 100644 --- a/codex-rs/core/src/tools/spec_tests.rs +++ b/codex-rs/core/src/tools/spec_tests.rs @@ -343,6 +343,7 @@ fn test_build_specs_gpt5_codex_default() { "request_user_input", "apply_patch", "web_search", + "image_generation", "view_image", "spawn_agent", "send_input", @@ -366,6 +367,7 @@ fn test_build_specs_gpt51_codex_default() { "request_user_input", "apply_patch", "web_search", + "image_generation", "view_image", "spawn_agent", "send_input", @@ -391,6 +393,7 @@ fn test_build_specs_gpt5_codex_unified_exec_web_search() { "request_user_input", "apply_patch", "web_search", + "image_generation", "view_image", "spawn_agent", "send_input", @@ -416,6 +419,7 @@ fn test_build_specs_gpt51_codex_unified_exec_web_search() { "request_user_input", "apply_patch", "web_search", + "image_generation", "view_image", "spawn_agent", "send_input", @@ -439,6 +443,7 @@ fn test_gpt_5_1_codex_max_defaults() { "request_user_input", "apply_patch", "web_search", + "image_generation", "view_image", "spawn_agent", "send_input", @@ -462,6 +467,7 @@ fn test_codex_5_1_mini_defaults() { "request_user_input", "apply_patch", "web_search", + "image_generation", "view_image", "spawn_agent", "send_input", @@ -484,6 +490,7 @@ fn test_gpt_5_defaults() { "update_plan", "request_user_input", "web_search", + "image_generation", "view_image", "spawn_agent", "send_input", @@ -507,6 +514,7 @@ fn test_gpt_5_1_defaults() { "request_user_input", "apply_patch", "web_search", + "image_generation", "view_image", "spawn_agent", "send_input", @@ -532,6 +540,7 @@ fn test_gpt_5_1_codex_max_unified_exec_web_search() { "request_user_input", "apply_patch", "web_search", + "image_generation", "view_image", "spawn_agent", "send_input", diff --git a/codex-rs/tools/src/tool_registry_plan_tests.rs b/codex-rs/tools/src/tool_registry_plan_tests.rs index 7a66eaf0e43d..76e9d2d4d109 100644 --- a/codex-rs/tools/src/tool_registry_plan_tests.rs +++ b/codex-rs/tools/src/tool_registry_plan_tests.rs @@ -94,6 +94,7 @@ fn test_full_toolset_specs_for_gpt5_codex_unified_exec_web_search() { search_context_size: None, search_content_types: None, }, + create_image_generation_tool("png"), create_view_image_tool(ViewImageToolOptions { can_request_original_image_detail: config.can_request_original_image_detail, }), From 691b6bd4101d3edabcec0b2e119a147a41fd5619 Mon Sep 17 00:00:00 2001 From: won Date: Thu, 16 Apr 2026 06:44:06 -0700 Subject: [PATCH 3/3] Fix image generation feature test delimiter --- codex-rs/features/src/tests.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/codex-rs/features/src/tests.rs b/codex-rs/features/src/tests.rs index 7e5edcba94ef..d2f73cedad8e 100644 --- a/codex-rs/features/src/tests.rs +++ b/codex-rs/features/src/tests.rs @@ -164,6 +164,9 @@ fn use_linux_sandbox_bwrap_is_a_removed_feature_key() { fn image_generation_is_stable_and_enabled_by_default() { assert_eq!(Feature::ImageGeneration.stage(), Stage::Stable); assert_eq!(Feature::ImageGeneration.default_enabled(), true); +} + +#[test] fn image_detail_original_is_a_removed_feature_key() { assert_eq!( feature_for_key("image_detail_original"),