Skip to content

Releases: VirtoCommerce/vc-storefront

v3.2.10

04 Jun 11:30
Compare
Choose a tag to compare
  • Now platform level option to disable anonymous users for specific store (VirtoCommerce/vc-module-store#14) is supported by storefront. (#220)
  • Added user/password token based authentication to platform v3 API. (#235)
  • User cache optimization was done, which should significantly reduce platform user query count. (#227)
  • Swagger doc improvements to have convenient type names: replaced generic API result types with specific ones (#219); used manually created types instead of Autorest generated' ones (#253, #254).
  • Improved extensibility for some storefront models. (#239)
  • ProductProperty.Hidden is now populated to storefront. (#236)
  • Extended IStoreService for platform v3 support. (#264)
  • Added product fuzzy search ability. (#250)
  • Added security check to ApiOrderController.GetInvocePdf method. (#251)
  • Upgraded Application Insights version to 2.9.1. to avoid memory leaks in 2.8.1. (#259)
  • Fixed memory leaks caused by WorkContext objects. (#263)
  • Fixed bug with routing after SetCompatibilityVersion(CompatibilityVersion.Version_2_2). (#252)
  • Fixed bug with "Featured" products sorting. (#248)
  • Fixed bug with numeric subscription period in the cart. (VirtoCommerce/vc-theme-default#67)
  • Fixed bug where current user groups weren't passed to the API due to incorrect cache key generation. (6d83b4e)
  • Fixed bugs with missing fields mapping in converters (#244, 31bc2a2).

v3.2.9

05 Mar 14:28
Compare
Choose a tag to compare
  • Added Swagger document for API controllers available at /docs/v1/docs.json. #202
  • Migrated Storefront to NET Core 2.2.1. #205
  • Added ability to reset password by SMS. #212
  • Fixed 400 Bad Request errors occured sometimes for POST requests due to antiforgery validation. That situation could happen when static resource request enforced new antiforgery token issue, which made previously granted tokens invalid.
  • Added response compression to storefront.
  • Now proper error page is shown in case of 500 server in production configuration.
  • Now properties Group, SortOrder, LanuageCode are properly filled in Catalog.ImageEntity. #213
  • Fixed the bug with the cache settings were taken from config weren't applied
  • Fixed the bug with transient cart invalidation in cache. Before the fix all who used temporary cart shared single cached instance because of empty Id property.
  • Fixed bug with Contact loosing its organizations on update. #215
  • Moved MemoryCacheExtensions to Model project and switched Liquid engine to use this extension for cache.
  • Made WorkContext.PageSize configurable limited by configurable PageSizeMaxValue. #208
    appsettings.json
"VirtoCommerce": {
...
    "PageSizeMaxValue": 100,
...
}
  • Proper naming: pooling replaced with polling #207

v3.2.8

05 Feb 12:29
Compare
Choose a tag to compare
  • The major performance bug fix. Changed the MemoryCacheExtensions logic to do not use CacheEntry lifetime for implicit adding cache dependencies. This behavior led to cache malfunction and fast expiration of objects stored in the cache.
  • Has replaced the absolute expiration for caching user account with based on change token and polling requests to the platform API.
  • Fixed bug in Money.TruncatedAmount

v3.2.7

14 Jan 13:24
Compare
Choose a tag to compare

v3.2.6

03 Dec 12:51
Compare
Choose a tag to compare
  • Update ASP.NET Core to 2.1.6 version
  • Minor performance improvements:
    • fixed regress-bug ResponseCaching doesn't work for AssetsController actions. It was broken by setting X-XSRF-TOKEN for each response in the AntiforgeryTokenMiddleware.
    • do not evaluate price lists for anonymous user.
    • calculate taxes on the storefront side if Fixed tax rate provider is used
  • Minor bug fixes:
    • added possibility to add variation in the bulk order view #172
    • added the new property Product.AvailableQuantity to the liquid Product type
    • fixed routing ambiguity in error controller #169
    • fixed Reference not set exception during marketing evaluation for user that doesn't have an associated contact record. #165
    • fixed Null reference exception when merging an anonymous cart

v3.2.5

03 Oct 08:23
Compare
Choose a tag to compare
  • Changed the default HTML encoding options, to not encode non-Latin characters
  • Added IncludeSubDomains property for HSTS policy
  • Added possibility to disable cache #56
    appsettings.json
"VirtoCommerce": {
...
"CacheEnabled": "true",
"CacheAbsoluteExpiration": "10:00:00"
...
}
  • Added to possibility influence to search criteria of lazy loaded data from Liquid templates params {[search criteria json]}
{% paginate collection.products by 5 params {"ResponseGroup":"ItemLarge"} %}
   {% for product in collection.products%}
     ....
   {% endfor %}
{% endpaginate %}
  • Switched Product associations to data lazy loading and work with the new API of the platform associations #62
  • Eliminated the manual ASP.NET routes registration, now it is done via attributes. #47
  • Added support to enter multiple coupons on checkout #155
  • Fixed request too long error when was trying loading product variations #148

v3.2.4

13 Aug 13:55
Compare
Choose a tag to compare
  • Fixed the file system changes watching and cache invalidation
  • Used case insensitive equals for find currency symbol from given isoCode
  • Do not log out an anonymous user when the cookie expires (#127)
  • Fixed bug with ArgumentOutOfRange exception during anonymous user login
  • Added missed property mapping in the tax converter. It led to invalid tax calculation for products in the search list
  • Added token validation to reset password and registration by invitation forms (#135)
  • Feature Limit the reward for relative discount (#137)
  • "version" parameter added to liquid context (#134)
  • Switched the AsyncLock static type to use AsyncLock from Nito.AsyncEx library
  • Moved the cache key generation for ShoppingCart from Controllers to the type ShoopingCart.GetCacheKey()
  • Add customer login name into Application Insight events (#145)
  • Added snapshot collection for exceptions into Application Insight
    #140
  • Fixed bug with incorrect authorization work for static pages
  • Added check for user rejection (#146)
  • Descriptions without language used as fallback https://github.com/Vir… (#139)
  • Redirect to log in when cookie expired (#128)

v3.2.3

03 Jul 10:23
Compare
Choose a tag to compare
  • Significant performance improvements
    • Removed Task.Run() from code which led to big latency with parallel requests processing
    • Opt out the pooling for file system changes detection, also caused serious problems in Azure

v3.2.2

28 Jun 15:31
Compare
Choose a tag to compare
  • Minor performance improvements (order creation, subscriptions, price lists)

v3.2.1

21 Jun 11:41
Compare
Choose a tag to compare
  • Use of the [ValidateAntiforegeryToken] attribute for each API method individually, because using this attribute for the entire class extends its effect even on GET methods and it is invalid behavior. #123
  • Added new OnlyRegisteredUserAuthorizationHandler policy to restrict access to some views for non registered users.
  • Added infrastructure to work with platform API by using OAuth2 access token authentification.
  • Fixed the bug with the out-of-sync of cached security data between the storefront and the platform #111 #112
  • Fixed bug with wrong product availability evaluation due to that fact that the store default fulfillment center wasn't taken into account
  • The replaced use of the ValueObject.GetHashCode method in the construction of the cache key to string because of the high probability of duplication of hash values
  • Removed cart totals calculation from model properties. There must be only one place for this, cart module API.
    #122
  • Fixed bug with user impersonation