Overview
Upcart V2.0 modules introduce a complete architectural redesign of the cart system. The update focuses on improved performance, enhanced customization, and better maintainability. This guide will help you understand what changes when migrating from V1.0 to V2.0 modules, what compatibility issues you may encounter, and how to update your existing customizations safely.Breaking changes - CSS classname changes
V1 Classes (Deprecated)
🚨 The following V1.0 class names are no longer supported in V2.0:The out-of-stock warning classes
upcart-quantity-warning and upcart-quantity-warning-text are also unchanged. They come from the cart initializer rather than a versioned module, so they are emitted identically whether your modules are on V1 or V2..styles_CartPreview__card__ is not in this list — it is the shared cart-shell wrapper rendered around every module regardless of version, so rules targeting it keep working on V2. The rewards classes are .styles_Rewards__ (simple bar) and .styles_TieredRewards__ (tiered bar); there is no .styles_RewardsModule__.V2.0 classes (new system)
V2.0 introduces a structured naming system with internal and public class prefixes.Internal classnames
These are reserved for internal use and may change without notice. If you override these classes, future compatibility is not guaranteed.Public classnames
🚨 Public classnames available listupcart-public-) and are safe to override for custom designs.
✅ DO’s
Use onlyupcart-public- class names for styling.
❌ DON’T’s
Avoid override internal classnamesData attribute system
V2.0 introduces a structured data attribute system for improved targeting and advanced customization.Template variable changes
V2 modules use a new template variable syntax with double curly braces{{ }}.
Announcement Module
- V1.0:
`{TIMER}` - V2.0:
`{{timer}}`
Tiered Rewards Module
- V1.0:
`{AMOUNT}`→ V2:`{{amount}}` - V1.0:
`{COUNT}`→ V2:`{{count}}`
Migration process
1. Backup Current Configuration
Before making any changes, back up your existing custom CSS and HTML files.2. Test in Sandbox Mode
Set up your updated cart using sandbox mode to safely test new modules before going live.Advanced customization with V2.0
Custom templates
V2.0 modules support fully custom templates for merchants who want complete control over layout and structure. To enable custom templates:- Go to Settings > Cart settings, expand Advanced Settings, and tick Access custom templates. The checkbox is inside that collapsed section, not on the Cart settings tab itself.
- Enable the feature toggle.
- Reference Upcart’s developer documentation for syntax and examples.
Best Practices
- Always test updates in sandbox mode first.
- Migrate and update customizations incrementally.
- Use public classes for styling instead of internal ones.
- Keep backups of all previous versions before updating live settings.
Future Considerations
- V2 modules will continue to receive new features, optimizations, and updates.
- V1 modules are now in maintenance mode with limited support and no new features.
- Merchants are encouraged to migrate to V2 as soon as possible for full compatibility.