Grandnode Versions Save

Open source, headless, multi-tenant eCommerce platform built with .NET Core, MongoDB, AWS DocumentDB, Azure CosmosDB, Vue.js.

4.90.1

2 years ago

Bug fixes

  • [54a8daf] Fix - It's not possible to add product to the cart with pre-selected read-only checkbox #1088
  • [f517eb7] Fix - upgrade database to version 4.90 - the orders collection - update the field OwnerId
  • [1142650] Allow to use recommended products per store
  • [8e2166d] Fix - Error to delete Resource Name #1089

legacy

2 years ago

Dear Community!

This repository contains a legacy version of GrandNode. We do not currently maintain the legacy version — we provide limited support for bug fixing until the end of 2022 only. All our resources are focused on GrandNode v2 development.

New updates and improvements will not be available on the legacy version. For updates please look at the GrandNode v2 repository - https://github.com/grandnode/grandnode2.

Beta version of GrandNode v2 has been published and you can check it here: https://github.com/grandnode/grandnode2/releases/tag/1.0.0-beta

4.90.0

3 years ago

Main changes

[b313268] Ability to assign catalog price per currency #959

[d23c433] New sample database

[ab5cb81] Dark mode for VueTheme #1070

[282694c] Add possibility to assign salesperson to customers #1031

[95e3696] Remove AutoFac and use ASP IOC

[0e3aa81] Add possibility to change admin panel theme #1028

Full Changelog

Click here to see the full release notes for GrandNode 4.90.0

