v0.12.0
0.12.0 - 2020-05-26
Added
- Added ESLint Limit Cyclomatic Complexity for all projects.
- Added Pull Request Templates.
- Scripts to count lines of code on each package.
- Added new documentation built with
Docusaurus. Check it out at https://docs.botonic.io/.
- Enable more checks in
tsconfig.json.
- Enable more checks in
- Transferring conversations to an agent is allowed with its identifier (id or email) with
withAgentId(agentId)orwithAgentEmail(agentEmail)method ofHandOffBuilder. Now queue is not mandatory. The case will be assigned to the first queue which agent belongs. getAgentVacationRangesis added to know availability of agents.- More router tests.
- Type definitions improvement in
index.d.ts.
- Transferring conversations to an agent is allowed with its identifier (id or email) with
General features:
- Type definitions improvement in
index.d.ts. - Improved
Text.serializemethod.
- Type definitions improvement in
New webchat features:
- Breaking change: The text of a Button/Reply is now sent along with its payload. You can use
button: {messageType: 'postback'}inwebchat/index.jsto enable the previous behavior. - Breaking change: Markdown is rendered by default within all the Text components. To disable it, you can declare the component as follows:
<Text markdown={false}>Your text</Text>. - Be able to pass additional styles to
Custom Messages. - Persistent Menu customizable with property
customPersistentMenuinwebchat/index.js. - Persistent Menu button customizable with property
customMenuButton. - Possibility to enable timestamps in messages.
- More unit tests added for Webchat.
- More adaptable Webchat in iOS.
- Breaking change: The text of a Button/Reply is now sent along with its payload. You can use
Multichannel:
- Customize
Multichannelvisualization. Multichannelto support letter indexes.- Compact
MultichannelTextandCarousel. Multichannelto allow separating messages with custom string.
- Customize
- Passing Normalizer to CMS is now allowed.
- Markup support for WhatsApp and Markdown.
- Stemmers/tokens for Russian.
- Normalizer now throws an exception for empty texts.
- Keyword search now sets the result's score field
- Added new package
@botonic/plugin-inbentato integrate the Inbenta Knowledge Management API. Please refer to its README for more information.
- Added new package
Changed
- Most eslint rules config have been moved to root
.eslintrc.js.
- Most eslint rules config have been moved to root
webchatReducermoved to its own file.webchatReducersplit to reduce complexity.- Calls to
renderBrowser/renderNodeunified. emoji-picker-reactupdated to latest version 3.7.1 (visual changes).
- Upgraded
node-nlpdependency. - Use of
ContextWithLocaleif locale required.
- Upgraded
Fixed
- pre-commit was not aborting when lint failed.
- Fixed several eslint warnings.
- @botonic/cli
- Preserved
src/nludirectories for all templates (added.gitkeepfile). Remove these files before running botonic train. - Added missing calls with
await. - Used
rimrafin favor offs.rmdirSync. - Templates: Call
CleanWebpackPluginwith{ cleanOnceBeforeBuildPatterns: ['dist'] }to prevent occasional builds from crashing. We strongly suggest to add this line in your bot'swebpack.config.jsif updating from previous versions.
- Preserved
- Fixed sending wrong payloads when a handover was ended in
botonic servemode. postMessagepromises are now forwarded.- Better scrollbar handling when Webchat is hovered.
- Limit attachment sizes to 10MB.
- Fixed attachments crashing in production build for Webchat (media messages will be no longer stored as binary data in local storage, so the content will only be available temporarily in
botonic servemode). - Webchat's theme properties such
message.bot.image,header.image,intro.imageandtriggerButton.imageare now accepting URLs. - Fixed issue causing Botonic Logo to be visible during few milliseconds in production.
- Handled parent page scrolling issues in Webchat for iOS.
- Fixed sending wrong payloads when a handover was ended in
- @botonic/plugin-contentful
BotonicMsgConverteris now usingreplaceEmptyStringsWithoption with value.- New operations are available to clone Contents performing composable transformations.
- New operations are available to traverse the chain of followUp fields of MessageContent.
- When calculating the match substring and score between an utterance and a keyword, tokens are preferred to stems when comparing to keywords.