8c44bb1acda9ad5f13f7839d3994d6e4f07a2fa1
braney
  Sat Apr 18 11:27:44 2026 -0700
Add cartVersion 10 to re-apply the encodeCcreCombined -> cCREs supertrack
migration for carts saved while cartVersion was already 9 but before the
trackDb switch to the new supertrack. refs #37383

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

diff --git src/hg/cgilib/cartRewrite.c src/hg/cgilib/cartRewrite.c
index 73aa2b5bb9b..65d88da5833 100644
--- src/hg/cgilib/cartRewrite.c
+++ src/hg/cgilib/cartRewrite.c
@@ -6,48 +6,50 @@
  * See kent/LICENSE or http://genome.ucsc.edu/license/ for licensing information. */
 
 #include "common.h"
 #include "cart.h"
 #include "hgConfig.h"
 
 void cartEdit0(struct cart *cart);
 void cartEdit1(struct cart *cart);
 void cartEdit2(struct cart *cart);
 void cartEdit3(struct cart *cart);
 void cartEdit4(struct cart *cart);
 void cartEdit5(struct cart *cart);
 void cartEdit6(struct cart *cart);
 void cartEdit7(struct cart *cart);
 void cartEdit9(struct cart *cart);
+void cartEdit10(struct cart *cart);
 
 struct cartRewrite
 {
 void (*func)(struct cart *cart);
 };
 
 // Here's the list of cart rewrite functions
 static struct cartRewrite cartRewrites[] =
 {
 { cartEdit0},
 { cartEdit1},
 { cartEdit2},
 { cartEdit3},
 { cartEdit4},
 { cartEdit5},
 { cartEdit6},
 { cartEdit7},
 { cartEdit9},
+{ cartEdit10},
 };
 
 void cartRewrite(struct cart *cart, unsigned trackDbCartVersion, unsigned cartVersion)
 /* Rewrite the cart to update it to expectations of trackDb. */
 {
 if (sameString(cfgOptionDefault("cartVersion", "on"), "off"))
     return;
 
 // call the rewrite functions to bring us up to the trackDb cart version
 for(; cartVersion < trackDbCartVersion; cartVersion++)
     {
     // if we don't have a rewrite for this increment, bail out
     // with a warning in the error_log
     if (cartVersion >= ArraySize(cartRewrites))
         {