Rest of changes

  • [0e3aa81] Allow setting admin theme per store/customer/vendors
  • [401fbaf] Allow setting advanced validation for the password field (add new customer settings - PasswordRegularExpression)
  • [c876586] Do not allow login without a password
  • [db6d8e0] Improve the vendor activation process #1063
  • [b3ba3c9] Add Coordinates to the product entity
  • [8301f56] Add geographical location that is determined by latitude and longitude coordinates for the warehouse
  • [01d655b] Add geographical location - latitude and longitude coordinates for the pickup points
  • [55cc11e] Add a new field for Vendor entity - Coordinates
  • [3dd90f1] Add new setting - Geo Enabled to enable saving the geo-coordinates of a customer
  • [faa866e] Entered price on the shopping cart (#986) Rename field ShoppingCartItem -> with CustomerEnteredPrice to EnteredPrice (change the operation of the service)
  • [f06a67e] Add the possibility to insert interactive forms into topics (pages) #1051
  • [48878f1] Allow to staff owner to change product price on the shopping cart for customer
  • [135df77] Add Start/End date fot Topics (Pages) (#1001) (@badijm thanks for the contribution)
  • [cdc6003] Update Docker-compose
  • [5342201] Add a new field to the order item - SKU
  • [dfe1c73] API - Update stock on the product - Back in stock subscription - send notifications to subscribers
  • [99b2305] API - Add product/Update product - Allow to set field StockQuantity
  • [807350b] Add new tests
  • [189959a] Further improvements with JwtBearerAuthentication / Add new field for UserApi Token
  • [946a582] Update MongoDB index - for product collection
  • [f282255] Implement tag helper for select #1069
  • [46827b0] ActivityLog for Reward points #1047
  • [b863da4] Change the value of SubjectToVat for the United Kingdom
  • [b490b67] PWA - add RoutesToIgnore (admin)
  • [0a8b649] BackInStockSubscription - add new field Attribute info - assign to the message template
  • [e5dfbd7] Add pagination to the customer documents
  • [0fa448b] Allow using find options in the page list
  • [8e303f7] Add StoreMapping to SpecificationAttribute - for extending plugin "Advanced Multi-Tenant"
  • [e74d116] Add StoreMapping to ProductAttribute - for extending plugin "Advanced Multi-Tenant"
  • [b57e9a3] CustomerActivityService - Add cache to the GetActivityTypeById
  • [e001a92] Minor refactoring CustomerViewModelService
  • [41e91a8] Remove XML from product attributes and use a list of attributes
  • [8696020] Remove XML from custom contact attributes and use a list of attributes
  • [33e54e3] Remove XML from custom checkout attributes and use a list of attributes
  • [71ebde5] Remove XML from custom customer attributes and use a list of attributes
  • [2db7e00] Remove XML from custom address attributes and use a list of attributes
  • [3a13360] Refactoring of type converter for ShippingOption
  • [43a6aa1] Simplification of the class CustomAttribute
  • [613c67b] Rename method RestartAppDomain to StopApplication
  • [a5697dd] Add custom bool converter
  • [9a41f0f] Interactive Form - Add new field SystemName
  • [66d67ab] Add new payment statatus - PendingRefunded/PendingPartiallyRefunded
  • [3879644] Minor changes - sitemap config (admin)
  • [027c400] Update ViewComponent - PaymentBrainTreeViewComponent
  • [4f6981b] Update ViewComponent - PaymentCashOnDeliveryViewComponent
  • [a570a4b] Update ViewComponent - PaymentPayPalStandardViewComponent
  • [fc66939] Update Product Review validator
  • [8897af5] Add missing ClearCache
  • [b6aa760] Minor improvements for FlyoutShoppingCart
  • [9815de1] Extend section json model & ShoppingCartController update
  • [8e88092] Sitemap.cshtml file instead of SystemName should use SeName to create URLs #1041
  • [73328eb] Remove filtering by Published flag #990
  • [6ccfc34] Add new global settings - AllowToJsonResponse - set a value indicating for allow to request with JSON response for Public Controller
  • [b47ce766da3e0f89769791c49b5763edb07dd14a] Allow sending an AJAX request to the component view with an extra header
  • [f158f70] Minor improvements - PushNotificationsRegistration viewcomponent
  • [88f7ac9] Rename controller name (AddToCart to ActionCart)
  • [1b84f3d] Refactoring - Admin Components inherit after BaseAdminViewComponent
  • [bc7a569] Refactoring - ViewComponents - Add ComponentAttribute/Add Base AdminViewComponent
  • [1f474ae] Vendor apply - add missing field - Terms Of Service option if redisplay the form
  • [3b202b7] Delete not needed specification attribute notification handler
  • [6654c4e] Delete not needed Checkout attribute notification handler
  • [3a1ea14] Move administration files (roxyfileman/tinymce) to the administration folder
  • [f084e12] Move cache keys to the separate static class
  • [dfbac1d] Replace Microsoft.Azure.Storage deprecated NuGet packages #995
  • [e625922] Add a new field Rate to the order
  • [d0e78dc] Add setting Show Blog Posts in Search Autocomplete results
  • [28fe403] Allows a store owner to specify a default currency for a store
  • [c05f1a6] C# 8 - use a compound assignment
  • [9423bd6] Refactoring ProductService, prepare new interface IInventoryManageService
  • [2d7eb57] Refactoring - move UpdateIntervalProperties to the command handler
  • [163312a] Refactoring - move GetLowStockProducts to the query handler
  • [516f0a0] Refactoring ShippingService (new interfaces IWarehouseService, IDeliveryDateService, IPickupPointService, IShippingMethodService)
  • [07e1730] Grand.Domain - remove the use of the "this" keyword
  • [e5dddfa] Add new notification - PopupInteractiveEvent
  • [8916a38] Add new notification - PopupRenderEvent
  • [bedb31d] Add new notification - ContactUsEvent
  • [f5760b5] Grand.Web add project reference Grand.Domain
  • [b1cf643] OrderReportService improvements (customerId field)
  • [688eeaf] Add new Activity CustomerAdmin.UpdateCartCustomer
  • [befa20b] Allow a store owner to search emails by subject or body
  • [5dd6f74] Update structure for Warehouse
  • [7331c16] Move UrlReferrer from Customer entity to the generic attributes
  • [f5b6a66] Add a new field to the Warehouse entity - DisplayOrder
  • [828d377] Add all warehouses to the cache
  • [1e7b0ef] Add pickup points to the cache
  • [7d81038] Add Delivery date to the cache
  • [7b70be7] Remove from cache double values
  • [e51b3b3] Admin - CustomerController - minor improvements - remove order list from ICustomerViewModelService
  • [368bb36] Admin - Minor improvements - Admin - prepare new interface ICustomerReportViewModelService (move some methods from ICustomerViewModelService)
  • [723d6ab] Admin - Allow filtering search engine friendly page names by status (active/inactive)
  • [d94aecd] Admin - change picture size in the lists
  • [d203f87] Admin - Add clear cache for "Mark as.." actions
  • [9c59a5e] Better accessibility - color change to a more contrasting one
  • [c5595f3] Add the level-one heading for the product page
  • [2b2cd20] Better accessibility - changes in the links descriptions & remove uncrawlable link
  • [08e856b] Vue Theme - Remove the Html.DropdownList
  • [90279d0] Increase the number of ignored URLs in robots.txt #1021
  • [c2e35fc] Add centimetres as a default dimension
  • [34316bd] Add AutoMapper Extensions
  • [51f3fde] Add order delete notification
  • [e043896] Add new field for ProductOverviewModel - LowStock
  • [c579f06] Add hidden settings for additional sorting by Availability #1078
  • [b07ecd7] Remove settings CatalogSettings -> AjaxProcessAttributeChange
  • [3aaa958] Remove Boards/PrivateMessage/Avatars - will be prepared as a Plugin #1046
  • [ee0f0f6] Add to customer attributes a new type of field - hidden field (for developers)
  • [c8bef96] Remove Honeypot from the project
  • [f589b04] Admin panel - Remove XML Sitemap (menu) - prepare new file json - refactoring
  • [3432069] Add version number for themes #1022 - change XML to json format
  • [9649151] Admin panel - Remove information about tax in the commission in the order
  • [0804b97] Refactoring ShoppingCartService - GetShoppingCartItemAttributeWarnings
  • [7cf1891] Remove the manufacturer system name from Search Engine Friendly Names during the manufacturer deletion
  • [46ef74b] Remove the category system name from Search Engine Friendly Names during the category deletion (#1066) (@mikando thanks a lot for the contribution!)
  • [a9c0166] Prevent infinite loop a when a user without access to the closed store and to navigation tries to enter the store #1072

Bug fixes

  • [2cd7dd7] Fix - RSS feed generation error #1050
  • [eb13287] Fix - Low Stock Report does not show simple items without attributes #1071
  • [9010eb2] Fix - Track inventory (ManageInventoryMethod.ManageStock) not working for the attributes #1058
  • [2961235] Minor fix - CheckCommonWarnings
  • [808aa03] Fix avatar urls on forum posts #1059 (@brogowski thanks a lot for contribution)
  • [fedfe67] Minor fix - BackInStockSubscription for product combination with warehouses (with an option allowing selecting warehouse)
  • [8996604] Fix - If the product is limited to ACL, it shouldn't be visible for customers during the wishlist sharing #1054
  • [f03a60a] Fix for Disable billing address step #302
  • [9844632] Minor fix - admin panel - Affiliated Order - order total amount
  • [04ac7fe] Minor fix - admin panel - currency code during partially refund
  • [540e9c5] Fix - Edit billing address on the order in admin panel when the billing address Id is the same as a shipping address
  • [7590b63] Fix - SubAccount validation during editing #1043
  • [1e9164e] Minor fix - sename for forum topics
  • [b6070cf] Fix - contact attributes - ValidationMinLength/ValidationMaxLength
  • [6d12412] Minor improvements - ShoppingCartService (fix for reservations)
  • [8843587] Fix for serialization viewcomponents
  • [a6a0e64] Fix - interactive form
  • [2fdcea3] Contact attributes disappear when you submit a form without validating captcha #1033
  • [309ba02] Fix - Today's order should be according to default system time setting #999
  • [f8effad] Fix - Add view for unpublish items if ACL is grant at the admin #1003
  • [e51c0ec] Fix - SEO knowledgebase, resolves #428
  • [ab64fb8] Fix for password type field, resolves #520
  • [bde67cf] Fix - PATCH requests for Product Controller don't update product data #1010
  • [b83bf5f] Fix for The "ReturnRequestStatus" language setting is missing. #992
  • [c50b4e3] Fix Product Controller - Swagger - API Requests don't work when they have [FromBody] ODataActionParameters parameters #993
  • [1ed4d59] Fix Customer Controller - Swagger - API Requests don't work when they have [FromBody] ODataActionParameters parameters #993
  • [4e65475] Customer attributes - Input type "radio" not checked after selected
  • [9db0f47] Minor fix - Clear cache key during the update of the order
  • [32b2a66] Fix for ACL store closed
  • [9c7c380] PDF Template - fix vendor view limitation headers
  • [bbf1f24] Order ID counter not save before first order #1073
  • [b29a0f0] PDF Catalog after export doesn't show values for SKU, Weight, Stock Quantity fields #1074

4.90.0-beta

3 years ago

Main changes

[b313268] Ability to assign catalog price per currency #959

[d23c433] New sample database

[ab5cb81] Dark mode for VueTheme #1070

[282694c] Add possibility to assign salesperson to customers #1031

[95e3696] Remove AutoFac and use ASP IOC

[0e3aa81] Add possibility to change admin panel theme #1028

Full Changelog

Click here to see the full release notes for GrandNode 4.90.0-beta

Rest of changes

  • [0e3aa81] Allow setting admin theme per store/customer/vendors
  • [401fbaf] Allow setting advanced validation for the password field (add new customer settings - PasswordRegularExpression)
  • [c876586] Do not allow login without a password
  • [db6d8e0] Improve the vendor activation process #1063
  • [b3ba3c9] Add Coordinates to the product entity
  • [8301f56] Add geographical location that is determined by latitude and longitude coordinates for the warehouse
  • [01d655b] Add geographical location - latitude and longitude coordinates for the pickup points
  • [55cc11e] Add a new field for Vendor entity - Coordinates
  • [3dd90f1] Add new setting - Geo Enabled to enable saving the geo-coordinates of a customer
  • [faa866e] Entered price on the shopping cart (#986) Rename field ShoppingCartItem -> with CustomerEnteredPrice to EnteredPrice (change the operation of the service)
  • [f06a67e] Add the possibility to insert interactive forms into topics (pages) #1051
  • [48878f1] Allow to staff owner to change product price on the shopping cart for customer
  • [135df77] Add Start/End date fot Topics (Pages) (#1001) (@badijm thanks for the contribution)
  • [cdc6003] Update Docker-compose
  • [5342201] Add a new field to the order item - SKU
  • [dfe1c73] API - Update stock on the product - Back in stock subscription - send notifications to subscribers
  • [99b2305] API - Add product/Update product - Allow to set field StockQuantity
  • [807350b] Add new tests
  • [189959a] Further improvements with JwtBearerAuthentication / Add new field for UserApi Token
  • [946a582] Update MongoDB index - for product collection
  • [f282255] Implement tag helper for select #1069
  • [46827b0] ActivityLog for Reward points #1047
  • [b863da4] Change the value of SubjectToVat for the United Kingdom
  • [b490b67] PWA - add RoutesToIgnore (admin)
  • [0a8b649] BackInStockSubscription - add new field Attribute info - assign to the message template
  • [e5dfbd7] Add pagination to the customer documents
  • [0fa448b] Allow using find options in the page list
  • [8e303f7] Add StoreMapping to SpecificationAttribute - for extending plugin "Advanced Multi-Tenant"
  • [e74d116] Add StoreMapping to ProductAttribute - for extending plugin "Advanced Multi-Tenant"
  • [b57e9a3] CustomerActivityService - Add cache to the GetActivityTypeById
  • [e001a92] Minor refactoring CustomerViewModelService
  • [41e91a8] Remove XML from product attributes and use a list of attributes
  • [8696020] Remove XML from custom contact attributes and use a list of attributes
  • [33e54e3] Remove XML from custom checkout attributes and use a list of attributes
  • [71ebde5] Remove XML from custom customer attributes and use a list of attributes
  • [2db7e00] Remove XML from custom address attributes and use a list of attributes
  • [3a13360] Refactoring of type converter for ShippingOption
  • [43a6aa1] Simplification of the class CustomAttribute
  • [613c67b] Rename method RestartAppDomain to StopApplication
  • [a5697dd] Add custom bool converter
  • [9a41f0f] Interactive Form - Add new field SystemName
  • [66d67ab] Add new payment statatus - PendingRefunded/PendingPartiallyRefunded
  • [3879644] Minor changes - sitemap config (admin)
  • [027c400] Update ViewComponent - PaymentBrainTreeViewComponent
  • [4f6981b] Update ViewComponent - PaymentCashOnDeliveryViewComponent
  • [a570a4b] Update ViewComponent - PaymentPayPalStandardViewComponent
  • [fc66939] Update Product Review validator
  • [8897af5] Add missing ClearCache
  • [b6aa760] Minor improvements for FlyoutShoppingCart
  • [9815de1] Extend section json model & ShoppingCartController update
  • [8e88092] Sitemap.cshtml file instead of SystemName should use SeName to create URLs #1041
  • [73328eb] Remove filtering by Published flag #990
  • [6ccfc34] Add new global settings - AllowToJsonResponse - set a value indicating for allow to request with JSON response for Public Controller
  • [b47ce766da3e0f89769791c49b5763edb07dd14a] Allow sending an AJAX request to the component view with an extra header
  • [f158f70] Minor improvements - PushNotificationsRegistration viewcomponent
  • [88f7ac9] Rename controller name (AddToCart to ActionCart)
  • [1b84f3d] Refactoring - Admin Components inherit after BaseAdminViewComponent
  • [bc7a569] Refactoring - ViewComponents - Add ComponentAttribute/Add Base AdminViewComponent
  • [1f474ae] Vendor apply - add missing field - Terms Of Service option if redisplay the form
  • [3b202b7] Delete not needed specification attribute notification handler
  • [6654c4e] Delete not needed Checkout attribute notification handler
  • [3a1ea14] Move administration files (roxyfileman/tinymce) to the administration folder
  • [f084e12] Move cache keys to the separate static class
  • [dfbac1d] Replace Microsoft.Azure.Storage deprecated NuGet packages #995
  • [e625922] Add a new field Rate to the order
  • [d0e78dc] Add setting Show Blog Posts in Search Autocomplete results
  • [28fe403] Allows a store owner to specify a default currency for a store
  • [c05f1a6] C# 8 - use a compound assignment
  • [9423bd6] Refactoring ProductService, prepare new interface IInventoryManageService
  • [2d7eb57] Refactoring - move UpdateIntervalProperties to the command handler
  • [163312a] Refactoring - move GetLowStockProducts to the query handler
  • [516f0a0] Refactoring ShippingService (new interfaces IWarehouseService, IDeliveryDateService, IPickupPointService, IShippingMethodService)
  • [07e1730] Grand.Domain - remove the use of the "this" keyword
  • [e5dddfa] Add new notification - PopupInteractiveEvent
  • [8916a38] Add new notification - PopupRenderEvent
  • [bedb31d] Add new notification - ContactUsEvent
  • [f5760b5] Grand.Web add project reference Grand.Domain
  • [b1cf643] OrderReportService improvements (customerId field)
  • [688eeaf] Add new Activity CustomerAdmin.UpdateCartCustomer
  • [befa20b] Allow a store owner to search emails by subject or body
  • [5dd6f74] Update structure for Warehouse
  • [7331c16] Move UrlReferrer from Customer entity to the generic attributes
  • [f5b6a66] Add a new field to the Warehouse entity - DisplayOrder
  • [828d377] Add all warehouses to the cache
  • [1e7b0ef] Add pickup points to the cache
  • [7d81038] Add Delivery date to the cache
  • [7b70be7] Remove from cache double values
  • [e51b3b3] Admin - CustomerController - minor improvements - remove order list from ICustomerViewModelService
  • [368bb36] Admin - Minor improvements - Admin - prepare new interface ICustomerReportViewModelService (move some methods from ICustomerViewModelService)
  • [723d6ab] Admin - Allow filtering search engine friendly page names by status (active/inactive)
  • [d94aecd] Admin - change picture size in the lists

Bug fixes

  • [2cd7dd7] Fix - RSS feed generation error #1050
  • [eb13287] Fix - Low Stock Report does not show simple items without attributes #1071
  • [9010eb2] Fix - Track inventory (ManageInventoryMethod.ManageStock) not working for the attributes #1058
  • [2961235] Minor fix - CheckCommonWarnings
  • [808aa03] Fix avatar urls on forum posts #1059 (@brogowski thanks a lot for contribution)
  • [fedfe67] Minor fix - BackInStockSubscription for product combination with warehouses (with an option allowing selecting warehouse)
  • [8996604] Fix - If the product is limited to ACL, it shouldn't be visible for customers during the wishlist sharing #1054
  • [f03a60a] Fix for Disable billing address step #302
  • [9844632] Minor fix - admin panel - Affiliated Order - order total amount
  • [04ac7fe] Minor fix - admin panel - currency code during partially refund
  • [540e9c5] Fix - Edit billing address on the order in admin panel when the billing address Id is the same as a shipping address
  • [7590b63] Fix - SubAccount validation during editing #1043
  • [1e9164e] Minor fix - sename for forum topics
  • [b6070cf] Fix - contact attributes - ValidationMinLength/ValidationMaxLength
  • [6d12412] Minor improvements - ShoppingCartService (fix for reservations)
  • [8843587] Fix for serialization viewcomponents
  • [a6a0e64] Fix - interactive form
  • [2fdcea3] Contact attributes disappear when you submit a form without validating captcha #1033
  • [309ba02] Fix - Today's order should be according to default system time setting #999
  • [f8effad] Fix - Add view for unpublish items if ACL is grant at the admin #1003
  • [e51c0ec] Fix - SEO knowledgebase, resolves #428
  • [ab64fb8] Fix for password type field, resolves #520
  • [bde67cf] Fix - PATCH requests for Product Controller don't update product data #1010
  • [b83bf5f] Fix for The "ReturnRequestStatus" language setting is missing. #992
  • [c50b4e3] Fix Product Controller - Swagger - API Requests don't work when they have [FromBody] ODataActionParameters parameters #993
  • [1ed4d59] Fix Customer Controller - Swagger - API Requests don't work when they have [FromBody] ODataActionParameters parameters #993
  • [4e65475] Customer attributes - Input type "radio" not checked after selected

4.80.1

3 years ago

Main changes

[d58ea83] New default theme based on Vue.js - beta

Full Changelog

Click here to see the full release notes for GrandNode 4.80.1

Rest of changes

  • [dbdf6ae] Minor improvements PublishSubscriptionEvent for the update newsletter subscription
  • [bb2cbaa] Add notification for Delete Address
  • [d0ea0de] Update TinyMceHelper.cs - Updated javascript files paths
  • [b07d857] Allow to send ajax request to the component view with an extra header
  • [2b830bb] Minor improvements - TopicModel
  • [fd0a543] Do not allow login without password

Bug fixes

  • [ea962cf] Fix - contact attributes - ValidationMinLength/ValidationMaxLength
  • [7dab0fe] Fix - contact attributes dissappear when you submit the form without validating captcha #1033
  • [b57c0a7] Remove filtering by Published flag #990
  • [2d9a525] Vendor apply - add missing field - Terms Of Service option if redisplay form
  • [6f441d5] Fix - Restrict PDF shipment per vendor #1015
  • [bdaff1d] Swagger - API Requests don't work when they have [FromBody] ODataActionParameters parameters #993
  • [993b7bdc377fbd5c6dc571b3577cc48d03504a9d] Fix for order reports (GetOrderAverageReportLine) - profit calculation
  • [d21cc17] Sitemap.cshtml file instead of SystemName should use SeName to create URLs #1041
  • [df3b48c] Fix - SubAccount validation during editing #1043
  • [f1fa3c0] Minor fix - SeName for forum topics #1045

4.80.0

3 years ago

Main changes

[d49ee84] Extend API to allow to use Swagger UI #878

[d26cd23] Implement Serilog logging for ASP.NET Core in the project #876

[e6f5b74] Implement WKHTMLTOPDF #907

[06b34c5] Advanced Permissions Management #913

[d3bf769] Possibility to create sub accounts for customers #345

[98212a4] Allow managing cookies preference #915

[3eb9031] Admin panel - Bootstrap updated, Dark Mode added

Full Changelog

Click here to see the full release notes for GrandNode 4.80-0

Rest of changes

  • [2ff4812] Add new event notification - insert order note (made by customer)
  • [a63acba] Add new event notification - insert product review
  • [e623dae] Add new event notification - insert blog post item comment
  • [0dff3c0] Add new event notification - insert news item comment
  • [cd05246] Add missing if statement for AllowPostVoting on forum #843
  • [74d6094] Allow to staff owner to change create date for the blog post
  • [9c3d602] Include knowledge base articles in sitemap #838
  • [c174243] Refactor of the ICacheManager interface
  • [258ba37] Refactor of the WorkflowMessageService Class (Customer workflow)
  • [3dfb74e] Better heading implementation on catalog pages
  • [c58d013] Further changes with ignoring language limitation
  • [3d81b77] Insert correct types for input tags #863
  • [f28203f] Improve Security - implement host filtering, restricting the hostnames that your app responds to, It is recommended whenever you're running in production for security reasons.
  • [d26cd23] Implement Serilog logging for ASP.NET Core in the project #876
  • [f045e58] Minor changes - set the Order for IGrandStartup
  • [4165fe1] Add event handler for delete language
  • [f0c5ec3] Add event handler for delete discount
  • [8fb811f] Add event handler for delete tax category
  • [00d0ab1] Add event handler for delete warehouse/delivery date
  • [b00000d] Refactoring ProductService
  • [35181a2] Do not load tasks from plugin not installed #868
  • [a5384b9] Add new event customer log out
  • [14074dd] Sitemap - Allow selecting a language to generate the XML file
  • [a9e10ca] Move Return Request Query to the Grand.Service project
  • [5d5ff58] Move ClearMostViewedCommand/DeleteActivitylogCommand to the Grand.Service project
  • [9d9a0ef] Prepare UseFullTextSearchCommand Handler
  • [4461be9] Prepare MaxOrderNumber Command Handler
  • [52ff58e] Extend PictureService
  • [d49ee84] Extend API to allow to use Swagger UI #878
  • [c95ec76] Move sitemap.config to App_Data folder
  • [3c52aa6] Refactoring - Add new project Grand.Domain
  • [e19f715] Set area in admin views
  • [1c3f562] Refactoring of code - move EuropaCheckVatService to separate project (as a plugin)
  • [9ed578c] Allow staff owner to assign owner email
  • [61aaaa2] Minor improvements ISettingService
  • [ee60019] Remove setter from IWorkContext - CurrentCustomer
  • [8c431f3] Change library EPPlus to DotNetCore.NPOI - export/import excel #892
  • [14258f1] Replaced deprecated library (Windows Azure Storage to Azure Blob Storage)
  • [ee60019] Remove setter from IWorkContext - CurrentCustomer
  • [67ff3e0] Further improvements - get customer cookie / set customer cookie move to the IGrandAuthenticationService
  • [6613e78] Move action DeleteDirectory from CommonHelper to the PluginController
  • [3791621] Move IMongoDBContext to Grand.Domain project
  • [0faed63] Allow validating the minimum, maximum order total for specific customer roles
  • [d461b88] Remove IHtmlHelper extension and prepare TagHelper - Page title
  • [b5852a4] Remove IHtmlHelper extension and prepare TagHelper - MetaDescription
  • [f83e633] Remove IHtmlHelper extension and prepare TagHelper - MetaKeywords
  • [df737a1] Remove IHtmlHelper extension and prepare TagHelper - Html
  • [78d263e] Remove IHtmlHelper extension and prepare TagHelper - HeadCustom
  • [7251b56] Remove IHtmlHelper extension and prepare TagHelper - CanonicalUrls
  • [aa68f61] Remove IHtmlHelper extension and prepare TagHelper - CSSFiles/ScriptFiles
  • [135a2f9] Remove IHtmlHelper extension and prepare TagHelper - BBCodeEditor
  • [77e97ea] Remove IHtmlHelper extension and prepare TagHelper - Page navigation
  • [f0b4209] Add html-class TagHelper
  • [c878068] Minor improvements - Views (replace Component.InvokeAsync - to VC tag helper)
  • [d6a52bd] Remove setting RenderXuaCompatible
  • [01cf9f1] Razor views - use HTML tags
  • [a7a9cb0] Remove Html layout extensions
  • [0ef69a7] Remove html extensions - GetTopicSeName
  • [e6f5b74] Implement WKHTMLTOPDF #907
  • [c708f0b] Change the Zero SSL validation URL #916
  • [4487abb] Minor improvements - add to the repository new method InsertManyAsync
  • [2b4c60b] Advanced Permissions #913 - Add new Tab on the Customer Role - Access Control List
  • [51551e6] Admin panel - Update Bootstrap in admin panel to the newest version (#930)
  • [c6645e3] Admin panel - Add a notification display if your version of GrandNode is out of date
  • [d370c3a] Admin panel - Move Access Denied Action to the Home Controller
  • [8b0d259] Admin panel - Schedule task list - convert DateTime fields to user time
  • [647713b] Admin panel - Prevent for null values in JavaScriptEncoder.Default.Encode
  • [8fa3dbb] Admin panel - Make order details more user friendly #934
  • [b163189] Admin panel - Customer details - Allow to expand order details
  • [8e1ce89] Admin panel - Allow editing generic attributes on delivery dates
  • [cbfceb9] Allow to adding labels on orders #845 (Thanks @dborovsky for the contribution)
  • [e607c92] Add new settings in AppSettings.json - cookie claims issuer
  • [47380cc] Minor improvements - logo on PDF document
  • [8205c2e] Minor improvements with assembly to skip loading
  • [c8f2f44] Add new settings in AppSettings.json - list of plugins to be ignored during start application - pattern
  • [8ff43fe] Allow setting for a cookie prefix name
  • [8d2ac97] Implement manifest for plugin info
  • [c9f045f] Second manufacturer description on the bottom of the page #919
  • [5e09438] Second category description on the bottom of the page #918
  • [d94b3ac] Allow using the logo in png format for plugins
  • [a08a658] Add possibility to edit custom robots.txt file via admin panel #898 (@dborovsky thanks for the contribution)
  • [2b4bd52] Increment display order value when adding a new language #922
  • [423fb39] Grand.Core - move type converter classes to the Grand.Core.TypeConverters
  • [c73dc9f] Add meta open graph tags #399
  • [19298db] Improve Import resources from XML
  • [58c50d9] DefaultResource - set display order by name
  • [39e4fdd] Minor changes - Admin - System Info (add order by for assemblies)
  • [9f1abe2] Introduce the Semantic Versioning #928
  • [9f7b546] Possibility to automatically cancel unpaid orders after X days. (@kirollosonsi thanks for the contribution)
  • [5a95124] Add Indonesian Translation in the Installation Resources #932 (@riceeater-id thanks for the contribution)
  • [cbe02ae] Move TinyMceHelper to the extensions
  • [efdc78c] Unit Tests - DocumentTypeService #472 (@dborovsky thanks for the contribution)
  • [226ebc3] Unit tests - DeleteMeasureUnitOnProductCommandHandlerTest #472 (@dborovsky thanks for the contribution)
  • [e30a70f] Move some plugins to the marketplace - Google Shopping Feed, Pay in store and Check/Money Order plugins can be found on https://grandnode.com/extensions
  • [6e23bb4] Add user note for "Min order sub-total amount" setting
  • [1f9284e] Add user note for "Automatically cancel unpaid and pending orders after X days" setting
  • [54af97e] Change the default values after installation for some settings
  • [55f437e] Allow to register own type converters by using ITypeConverter
  • [43525f9] Allow to run IGrandStartup event if the plugin is not installed
  • [fd9067a] List categories in selected language #947 (@Illia-M thanks for the contribution)
  • [495c916] PDF template - Add missing fields
  • [670a3eb] Add new widget zones for customer
  • [d326c32] Use JwtBearerDefaults.AuthenticationScheme static field
  • [87f1d6f] For Request.Headers use static field
  • [c1d0607] Clear cache after changed settings
  • [2978ced] Minor improvements - Edit Scheduled Task (add new button save and continue)
  • [316ec1d] Minor refactoring - Import manager
  • [57b3f0b] Remove unused variables ScriptFilesTagHelper/CssFilesTagHelper
  • [35b48db] Add method CancelOrder to the IOrderProcessingService
  • [b1ef377] Minor improvements - Add if statement to Footer Company Details items
  • [5c8e0c9] Admin panel - Customer edit - allow list queued emails
  • [8129655] Queued Emails - add missing field SearchToEmail
  • [ace33e9] Add possibility to specify "Company details" during installation
  • [06715eb] Add new customer settings AllowUsersToChangeEmail
  • [8a63602] Log and skip image converting error (#953) (@Illia-M thanks for the contribution)
  • [7c0da51] Update Firebase to the newest version #954
  • [e2d9629] Minor improvements - CheckAccessClosedStore
  • [6d1d4fa] Make StoreClosed page simpler
  • [1d8bc59] Admin - add Constant class - area admin
  • [fd9067a] View categories list in selected language (#947) (@Illia-M thanks for the contribution)
  • [a3bc805] Admin panel - replace url content with url action (Views)
  • [432331f] Prepare new form for login to admin panel
  • [cbe02ae] Move TinyMceHelper to the extensions
  • [99c9d59] Improve reviews system - Review confirmed by purchase #578
  • [8c36574] Add GenericAttributes for documents
  • [52e21e5] Add more settings for rounding amount
  • [c089b92] Extend some liquid objects
  • [91e7253] Add informatiom about correct package structure on Plugins list
  • [1248c2d] Add category field to the homepage blog post
  • [6520dfe] Minor improvements - newsletter subscription for store owner
  • [c206555] Prepare ACL for customer tag

Bug fixes

  • [43147ef] Advanced search doesn't include the category to result #851
  • [296983d] When you are on 2FA enable page wrong menu item is highlighted #856
  • [ba4cd43] Add missing translation for Add order note button #857
  • [7fe19e6] Problem with mobile search trigger on mobile #866
  • [49a4632] Fix the correct length of encryption private key in Settings #871
  • [3395f4f] Minor fix - admin panel - search product reviews list
  • [da83fe6] Start/End Date for Tier Prices are not saved on product #889
  • [81a1d50] Google Analytics widget doesn't pass the e-commerce data #891
  • [4cbf117] Fix for upgrade (InstallStringResources)
  • [f485245] Fix Shopping Cart tab incorrectly highlighted on order complete page #870 (thanks @gopkumr for the contribution)
  • [53ffd7b] Fixed issue with change/reset password
  • [ade1554] Contact us - prevent to send form with wrong CAPTCHA #921
  • [709fd24] Staff - Bulk Edit Product is not accessible when the assigned store will be removed #909
  • [37cf69e] After losing a connection with the database, the scheduled task does not run again #923
  • [c1a5c8c] Admin panel - Fix get count online shopping cart
  • [60d2d6d] Fix - Popup interactive form
  • [0ec5214] Fix - Topic content not vissible #939anguagesEnabled doesn't work #970
  • [7e30eb4] Admin panel - fix link Subject (Queued email)
  • [7c67b6a] Partial refund (offiline) - set status refunded instead of partially refunded if we refund the whole amount #951
  • [32b90e5] Admin panel - Fix for Knowledgebase - EditArticle (link)
  • [b87007b] Admin panel - add missing line tag helper Grand.Web
  • [1fd0ff1] Admin panel - fix link to the blog post on category
  • [6fb0618] Minor fix - Installation process - CreateTables
  • [4f70cb1] Fix - It's impossible to make an order if there is a customer action "Add order" with conditions #938
  • [f389124] ProductTemplate.Grouped - fix for variant attributes
  • [a795a79] Prevent exception if roslyn scripts assemblies not exists
  • [73abe17] Fix - Wrong email data #977
  • [b721b5e] Import language on RTL bug fixed #976
  • [2db9579] Admin panel - minor fix - order details - display tax rates
  • [23a0759] Admin panel - fix to show amount order subtotal discount on the order details
  • [49bd32e] Fix - Delete message contact form #981
  • [480b045] Print shipments not respect vendor role #980

4.80.0-beta

3 years ago

Main changes

[d49ee84] Extend API to allow to use Swagger UI #878

[d26cd23] Implement Serilog logging for ASP.NET Core in the project #876

[e6f5b74] Implement WKHTMLTOPDF #907

[06b34c5] Advanced Permissions Management #913

[d3bf769] Possibility to create sub accounts for customers #345

[98212a4] Allow managing cookies preference #915

[3eb9031] Admin panel - Bootstrap updated, Dark Mode added

Full Changelog

Click here to see the full release notes for GrandNode 4.80-0-beta

Rest of changes

  • [2ff4812] Add new event notification - insert order note (made by customer)
  • [a63acba] Add new event notification - insert product review
  • [e623dae] Add new event notification - insert blog post item comment
  • [0dff3c0] Add new event notification - insert news item comment
  • [cd05246] Add missing if statement for AllowPostVoting on forum #843
  • [74d6094] Allow to staff owner to change create date for the blog post
  • [9c3d602] Include knowledge base articles in sitemap #838
  • [c174243] Refactor of the ICacheManager interface
  • [258ba37] Refactor of the WorkflowMessageService Class (Customer workflow)
  • [3dfb74e] Better heading implementation on catalog pages
  • [c58d013] Further changes with ignoring language limitation
  • [3d81b77] Insert correct types for input tags #863
  • [f28203f] Improve Security - implement host filtering, restricting the hostnames that your app responds to, It is recommended whenever you're running in production for security reasons.
  • [d26cd23] Implement Serilog logging for ASP.NET Core in the project #876
  • [f045e58] Minor changes - set the Order for IGrandStartup
  • [4165fe1] Add event handler for delete language
  • [f0c5ec3] Add event handler for delete discount
  • [8fb811f] Add event handler for delete tax category
  • [00d0ab1] Add event handler for delete warehouse/delivery date
  • [b00000d] Refactoring ProductService
  • [35181a2] Do not load tasks from plugin not installed #868
  • [a5384b9] Add new event customer log out
  • [14074dd] Sitemap - Allow selecting a language to generate the XML file
  • [a9e10ca] Move Return Request Query to the Grand.Service project
  • [5d5ff58] Move ClearMostViewedCommand/DeleteActivitylogCommand to the Grand.Service project
  • [9d9a0ef] Prepare UseFullTextSearchCommand Handler
  • [4461be9] Prepare MaxOrderNumber Command Handler
  • [52ff58e] Extend PictureService
  • [d49ee84] Extend API to allow to use Swagger UI #878
  • [c95ec76] Move sitemap.config to App_Data folder
  • [3c52aa6] Refactoring - Add new project Grand.Domain
  • [e19f715] Set area in admin views
  • [1c3f562] Refactoring of code - move EuropaCheckVatService to separate project (as a plugin)
  • [9ed578c] Allow staff owner to assign owner email
  • [61aaaa2] Minor improvements ISettingService
  • [ee60019] Remove setter from IWorkContext - CurrentCustomer
  • [8c431f3] Change library EPPlus to DotNetCore.NPOI - export/import excel #892
  • [14258f1] Replaced deprecated library (Windows Azure Storage to Azure Blob Storage)
  • [ee60019] Remove setter from IWorkContext - CurrentCustomer
  • [67ff3e0] Further improvements - get customer cookie / set customer cookie move to the IGrandAuthenticationService
  • [6613e78] Move action DeleteDirectory from CommonHelper to the PluginController
  • [3791621] Move IMongoDBContext to Grand.Domain project
  • [0faed63] Allow validating the minimum, maximum order total for specific customer roles
  • [d461b88] Remove IHtmlHelper extension and prepare TagHelper - Page title
  • [b5852a4] Remove IHtmlHelper extension and prepare TagHelper - MetaDescription
  • [f83e633] Remove IHtmlHelper extension and prepare TagHelper - MetaKeywords
  • [df737a1] Remove IHtmlHelper extension and prepare TagHelper - Html
  • [78d263e] Remove IHtmlHelper extension and prepare TagHelper - HeadCustom
  • [7251b56] Remove IHtmlHelper extension and prepare TagHelper - CanonicalUrls
  • [aa68f61] Remove IHtmlHelper extension and prepare TagHelper - CSSFiles/ScriptFiles
  • [135a2f9] Remove IHtmlHelper extension and prepare TagHelper - BBCodeEditor
  • [77e97ea] Remove IHtmlHelper extension and prepare TagHelper - Page navigation
  • [f0b4209] Add html-class TagHelper
  • [c878068] Minor improvements - Views (replace Component.InvokeAsync - to VC tag helper)
  • [d6a52bd] Remove setting RenderXuaCompatible
  • [01cf9f1] Razor views - use HTML tags
  • [a7a9cb0] Remove Html layout extensions
  • [0ef69a7] Remove html extensions - GetTopicSeName
  • [e6f5b74] Implement WKHTMLTOPDF #907
  • [c708f0b] Change the Zero SSL validation URL #916
  • [4487abb] Minor improvements - add to the repository new method InsertManyAsync
  • [2b4c60b] Advanced Permissions #913 - Add new Tab on the Customer Role - Access Control List
  • [51551e6] Admin panel - Update Bootstrap in admin panel to the newest version (#930)
  • [c6645e3] Admin panel - Add a notification display if your version of GrandNode is out of date
  • [d370c3a] Admin panel - Move Access Denied Action to the Home Controller
  • [8b0d259] Admin panel - Schedule task list - convert DateTime fields to user time
  • [647713b] Admin panel - Prevent for null values in JavaScriptEncoder.Default.Encode
  • [8fa3dbb] Admin panel - Make order details more user friendly #934
  • [b163189] Admin panel - Customer details - Allow to expand order details
  • [8e1ce89] Admin panel - Allow editing generic attributes on delivery dates
  • [cbfceb9] Allow to adding labels on orders #845 (Thanks @dborovsky for the contribution)
  • [e607c92] Add new settings in AppSettings.json - cookie claims issuer
  • [47380cc] Minor improvements - logo on PDF document
  • [8205c2e] Minor improvements with assembly to skip loading
  • [c8f2f44] Add new settings in AppSettings.json - list of plugins to be ignored during start application - pattern
  • [8ff43fe] Allow setting for a cookie prefix name
  • [8d2ac97] Implement manifest for plugin info
  • [c9f045f] Second manufacturer description on the bottom of the page #919
  • [5e09438] Second category description on the bottom of the page #918
  • [d94b3ac] Allow using the logo in png format for plugins
  • [a08a658] Add possibility to edit custom robots.txt file via admin panel #898 (@dborovsky thanks for the contribution)
  • [2b4bd52] Increment display order value when adding a new language #922
  • [423fb39] Grand.Core - move type converter classes to the Grand.Core.TypeConverters
  • [c73dc9f] Add meta open graph tags #399
  • [19298db] Improve Import resources from XML
  • [58c50d9] DefaultResource - set display order by name
  • [39e4fdd] Minor changes - Admin - System Info (add order by for assemblies)
  • [9f1abe2] Introduce the Semantic Versioning #928
  • [9f7b546] Possibility to automatically cancel unpaid orders after X days. (@kirollosonsi thanks for the contribution)
  • [5a95124] Add Indonesian Translation in the Installation Resources #932 (@riceeater-id thanks for the contribution)
  • [cbe02ae] Move TinyMceHelper to the extensions
  • [efdc78c] Unit Tests - DocumentTypeService #472 (@dborovsky thanks for the contribution)
  • [226ebc3] Unit tests - DeleteMeasureUnitOnProductCommandHandlerTest #472 (@dborovsky thanks for the contribution)
  • [e30a70f] Move some plugins to the marketplace - Google Shopping Feed, Pay in store and Check/Money Order plugins can be found on https://grandnode.com/extensions
  • [6e23bb4] Add user note for "Min order sub-total amount" setting
  • [1f9284e] Add user note for "Automatically cancel unpaid and pending orders after X days" setting
  • [54af97e] Change the default values after installation for some settings
  • [55f437e] Allow to register own type converters by using ITypeConverter
  • [43525f9] Allow to run IGrandStartup event if the plugin is not installed

Bug fixes

  • [43147ef] Advanced search doesn't include the category to result #851
  • [296983d] When you are on 2FA enable page wrong menu item is highlighted #856
  • [ba4cd43] Add missing translation for Add order note button #857
  • [7fe19e6] Problem with mobile search trigger on mobile #866
  • [49a4632] Fix the correct length of encryption private key in Settings #871
  • [3395f4f] Minor fix - admin panel - search product reviews list
  • [da83fe6] Start/End Date for Tier Prices are not saved on product #889
  • [81a1d50] Google Analytics widget doesn't pass the e-commerce data #891
  • [4cbf117] Fix for upgrade (InstallStringResources)
  • [f485245] Fix Shopping Cart tab incorrectly highlighted on order complete page #870 (thanks @gopkumr for the contribution)
  • [53ffd7b] Fixed issue with change/reset password
  • [ade1554] Contact us - prevent to send form with wrong CAPTCHA #921
  • [709fd24] Staff - Bulk Edit Product is not accessible when the assigned store will be removed #909
  • [37cf69e] After losing a connection with the database, the scheduled task does not run again #923
  • [c1a5c8c] Admin panel - Fix get count online shopping cart
  • [60d2d6d] Fix - Popup interactive form
  • [0ec5214] Fix - Topic content not vissible #939
  • [4f70cb1] Fix - It's impossible to make an order if there is a customer action "Add order" with conditions #938
  • [f389124] ProductTemplate.Grouped - fix for variant attributes
  • [a795a79] Prevent exception if roslyn scripts assemblies not exists

4.70

3 years ago

Improve Multi Vendor Features

Implement Two Factor Authentication

Code Refactoring

Add possibility to select products in the cart to purchase

Seo Friendly URLs for specification attributes filtering

Simplify the shopping cart and checkout

Update 16.06.2020 We've found a bug with multi-store limitations, and we've decided to update the packages. Please download the package or check the commit with fix [bab148f] and include it in your store.

The full list of changes can be found on our release notes page.

4.70Beta

3 years ago

Improve Multi Vendor Features

Implement Two Factor Authentication

Code Refactoring

Add possibility to select products in the cart to purchase

Seo Friendly URLs for specification attributes filtering

Simplify the shopping cart and checkout

The full list of changes can be found on our release notes page.

4.60

4 years ago

Upgrade to ASP.NET Core 3.1

Improved web farm support and cache management

Improve the B2B Features

Add e-learning features

Default theme improvements

Allow to manage generic attributes

The full list of changes can be found on our release notes page.