@easyflow/javascript-sdk 2.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/.babelrc +5 -0
  2. package/.github/workflows/deploy-sdk-cf.yml +49 -0
  3. package/.github/workflows/release-sdk-cdn.yml +144 -0
  4. package/.github/workflows/release-sdk.yml +112 -0
  5. package/.prettierrc +6 -0
  6. package/CDN-DEPLOYMENT.md +175 -0
  7. package/DEMO.md +258 -0
  8. package/DEPLOYMENT.md +224 -0
  9. package/INTEGRATION-GUIDE.md +521 -0
  10. package/README.md +1013 -0
  11. package/coverage/base.css +224 -0
  12. package/coverage/block-navigation.js +87 -0
  13. package/coverage/easyflow-javascript-sdk/index.html +116 -0
  14. package/coverage/easyflow-javascript-sdk/libs/constants.mjs.html +268 -0
  15. package/coverage/easyflow-javascript-sdk/libs/errors.mjs.html +271 -0
  16. package/coverage/easyflow-javascript-sdk/libs/exception-handler.mjs.html +148 -0
  17. package/coverage/easyflow-javascript-sdk/libs/fingerprint.mjs.html +895 -0
  18. package/coverage/easyflow-javascript-sdk/libs/http.mjs.html +502 -0
  19. package/coverage/easyflow-javascript-sdk/libs/index.html +266 -0
  20. package/coverage/easyflow-javascript-sdk/libs/logger.mjs.html +568 -0
  21. package/coverage/easyflow-javascript-sdk/libs/sanitizer.mjs.html +1099 -0
  22. package/coverage/easyflow-javascript-sdk/libs/security.mjs.html +733 -0
  23. package/coverage/easyflow-javascript-sdk/libs/types.mjs.html +508 -0
  24. package/coverage/easyflow-javascript-sdk/libs/utils.mjs.html +379 -0
  25. package/coverage/easyflow-javascript-sdk/libs/validator.mjs.html +2623 -0
  26. package/coverage/easyflow-javascript-sdk/sdk.mjs.html +2434 -0
  27. package/coverage/favicon.png +0 -0
  28. package/coverage/index.html +131 -0
  29. package/coverage/lcov-report/base.css +224 -0
  30. package/coverage/lcov-report/block-navigation.js +87 -0
  31. package/coverage/lcov-report/easyflow-javascript-sdk/index.html +116 -0
  32. package/coverage/lcov-report/easyflow-javascript-sdk/libs/constants.mjs.html +268 -0
  33. package/coverage/lcov-report/easyflow-javascript-sdk/libs/errors.mjs.html +271 -0
  34. package/coverage/lcov-report/easyflow-javascript-sdk/libs/exception-handler.mjs.html +148 -0
  35. package/coverage/lcov-report/easyflow-javascript-sdk/libs/fingerprint.mjs.html +895 -0
  36. package/coverage/lcov-report/easyflow-javascript-sdk/libs/http.mjs.html +502 -0
  37. package/coverage/lcov-report/easyflow-javascript-sdk/libs/index.html +266 -0
  38. package/coverage/lcov-report/easyflow-javascript-sdk/libs/logger.mjs.html +568 -0
  39. package/coverage/lcov-report/easyflow-javascript-sdk/libs/sanitizer.mjs.html +1099 -0
  40. package/coverage/lcov-report/easyflow-javascript-sdk/libs/security.mjs.html +733 -0
  41. package/coverage/lcov-report/easyflow-javascript-sdk/libs/types.mjs.html +508 -0
  42. package/coverage/lcov-report/easyflow-javascript-sdk/libs/utils.mjs.html +379 -0
  43. package/coverage/lcov-report/easyflow-javascript-sdk/libs/validator.mjs.html +2623 -0
  44. package/coverage/lcov-report/easyflow-javascript-sdk/sdk.mjs.html +2434 -0
  45. package/coverage/lcov-report/favicon.png +0 -0
  46. package/coverage/lcov-report/index.html +131 -0
  47. package/coverage/lcov-report/prettify.css +1 -0
  48. package/coverage/lcov-report/prettify.js +2 -0
  49. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  50. package/coverage/lcov-report/sorter.js +196 -0
  51. package/coverage/lcov.info +1429 -0
  52. package/coverage/prettify.css +1 -0
  53. package/coverage/prettify.js +2 -0
  54. package/coverage/sort-arrow-sprite.png +0 -0
  55. package/coverage/sorter.js +196 -0
  56. package/dist/435.easyflow-sdk.min.js +1 -0
  57. package/dist/easyflow-sdk.min.js +1 -0
  58. package/dist/easyflow-sdk.min.js.LICENSE.txt +1 -0
  59. package/dist/index.html +756 -0
  60. package/docs/index.html +775 -0
  61. package/examples/lovable-integration.html +410 -0
  62. package/index.html +981 -0
  63. package/jest.config.js +37 -0
  64. package/jsdoc.json +42 -0
  65. package/libs/auto-integration.mjs +333 -0
  66. package/libs/constants.mjs +61 -0
  67. package/libs/constants.spec.js +198 -0
  68. package/libs/errors.mjs +62 -0
  69. package/libs/errors.spec.js +178 -0
  70. package/libs/exception-handler.mjs +21 -0
  71. package/libs/exception-handler.spec.js +237 -0
  72. package/libs/fingerprint.mjs +270 -0
  73. package/libs/http.mjs +163 -0
  74. package/libs/http.spec.js +427 -0
  75. package/libs/integration-wrapper.mjs +285 -0
  76. package/libs/logger.mjs +161 -0
  77. package/libs/logger.spec.js +389 -0
  78. package/libs/sanitizer.mjs +340 -0
  79. package/libs/sanitizer.spec.js +583 -0
  80. package/libs/security.mjs +217 -0
  81. package/libs/types.mjs +141 -0
  82. package/libs/utils.mjs +368 -0
  83. package/libs/utils.spec.js +231 -0
  84. package/libs/validator.mjs +952 -0
  85. package/libs/validator.spec.js +615 -0
  86. package/mocks/offer.mock.js +77 -0
  87. package/package.json +72 -0
  88. package/scripts/publish-npm.sh +82 -0
  89. package/sdk.mjs +945 -0
  90. package/sdk.spec.js +796 -0
  91. package/test-setup.cjs +211 -0
  92. package/test.html +154 -0
  93. package/webpack.config.cjs +41 -0
