Skip to content

features: add v26.2.1 to release_versions#29971

Draft
travisdowns wants to merge 1 commit intoredpanda-data:devfrom
travisdowns:td/bump-feature-table-v26.2
Draft

features: add v26.2.1 to release_versions#29971
travisdowns wants to merge 1 commit intoredpanda-data:devfrom
travisdowns:td/bump-feature-table-v26.2

Conversation

@travisdowns
Copy link
Copy Markdown
Member

Bump versioning metadata in dev after branching v26.1.x:

  • Add v26_2_1 = 19 to release_version enum and set as MAX
  • Bump earliest_version from v25_3_1 to v26_1_1
  • Point CI retry criteria compare_with_branch to v26.1.x

Prior instances:

  • cba565c features: Add v26.1.1 to release_versions
  • 5d13076 features/table: bump latest version (v25.3.1)

Backports Required

  • none - not a bug fix
  • none - this is a backport
  • none - issue does not exist in previous branches
  • none - papercut/not impactful enough to backport
  • v25.3.x
  • v25.2.x
  • v25.1.x

Release Notes

  • none

Add the v26.2 release version to the feature table and bump the
earliest upgradeable version from v25.3.1 to v26.1.1 (these two
changes are coupled by a static_assert).

Prior instances of this change:
- cba565c features: Add v26.1.1 to release_versions
- 5d13076 features/table: bump latest version (v25.3.1)
Copilot AI review requested due to automatic review settings March 26, 2026 16:48
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates Redpanda’s versioning metadata on dev after branching v26.1.x, ensuring the feature/cluster version constants and CI retry comparison baseline track the new release line.

Changes:

  • Added v26_2_1 = 19 to features::release_version and moved MAX to v26_2_1.
  • Bumped earliest_version from v25_3_1 to v26_1_1 (keeping it one behind latest_version).

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
tests/ducktape-common-retry.yml Switches retry baselines to compare reliability against the v26.1.x branch.
src/v/features/feature_table.h Extends release_version enum with v26_2_1 and updates the conversion switch.
src/v/features/feature_table.cc Advances earliest_version and marks v26_2_1 as a major-version release in upgrade logic.

Copy link
Copy Markdown
Member

@StephanDollberg StephanDollberg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Think you also want to push the tag otherwise some upgrade tests will fail?

@vbotbuildovich
Copy link
Copy Markdown
Collaborator

vbotbuildovich commented Mar 26, 2026

Retry command for Build#82385

please wait until all jobs are finished before running the slash command

