A modular, scalable and ultra-fast open-source all-in-one eCommerce platform built on ASP.NET Core 7
AGPL-3.0 License
.badge-subtle
, .badge-outline-*
, .badge-ring
, .badge-counter
.form-check-solo
, .form-check-{color}
, .form-switch
, .form-switch-lg
_easings.scss
Content-Type
header when serving page from cacheShippingByWeight
and ShippingByTotal
four decimal places migrations.Published by Michael-Herzog over 1 year ago
Store.SecureUrl
and Store.ForceSslForAllPages
are deprecated now. By default, all pages are secured if Store.SslEnabled
is true.ForwardedHeadersMiddleware
Contains()
and Like()
failing on non-ascii characters.GiftCard
, GiftCardUsageHistory
, DiscountUsageHistory
, CheckoutAttribute
and CheckoutAttributeValue
.OrderItem
entity.SAMEORIGIN
to response headers308 - Permanent redirect
status code for HTTPS redirection (instead of 301 - Moved permanently
)IMapper<TFrom, TTo>
):
IWorkContext
CurrentCustomer, WorkingLanguage and WorkingCurrency must be set according to projection.TaxSettings
of projected store.OrderSettings.DisplayOrdersOfAllStores
was set to true
SequentialDataReader
: fixed a problem where occasionally nullable string fields were not readMainMenuShrinker
was missing.NullReferenceException
.NullReferenceException
in GoogleAnalyticsViewComponent
.KeyNotFoundException
in GoogleAnalyticsScriptHelper.GetOrderCompletedScriptAsync
.MainPictureId
changed each time a new picture is uploaded.FixProductMainPictureId
when uploading new image on product edit page.ShowCategoryProductNumberIncludingSubcategories
was changed.SmallQuantityThreshold
in initial migration.Published by Michael-Herzog over 1 year ago
UsePooledDbContextFactory
, UseDbCache
, UseSequentialDbDataReader
data-invariant
attribute to number input controlsPublished by Michael-Herzog over 1 year ago
WebhookEndpointAttribute
endpoint metadata. Suppresses creation of guest accounts for webhook calls.BadRequest
issue on saving AJAX grid changesSystem.String[]
as a complex type instead of ICollection<string>
.InvalidOperationException
in Microsoft.OData.Client
using MediaFiles and MediaFolders endpoints.InvalidOperationException
in Microsoft.OData.Client
"An unexpected 'StartObject' node was found for property named 'Size' when reading from the JSON reader. A 'PrimitiveValue' node was expected.".NullReferenceException
when deleting a shopping cart item.FileNotFoundException
when uploading an import file.Published by Michael-Herzog almost 2 years ago
DbDefaultSchema
DisallowRobotAttribute
LocaleStringResource
table could contain many dupe records.ArgumentNullException
when deleting an image assignment on product edit page.pathBase
is stripped when target endpoint requires culture code/en/
should not match /men/
)Published by Michael-Herzog almost 2 years ago
sm-suppress-if-empty
: suppresses tag output if child content is empty (due to some conditional logic).sm-suppress-if-empty-zone
: suppresses parent tag output if a specified child zone is empty or whitespace.ILocalizedEntityDescriptorProvider
, ILocalizedEntityLoader
SmtpServerTimeout
in appsettings.json
InsertBefore()
,InsertAfter()
, InsertBeforeAny()
, InsertAfterAny()
, InsertAt()
tab
TagHelper: sm-hide-if-empty
IHtmlContent.HasValue()
IHtmlHelper.RenderZoneAsync()
LocalFile
did not implement CreateFileAsync()
correctly, which led to PackageInstaller, PageBuilder thumbnail cache and PublicFolderPublisher throwing NotImplementedException
TemplateMatcher
does not evaluate inline constraints anymorePublished by Michael-Herzog about 2 years ago
Smartstore 5 is a port of Smartstore 4 - which is based on the classic .NET Framework 4.7.2 - to the new ASP.NET Core 6 platform.
(*jacket or *shirt) and !leather*
datagrid
TagHelper which lets you control every aspect of the gridIDbContext
and IRepository<T>
in favor of DbContext
and DbSet<T>
Published by Michael-Herzog over 2 years ago