package/.babelrc ADDED
@@ -0,0 +1,5 @@
1
+ {
2
+ "presets": [
3
+ "@babel/preset-env"
4
+ ]
5
+ }
@@ -0,0 +1,49 @@
1
+ name: Deploy Easyflow SDK to Cloudflare Pages
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ workflow_dispatch:
7
+
8
+ jobs:
9
+ build-and-deploy:
10
+ runs-on: ubuntu-latest
11
+
12
+ steps:
13
+ - name: Checkout code
14
+ uses: actions/checkout@v4
15
+
16
+ - name: Setup Node.js
17
+ uses: actions/setup-node@v4
18
+ with:
19
+ node-version: '18'
20
+ cache: 'npm'
21
+
22
+ - name: Install dependencies
23
+ run: npm ci
24
+
25
+ - name: Build SDK
26
+ run: npm run build
27
+
28
+ - name: Copy Documentation to Build
29
+ run: |
30
+ # Copiar apenas o index.html da documentação
31
+ cp docs/index.html dist/
32
+ echo "📚 Documentação copiada para build (apenas index.html)"
33
+
34
+ - name: Deploy to Cloudflare Pages
35
+ uses: cloudflare/pages-action@v1
36
+ with:
37
+ apiToken: ${{ secrets.CF_API_TOKEN }}
38
+ accountId: ${{ secrets.CF_ACCOUNT_ID }}
39
+ projectName: easyflow-sdk
40
+ directory: dist
41
+
42
+ - name: Success Message
43
+ run: |
44
+ echo "🚀 SDK e Documentação Deployados com sucesso!"
45
+ echo "📦 SDK + Docs: https://easyflow-sdk.pages.dev"
46
+ echo "🌐 jsDelivr: https://cdn.jsdelivr.net/npm/@easyflow/javascript-sdk@latest/dist/easyflow-sdk.min.js"
47
+ echo ""
48
+ echo "✅ Documentação agora está disponível em:"
49
+ echo " https://easyflow-sdk.pages.dev"
@@ -0,0 +1,144 @@
1
+ name: Release Easyflow SDK - Multi-CDN
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - 'v*'
7
+
8
+ jobs:
9
+ release:
10
+ runs-on: ubuntu-latest
11
+
12
+ steps:
13
+ - name: Checkout do repositório
14
+ uses: actions/checkout@v4
15
+
16
+ - name: Instalar Node.js
17
+ uses: actions/setup-node@v4
18
+ with:
19
+ node-version: 20
20
+ cache: 'npm'
21
+
22
+ - name: Instalar dependências
23
+ run: npm install
24
+
25
+ - name: Gerar arquivo de versão
26
+ run: npm run generate-version
27
+
28
+ - name: Executar testes
29
+ run: npm test
30
+
31
+ - name: Build do SDK
32
+ run: npm run build
33
+
34
+ - name: Extrair versão do SDK
35
+ id: version
36
+ run: |
37
+ VERSION=$(jq -r .version package.json)
38
+ echo "VERSION=v$VERSION" >> "$GITHUB_ENV"
39
+ echo "version=v$VERSION" >> "$GITHUB_OUTPUT"
40
+
41
+ - name: Copiar arquivo com versão
42
+ run: |
43
+ cp dist/easyflow-sdk.min.js dist/easyflow-sdk.${{ env.VERSION }}.min.js
44
+
45
+ - name: Copiar interface de teste
46
+ run: |
47
+ cp index.html dist/
48
+ # Update the script src to use the correct path for production
49
+ sed -i 's|./dist/easyflow-sdk.min.js|./easyflow-sdk.min.js|g' dist/index.html
50
+
51
+ - name: Gerar hash de integridade (SRI)
52
+ id: sri
53
+ run: |
54
+ HASH=$(openssl dgst -sha384 -binary dist/easyflow-sdk.${{ env.VERSION }}.min.js | openssl base64 -A)
55
+ echo "SRI=sha384-${HASH}" >> "$GITHUB_ENV"
56
+ echo "sha=sha384-${HASH}" >> "$GITHUB_OUTPUT"
57
+
58
+ - name: Criar arquivo de exemplo com SRI
59
+ run: |
60
+ cat > dist/example.html << EOF
61
+ <!DOCTYPE html>
62
+ <html>
63
+ <head>
64
+ <title>Easyflow SDK Example</title>
65
+ </head>
66
+ <body>
67
+ <h1>Easyflow SDK v${{ env.VERSION }}</h1>
68
+ <script src="easyflow-sdk.${{ env.VERSION }}.min.js"
69
+ integrity="${{ env.SRI }}"
70
+ crossorigin="anonymous"></script>
71
+ <script>
72
+ console.log('EasyflowSDK version:', EasyflowSDK.version);
73
+ </script>
74
+ </body>
75
+ </html>
76
+ EOF
77
+
78
+ - name: Deploy para Cloudflare Pages
79
+ uses: cloudflare/pages-action@v1
80
+ with:
81
+ apiToken: ${{ secrets.CF_API_TOKEN }}
82
+ accountId: ${{ secrets.CF_ACCOUNT_ID }}
83
+ projectName: easyflow-sdk
84
+ directory: dist
85
+
86
+ - name: Verificar disponibilidade no jsDelivr
87
+ run: |
88
+ echo "Verificando disponibilidade no jsDelivr..."
89
+ echo "URL: https://cdn.jsdelivr.net/npm/@easyflow/javascript-sdk@${{ env.VERSION }}/dist/easyflow-sdk.min.js"
90
+ echo "Note: jsDelivr pode levar alguns minutos para sincronizar com npm"
91
+
92
+ - name: Criar Release no GitHub
93
+ uses: actions/create-release@v1
94
+ env:
95
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
96
+ with:
97
+ tag_name: ${{ github.ref }}
98
+ release_name: Easyflow SDK ${{ env.VERSION }}
99
+ body: |
100
+ ## Easyflow SDK ${{ env.VERSION }}
101
+
102
+ ### CDNs Disponíveis
103
+
104
+ #### Cloudflare Pages
105
+ - **Latest**: `https://easyflow-sdk.pages.dev/easyflow-sdk.min.js`
106
+ - **Versionado**: `https://easyflow-sdk.pages.dev/easyflow-sdk.${{ env.VERSION }}.min.js`
107
+
108
+ #### jsDelivr CDN
109
+ - **Latest**: `https://cdn.jsdelivr.net/npm/@easyflow/javascript-sdk@latest/dist/easyflow-sdk.min.js`
110
+ - **Versionado**: `https://cdn.jsdelivr.net/npm/@easyflow/javascript-sdk@${{ env.VERSION }}/dist/easyflow-sdk.min.js`
111
+
112
+ ### SRI Hash
113
+ ```
114
+ sha384-${{ env.SRI }}
115
+ ```
116
+
117
+ ### Exemplo de Uso
118
+
119
+ #### Cloudflare Pages
120
+ ```html
121
+ <script src="https://easyflow-sdk.pages.dev/easyflow-sdk.${{ env.VERSION }}.min.js"
122
+ integrity="sha384-${{ env.SRI }}"
123
+ crossorigin="anonymous"></script>
124
+ ```
125
+
126
+ #### jsDelivr CDN
127
+ ```html
128
+ <script src="https://cdn.jsdelivr.net/npm/@easyflow/javascript-sdk@${{ env.VERSION }}/dist/easyflow-sdk.min.js"
129
+ integrity="sha384-${{ env.SRI }}"
130
+ crossorigin="anonymous"></script>
131
+ ```
132
+
133
+ ### Arquivos
134
+ - `easyflow-sdk.${{ env.VERSION }}.min.js` - SDK minificado
135
+ - `easyflow-sdk.min.js` - SDK minificado (sem versão)
136
+ - `example.html` - Exemplo de uso com SRI
137
+ draft: false
138
+ prerelease: false
139
+
140
+ - name: Publicar no NPM (se necessário)
141
+ run: |
142
+ echo "Para publicar no NPM, execute manualmente:"
143
+ echo "npm publish --access public"
144
+ echo "Isso tornará o SDK disponível no jsDelivr automaticamente"
@@ -0,0 +1,112 @@
1
+ name: Release Easyflow SDK
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - 'v*'
7
+
8
+ jobs:
9
+ release:
10
+ runs-on: ubuntu-latest
11
+
12
+ steps:
13
+ - name: Checkout do repositório
14
+ uses: actions/checkout@v4
15
+
16
+ - name: Instalar Node.js
17
+ uses: actions/setup-node@v4
18
+ with:
19
+ node-version: 20
20
+ cache: 'npm'
21
+
22
+ - name: Instalar dependências
23
+ run: npm install
24
+
25
+ - name: Gerar arquivo de versão
26
+ run: npm run generate-version
27
+
28
+ - name: Executar testes
29
+ run: npm test
30
+
31
+ - name: Build do SDK
32
+ run: npm run build
33
+
34
+ - name: Extrair versão do SDK
35
+ id: version
36
+ run: |
37
+ VERSION=$(jq -r .version package.json)
38
+ echo "VERSION=v$VERSION" >> "$GITHUB_ENV"
39
+ echo "version=v$VERSION" >> "$GITHUB_OUTPUT"
40
+
41
+ - name: Copiar arquivo com versão
42
+ run: |
43
+ cp dist/easyflow-sdk.min.js dist/easyflow-sdk.${{ env.VERSION }}.min.js
44
+
45
+ - name: Copiar interface de teste
46
+ run: |
47
+ cp index.html dist/
48
+ # Update the script src to use the correct path for production
49
+ sed -i 's|./dist/easyflow-sdk.min.js|./easyflow-sdk.min.js|g' dist/index.html
50
+
51
+ - name: Gerar hash de integridade (SRI)
52
+ id: sri
53
+ run: |
54
+ HASH=$(openssl dgst -sha384 -binary dist/easyflow-sdk.${{ env.VERSION }}.min.js | openssl base64 -A)
55
+ echo "SRI=sha384-${HASH}" >> "$GITHUB_ENV"
56
+ echo "sha=sha384-${HASH}" >> "$GITHUB_OUTPUT"
57
+
58
+ - name: Criar arquivo de exemplo com SRI
59
+ run: |
60
+ cat > dist/example.html << EOF
61
+ <!DOCTYPE html>
62
+ <html>
63
+ <head>
64
+ <title>Easyflow SDK Example</title>
65
+ </head>
66
+ <body>
67
+ <h1>Easyflow SDK v${{ env.VERSION }}</h1>
68
+ <script src="easyflow-sdk.${{ env.VERSION }}.min.js"
69
+ integrity="${{ env.SRI }}"
70
+ crossorigin="anonymous"></script>
71
+ <script>
72
+ console.log('EasyflowSDK version:', EasyflowSDK.version);
73
+ </script>
74
+ </body>
75
+ </html>
76
+ EOF
77
+
78
+ - name: Deploy para Cloudflare Pages
79
+ uses: cloudflare/pages-action@v1
80
+ with:
81
+ apiToken: ${{ secrets.CF_API_TOKEN }}
82
+ accountId: ${{ secrets.CF_ACCOUNT_ID }}
83
+ projectName: easyflow-sdk
84
+ directory: dist
85
+
86
+ - name: Criar Release no GitHub
87
+ uses: actions/create-release@v1
88
+ env:
89
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
90
+ with:
91
+ tag_name: ${{ github.ref }}
92
+ release_name: Easyflow SDK ${{ env.VERSION }}
93
+ body: |
94
+ ## Easyflow SDK ${{ env.VERSION }}
95
+
96
+ ### Arquivos
97
+ - `easyflow-sdk.${{ env.VERSION }}.min.js` - SDK minificado
98
+ - `easyflow-sdk.min.js` - SDK minificado (sem versão)
99
+
100
+ ### SRI Hash
101
+ ```
102
+ sha384-${{ env.SRI }}
103
+ ```
104
+
105
+ ### Uso
106
+ ```html
107
+ <script src="https://easyflow-sdk.pages.dev/easyflow-sdk.${{ env.VERSION }}.min.js"
108
+ integrity="sha384-${{ env.SRI }}"
109
+ crossorigin="anonymous"></script>
110
+ ```
111
+ draft: false
112
+ prerelease: false
package/.prettierrc ADDED
@@ -0,0 +1,6 @@
1
+ {
2
+ "trailingComma": "es5",
3
+ "tabWidth": 4,
4
+ "semi": false,
5
+ "singleQuote": true
6
+ }
@@ -0,0 +1,175 @@
1
+ # CDN Deployment Guide
2
+
3
+ ## Overview
4
+
5
+ This guide explains how to deploy the Easyflow JavaScript SDK to CDN and make it available for public consumption.
6
+
7
+ ## Prerequisites
8
+
9
+ - Node.js 18+ installed
10
+ - npm or yarn package manager
11
+ - Git repository access
12
+ - GitHub Pages enabled for the repository
13
+
14
+ ## Build Process
15
+
16
+ ### 1. Build the SDK
17
+
18
+ ```bash
19
+ npm run build
20
+ ```
21
+
22
+ This command will:
23
+ - Generate version constants
24
+ - Bundle the SDK using Webpack
25
+ - Create minified and obfuscated versions
26
+ - Output files to the `dist/` directory
27
+
28
+ ### 2. Create Git Tag
29
+
30
+ ```bash
31
+ git add .
32
+ git commit -m "Release v2.1.6"
33
+ git tag v2.1.6
34
+ git push origin v2.1.6
35
+ ```
36
+
37
+ ### 3. Deploy to GitHub Pages
38
+
39
+ The GitHub Actions workflow will automatically:
40
+ - Build the SDK
41
+ - Deploy to GitHub Pages
42
+ - Make it available at `https://easyflow-sdk.pages.dev`
43
+
44
+ ## CDN URLs
45
+
46
+ ### GitHub Pages (Primary)
47
+
48
+ ```html
49
+ <!-- Latest version -->
50
+ <script src="https://easyflow-sdk.pages.dev/easyflow-sdk.min.js"></script>
51
+
52
+ <!-- Specific version -->
53
+ <script src="https://easyflow-sdk.pages.dev/easyflow-sdk.v2.1.6.min.js"></script>
54
+ ```
55
+
56
+ ### NPM CDN (Alternative)
57
+
58
+ ```html
59
+ <!-- Latest version -->
60
+ <script src="https://cdn.jsdelivr.net/npm/@easyflow/javascript-sdk/dist/easyflow-sdk.min.js"></script>
61
+
62
+ <!-- Specific version -->
63
+ <script src="https://cdn.jsdelivr.net/npm/@easyflow/javascript-sdk@2.1.6/dist/easyflow-sdk.min.js"></script>
64
+ ```
65
+
66
+ ## File Structure
67
+
68
+ After deployment, the following files will be available:
69
+
70
+ ```
71
+ https://easyflow-sdk.pages.dev/
72
+ ├── easyflow-sdk.min.js # Latest version
73
+ ├── easyflow-sdk.v2.1.6.min.js # Versioned file
74
+ ├── easyflow-sdk.v2.1.5.min.js # Previous version
75
+ └── ... # Other versions
76
+ ```
77
+
78
+ ## Usage Examples
79
+
80
+ ### Basic Integration
81
+
82
+ ```html
83
+ <!DOCTYPE html>
84
+ <html>
85
+ <head>
86
+ <title>Easyflow SDK Test</title>
87
+ </head>
88
+ <body>
89
+ <h1>Easyflow SDK Test</h1>
90
+
91
+ <!-- Load SDK from CDN -->
92
+ <script src="https://easyflow-sdk.pages.dev/easyflow-sdk.v2.1.6.min.js"></script>
93
+
94
+ <script>
95
+ // SDK is now available as window.easyflowSDK
96
+ console.log('SDK Version:', window.easyflowSDK.version);
97
+
98
+ // Initialize SDK
99
+ const sdk = new window.EasyflowSDK({
100
+ businessId: 'your-business-id'
101
+ });
102
+
103
+ console.log('SDK initialized:', sdk);
104
+ </script>
105
+ </body>
106
+ </html>
107
+ ```
108
+
109
+ ### Version-Specific Loading
110
+
111
+ ```html
112
+ <!-- Load specific version for stability -->
113
+ <script src="https://cdn.jsdelivr.net/npm/@easyflow/javascript-sdk@2.1.6/dist/easyflow-sdk.min.js"></script>
114
+ ```
115
+
116
+ ## Versioning Strategy
117
+
118
+ ### Semantic Versioning
119
+
120
+ - **Major** (2.x.x): Breaking changes
121
+ - **Minor** (2.1.x): New features, backward compatible
122
+ - **Patch** (2.1.6): Bug fixes, backward compatible
123
+
124
+ ### Release Process
125
+
126
+ 1. **Development**: Work on features/fixes
127
+ 2. **Testing**: Run full test suite
128
+ 3. **Build**: Create production build
129
+ 4. **Tag**: Create git tag with version
130
+ 5. **Deploy**: Automatic deployment via GitHub Actions
131
+ 6. **Document**: Update documentation and examples
132
+
133
+ ## Troubleshooting
134
+
135
+ ### Common Issues
136
+
137
+ 1. **SDK not loading**: Check CDN URL and network connectivity
138
+ 2. **Version mismatch**: Ensure using correct version tag
139
+ 3. **Build errors**: Check Node.js version and dependencies
140
+
141
+ ### Debug Mode
142
+
143
+ For development, you can use the unminified version:
144
+
145
+ ```html
146
+ <script src="https://easyflow-sdk.pages.dev/easyflow-sdk.js"></script>
147
+ ```
148
+
149
+ ## Security Considerations
150
+
151
+ - All CDN files are served over HTTPS
152
+ - Files are minified and obfuscated for production
153
+ - Source maps are not included in production builds
154
+ - Regular security audits are performed
155
+
156
+ ## Monitoring
157
+
158
+ - GitHub Pages deployment status
159
+ - CDN performance metrics
160
+ - Error tracking and reporting
161
+ - Usage analytics
162
+
163
+ ## Support
164
+
165
+ For issues with CDN deployment:
166
+
167
+ 1. Check GitHub Actions workflow status
168
+ 2. Verify file availability at CDN URLs
169
+ 3. Test with different browsers/devices
170
+ 4. Contact development team
171
+
172
+ ---
173
+
174
+ **Last Updated**: v2.1.6
175
+ **Next Release**: v2.1.7 (patch) or v2.2.0 (minor)