/ci-repeat 1
skip-redpanda-build
skip-units
skip-rebase
tests/rptest/tests/read_replica_e2e_test.py::ReadReplicasUpgradeTest.test_upgrades@{"cloud_storage_type":1}
tests/rptest/tests/partition_movement_upgrade_test.py::PartitionMovementUpgradeTest.test_basic_upgrade
tests/rptest/tests/cluster_bootstrap_test.py::ClusterBootstrapUpgrade.test_change_bootstrap_configs_after_upgrade@{"empty_seed_starts_cluster":false}
tests/rptest/tests/upgrade_test.py::UpgradeBackToBackTest.test_upgrade_with_all_workloads@{"single_upgrade":true}
tests/rptest/tests/partition_movement_test.py::PartitionMovementTest.test_empty@{"num_to_upgrade":2}
tests/rptest/tests/cluster_config_test.py::ClusterConfigLegacyDefaultTest.test_legacy_default_explicit_before_upgrade@{"wipe_cache":false}
tests/rptest/tests/control_character_flag_test.py::ControlCharacterNag.test_validate_nag_message@{"initial_version_as_list":[23,1,1]}
tests/rptest/tests/quota_management_test.py::QuotaManagementUpgradeTest.test_quotas_during_upgrade
tests/rptest/tests/retention_policy_test.py::BogusTimestampTest.test_bogus_timestamps@{"mixed_timestamps":false,"use_broker_timestamps":false}
tests/rptest/tests/cloud_topics/upgrade_test.py::CloudTopicsUpgradeTest.test_cloud_topic_create_rejected_during_upgrade
tests/rptest/tests/cluster_bootstrap_test.py::ClusterBootstrapUpgrade.test_change_bootstrap_configs_after_upgrade@{"empty_seed_starts_cluster":true}
tests/rptest/tests/cluster_features_test.py::FeaturesMultiNodeUpgradeTest.test_rollback
tests/rptest/tests/upgrade_test.py::UpgradeFromPriorFeatureVersionCloudStorageTest.test_rolling_upgrade@{"cloud_storage_type":1}
tests/rptest/tests/cluster_config_test.py::ClusterConfigLegacyDefaultTest.test_legacy_default_explicit_before_upgrade@{"wipe_cache":true}
tests/rptest/tests/data_transforms_test.py::DataTransformsRpcUpgradeTest.test_upgrade_one_node
tests/rptest/tests/partition_movement_test.py::PartitionMovementTest.test_overlapping_changes@{"num_to_upgrade":2}
tests/rptest/tests/cluster_config_test.py::ClusterConfigLegacyDefaultTest.test_legacy_default_explicit_after_upgrade@{"wipe_cache":true}
tests/rptest/tests/control_character_flag_test.py::ControlCharacterNag.test_validate_nag_message@{"initial_version_as_list":[22,3,11]}
tests/rptest/tests/upgrade_test.py::UpgradeBackToBackTest.test_upgrade_with_all_workloads@{"single_upgrade":false}
tests/rptest/tests/retention_policy_test.py::BogusTimestampTest.test_bogus_timestamps@{"mixed_timestamps":true,"use_broker_timestamps":false}
tests/rptest/tests/compatibility/java_compression_test.py::JavaCompressionTest.test_upgrade_java_compression@{"compression_type":"gzip"}
tests/rptest/tests/nodes_decommissioning_test.py::NodesDecommissioningTest.test_decommissioning_and_upgrade
tests/rptest/tests/license_enforcement_test.py::LicenseEnforcementTest.test_escape_hatch_license_variable@{"clean_node_before_upgrade":true}
tests/rptest/tests/partition_movement_test.py::PartitionMovementTest.test_bootstrapping_after_move@{"num_to_upgrade":2}
tests/rptest/tests/partition_movement_test.py::PartitionMovementTest.test_static@{"num_to_upgrade":2}
tests/rptest/tests/cluster_bootstrap_test.py::ClusterBootstrapUpgrade.test_change_bootstrap_configs_during_upgrade@{"empty_seed_starts_cluster":true}
tests/rptest/tests/upgrade_test.py::UpgradeFromSpecificVersion.test_basic_upgrade
tests/rptest/tests/cluster_config_test.py::ClusterConfigLegacyDefaultTest.test_removal_of_legacy_default_defaulted@{"wipe_cache":true}
tests/rptest/transactions/consumer_offsets_test.py::VerifyConsumerOffsetsThruUpgrades.test_consumer_group_offsets@{"versions_to_upgrade":2}
tests/rptest/tests/control_character_flag_test.py::ControlCharacterPermittedAfterUpgrade.test_upgrade_from_pre_v23_2@{"initial_version_as_list":[22,2,9]}
tests/rptest/tests/partition_movement_test.py::SIPartitionMovementTest.test_cross_shard@{"cloud_storage_type":1,"num_to_upgrade":2,"with_cloud_topics":false}
tests/rptest/transactions/tx_upgrade_test.py::TxUpgradeTest.upgrade_does_not_change_tx_coordinator_assignment_test
tests/rptest/transactions/tx_coordinator_migration_test.py::TxCoordinatorMigrationTest.test_migrating_tx_manager_coordinator@{"upgrade":true,"with_failures":false}
tests/rptest/tests/datalake/datalake_upgrade_test.py::DatalakeUpgradeTest.test_upload_through_upgrade@{"cloud_storage_type":1,"migration_type":"rename_columns","query_engine":"spark"}
tests/rptest/tests/acl_upgrade_test.py::ACLUpgradeTest.test_acl_operations_during_upgrade
tests/rptest/tests/compatibility/java_compression_test.py::JavaCompressionTest.test_upgrade_java_compression@{"compression_type":"zstd"}
tests/rptest/tests/license_enforcement_test.py::LicenseEnforcementTest.test_license_enforcement@{"clean_node_after_recovery":false,"clean_node_before_recovery":true}
tests/rptest/tests/upgrade_test.py::UpgradeWithWorkloadTest.test_rolling_upgrade_with_rollback@{"upgrade_after_rollback":true}
tests/rptest/tests/log_compaction_test.py::LogCompactionTxRemovalUpgradeFrom25_3_1_Test.test_tx_control_batch_removal_with_upgrade
tests/rptest/tests/cluster_config_test.py::ClusterConfigLegacyDefaultTest.test_legacy_default@{"wipe_cache":false}
tests/rptest/tests/cluster_features_test.py::FeaturesSingleNodeUpgradeTest.test_upgrade
tests/rptest/tests/license_enforcement_test.py::LicenseEnforcementTest.test_license_enforcement@{"clean_node_after_recovery":true,"clean_node_before_recovery":true}
tests/rptest/tests/acls_test.py::AccessControlListTestUpgrade.test_upgrade_gbac
tests/rptest/tests/log_compaction_test.py::LogCompactionTxRemovalUpgradeFrom25_3_1_Test.test_tx_control_batch_removal_with_upgrade_and_recovery
tests/rptest/tests/partition_movement_test.py::PartitionMovementTest.test_moving_not_fully_initialized_partition@{"num_to_upgrade":2}
tests/rptest/tests/cluster_config_test.py::ClusterConfigLegacyDefaultTest.test_legacy_default@{"wipe_cache":true}
tests/rptest/tests/compaction_recovery_test.py::CompactionRecoveryUpgradeTest.test_index_recovery_after_upgrade
tests/rptest/tests/random_node_operations_smoke_test.py::RedpandaNodeOperationsSmokeTest.test_node_ops_smoke_test@{"cloud_storage_type":1,"mixed_versions":true}
tests/rptest/tests/compatibility/java_compression_test.py::JavaCompressionTest.test_upgrade_java_compression@{"compression_type":"snappy"}
tests/rptest/tests/license_enforcement_test.py::LicenseEnforcementTest.test_license_enforcement@{"clean_node_after_recovery":true,"clean_node_before_recovery":false}
tests/rptest/tests/upgrade_test.py::UpgradeWithWorkloadTest.test_rolling_upgrade_with_rollback@{"upgrade_after_rollback":false}
tests/rptest/tests/partition_movement_test.py::PartitionMovementTest.test_deletion_stops_move@{"num_to_upgrade":2}
tests/rptest/tests/log_compaction_test.py::LogCompactionTxRemovalUpgradeFrom25_2_Test.test_tx_control_batch_removal_with_upgrade_and_recovery
tests/rptest/tests/storage_mode_test.py::StorageModeUpgradeTest.test_storage_mode_unset_on_upgrade
tests/rptest/tests/cluster_config_test.py::ClusterConfigLegacyDefaultTest.test_removal_of_legacy_default_overriden@{"wipe_cache":true}
tests/rptest/tests/control_character_flag_test.py::ControlCharacterPermittedAfterUpgrade.test_upgrade_from_pre_v23_2@{"initial_version_as_list":[23,1,1]}
tests/rptest/tests/partition_movement_test.py::SIPartitionMovementTest.test_shadow_indexing@{"cloud_storage_type":2,"num_to_upgrade":2,"with_cloud_topics":false}
tests/rptest/transactions/tx_upgrade_test.py::TxUpgradeRevertTest.test_snapshot_compatibility
tests/rptest/tests/quota_management_test.py::QuotaManagementUpgradeTest.test_upgrade
tests/rptest/tests/retention_policy_test.py::BogusTimestampTest.test_bogus_timestamps@{"mixed_timestamps":false,"use_broker_timestamps":true}
tests/rptest/tests/upgrade_test.py::UpgradeFromPriorFeatureVersionTest.test_basic_upgrade
tests/rptest/tests/license_enforcement_test.py::LicenseEnforcementTest.test_escape_hatch_license_variable@{"clean_node_before_upgrade":false}
tests/rptest/tests/cluster_bootstrap_test.py::ClusterBootstrapUpgrade.test_change_bootstrap_configs_during_upgrade@{"empty_seed_starts_cluster":false}
tests/rptest/tests/cluster_features_test.py::FeaturesMultiNodeUpgradeTest.test_upgrade
tests/rptest/tests/partition_movement_test.py::PartitionMovementTest.test_invalid_destination@{"num_to_upgrade":2}
tests/rptest/tests/cluster_config_test.py::ClusterConfigLegacyDefaultTest.test_removal_of_legacy_default_defaulted@{"wipe_cache":false}
tests/rptest/transactions/consumer_offsets_test.py::VerifyConsumerOffsetsThruUpgrades.test_consumer_group_offsets@{"versions_to_upgrade":1}
tests/rptest/tests/controller_upgrade_test.py::ControllerUpgradeTest.test_updating_cluster_when_executing_operations
tests/rptest/tests/controller_snapshot_test.py::ControllerSnapshotTest.test_upgrade_compat
tests/rptest/tests/retention_policy_test.py::BogusTimestampTest.test_bogus_timestamps@{"mixed_timestamps":true,"use_broker_timestamps":true}
tests/rptest/tests/compatibility/java_compression_test.py::JavaCompressionTest.test_upgrade_java_compression@{"compression_type":"lz4"}
tests/rptest/tests/license_enforcement_test.py::LicenseEnforcementTest.test_license_enforcement@{"clean_node_after_recovery":false,"clean_node_before_recovery":false}
tests/rptest/tests/partition_movement_test.py::PartitionMovementTest.test_move_consumer_offsets_intranode@{"num_to_upgrade":2}
tests/rptest/tests/upgrade_test.py::UpgradeWithWorkloadTest.test_rolling_upgrade
tests/rptest/tests/log_compaction_test.py::LogCompactionTxRemovalUpgradeFrom25_2_Test.test_tx_control_batch_removal_with_upgrade
tests/rptest/tests/cluster_config_test.py::ClusterConfigLegacyDefaultTest.test_removal_of_legacy_default_overriden@{"wipe_cache":false}
tests/rptest/tests/control_character_flag_test.py::ControlCharacterPermittedAfterUpgrade.test_upgrade_from_pre_v23_2@{"initial_version_as_list":[22,3,11]}
tests/rptest/transactions/consumer_offsets_test.py::VerifyConsumerOffsetsThruUpgrades.test_consumer_group_offsets@{"versions_to_upgrade":3}
tests/rptest/tests/datalake/datalake_upgrade_test.py::DatalakeUpgradeTest.test_upload_through_upgrade@{"cloud_storage_type":1,"migration_type":"recreate_table","query_engine":"spark"}
tests/rptest/tests/raft_recovery_test.py::RaftRecoveryUpgradeTest.test_upgrade
tests/rptest/transactions/tx_coordinator_migration_test.py::TxCoordinatorMigrationTest.test_migrating_tx_manager_coordinator@{"upgrade":true,"with_failures":true}
tests/rptest/tests/audit_log_test.py::AuditLogUpgradeTest.test_audit_log_upgrade_all_nodes
tests/rptest/tests/partition_movement_test.py::PartitionMovementTest.test_dynamic@{"num_to_upgrade":2}
tests/rptest/tests/cluster_config_test.py::ClusterConfigLegacyDefaultTest.test_legacy_default_explicit_after_upgrade@{"wipe_cache":false}
tests/rptest/tests/control_character_flag_test.py::ControlCharacterNag.test_validate_nag_message@{"initial_version_as_list":[22,2,9]}
tests/rptest/tests/partition_movement_test.py::SIPartitionMovementTest.test_shadow_indexing@{"cloud_storage_type":1,"num_to_upgrade":2,"with_cloud_topics":false}
tests/rptest/tests/partition_movement_test.py::SIPartitionMovementTest.test_cross_shard@{"cloud_storage_type":2,"num_to_upgrade":2,"with_cloud_topics":false}
tests/rptest/tests/upgrade_test.py::UpgradeAndCheckRecoveryReads.test_basic_upgrade
tests/rptest/transactions/tx_upgrade_test.py::TxUpgradeCompactionTest.upgrade_with_compaction_test

@travisdowns
Copy link
Copy Markdown
Member Author

As @StephanDollberg has pointed out this needs to wait until v26.1 packages are available for the upgrade tests, parking this for now.

@travisdowns travisdowns marked this pull request as draft March 26, 2026 19:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants