Releases: hubtype/botonic
Releases · hubtype/botonic
v0.26.0
v0.25.0
0.25.0 - 2024-03-27
NOTE: Required version has been updated to be run with Node 20 and npm 10.
Added
Changed
Fixed
- @botonic/dx
jest
,eslint
,prettier
andwebpack
has been updated to use latest versions.
v0.21.0
0.21.0 - 2023-03-09
Added
-
- Added @botonic/plugin-hubtype-babel: This plugin allows you to integrate Hubtype Babel in your Botonic project. It works like any other AI/NLU services plugin, like Dialogflow, Watson, etc.
-
- Decompressing data for large contents coming from
Pusher
. - Allow to set an auto idle message in
HandoffBuilder
. - Handoff improvements. Added
forceAssignIfNotAvailable
andautoAssignOnWaiting
andextraData
inHandoffBuilder
. - Support new types of input event
Missed
andFormMessage
. - Added support for detecting typing on/off events.
- Decompressing data for large contents coming from
-
- Added several improvements to plugin (check further details in #2301).
-
- Added
imagePreviewer
webchat's property to allow customizing preview of media files. - Allow user input preprocess in
blockInputs
. - Added classnames to buttons, timestamp component, list of message buttons and user input.
- Added deep links for different messaging providers.
- Added new properties
userInput.attachments.custom
anduserInput.emojiPicker.custom
to allow declaring custom components.
- Added
Changed
-
- Refactored
useStorageState
to support usage of different storages.
- Refactored
Fixed
- @botonic/react
- Fixed scrolling for iPhone in
CoverComponent
. Thanks to external contributor jruivo-dev. - Fixed
emoji clarification icon
not working in ShadowDOM mode. Thanks to external contributor TD-fupengfei. - Fixed webviews not redirecting correctly on
WhatsApp Cloud
.
- Fixed scrolling for iPhone in
v0.20.0
0.20.0 - 2021-10-28
NOTE: At this moment, Botonic v0.20.0
will be in Mainteinance LTS
status and will be maintained in master-lts
branch until further notice.
Currently we are working on Botonic 1.0 which will come with several improvements and hence all its commits from now on will reside in master
.
Added
-
- Plugins now can be accessed within plugins'
pre
andpost
calls.
- Plugins now can be accessed within plugins'
-
- Added new components to allow creating custom models with contentful.
-
- Allow
hostId
to be changed at runtime.
- Allow
Changed
Fixed
- @botonic/plugin-dialogflow
- Allow to pass custom data to dialogflow queries. Big thanks to external contributor herrlegno.
-
- Fixed bug regarding emoji panel and cover component unable to be scrolled. Big thanks to external contributor TD-LiXiang.
- Fixed
deviceAdapter
behavior with improved device detection.
v0.19.0
0.19.0 - 2021-07-29
Added
-
- Added @botonic/plugin-google-translation: Translating user inputs text and detect its languages.
- Added new packages with common configurations for bot development encapsulating logic that may be not relevant to the developer but keeping them extendable.
- @botonic/dx: Transpiling, compiling and testing configurations for bot projects.
- @botonic/eslint-config: Linter configurations for bot projects.
- Added new NLP packages with improved training scripts, improved intent classification and new entities detection feature:
- @botonic/nlp: NLP module to train models with intent and entity recognition with Botonic CLI.
- @botonic/plugin-intent-classification: Run intent predictions from your trained model within your bot.
- @botonic/plugin-ner: Run entity predictions from your trained model within your bot.
- Added new packages for incoming Botonic 1.0:
- @botonic/api: Customize the behavior of your backend stack.
- @botonic/pulumi: Deploying seamlessly your infrastructure to the cloud with Pulumi.
- create-botonic-app: Scaffolding new Botonic 1.0 projects.
-
- Added new serve command for Botonic 1.0 under flag
--preview
.
- Added new serve command for Botonic 1.0 under flag
-
- Added new
BotonicOutputParser
for Botonic 1.0.
- Added new
-
- Added onConnectionChange event listener that will be triggered when connection status of websocket changes.
- Added new
Raw
component to directly send JSON payloads to connected messaging APIs and allow access to all of their features. - Improved buttons support in Multichannel components and allow displaying them in Whatsapp. #1699
- Added
experimental
directory for Botonic 1.0. #1701
-
- Improved error reporting.
- Added support for defining handoff content.
- Caching contentful results for improved performance.
- Added profiler utilities to measure performance.
- Added paging in searchByKeywords.
- @botonic/plugin-watson
- Adapt
botonic-plugin-watson
to work with Assistant V2.
- Adapt
Changed
- @botonic/core
- Removed deprecated integrations code.
- Improved offline support and add customization of behavior and error messages.
Fixed
-
- Updated standalone deployment documentation. Thanks to our contributor @ChristoperGS.
- @botonic/react
- Replaced unusable document previewer with a button with a link to download documents.
- Fixed touch events in Safari Mobile.
- Fixed cover component breaking bot layout.
- Fixed
-c
flag of deploy command not working.
v0.18.0
0.18.0 - 2021-02-02
Added
-
- Improved Botonic CLI's telemetry to track usage of installed CLI and botonic dependencies and keep track of errors on project initialization.
-
- Added NLP support for Slovenian.
- Added NLP support for Hungarian.
- Added NLP support for Dutch.
- Added NLP support for Bulgarian.
-
- New webchat features:
- Added disabling buttons. Configurable at:
- Theme level:
theme.button.autodisable
andtheme.button.disabledstyle
. - Component level: by passing the props
autodisable
anddisabledstyle
toButton
components.
- Theme level:
- Added disabling buttons. Configurable at:
- New webchat features:
Changed
Fixed
-
- Reimplemented
StemmerUK
to provide support for Safari browser.
- Reimplemented
-
- Fixed typings.
- Fixed scroll to bottom for mobile devices.
v0.17.0
0.17.0 - 2020-12-18
Added
-
- Improved Getting started docs.
- Moved templates and examples to botonic-examples repo.
- Added script to update releases in docs.
- Set up
Codecov
for Botonic and trigger Github Workflows only when necessary. #1177. - Adapted code for Botonic packages in order to support Webpack 5 and upgraded examples to this version.
-
- Botonic CLI to download examples directly from botonic-examples.
- Improved analytics and fixed spawn processes in Windows (
botonic serve
,botonic train
). Now it is no longer necessary to runnpm run start
. #1176
-
- Added NLP support for Croatian.
- Added NLP support for Slovak.
- Added new method to get all the locales of a contentful space.
- Lazy loading of language engines. #1160 and #1194
-
- New webchat features:
- Added new Shadow DOM feature to avoid webchat's CSS conflict with the host page of your website.
- Added Facebook's multichannel converter for texts.
- New webchat features:
Changed
-
- Refactored project scripts and organization.
Fixed
-
- Fixed broken links.
-
- Avoid circular dependencies.
- Fixed webchat behavior when
user ID
was lost, causing some webchat's to not load correctly.
v0.16.0
0.16.0 - 2020-11-20
Added
-
- Added license MIT and keywords to every package.
- Enabled code scaning.
- Updated Botonic's README.
- Added Deployment Guide.
- Improved Continuous Integration for Docs.
- Configured eslint import sorter.
- Added Botonic Examples section #1091.
- Added auto publish script.
-
- Added new matcher
request matcher
and passlastRoutePath
to current bot context. #1086
- Added new matcher
-
- Added webchat component tests
- New webchat features:
- Added Error Boundary for
customMessage
.
- Added Error Boundary for
Changed
-
- Improved types:
- Refactored utils for better maintainability.
- Improved webchat tests.
-
- Upgrade
tfjs
to 2.7.0.
- Upgrade
-
- Upgrade
tfjs
to 2.7.0.
- Upgrade
Fixed
-
- Fixed broken links in READMEs.
- Fixed
Was this article useful?
widget.
-
- Fixed params request failing in
Oauth 3.1.0+
.
- Fixed params request failing in
-
- Now
getRoute
checks correctly if the input matches with achildRoute
.
- Now
-
- Added missing storage key in constructor, now
storageKey
works as expected. - Automatically call
onMessage
when receiveng messages coming from server-side. - Added missing call to
stringifyWithRegexs
causing some regexes not being updated in local/session storages. Fixed react warnings (produced bynpm run test
), log deprecated props in custom messages. #1063
Deprecated props:enableTimestamps
=>enabletimestamps
imagesStyle
=>imagestyle
- Fixed sending of unsent inputs to be more consistent.
- Fixed
onClose
being called on the very first render of the app. - Fixed
WebchatSettings
component not updating settings correctly. - Set ack to 1 for custom user messages by default.
- Added missing storage key in constructor, now
-
- The csv importer of texts, which was coming from content translator, now groups all the fields from the same content. #1036.
- Added NLP support for Romanian.
- Added NLP support for Greek.
- Added NLP support for Czech.
- Added NLP support for Ukrainian.
v0.15.0
0.15.0 - 2020-10-27
Added
-
-
New webchat features:
- Added new
target
prop toButton
component to define the behavior to open links. - Added new
WhatsappTemplate
component for Webchat. - New
getBotonicApp()
to accessBotonic
methods. - Added a new webchat setting
storageKey
that indicates the key name to use in order to store the webchat state inlocalStorage
(orsessionStorage
).
- Added new
-
-
-
Improvements in Content.validate of text & shortText fields
- Validate text.text also if content has no keywords (it could be accessed through a button)
- Before, when shortText was empty, the contentful driver set it with the value of the name field (to ensure buttons did not show blank texts). Now this is managed by the Button model, so that MessageContent.validate() can report it.
- Improved ContentsValidator. Now it's possible to report the detected errors into a callback.
-
New CMS method to deliver content by id when the content type is unknown.
-
Added NLP support for German.
-
Changed
-
- Improved script to automatically bump versions for Botonic packages (it also updates references to other Botonic dependencies).
- Improved documentation
-
- Refactored and migrated NLU engine to Typescript. Read the new docs here.
-
- Allow passing properties to CoverComponent.
- Remove Webchat
user
references in favor ofsession.user
. - Improved types for Webchat and Webchat Context.
-
- Refactored and migrated plugin to Typescript. Read the new docs here.
Fixed
-
- Fixed imports in templates which were broken after 0.14.0 change in entry files.
- Added validation of templates and examples in CI
-
session
properties now are merged and updated correctly.- Avoid customMessage to crash if they have bad children. Some bots may store no-react objects in children.
- Fixed error appearing in some tests:
Received true for a non-boolean attribute markdown
. Caused by styled-components.
v0.14.0
0.14.0 - 2020-10-01
Added
-
- New bot template
dynamo
using Botonic dynamoDB plugin from a JS bot.
- New bot template
-
- Improved behavior when end user messages are lost due to connection issues. Missed inputs will be resent when connection is regained.
- End user messages will be displayed with less opacity until they are correctly delivered to the server.
- Added classNames to blob messages by default, under the following format:
{type}-{from} {customTypeName}
e.g.: Text messages from user ->text-user
e.g.: Custom messages from bot ->custom-bot my-custom-message-name
- Passing
mobileStyle
inwebchat/index.js
is now allowed. - Added arrow buttons for better interaction with Webchat Carousels. They can be customized.
- Disabling timestamps in the custom Messages using the
enableTimestamps
prop is now allowed. - Defined where to store the botonicState using the variable storage.
- The methods
openCoverComponent
,closeCoverComponent
andtoggleCoverComponent
are available in the browser, through the Botonic object, so that thecoverComponent
can be shown/hidden manually.
-
- Decorator for Contentful that can distribute the delivery requests amongst different spaces/environments.
- Added a new tool to modify the locales of Contentful spaces exported as json file with "contentful space export". The tool is able to change the name of a locale without altering the contents and to remove unwanted locales.
- Added a tool to duplicate the value of reference fields into a new locale. Reference fields (assets or links to other contents) will typically be the same for all locales, but not always. So we initially link them all to the same target for all locales. The tool is useful to migrate a space where fallback locales are used to another where locales have no fallback.
- The NLP package now supports locales whose name include the country (eg. es_ES).
- Added an option for Contentful plugin to be able to change the name of the locale when sent to Contentful.
- Added
logCall
flag tocontentfulOptions
in order to log creation configuration, as well as all calls performed to the CMS. - Added class ContentsValidator, which validates that all contents of a locale can be correctly delivered.
- Added NLP support for Turkish.
- Added NLP support for Italian.
- Added NLP support for French.
-
@botonic/plugin-google-analytics
- New Botonic plugin to track user interaction or bot's behaviour in Google Analytics.
Changed
-
- Upgraded typescript to 4.0.2.
- Upgraded eslint plugins and fixed new warnings.
- Improved documentation and reestructure.
-
- Improved
index.d.ts
definitions. - Breaking change: Added
/webpack-entries
to every template to ensure that Webpack's tree-shaking is done and modifiedwebpack.config.js
as a consequence. This reduces the bundle sizes of every bot. From developers upgrading their projects from version0.13.0
or below the following changes will be necessary:- Create a new directory called
webpack-entries
under bot project's root folder. Copydev-entry.js
,node-entry.js
,webchat-entry.js
andwebviews-entry.js
inside. You can find them here. - Modify the following lines in
webpack.config.js
:
- In
botonicDevConfig
modify the line forentry
to be:path.resolve('webpack-entries', 'dev-entry.js'),
- In
botonicWebchatConfig
modify the line forentry
to be:path.resolve('webpack-entries', 'webchat-entry.js'),
- In
botonicWebviewsConfig
modify the line forentry
to be:path.resolve('webpack-entries', 'webviews-entry.js'),
- In
botonicServerConfig
modify the line forentry
to be:path.resolve('webpack-entries', 'node-entry.js'),
- Create a new directory called
- Improved
-
- Improved
index.d.ts
definitions.
- Improved
-
- Refactored timestamps. They can be enabled by setting
theme.message.timestamps.enable
totrue
. (Default format will be as follows:29 Jun, 12:40:07
). The content can be formatted by defining a function undertheme.message.timestamps.format
which returns a string with the formatted date and their styles undertheme.message.timestamps.style
. - Improved
index.d.ts
definitions.
- Refactored timestamps. They can be enabled by setting
- @botonic/plugin-contentful
- Check empty text in Text contents.
Fixed
-
- Added the export of
getAvailableAgentsByQueue
, which was not accessible.
- Added the export of
-
- Removed
moment
dependency to reduce bundle size. - Closed
PersistentMenu
automatically when the end user clicks outside. - Fixed webchat properties not being properly read by deep merging properties.
- Disabled text input when
CoverComponent
is shown. - Added missing
animationsEnabled
prop. - Now Custom Message Types can be used together with the Reply component.
- Deactivated markdown in webchat when viewing messages using WhatsApp provider.
- Sending messages with only spaces is now avoided.
- Renamed theme property
hoverText
tohoverTextColor
in button.jsx so that changing the text color of a button on hover can work.
- Removed
-
- Fixed bug in Contentful Schedule, where schedule was miscalculating around midnight. It was not taking the timezone offset into account to calculate the weekday.