Compatibility and External Dependencies
Extension API compatibility
In next table You can find from which version of Sana Commerce the extension API is supported:
| Extension API version | SCC version | .NET version |
|---|---|---|
| 2.0.49 Key notes | 1.104 | .NET 8.0 |
| 2.0.46 Key notes | 1.100 | .NET 8.0 |
| 2.0.45 Key notes | 1.98 | .NET 8.0 |
| 2.0.42 Key notes | 1.95 | .NET 8.0 |
| 2.0.40 Key notes | 1.94 | .NET 8.0 |
| 2.0.39 Key notes | 1.90 | .NET 8.0 |
| 2.0.37 Key notes | 1.89 | .NET 6.0 |
| 2.0.36 Key notes | 1.87 | .NET 6.0 |
| 2.0.34 Key notes | 1.85 | .NET 6.0 |
| 2.0.29 Key notes | 1.78 | .NET 6.0 |
| 2.0.26 Key notes | 1.72 | .NET 6.0 |
| 2.0.25 Key notes | 1.69 | .NET 6.0 |
| 2.0.24 Key notes | 1.67 | .NET 6.0 |
| 2.0.23 Key notes | 1.64 | .NET 6.0 |
| 2.0.20 Key notes | 1.59 | .NET 6.0 |
| 2.0.18 Key notes | 1.55 | .NET Standard 2.0 |
| 2.0.17 Key notes | 1.53 | .NET Standard 2.0 |
| 2.0.12 Key notes | 1.0.40 | .NET Standard 2.0 |
| 2.0.11 Key notes | 1.0.37 | .NET Standard 2.0 |
| 2.0.10 Key notes | 1.0.30 | .NET Standard 2.0 |
| 2.0.8 Key notes | 1.0.25 | .NET Standard 2.0 |
| 2.0.5 Key notes | 1.0.15 | .NET Standard 2.0 |
| 2.0.2 Key notes | 1.0.6 | .NET Standard 2.0 |
| 2.0.1 Key notes | 1.0.3 | .NET Standard 2.0 |
| 2.0.0 Key notes | 1.0.0 | .NET Standard 2.0 |
External Dependencies
NuGet packages
Here you can find the list of commonly used NuGet packages which are available to be used in extensions.
| Name | Version |
|---|---|
| AutoMapper | 8.1.1 |
| CsvHelper | 15.0.8 |
| GraphQL | 3.2.0 |
| GraphQL.SystemTextJson | 3.2.0 |
| MailKit | 2.5.1 |
| Microsoft.ApplicationInsights.AspNetCore | 2.14.0 |
| Microsoft.Azure.Storage.Blob | 11.1.7 |
| Microsoft.Azure.Storage.Queue | 11.1.7 |
| Microsoft.Extensions.Logging.Abstractions | 2.2.0 |
| Microsoft.Extensions.Options | 3.1.1 |
| Microsoft.Identity.Client | 4.15.0 |
| NETStandard.Library | 2.0.3 |
| Phonix | 1.0.2 |
| System.Collections.Immutable | 1.7.0 |
| System.ComponentModel.Annotations | 4.6.0 |
| System.Drawing.Common | 4.7.0 |
| System.IdentityModel.Tokens.Jwt | 6.8.0 |
| System.Net.Http | 4.3.4 |
| System.Runtime.Caching | 4.7.0 |
| System.Text.Json | 5.0.1 |
JavaScript packages
There is a list of JS modules shared with extensions. It means they are always available at runtime and can be used without adding them per extension. Note that package versions can be different in previous Sana releases.
| Name | Version | Note |
|---|---|---|
| react | 16.14.0 | |
| prop-types | 15.7.2 | |
| redux | 4.0.4 | |
| react-redux | 7.1.0 | |
| rxjs | 6.3.3 | |
| redux-observable | 1.0.0 | |
| classnames | 2.2.6 | This helper should be used wisely and only in case there are more than 2 conditional classes to be combined as it might be slower and less obvious than the concatenation. For example, `global ${styles.item} ` + condition ? styles.conditional : '' is better than classnames('global', styles.item, condition && styles.conditional). |
| date-only | - | Custom module from Sana to handle Date instances ignoring/trimming time parts. |
| isomorphic-style-loader | - | Custom Sana module to insert themed styles to. There is a Babel loader which wraps default exports from files with styles being imported in withStyles call to insert used styles once component being rendered. But there can be a case (e.g. using HOCs or several non-default exported components in a file) when you would like to use it manually:export const Icon1 = withStyles(styles1)(Icon) where styles1 is imported styles object from './Icon1.module.scss'. |
| react-sortable-hoc | 1.9.1 | Available in Admin only. |