Releases: smartstore/SmartStoreNET
Releases · smartstore/SmartStoreNET
SmartStore.NET 3.0.3
SmartStore.NET 3.0.3
Bugfixes
- #1232 Scheduled tasks are being 'randomly' set inactive
- #1245 Existing product does not get updated during import under certain circumstances
- #1207 No low stock activity when bulk editing the product quantity
- #1208 Missing inventory tab when switching from bundle to simple product
- #1210 Clear asset cache when a theme setting has changed
- Fixed name of deleted manufacturers displayed in product lists
- Fixed non-system category export profile always exports categories of current store
- Fixed picture assignment for variant attribute combinations of product copies which weren't assigned correctly
- #1218 CopyProductService does not copy picture of ProductVariantAttributeValue
- Fixed hidden checkout button when there are two or more shopping cart items and one gets removed from basket during checkout
- Fixed physical gift cards cannot be moved to cart
- Fixed tax rate wasn't properly formatted on product detail page
- #1228 Text entered in frontend for attributes or checkout attributes are truncated by comma
- Fixed shipping computation method ignoring deactivated PricesIncludeTax setting
- Debitoor: Fixed missing tax rates on Debitoor invoice for net prices
- #1224 Notifier wasn't working in plugin controllers
- #1205 Server cannot append header after HTTP headers have been sent
- #1154 Left offcanvas navigation does not open when in checkout progress
- #1212 Export: FTP publishing should consider directory structure
- #1253 Product PDF exporter only exports one picture and ignores the picture number profile setting
- Configuration of some plugins not saved in Firefox browser
Improvements
- Apply img-fluid class to all images within html editor content
- System name in privacy info topic URL should be lowercase
- If no checkout attribute is required checking out will be possible
- OpenTrans: optimizations for Lexware import
- #496 show bonus points in ordersummary on first checkout page
- Discounts of plugins weren't displayed in product lists
New Features
SmartStore.NET 3.0.2
SmartStore.NET 3.0.2
Breaking changes
- MegaSearch: The index must be re-created because of changes to the price filter.
New Features
- New setting indicates whether to include or exclude unavailable products in search results by default.
- (Dev) New Asset Cache
Improvements
- PayPal Standard: New settings "UsePayPalAddress" and "IsShippingAddressRequired" to avoid payment rejection due to address validation.
- More widget zones for the footer
- #1177 Implement new setting for product search sorting
- More fault tolerant task scheduler
Bugfixes
- Fixed memory leak in MegaSearch plugin, which caused HTTP 503
- RSS: Item URLs in feeds have ignored SSL settings
- Fixed "The view 'ProfileImportResult' or its master was not found"
- #1187 Search: Do not hide multi-selectable filters of the same group if there are no hits
- Fixed System.ArgumentNullException in ProductVariantQueryFactory
- PayPal PLUS: Fixed HTTP 401 "Unauthorized" when calling PatchShipping
- #1189 MegaSearch: Boosts are ignored in prefix and wildcard queries by default
- MegaSearch: Localized labels of filters were never displayed
- #1195 Exporter: don't send an email if no email account has been selected
- Product lists sometimes show the wrong delivery time
- #1192 Lucene indexing performance decreases the longer it takes
- #1198 MegaSearch: never sort numeric range by label, always by value
- Filter for attributes were always sorted by hit count
- #1200 PayPal PLUS: Invalid request if the order amount is zero
- Fixed null reference exception when copying attribute option set with image(s) (file system storage only)
- Product price sometimes was wrong when entering a numeric value in an attribute text box
- Added missing code for customer privacy agreement
- Clicking the login link wasn't working correctly in offcanvas my-account menu
- #1158 Currency and language selectors weren't working in OffCanvas menu
- Fixed "Server cannot append header after HTTP headers have been sent"
SmartStore.NET 3.0.1
SmartStore.NET 3.0.1
Improvements
- (Perf) Much faster application startup
- Microsoft Visual C++ 2015 Redistributable no longer required to be installed
- BeezUP:
- Exports up to 9 product images
- Export stock quantity when stock is managed by attributes
- Export parent child relation data when exporting attribute combinations as products
- Flatten and append attribute data when exporting attribute combinations as products
- Instant search should search manufacturer/brand name
- HTTP 301 redirects for legacy media URLs
- (Dev) New 'ApplicationStarted' event
- (Dev) Enabled C# 6 features in plugin views
- (GMC) Added missing database indexes.
- (WebApi) Added endpoints for blog post and blog comment
- Added more sortable columns to backend product grids
- #1160 Append suffix 'Picture (1...n)' to thumbnail's alt-attribute on product detail pages
- (Perf) Faster catalog indexing thanks to new database indexes
- (Perf) Faster dynamic view compilation thanks to Roslyn compiler
- Added the widget zone 'productdetails_pictures_bottom'
- Added config setting sm:PdfEngineBaseUrl. There are cases where the PDF converter exits with a network error, when it is unable to load automatically resolved URLs.
- (Dev) Added Retry utility class
- #1176 Admin > Product Search: It ain't possible to search for parts of a product name
Bugfixes
- #1145: Fixed HTTP 404 after switching language
- Fixed null reference exception in product lists if sorting is not allowed
- The file manager did not work correctly under a virtual folder
- Item row in list style product list should not wrap on small devices
- Item row in list style product list squashed on Android system browser
- Linq search: Filter for manufacturers and categories were not limited by store
- (GMC) Fixes duplicate occurrence of application path in absolute product URL
- Products with stock managed by attributes sometimes not displayed in category lists
- Fixed System.MissingMethodException for SmartStore.Core.Search.Facets.FacetGroup
- Fixed uploaded image paths in HTML fields (Media/Uploaded > Media//Uploaded)
- (MegaSearch) Product category order, product manufacturer order and product order were not recognized (sorting)
- Standard search: Fixed sorting of recently added products
- Alias for search filters couldn't be set if there's only one language
- #1168 Cart: MinOrderAmount sometimes ignored
- Moving products from editable wishlist to cart was out of function
- Fixed several issues with parallelly executed data export tasks
- Fixed several issues with PayPal payment providers
- Facebook login out of function due to Facebook API changes (always returns "Unknown error")
- Fixed 'no picture available' watermark on some product pictures
- #1153 Removing already applied gift card causes error
- (Theming) Drift zoom uses static zoomFactor. Made it dynamic.
- (Theming) IE11: simple menu dropdowns weren't positioned correctly
- Removed "trust" element from web.config (causes problems on some shared hosting spaces)
- Fixed ThumbZoomer unproportional rescale issue in product grid
- #1134 JavaScript error (IE 11 in VS debug mode) after removing the last item in shopping cart
- (Theming) Dozens of layout fs for ixemobile devices (especially iOS and Android native browser)
- Better error logging for TaskScheduler
- Fixed several queries which caused problems with SQL CE
- Fixed missing CurrencyCode exception in product exports
- #1179 Error while downloading a downloadable product
- Mega Menu: If a dropdown contains two level hierarchy categories only, they are not wrapped to the next column
- Hide sort dropdown when option is off
- HTTP 301 redirects for legacy media URLs
- Added missing resources of broken migration 'AddressEnhancement' again
- Checkout: Title and salutation were missing when entering new addresses
- #1163 ContentSlider: pictures won't be displayed when placed on top or bottom on IOS
SmartStore.NET 3.0.0
Highlights
- Flex: New mobile-first responsive Theme based on Bootstrap 4
- Mega Search: highly professional search framework based on Lucene.NET (commercial plugin exclusively bundled with Pro Edition)
- Ultra fast search results, even with millions of items
- Faceted search
- Synonyms
- Compound word splitting
- Mega Menu: highly customizable catalog menu widgets (commercial plugin exclusively bundled with Pro Edition)
- Content Slider: creates eye-catching content to boost sales (commercial plugin exclusively bundled with Pro Edition)
- Output Cache with "donut hole caching" for maximum speed and scalability (commercial plugin exclusively bundled with Premium Edition)
- Microsoft AZURE provider for media storage (commercial plugin exclusively bundled with Premium Edition)
- Web Farms: REDIS providers for Business Cache, Output Cache and Session State (commercial plugin exclusively bundled with Enterprise Edition)
- Product variant option sets
- New product specification attribute type: numeric range
- Image support for variant attributes
Breaking changes
- Removed old Content Slider module from open source core
- Removed Web API plugin from open source core (now exclusively bundled with Premium Edition)
Other New Features
- Message Bus for inter-process messaging between servers (commercial plugin)
- Configurable media storage path for web farms
- (Dev) log4net integration
- (Dev) proper plugin view debugging
- (Dev) detect changes to static plugin files (css, js, etc.) and immediately apply them to running project
- (Dev) Theming: plugins now support implicitly imported SASS files (Content/[public|admin].scss)
- XML Sitemap optimized for very large catalogs:
- Partitions for very large sitemaps (> 50.000 nodes or > 10 MB)
- Generated in a background task. No instant invalidation anymore.
- Added option to skip shipping method selection in checkout process if only one shipping method is active
- Added options to capture salutation and title in addresses and customer info
- Added projection to control the export of individually visible associated products
- #966 Implement new tax calculation logic for shipping and payment fees (calculate with rate of highest cart amount)
- #922 New option to specify whether to include the weight of free shipping products in shipping by weight calculation
- #724 Allow discounts to be applied to manufacturers
- Option to display manufacturers sorted in alphabetical order
- #1093 New product properties required for selling abroad
- Web API:
- #1002 Add support for addresses and customer roles navigation property of customer entity
- #1062 Add filter options for user grid on configuration page
- #1072 Add support for TaxCategory
- #1073 Settings for maximum pagesize ($top) and maximum expansion depth ($expand)
- #1074 Extend product image upload to allow updating of images
- #1064 Deleting all product categories/manufacturers per product in one go
- #1063 Adding product category/manufacturer ignores any other property like DisplayOrder
- Added endpoint "Infos" for order and order item entity for additional information like aggregated data.
- Swagger integration
- Added setting to specify whether the product manufacturer should be displayed in product detail
- #271 Implemented support for attribute images/icons
- #330 Implement 'attribute option sets'
- Two themes Flex Black and Flex Blue which are derived from Flex theme
Improvements
- Updated .NET Target Framework from 4.5.1 to 4.5.2
- Added order message token for accepting third party email handover
- ECB currency exchange rate provider now cross calculates rates based on euro rates
- BeezUP: Exports the product weight
- Updated Elmar shop info XML from version 1.1 to 2.0
- (Perf) Application start faster by ~20%
- (Perf) Lower memory consumption
- (Perf) #1098 Reduce number of created guest accounts (more reliable bot detection)
- #1008 Export: Add support for description projection to all product exporting providers
- #1015 Implement Entity Picker in discount requirements
- Debitoor improvements:
- Company name send as customer name if present
- Option to append customer email address to invoice address
- Additional order notes for tax exemption within and outside EU
- #1048 Add meta tags to contact us page
- Order XML export includes more customer data like title and salutation
- #1080 Do not resolve Order.OrderURLForCustomer token for guest customers
- #1051 Display EAN in PDF packaging slip
- #806 User couldn't be created in the admin section without "Manage Customer Roles" permission
- #491 Implemented option to determine a default delivery time
- #1078 Implemented options for "Add to Cart" quantity input field on product level. Quantity control can now be hidden and can be configured to be increased and decreased in steps.
- #696 Added textual resources for meta title and description for blog per month and by tag pages and enriched them with corresponding month plus year respectivly tag name
- #1025 Added token for customer number to MessageTokenProvider
- #1016 Implemented choosing of MessageTokens for newsletter campaigns with dropdown menu
- #1107 OpenTrans: Added option to exclude long description of products from export
- BMEcat: Implemented download of pictures according to MimeRoot-Info
- Payone:
- Replace client API by Payone iFrame solution. Allows credit card payment compliant with PCI DSS, SAQ A.
- #1123 Add order note with payment info for prepayment and invoice payment.
Bugfixes
- Currency wasn't displayed for shipping estimation
- SKU, EAN, MPN of last attribute combination were exported for all combinations
- GMC:
- Id should be unique when exporting attribute combinations as products
- Attribute price adjustments were ignored when exporting attribute combinations as products
- Associated products that are not individually visible are not exported anymore. GMC rejects them because the frontend redirects to the grouped product.
- Export:
- Awarded reward points for a placed order were occasionally calculated wrong
- PayPal PLUS:
- Changed shipping address/costs were not transmitted to PayPal
- Skip payment if cart total is zero
- Do not display payment wall if method is filtered
- PayPal Express: Fixed net price issue.
- Bundle item cannot be deleted if it's in a shopping cart
- Fixed SSL issue for news items in RSS feed
- Filter shows wrong number of products if "Include products from subcategories" is activated
- Guest user cannot be deleted if he has a private message
- #1029 Biz-Importer: Imports fixed tax rates as zero percentage
- #1055 Checkout: Localized shipping method names are not displayed if shipping by total is activated
- #1071 NewsLetterSubscription.ActivationUrl not working if the store if SSL secured
- #1086 Gift cards can be earned in one store and applied in another
- Whishlist: Products with minimum order amount greater then 1 can be added to the whishlist without any warning
- #1102: Discounts not transmitted when the total amount is zero
- #1101 Clickatell: Sending SMS not working anymore
SmartStore.NET 2.6.0
Highlights
- Major improvements in Importer & Exporter: better field mapping, higher performance, bug fixes etc.
- 'PayPal PLUS' payment plugin
- 'paydirekt' payment plugin
- 'Viveum' payment plugin
- 'BeezUP' export provider
- (Dev) Publishing SmartStore.Web from within Visual Studio now deploys the project correctly. No need to execute ClickToBuild.cmd anymore. Just publish directly to any target, including Azure.
New Features
- #961 Fix "Open Redirection Vulnerability"
- #571 Option to display another checkbox on confirm page to let the customer accept that his email address can be handed over to a third party
- #870 Implement address import for customers (both billing & shipping address)
- #886 Add setting to hide manufacturer images on product detail page and to hide default image for manufacturers
- Import localized SEO names for product and categories
- #477 Implement option to specify the number of exported and imported pictures
- #859 Make checkout attributes suitable for multi-stores
- Product details: Select attribute and gift card values by query string parameters
- #950 make contact form comply with current German law
Improvements
- Major improvements in Importer: better field mapping, higher performance, bug fixes etc.
- (Dev) Publishing SmartStore.Web from within Visual Studio now deploys the project correctly. No need to execute ClickToBuild.cmd anymore. Just publish directly to any target, including Azure.
- Localization & SEO: language switcher now takes language specific SEO slugs into account when building links
- Smarter import of plugin resource files with graceful fallbacks (de-DE > de > de-* > en-US > en > en-* > *)
- (Perf) Faster language resource file import
- Exports the product detail link including the attribute query string when exporting attribute combinations
- #918 Compare products: Display base price information
- Export email attachments needs to be stored in database because the temp file may not exist anymore when sending the email
- #913 Use HTML5 Input types (tel, email)
- Added paging to frontend order list
- Added paging to backend checkout attribute list
- #977 Show PAngV base/delivery amount also
- Updated LiveEngage LiveChat plugin
Bugfixes
- TaskScheduler could fail polling when primary store url is an external IP address
- Fixed ajax cache issue when saving payment or shipping restrictions. Internet Explorer showed the old data state (before storage).
- "The provider failed at the Execute method: Member 'CurrentValues' cannot be called for the entity of type 'Product'" when exporting product attribute combinations
- Bundles without selected attributes could throw an exception on product detail page
- GMC feed did not export the product type and Billiger did not export shop_cat (category path)
- The error message of a payment provider when capturing a payment was not displayed
- Adding new shipping method threw an exception
- Attribute Values: Assigning IsPreselected to more than one value causes an error
- BizImporter: fixed redirection bug when default file extension in .biz wasn't .html
- Fixed: Export deployment emails were always send manually
- Manually notifying gift card recipient threw an exception
- Loading shipping by weight grid failed under SQL CE
- #949 Import: ProcessSlugs does not process explicitly specified "SeName", if product name did not change in an update scenario
- Customer import: Creates customer role duplicates for inserted customers
- GMC feed does not generate the sale price if the sale price is set for a future date
- Mobile devices: Fixed "Uncaught Error: Syntax error, unrecognized expression: :nth-child"
- Download nor sample download were removable when editing product
- Copied product must not share sample download of source product. Could produce "The DELETE statement conflicted with the REFERENCE constraint 'FK_dbo.Product_dbo.Download_SampleDownloadId'".
- #921 Specification attribute options with single quotation marks are causing a Javascript error
- #971 Product is added to cart automatically if it has a non-required file upload attribute
- #973 Bundle item upload is nowhere linked
- Base price in product list ignored PriceDisplayType (catalog settings) and possibly displayed the wrong base price info
- Private messages: Fixes "No route in the route table matches the supplied values"
- Payone: Hash string incorrect for frontend API payments where the order has more than 9 products
- Export mail notification: Download link not working if SSL is enabled
- Discount rule has spent amount including sub total option can cause wrong discount calculation if the cart contains a product several times
- #986 File uploads possible through /content/filemanager/index.html
SmartStore.NET 2.5.0
Highlights
- New import/export framework (profiles, filters, mapping, projections, scheduling, deployment... just everything!)
- TaskScheduler: Rewritten from scratch to be suitable for Web Farms (including support for cron expressions)
- Payment and shipping methods by customer roles
- Restrict payment methods to countries
- Restrict payment methods to shipping methods
- Email attachment support for message templates
- Attach order invoice PDF automatically to order notification emails
- Overall performance increase
- Lots of bug fixes
New Features
- New export and import framework
- Import of customer and category data
- #141 Payment and shipping methods by customer roles
- #67 Restrict payment methods to countries
- #94 Restrict payment methods to shipping methods
- #747 Restrict payment methods by old versus new customer (plugin)
- #584 Email attachment support for message templates
- Attach order invoice PDF automatically to order notification emails
- #526 Min/Max amount option for which the payment method should be offered during checkout
- (Dev) New SyncMapping service: enables easier entity synchronization with external systems
- (Dev) #792 ViewEngine: Enable vbhtml views per configuration
- (Dev) Plugin developers can now render child actions into a dynamically created special tab called 'Plugins'
- #718 ShopConnector: Import option for "Published" and "Disable buy\wishlist button"
- #702 Facebook and Twitter external authentication suitable for multi-stores
- New scheduled task: Clear e-mail queue
- New scheduled task: Clear uploadeded transient media files
- #704 Make primary store currency suitable for multi-stores
- #727 Web-API: Option to deactivate TimestampOlderThanLastRequest validation
- #731 Web-API: Allow deletion and inserting of product category and manufacturer assignments
- #733 Option to set a display order for homepage products
- #607 HTML capable full description for payment methods displayed in checkout
- #732 Product list: Option to display the pre-selected price instead of the lowest price
- New payment provider for Offline Payment Plugin: Purchase Order Number
- #202 Implement option for product list 'default sort order'
- #360 Import & export product variant combinations
- #722 System > SEO Names: Implement editing of an UrlRecord
- Admin > System > System Info shows used application memory (RAM)
- Added option to make VATIN mandatory during customer registration
- #840 Activity log: Have option to exclude search engine activity
- #841 Activity log for deleting an order
- More settings to control creation of SEO names
- GMC feed: Supporting fields multipack, bundle, adult, energy efficiency class and custom label (0 to 4)
- #760 Setting to set a customer role for new registered users
- #800 Multi-store: Option to display all orders of all stores for customer in frontend
- #457 Added option to hide the default image for categories and products
- #451 Add message token for product shipping surcharge
- #436 Make %Order.Product(s)% token to link the product detail page and a add product thumbnail
- #339 Meta robots setting for page indexing of search engines
- PayPal: Option for API security protocol
- Product filter: Option to sort filter results by their display order rather than by number of matches
- Elmar Shopinfo: Option to export delivery time as availability
- #654 Place user agreement for downloadable files in checkout process
- #398 EU law: add 'revocation' form and revocation waiver for ESD
- #738 Implement download of pictures via URLs in product import
- Web-API: Bridge to import framework: uploading import files to import profile directory
- Setting to round down calculated reward points
- #695 Implement checkbox in checkout to let customers subscribe to newsletters
- #495 Implement option to search product detail description by default
Improvements
- (Perf) Implemented static caches for URL aliases and localized properties. Increases app startup and request speed by up to 30%.
- (Perf) Significantly reduced number of database reads during product list rendering. Increases request speed by up to 10%.
- (Perf) Implemented 2nd level cache for infrequently changed entities. Increases request speed by up to 10%.
- TaskScheduler: Rewritten from scratch to be suitable for Web Farms
- TaskScheduler: Supports cron expressions to define task execution frequency
- TaskScheduler: Editing tasks does not require app restart anymore
- TaskScheduler: Enhanced UI
- #721 Message Queue: implemented "Delete all"
- #725 Prevent LowestProductPrice being 0
- #709 News feed produced invalid RSS feed. Added content:encoded. Added maximum news age setting for feed export.
- #735 Include SKUs of attribute combinations when filtering the backend product list
- Filter for homepage and published\unpublished products in backend product list
- Reduce database round trips initiated by price calculation
- Google Analytics: added support for mobile devices
- (Dev) TaskScheduler: Tasks can propagate progress info (percentage & message)
- (Dev) TaskScheduler: Cancellation request is sent to tasks on app shutdown
- ShippingByWeight & ShippingByTotal: Support for multiple zip ranges (comma separated)
- Two more options to handle customer numbers: display customer number in frontend & let customers enter their customer number if it's still empty
- #62 free shipping info on product detail page
- Display base price in CompactProductBox
- Automatically redirect to referrer after login
- #826 Image gallery: the viewport height was fixed to 300 px, but now respects MediaSettings > ImageSize.
- #249 Make UI editor for 'SeoSettings.ExtraRobotsDisallows'
- Debitoor: Customer VAT number not transmitted anymore because it appears on the Debitoor invoice.
- #778 Web-API: Increase MaxExpansionDepth for using expand pathes
- #767 Remove assignments to a grouped product if the grouped product is deleted
- #773 Reduce number of guest records created by search engine requests
- #791 Preselected attributes or attribute combinations should always be appended as querystring to product page links
- Simplified handling of SEO names
- URLs are not converted to lower case anymore
- Product grid sortable by name, price and created on
- #26 Display company or name in order list
- Added inline editing of country grid
- #790 Improved language editing
- #843 Implement a product picker
- #850 Use new product picker for selecting required products
- Trusted Shops: badge will be displayed in mobile themes, payment info link replaced compare list link in footer
- Product filter: Specification attributes are sorted by display order rather than alphabetically by name
- #856 Don't route topics which are excluded from sitemap
- #851 Replace reCAPTCHA with "I'm not a robot" CAPTCHA
- #713 Display gift card remaining amount in frontend order details and order messages
- #736 Render PayPal Express Button in minibasket
- PayPal: Support for partial refunds
- Offline credit card payment: Option to exclude credit card types
Bugfixes
- #523 Redirecting to payment provider performed by core instead of plugin
- Preselected price was wrong for product attributes with multiple preselected values (same on product detail page)
- #749 Visual Studio 2015 compilation error: CS0009: Metadata file. SmartStore.Licensing.dll could not be opened -- Illegal tables in compressed metadata stream
- PayPal Express: fixed capture method
- #770 Resizing browser with product details page causes product image to disappear
- GMC feed: Availability value "available for order" deprecated
- Mobile: Shopping cart warnings weren't displayed to customers
- Tax provider and payment method were automatically activated when there were no active provider\method
- #784 Biz-Importer: Name of delivery time must not be imported empty
- #776 Preview: Manufacturer and Product in Multi Store
- #755 Some methods still loading all products in one go
- #796 Selected specification in product filter mask is displayed with default language (not localized)
- #805 Product filter is reset if 'product sorting' or 'view mode' or 'amount of displayed products per page' is changed
- Hide link to a topic page if it is limited to stores
- #829 Activity log: Searching by customer email out of function
- Product import: Store mappings were not applied when inserting new records
- Faulty permission handling in ajax grid actions (no message, infinite loading icon)
- Grouped products: Display order was not correct
- Deletion of a customer could delete all newsletter subscriptions
- PayPal: Fixed "The request was aborted: Could not create SSL/TLS secure channel."
- PayPal Express: Void and refund out of function ("The transaction id is not valid")
- Customer could not delete his avatar
- Facebook authentication: Email missing in verification
- Attribute with a product linkage throws exception if added to cart
- Number of products per product tag could be incorrect in a multi-store
SmartStore.NET 2.2.2
New Features
- SmartStore.NET User Guide
- #210 Implement multi-store support for import/export
- Added zip code to shipping by weight computation method
- Skrill payment plugin
- (Dev) DevTool plugin: added option to display all widget zones in public store
- New options for manufacturer display on the homepage
- Added optional customer number field
Improvements
- (Perf) several minor optimizations for faster app startup and page rendering
- UI: optimized image gallery widget (white background & nicer animations) + enhanced modal dialog fade animations
- (Soft) deletion of SEO slug supporting entities now also deletes the corresponding url records
- License checker now supports IDN mapping for domain names
- #716 Supporting of paged google-product data query for SQL-Server Compact Edition
- #648 Add hint for * at mandatory form fields at address creation
- Added link to imprint and disclaimer to footer in mobile theme
- #521 Display bonus points in order export
- Updated GMC taxonomy files
- MsieJsEngine now is the default LESS script engine
Bugfixes
- #694 Product variant attribute in product page should not be preselected implicitly
- Fixed: If currencies are limited to one for a multi-store, this currency should dominate the setting for the primary store currency
- #563 Scheduled Tasks: ensure that 'LastEndUtc' is ALWAYS set
- Topics grid: fixed 'maxJsonLength exceeded' error
- Debitoor: Fixed "The property named 'lines.0.productOrService' should be defined"
- Send currency code of primary store currency (not of working currency) to payment gateway
- #691 Product quantity not added to cart on mobile theme
- #186 Mobile: variant images do not refresh
- #671 Bundle products: display base price according to applied discount
- #619 Display base price according to applied tier price
- #726 PAngV: basket displays wrong base price when attribute price adjustment has been set
- Weight adjustment of attributes weren't applied in shopping cart overview
- Shipping by weight calculates wrong surcharge if attribute combination prices are set
- Don't let database hooks call other hooks.
- There was no payment redirect if only one payment method is available in checkout
SmartStore.NET 2.2.1
New Features
- New option to display product thumbnails in instant search (NOTE: the feature can be enabled via Configuration > Settings > Catalog Settings > Search)
- #582 GMC feed: Option to include/exclude a product
- #652 Web API: Support for file upload and multipart mime
- #594 Option to prevent a message from being automatically sent
- Category filtering by store for backend (tree and list view)
- #554 Flag to indicate that a new payment notification (IPN) arrived for an order since last opening\editing of the order
- New setting to specify whether and how to display sub-categories on a category page (hidden, above products, bottom of page)
- Debitoor: Extend option "Book invoice if paid" to also (optionally) mail the invoice as a PDF
- #508 Limit country settings to stores
- #205 Add multistore support for forums
Improvements
- PDF converter: first init is much faster now
- Localized properties for forums and forum groups
Bugfixes
- PDF converter: fixed QFont::setPixelSize bug
- Fixed System.NullReferenceException at admin/order/pdfpackagingslips
- #660 Don't show shipping cost hint in product detail page if product has free shipping
SmartStore.NET 2.2.0
Highlights
- Overall performance increase
- New mobile theme: MobileLight (a light variant of the default mobile theme)
- More reliable mobile device detection
- Quantity unit management
- Performance: product list rendering up to 10x (!) faster now (depends on page size and view mode)
- SEO: New field to specify html tag for page titles on widget level
- Lots of bug fixes
New Features
- New mobile theme: MobileLight (a light variant of the default mobile theme)
- Localization: in a multi-language environment missing language resources fall back to default language's resources (instead of returning the ugly resource key)
- Quantity unit management
- #428 New option to override global category list view type
- #672 New option to automatically create mutual associations for cross sell and related products
- #485 Enable shop admin to change creation date of a blog entry
- #258 Implement email validation in checkout
- New option to specify the maximum number of displayed filter items
- New option to specify whether all filter groups should be displayed expanded
- #459 New field to specify html tag for page titles on widget level
- Added shrink database to backend UI
- #588 Alternative localized category name used as title for category pages
- #592 Add a second category description displayed beyond products on category page
- Promotion feeds now export the preselected price (including price adjustments and overrides)
- Implement 'free shipping threshold' for feed creation
- Billiger feed: Implement new field for shipping costs to austria
- (Developer) Added
BeginTransaction()
andUseTransaction()
methods toIDbContext
Improvements
- (Perf) product list rendering up to 10x (!) faster now (depends on page size and view mode)
- The data grid in the backend now preserves client state between requests (page, pageSize, sorting, filtering etc.)
- Excel Import & Export: much lower memory consumption and increased performance
- Moving pictures from DB to FS or vice versa is lightning fast now, consumes much lower memory and is encapsulated in a transaction which ensures reliable rollback after failure. Plus the database gets automatically shrinked after moving to FS.
- Feed plugins: product query now paged to reduce memory payload
- #589 Backend product list: add filter for products with "no category mapping" and "no manufacturer mapping"
- Minor UI tweaks in checkout process
- Payone: CC-Check via client API, not via Server API (requires PCI certification)
- #189 Allow deletion of multiple reviews
- #622 UI: Redesign table in Sales > Orders > Order > Tab Products
- #625 Bundles can be ordered if an attribute combination of a bundle item is not available
- #666 Export addresses in customer export
- New shopping cart setting ShowItemsFromWishlistToCartButton
- XML product export now is paged and more data gets exported
- #560 Return requests: Add fields for last update, last update of requested action and general notes
- #626 Add
IsActive
flag for checkout attributes
Bugfixes
- Instant search box did not display all results when SQL Fulltext Search was enabled
- Print order as PDF redirected to login although the admin already was logged in
- Editing a product might change its URL alias
- #621 PDF Order: does not take overridden attribute combination price into account (in order line)
- Amazon payments: Declined authorization IPN did not void the payment status
- Fixed „Payment method couldn't be loaded“ when order amount is zero
- #598 Wrong input parameter name for ReturnRequestSubmit
- #557 Localize MVC validation strings
- Fixed rare bug "The length of the string exceeds the value set on the maxJsonLength property" (Controller: Order, Action: OrderNotesSelect)
- Debitoor: Adding order notes can result in infinite order update event loop with thousands of order notes
- Tax rates persisted on order item level to avoid rounding issues (required for Debitoor, Accarda and Payone)
- Hide additional shipping surcharge when display prices permission is not granted
- Fixed "Adding a relationship with an entity which is in the Deleted state is not allowed" when adding bundles to cart
- Fixed price calculation of multiple bundles issue
- Fixed auto add required products for bundle items
- Fixes #641: Protocol in sitemap should be HTTPS when
ForceSslForAllPages
is true - #640 Do not display shipping infos for grouped products in product lists
- #634 Bundle price in list should not differ from price in details if there is only one bundle item with one attribute
- Do not copy associated product when copying a bundle product
- Null DeliveryTimeId when deleting products. Otherwise deleted products can prevent deletion of delivery times.
- Fixed: Product with inactive attribute combination could be moved to wishlist, copied to cart and be purchased
- Mobile Theme: Show prices according to selected variant value, display of deliverytime
- Bundles: Display base price according to Catalog Setting > Product Detail > Display Base Price
SmartStore.NET 2.1.1
Highlights
- Html to PDF converter: PDF documents are created from regular HTML templates now, therefore radically simplifying PDF output customization.
- New payment plugin Payone
- Html widgets: added option to create a wrapper around widget content
New Features
- Html to PDF converter: PDF documents are created from regular HTML templates now, therefore radically simplifying PDF output customization.
- Html widgets: added option to create a wrapper around widget content
- SEO: added new settings
Canonical host name rule
. Enforces permanent redirection to a single domain name for a better page rank (e.g. myshop.com > www.myshop.com or vice versa) - SEO: added support for
<link hreflang="..." ... />
in multi-language stores. The tags are automatically rendered along with the language switcher. - (Developer) Implemented new HtmlHelper extension
AddLinkPart
: registers<link>
tags which should be rendered in page's head section - (Developer) Implemented new HtmlHelper extension
AddCustomHeadParts
: registers whatever head (meta) tag you wish - (Developer) Added
SmartUrlRoutingModule
, which can pass static files toUrlRoutingModule
if desired (e.g. used by MiniProfiler). This way static files can be handled by regular actions or filters, without polluting web.config. - New payment plugin "Payone"
- Option to set a delivery time for products available for order with stock quantity < 1
- Option to disable product reviews on product detail page
- Option to supress display of sub category picture links
Improvements
- (Perf) Faster application warmup
- (Perf) Faster product list rendering
- Reworked routing: removed static file security barrier again (caused too much problems)
- #545 Made all (applicable) settings multi-store-enabled
- #579 Make all relative urls absolute prior sending email
- The display order of attribute values are considered in the sorting of backend's attribute combination grid
- Optimized error handling and redesigned error pages
- Removed
PageNotFound
topic. Text is a simple locale resource now. - PayPal settings are multi-store-enabled
- #555 Product edit: Improve category select box. Add history (last x selected items) above all others.
- #510 Payment plugins: Qualify configuration(s) for multistores
- #556 A negative value should be possible for additional payment fees
- Dashboard: Order items linked with order list
- Security: Missing http-only flag for some cookies set
Bugfixes
- PayPal Express: corrected basket transmission by eliminating tax transmission
- Fixed password recovery redirection
- #552 Left navbar should stay expanded on product detail pages
- #538 Specification attribute labels in product filter mask are not displayed localized
- #540 AmazonPay: Multistore configuration might be lost if "All stores" are left empty
- #532 AmazonPay: Reflect refunds made at amazon seller central when using data polling
- #577 Exception thrown because of missing TaxRate table when opening tax by region provider configuration
- Added IIS rewrite rule for
/productreviews/{id}
>/product/reviews/{id}
- Email a friend redirects to "not found"
- #567 Products marked as 'Featured' should also be included in regular lists
- Fixed some missing company information in order to PDF export
- #583 Fixed "The property rate with the value x is malformed" when creating products
- Fixed ignored discount and tier price when product has attribute combination price
- PayPal Standard provider now using shipping rather than billing address if shipping is required