Welcome to Virto Commerce Stable Release Bundle v6!
We are thrilled to present the latest Stable Release. This release brings a range of enhancements and updates that will elevate your Virto Commerce experience. To apply these updates, you can utilize the Virto Commerce CLI.
To learn more about Virto Commerce’s Release Strategy, please refer to our detailed Readme.
Let’s take a closer look at some of the key features included in this release:
In this stable release of VirtoCommerce, several important updates and improvements have been introduced to enhance the platform’s functionality and user experience.
Virto Storefront Features:
- Receive notifications when a product cannot be added to the cart, ensuring a seamless shopping experience.
- Multilingual Support: Recommend i18n ally for better multilingual support and broader reach.
- Streamlined cart management with clear cart event and place order event.
- Dashboard Improvements: Reuse orders on the dashboard and easily sort exports for increased efficiency.
Virto Commerce Features:
- This update focuses on improving error handling, specifically addressing DbUpdateConcurrencyException. This enhancement helps ensure smoother operation and reliability when handling subscription-related tasks.
- The contract module gets a significant boost with added features. Now, it includes contract status and vendorId, providing more comprehensive contract management.
- This modules have been updated to offer improved Crud and Search services. These enhancements make importing and managing catalog data more efficient and user-friendly.
- The payment module receives multiple improvements. It now supports capture and refund operation. These enhancements are designed to optimize payment processing and flexibility.
- The VirtoCommerce platform itself has undergone numerous updates. These include improved asset editor styles, better DateTime handling, enhanced CRUD services, and various security and error handling enhancements. These changes collectively contribute to a more reliable, efficient, and secure e-commerce platform.
These updates aim to provide a stable and robust foundation for e-commerce businesses, offering improved performance, security, and overall user satisfaction across various aspects of the VirtoCommerce platform and its associated modules.
To explore the detailed information about these features, we invite you to check out our informative News Digests:
May 2023
June 2023
July 2023
August 2023
September 2023
Read Before Update
- Breaking Changes with Crud. Update Path for Virto Commerce 3.400
- The Azure Application Insights feature has been removed from the Platform. If you previously used this feature, you can install the App-Insights module to continue using Azure Application Insights.
PostgreSQL Vs Sql Server Comparison
Virto Commerce supports PostgreSQL in addition to SQL Server. Based on our tests, PostgreSQL performs 25-30% faster and consumes less CPU and memory compared to SQL Server:
Metric | Sql Server | Postgre Sql | Diff |
---|---|---|---|
VC Instance, RAM, Mib | 640 | 505 | 21% |
DB utilization, % | 25% | 22% | 3% |
Total Samples, count | 163 900 | 177 000 | 8% |
Avg Duration (all API calls) | 190 | 130 | 32% |
Create Order, ms | 1300 | 930 | 29% |
Add To Cart, ms | 730 | 490 | 33% |
Get Product, ms | 499 | 356 | 29% |
Additional Posts
Optimizing Performance: entityframework-extensions.net
Generating C# Client from Virto Commerce Swagger with NSwag
Achieving True DB Agnostic with Virto Commerce: A Journey without Breaking Changes
Elastic Search 8: (Preview) Indexed and Semantic search functionality with v8 of Elasticsearch
Release Notes
vc-module-subscription
v3.401:
- DbUpdateConcurrencyException in CreateRecurrentOrdersJob.Process
v3.400:
- Use updated Crud and Search services
v3.202:
- (DB Agnostic architecture with SqlServer, MySql and PostgreSQL. )- PT-9395 add nodejs-lts support
vc-module-contract
v3.401:
- Add status and vendorId to contract
- Added filtering option on contracts list blade
- Added metaform support on contract details blade
v3.400:
- Update Crud and Search services
vc-module-catalog-csv-import
v3.400:
- Use updated Crud and Search services
vc-module-payment
v3.400:
- Update Crud and Search services
v3.209:
- add allowDefferedPayment flag
v3.208:
- Add capture amount to payment capture request
vc-module-tax
v3.400:
- Update Crud and Search services
v3.204:
- Add appsettings option to disable FixedRateTaxProvider.
:
"TaxModule" : {
"FixedRateTaxProvider": {"Enabled": false}
}
v3.203:
- DB Agnostic architecture with SqlServer, MySql and PostgreSQL
vc-platform
v3.414:
- Improve asset editor styles
v3.413:
- Add UtcDateTimeConverter to convert DateTimeKind.Unspecified to DateTimeKind.Utc when read from the database and back to DateTimeKind.Utc when being saved. Resolves that SQL Server discards the DateTime.Kind flag when storing a DateTime as a datetime or datetime2. This means that DateTime values coming back from the database always have a DateTimeKind of Unspecified.
- Add DbContextBase class. A derived class with applied UtcDateTimeConverter for all DateTime properties.
- Apply UtcDateTimeConverter for PlatformDbContext and SecurityDbContext, so DateTime will have DateTimeKind.Utc when revert from DB.
v3.412:
- Update angular to 1.4.14
- Fix condition for ‘Import sample data’ widget
v3.411:
- Don’t use int.MaxValue with search services
- Add more descriptions for http error codes.
v3.410:
- Improve generic CRUD services - Update settings extensions
v3.409:
- (Npgsql.PostgresException (0x80004005): 28000: odyssey: cbae7a56ca16a: user blocked: (unknown database) (unknown user) … at VirtoCommerce.Platform.Data.PostgreSql.PostgreSqlCertificateLoader.CheckDatabaseExist(String sourceConnectionString) at VirtoCommerce.Platform.Data.PostgreSql.PostgreSqlCertificateLoader.Load())
v3.408:
- Users should not see other people’s notifications
v3.407:
- Error message when major upgrade id detected. Automated upgrade is not feasible due to a major version release; please opt for a custom upgrade to ensure a seamless transition.
v3.406:
Added IDistributedLockService
interface to ensuring only one process is using a particular resource at any given time. The service has two implementations:
DistributedLockService
- lock mechanism implemented with RedLock, will be registered in DI ifRedisConnectionString
is setNoLockService
- mock service that does nothing, will be registered in DI ifRedisConnectionString
is not set
v3.405:
adds the security headers to all responses
- X-Content-Type-Options: nosniff
- Strict-Transport-Security: max-age=31536000; includeSubDomains - only applied to HTTPS responses
- X-Frame-Options: Deny - only applied to “document” responses
- X-XSS-Protection: 1; mode=block - only applied to “document” responses
- Referrer-Policy: strict-origin-when-cross-origin - only applied to “document” responses
- Content-Security-Policy: object-src ‘none’; form-action ‘self’; frame-ancestors ‘none’ - only applied to “document” responses
v3.404:
- Failure on empty PostgreSQL DB initialization
v3.403:
- Add Custom Styles for Widget with Logo, Header and Text
v3.402:
- Return an HTTP status code of 409 (Conflict)
v3.401:
- Get status code if it’s empty
v3.400:
Breaking changes
We are excited to announce a significant improvement in this release with the refactoring and simplification of the CRUD (Create, Read, Update, Delete) Services. These changes bring enhanced performance and a more streamlined experience for platform users.
Find more detail on Virto Commerce Community
- Simplify Crud and Search services
v3.318:
- move default user creation to migration
v3.317:
- Fix exception if no database already created in PostgreSql
v3.316:
- (Ability to override the DbContextUnitOfWork)
- (Bump jQuery from 2.1.4 to 3.7.0)
v3.315: - Add default roles to app settings. The roles will be applied for new Azure Ad SSO accounts.
appsettings.json
"AzureAd": {
…
"DefaultUserRoles": ["Order manager", "Store manager"],
…
}
v3.314:
- Add default role to app settings
v3.313:
- Add job for auto lockout accounts
v3.312:
- Enhances the startup process of Virto Commerce by adding progress updates and a welcoming message to the console. This improvement provides clear information about the startup process and timings, offering a better user experience for both Developers and IT.
v3.311:
- Add last login date
- dynamic property validation
v3.309:
- (Consistent password verification in the SecurityController)
- (Fix/return types in external sign-in methods)
v3.308:
- Add dismiss error message link
- Add blade.clearError
- (Assign permissions section on New Role blade displays unsorted list of modules)
- (Rest API returns Unauthorized instead of Forbid. )
v3.307:
- Add “AllowApiAccessForCustomers” setting. Enables or disables API access for customers. By default, false. When set to true, it allows customers to access the API endpoints and perform authorized actions.
App settings section: Authorization:AllowApiAccessForCustomers.
"Authorization": {
...
"AllowApiAccessForCustomers": true,
...
},
v3.306:
- Fix ResetPasswordAsync and ChangePasswordAsync
v3.305:
- Use first IModule from assembly only. After the fix, The platform will use optional ModuleType from manifest to resolve multiple IModule from assembly. )- Added robots.txt with restrictive policy for backend environments.
v3.304:
We are excited to announce the release of Virto Commerce Platform with Log and Telemetry Agnostic Approach.
With this release, we have introduced support for Serilog libraries for logging, which brings several benefits over traditional logging libraries.
Serilog allows users to log structured data that is easy to analyze, making it simpler to troubleshoot and identify issues in real-time. Additionally, it offers a range of flexible output options, including logging to files, databases, and cloud services, making it a versatile choice for handling logs.
BREAKING CHANGES: As a result of this update, the Azure Application Insights feature has been removed from the Platform. If you previously used this feature, you can install the App-Insights module from GitHub - VirtoCommerce/vc-module-app-insights: Writes logs events and telemetry to Microsoft Azure Application Insights to continue using Azure Application Insights.
To configure logging with Serilog, you can refer to the Serilog documentation or the vc-module-app-insights documentation at GitHub - VirtoCommerce/vc-module-app-insights: Writes logs events and telemetry to Microsoft Azure Application Insights.
In addition to the log changes, we have also updated the XAPI module to Release 3.314.0 please update it as well.
v3.301:
- fix for lock user account when db provider is PostreSql
- Add isolation for white-space: pre-wrap for settings description.
v3.300:
- Preserve whitespace in settings descriptions
- Fix roles list sorting
- Improve scrollbars ux
- Fix password validation messages
v3.299:
- redesign login page
- username, user name
- Fixed localization
v3.297:
- (fixed posgresql commands to load the certificate)
v3.296:
- (Add YAML support for OpenAPI 3 and Swagger UI.)
- Permission doesn’t applied for list of available apps
v3.295:
- (Revert back PT-10895 by multiple issues with XAPI and UserManager)
v3.294:
- (login/email overlaps text in modal )
v3.293:
- (Import Data on PostgreSql. Cannot write DateTime with Kind=UTC to PostgreSQL type ‘timestamp without time zone’)
vc-module-quote
v3.400:
- Use updated Crud and Search services
v3.216:
- Bump NuGet versions: AutoMapper 10.1.1, Mediatr 9.0.0.
- Remove using the obsolete interface for services
vc-module-customer-review
v3.400:
- Update Crud and Search services
v3.214:
- Update ExperienceApi version to 3.300
- Bump NuGet versions: AutoMapper 10.1.1, Mediatr 9.0.0.
- Remove using the obsolete interface for services
vc-module-assets
v3.400:
- Update Crud and Search services
vc-module-catalog-publishing
v3.400:
- Use updated Crud and Search services
vc-module-store
v3.401:
- add EmailVerificationRequired setting
v3.400:
- Update Crud and Search services
v3.211:
- Code smell
- Rest API returns Unauthorized instead of Forbid.
v3.210:
- Moved the class StoreSelectedScope from VirtoCommerce.StoreModule.Web.Authorization to VirtoCommerce.StoreModule.Core.Security. This change allows external modules to reference StoreSelectedScope when performing validations against permissions that are scoped by StoreId. Previously, StoreSelectedScope was sealed in the Web project, which prevented the creation of new authorization handlers that could perform additional checks against permissions using this type of scope. By moving it to the Core project, we have addressed this limitation and provided a simple fix that expands the permissions model.
v3.209:
- DB Agnostic architecture with SqlServer, MySql and PostgreSQL - fix code smell - Normalize line endings
vc-module-avatax
v3.401:
- (clean DB context initialization from the module. no db relation more. )
v3.400:
- Use updated Crud and Search services
vc-module-gdpr
v3.400:
- Use updated Crud and Search services
vc-module-profile-experience-api
v3.409:
- Use correct authorization error codes
v3.408:
- verify email on register by invitation
v3.407:
- add passwordExpiryInDays field
v3.405:
- (ResetPasswordEmailNotification and RegistrationInvitationEmailNotification ignored Store customization. )
v3.404:
- modify lock/unlock operations
v3.403:
- cleanup organization and contact on account creation error
v3.402:
- add email registrations flows
v3.401:
- Resend email confirmation link by userId in sendVerifyEmail command. If userId is specified, the email property will be ignored. If a user is authorized then userId and email will be taken from the current profile.
mutation ($command: InputSendVerifyEmailType){
sendVerifyEmail(command: $command)
}
{
"command": {
"userId": "4162ff51-c880-4e42-bc4b-4bfd120a0bdf",
"storeId": "B2B-store",
"languageCode": "EN-US"
}
}
v3.400:
- Use updated Crud and Search services
v3.303:
- Add encode for user email in inviteUser
v3.302:
- add force password change flag to user type and ‘change password’ mutation
v3.301:
- (Anonymous has access to list of contacts or organizations)
v3.300:
- Bump NuGet versions: AutoMapper 10.1.1, Mediatr 9.0.0.
- Remove using the obsolete interface for services
vc-module-experience-api
v3.411:
- Use correct authorization error codes
Code | Message | Recommended Action |
---|---|---|
Unauthorized | Anonymous access denied or access token has expired or is invalid. | Redirect to Signin page |
Forbidden | Access denied. | Display Access Denied page |
Forbidden | User doesn’t have the required permission ‘name’. | Display Access Denied page |
UserLocked | This user is locked. | Display Error page |
PasswordExpired | This user has their password expired. Please change the password using ‘changePassword’ command. | Open Change Password form |
v3.410:
- fix incorrect line item FF center
v3.409:
- (Discounts are calculated from subtotal)
v3.408:
- PT-12811: set default price when adding null priced products to wishlist.
v3.407:
- parse minVariationPrice from an array of strings
v3.406:
- Add status to order shipment line item.
v3.405:
- add check for locked user in order/purchase schemas
v3.404:
- (Make availablePaymentMethods as extendable)
v3.403:
- lower validation requirement for bulk wishlist operation
v3.402:
- Added ShippingMethodType to Cart and Order Shipment yype
v3.401:
- (isBuyable and isAvailable return always false. if request a product without the price)
v3.400:
- Use updated Crud and Search services
v3.332:
- add product min variation price
- hide inactive categories from search
{
products(storeId:"Electronics" productIds:["6e7a31c35c814fb389dc2574aa142b63"] currencyCode: "USD")
{
totalCount
items {
minVariationPrice {
actual {
amount
}
}
}
}
}
v3.331:
- load child categories in category query
- remove multiple items from cart
v3.330:
- update cart organizationId
v3.329:
- Add organizationOrders query
v3.328:
- (XAPI returns Zero Products if Catalog Personalization Module is not installed.)
v3.327:
- add force password change check in order and purchase schemas
v3.326:
- pass store Id to ‘product’ cart line item field
v3.325:
- reload cart aggregate after addOrUpdateCartShipmentCommand
- set current date for pricelist assignment evaluation
v3.324:
- convert ‘price’ filter to use currency
v3.323:
- add required StoreId param and remove Fields param from productSuggestions query
v3.322:
v3.321:
- Add product suggestions
v3.320:
- (The cart allows proceeding to checkout with a product with 0 price.)
v3.319:
- (The cart allows proceeding to checkout with a product with 0 price.)
v3.318:
- Add ProductFilter to ChildCategoriesQuery to returns categories with products inside. Read more details in documentation.
v3.317:
- (User can merge carts with the same id)
v3.316:
v3.315:
- add Status to OrderLineItemType
- filter out hidden properties
- Unable to resolve service for type ‘Microsoft.ApplicationInsights.TelemetryClient’ if App Insight module is not installed.
v3.314:
- Include Microsoft ApplicationInsights assemblies into module package after Platform 3.303 release with Virto Commerce Platform with Log and Telemetry Agnostic Approach.
v3.312:
- update app insights package
v3.309:
- Add comment to cart shipments and payments
v3.308:
- Add get menu query
v3.307:
- update Marketing module (personal coupons)
v3.306:
- (error trying to resolve empty ‘images’, ‘assets’ )
- (fix currency symbol in Wishlists)- (Add ProductType to Variation Schema)
- (Suppress Cart Aggregate Load recursively.)
- (Cart Language Code never changed after creation)
- pass userId for all cart’s get products queries
v3.304:
- (wrong price in the cart if product has several price lists )
v3.303:
- (Actualize Vendor Id in the cart if product’s vendor information is changed. )
v3.302:
- load product property attributes via service
v3.301:
- Add product personalization
vc-module-sitemaps
v3.400:
- Use updated Crud and Search services
v3.208:
- (DB Agnostic architecture with SqlServer, MySql and PostgreSQL)
vc-module-notification
v3.402:
- (Empty Store Notification log )
v3.401:
- Empty preview in notification
v3.400:
- Update Crud and Search services
v3.219:
- Add default layout selection
v3.218:
- Cannot write DateTime with Kind=Local to PostgreSQL.
- Empty body if use Smtp provider
v3.217:
- Update readme and module manifest
- The email validator doesn’t allow to enter addresses with a plus
v3.216:
- Added the ability to register notification layouts at the start of the application, by analogy with the registration of notifications.
Example of usage:
var notificationLayoutRegistrar = appBuilder.ApplicationServices.GetService<INotificationLayoutRegistrar>();
var layoutTemplatesDirectory = Path.Combine(ModuleInfo.FullPhysicalPath, "NotificationLayoutTemplates");
notificationLayoutRegistrar.RegisterLayoutWithTemplateFromPath(ModuleConstants.Notifications.DefaultLayoutName, layoutTemplatesDirectory, true);
var notificationRegistrar = appBuilder.ApplicationServices.GetService<INotificationRegistrar>();
var defaultTemplatesDirectory = Path.Combine(ModuleInfo.FullPhysicalPath, "NotificationTemplates");
notificationRegistrar.RegisterNotification<AgencyUserInvitationEmailNotification>().WithTemplatesFromPath(defaultTemplatesDirectory).WithLayout(ModuleConstants.Notifications.DefaultLayoutName);
notificationRegistrar.RegisterNotification<SupplierSpecialRequestEmailNotification>().WithTemplatesFromPath(defaultTemplatesDirectory).WithLayout(ModuleConstants.Notifications.DefaultLayoutName);
notificationRegistrar.RegisterNotification<UserSignUpRequestEmailNotification>().WithTemplatesFromPath(defaultTemplatesDirectory).WithLayout(ModuleConstants.Notifications.DefaultLayoutName);
v3.215:
- Migrate away from SmtpClient
vc-module-inventory
v3.404:
- (DateTime values coming back from the SqlServer database always have a DateTimeKind of Unspecified. )
v3.403:
- Implement IIndexSchemaBuilder
v3.401:
- Add inventory change events
v3.400:
- Update Crud and Search services
v3.216:
- Add inventory reservation functionality
v3.215:
- product_availability into index document
vc-module-content
v3.407:
- (Improve asset editor)
v3.406:
- (Hidden Page Language Selection)
v3.405:
- add default indexable properties
v3.404:
- Migrate to CRUD services
v3.403:
- Fix ArgumentNullException
v3.402:
- Fix search criteria corruption
v3.400:
- Use updated Crud and Search services
v3.218:
- generate correct url for uploaded asset
vc-module-webhooks
v3.209:
- Auth Support: Basic & Bearer & Custom
vc-module-catalog-personalization
v3.400:
- Use updated Crud and Search services
v3.205:
- (Rename Tags to User Groups)
vc-module-elastic-app-search
v3.212:
- Use a special sorting field name (_score) to order by relevance
v3.211:
- Error when user use filter by price
v3.210:
- Add suggestions - Don’t throw an exception when deleting an index and it doesn’t exist
v3.209:
- Using meta engines with swap engines
v3.208:
- Add App Menu
vc-module-image-tools
v3.402: Fix NullReferenceException
v3.401:
- Update Crud and Search services
v3.208:
- (Only one thumbnail job can be executed at one time (manually or by schedule).)
vc-module-catalog
v3.408:
- (Error GraphQL.Execution.UnhandledError: Error trying to resolve field ‘associations’. System.InvalidCastException: Unable to cast object of type ‘System.Int64’ to type ‘System.Int32’ when user get associations for product on PostgreSql.)
v3.407:
- (DateTime values coming back from the SqlServer database always have a DateTimeKind of Unspecified. )
v3.406:
- set correct property name for tags-input control
v3.405:
- (Virtualize product status indexing)- migrate PropertyDictionaryItemSearchService to CRUD
v3.404:
- Fix search criteria corruption
- (If SearchInVariations is false, ProductSearchRequestBuilder doesn’t add is product filter. )
v3.403:
v3.402:
- Fix product changes logging
v3.401:
v3.400:
- inherit hidden category status - Implement IIndexSchemaBuilder - Update Crud and Search services
v3.277:
- (Fix reviews inheritance in catalog product)
v3.276:
- add catalog language sort
v3.275:
- update product properties partially
v3.274:
- Add description index document fields
- Fix response type for GET /api/catalog/products
v3.273:
- (Rest API returns Unauthorized instead of Forbid. )
v3.272:
- Reduce memory consumption when indexing products and categories
v3.271:
- Index Product name as a suggestable field
v3.270:
- (CategoryLink.Category without JsonIgnore attribute breaks json serialization. )
v3.269:
- Add product suggestions
v3.268:
- (Returns Custom Aggregations)
v3.267:
- Add Product availability into Index document
v3.266:
- add boolean property initialization
v3.265:
- Delete linked products before deleting virtual catalog
v3.264:
- (Delete permission instead of Read was checked for api/catalog/listentrylinks/search)
v3.263:
v3.262:
- Add DisplayOrder property to Property model
v3.261:
- Make index IX_Code_CatalogId unique on SQL Server - (Update to support NodeJS 18 LST and WebPack 5)
IMPORTANT
Before installing this update you should find and fix all duplicates, otherwise platform will not start.
select CatalogId, Code, count(Id)
from Item
group by CatalogId, Code
having count(Id) > 1
vc-module-customer
v3.405:
- (System.NullReferenceException if Roles collection is null)
v3.404:
- (DateTime values coming back from the SqlServer database always have a DateTimeKind of Unspecified )
v3.403:
- (Implement IIndexSchemaBuilder)
v3.402:
- IndexingJobs.IndexChangesJob does not trigger after changing the user role. Added handlers registration for user events.
v3.401:
- Fix search criteria corruption
v3.400:
- Update Crud and Search services
v3.226:
- Add security cache region cache expiration
v3.225:
- (Fix double id parameter)
v3.224:
- (Rest API returns Unauthorized instead of Forbid)
vc-module-event-bus
v3.400:
- Update Crud and Search services
v3.203:
- DB Agnostic architecture with SqlServer, MySql and PostgreSQL
- Normalize line endings
vc-module-export
v3.205:
- Rest API returns Unauthorized instead of Forbid. *
vc-module-cart
v3.402:
- (DateTime values coming back from the SqlServer database always have a DateTimeKind of Unspecified)
v3.401:
- Returns wrong shipping method by code.
v3.400:
- Update Crud and Search services
v3.221:
- add cart deletion override documentation
- add delete obsolete carts service
v3.220:
- Add MaximumCountPerDeleteObsoleteCartsJobExecution setting
v3.219:
- Add comment to cart shipments and payments
v3.218:
- (Set Product Name length to 1024 )
v3.217:
- (Move SQL Raw Code to DB providers.)
v3.215:
- (syntax error in Mysql in remove cart query)
vc-module-search
v3.402:
- (Add extension methods for dynamic properties indexing)
v3.401:
v3.400:
- Prepare for scalable indexation
v3.223:
- add IsSuggestable field to IndexDocumentField and additional params to suggestion request
v3.222:
- Add suggestions
v3.221:
- Fix search phrase unescaping
v3.220:
- (Merge for field for IsCollection only)
v3.219:
- Fix problem with progress bar value, add warning
vc-module-core
v3.400:
- Update dependencies
vc-module-elastic-search
v3.400:
- Implement ISupportIndexCreate
v3.214:
- add suggestions
v3.213:
- Fix empty result in GetMappingAsync()
- Fix errors when calling UpdateMappingAsync()
- Fix mappings after swap
- Fix and optimize GetPropertyNames()
- Fix facets that were always in lower case
- Fix compilation warnings
- Fix tests
- Support running tests on Elasticsearch 8.7
v3.212:
- rewrite index swap to atomic operation
v3.211:
- Add the ability to set separate scopes for different document types
vc-module-pricing
v3.403:
- (DateTime values coming back from the SqlServer database always have a DateTimeKind of Unspecified. )
v3.402:
- make field minVariationPrice collection and retrievable
v3.401:
- Implement IIndexSchemaBuilder
v3.400:
- Update Crud and Search services
v3.221:
- Index min variation price
v3.220:
- (Incorrect TotalCount in GET /api/catalog/products/prices/search when use Keyword filter. )
vc-module-marketing
v3.400:
- Use updated Crud and Search services
v3.211:
- (Rest API returns Unauthorized instead of Forbid.)
v3.210:
- add personalization to coupons
vc-module-shipping
v3.402:
- missing filters for Transient Shipping Method.
v3.401:
- Added Shipping Method name and description properties
v3.400:
- Update Crud and Search services
v3.203:
- DB Agnostic architecture with SqlServer, MySql and PostgreSQL
vc-module-order
v3.412:
- bind current value directly in ui-select-match
v3.411:
- (DateTime values coming back from the SqlServer database always have a DateTimeKind of Unspecified. )
v3.410:
- Extend filter blade with “With templates” filter to display order templates
- IsPrototype is missing in Index Document- Error when request Order Template by Id
v3.409:
- Implement IIndexSchemaBuilder
- (Missing BeforeSaveChanges and AfterSaveChangesAsync on SaveChangesAsync )
v3.408:
- (UI disabled when user try to create payment/shipment document )
v3.407:
- (Capture not showing in dynamic properties list)
v3.406:
- Add distributed lock for Capture and Refund API.
PaymentDistributionLockOptions are configurable via appsettings.json
...
"Orders": {
"PaymentDistributedLockOptions": {
"LockTimeout": "00:00:30",
"TryLockTimeout": "00:00:30",
"RetryInterval": "00:00:01.000"
}
}
...
v3.404:
- (User does not get access to the order dashboard after refresh page )
v3.403:
- Fix search criteria corruption
v3.402:
- (Eliminate conflict between VirtoCommerce.OrdersModule.Core.Model.Money class and VirtoCommerce.CoreModule.Core.Currency.Money)
v3.401:
- Redesign Not Authorized Order Statistics Dashboard
v3.400:
- Update Crud and Search services
v3.247:
- (extend ShipmentItem with Status)- (Custom Dialog for Concurrency Conflict)
v3.246:
- dashboard error on PostgreSQL
v3.245:
- Fix broken MySql migration
v3.244:
- add InitialProcessingStatus
v3.243:
- Add Handle Concurrent Update and Retry Policy for Capture and Refund - (Allow capture for payments that are in Paid status )
v3.242:
- (Entity Framework Core RowVersion column not updating using PostgreSQL)
v3.240:
- (OrganizationId and OrganizationIds are missed in CustomerOrderSearchCriteria)
v3.239:
- Add new inventory reservation handler
v3.238:
- change cancel operation canExecuteMethod
v3.237:
- remove capture fix
- (Incorrect work with order, when 2 users try to update one order)
v3.236:
- (Rest API returns Unauthorized instead of Forbid. )
v3.235:
- UpdateOrder
- check original order in authorization handler
v3.234:
- Add permission scopes authorization for delete operation
v3.233:
- Add capture order operation
v3.232:
- Extend Refund API with Transaction Correlation Id
v3.231:
- Fix order fee calculations
v3.230:
- Add comment to cart shipments and payments
v3.229:
- (Product Name has different length than in Catalog)
v3.228:
- Extend order line item with status - mysql money type for Refund
v3.227:
- PT-11336: display refund message and refund reason, add delete refund document
v3.226:
- add timestamp to customer order entity (and added Refund migrations for Postgre and MySQL)
v3.225:
- Add capture and refund operations
- Assign any employee as responsible
vc-module-dynamic-associations
v3.400:
- Use updated Crud and Search services
v3.202:
- DB Agnostic architecture with SqlServer, MySql and PostgreSQL