Botbuilder Java Versions Save

The Microsoft Bot Framework provides what you need to build and connect intelligent bots that interact naturally wherever your users are talking, from text/sms to Skype, Slack, Office 365 mail and other popular services.

4.6.0-preview3

4 years ago

v4.6.0

Welcome to the 4.6 release of the Bot Framework SDK for Java!

Build Prerequisites

  • Java 1.8
    • Should be able to execute java -version from command line.
  • Maven
    • Should be able to execute mvn -version from command line.

Changelog Overview

  • The bot-builder package has been added. This package serves as a prerequisite to most other packages and includes capabilities such as MemoryStorage, BotState (UserState and ConversationState), InspectionMiddleware, and the TurnContext.
  • The existing spring-echo sample has been updated to use bot-builder, and has been renamed to "02.echo-bot" to match platform samples naming.
  • New samples
    • 03.welcome-user which demonstrates welcome messages to new conversation participants.
    • 08.suggested-actions which demonstrates using SuggestedAction cards.
    • 16.proactive-messages which demonstrates how to send messages in response to external events (for example an event from a webhook).
    • 45.state-management which demonstrates how to use (and save) UserState and ConversationState.
    • 47.inspection which demonstrates how to use InspectionMiddleware to debug a bot.
  • Current and future samples will be based on Spring Boot to simplify the samples. The bot-integration-spring package has been added to contain Spring specific code. However, there is no requirement that bot-integration-spring be used. Other frameworks should use bot-integration-core instead. The servlet-echo sample will remain as a demonstration of how to use the Bot Framework with other app frameworks.
  • Updated Channel protocol in bot-connector and bot-schema.

    Updated the Channel protocol to bring parity with the other Bot Framework SDK's. This adds a number of new Activity fields, and ConnectorClient.Conversation methods.

  • Updated bot-connector authorization to parity with .Net Bot SDK.

    Updated bot-connector authorization to feature parity with dotnet, including Adal Authorization.

  • Added support for Gov Azure.

    Added Gov authorization. The Servlet sample includes ARM templates that can be used to deploy to Gov Azure.

  • Added bot-integration-core package.

    Added webapp integration related classes: CredentialProvider, ChannelProvider, and Configuration.

  • Added Servlet echo sample.

    This is a Java Servlet echo sample using bot-connector. This sample includes ARM templates and instructions for deployment to Azure.

  • Added Spring Boot echo sample.

    This is a Spring Boot echo sample using bot-connector. This sample includes ARM templates and instructions for deployment to Azure. Additionally, Spring Boot apps can easily be run locally from the command line.

  • Improved Entity conversion support.

    bot-schema/connector use Entity for the wire format (Activity.getEntities). Since there are different types of entities, each with unique properties, Entity.getProperties can be used to access additional properties (see also Entity.getType). Activity.getMentions can be used to get "mention" type entities in the form of a list of Mention objects.

  • Switch to CompletableFuture in bot-connector.

    Previously, bot-connector was using RxJava Observables. If you were using ConnectorClient methods, your code will need to be updated to use CompletableFuture results. While RxJava still appears as a dependency, it will not be used going forward.

  • Standardized on slf4j for logging in Java SDK.

    Removed use of other logging frameworks in favor of slf4j. The samples demonstrate using the log4j integrations to slf4j.

  • Property utilizing clockSkew in JwtTokenExtractor.

    Corrects an issue with messages being dropped in some cases.

  • Replaced Fluent property accessors with standard get/set.

    The goals is for all class property accessors to utilize standard Java get/set. It's likely that any code utilizing bot-schema classes will need to be updated.

  • Removed original bot-connector-sample.

Changelog for v4.6.0 Preview 3:

  • Properly wiring clockSkew [PR 112]
  • Servlet sample changes to better support Gov Auth [PR 110]
  • Corrects issue with InputStream not being closed. [PR 109]
  • Removed original sample [PR 108]
  • Removed use of Observables from bot-connector and added more tests. [PR 106]
  • Future project setup [PR 100]
  • bot-schema refactor [PR 99]
  • Updated Connector Authorization [PR 97]
  • Password placeholder change [PR 96]
  • Improved dependency management [PR 95]
  • Added servlet-echo and spring-echo sample bots. [PR 94]
  • Changed package names. [PR 92]
  • Updated connector protocol to latest version [PR 90]
  • Add coverage badge to readme [PR 88]
  • Implement coveralls reporting [PR 87]
  • Fix internal proprietary API warning [PR 86]
  • Setup for deploy to MyGet Scratch daily [PR 85]
  • Java build corrections [PR 83]
  • Update README.md [PR 78]
  • Update README.md [PR 77]
  • Update README.md [PR 76]
  • update link to what'snew [PR 75]
  • added link to what's new [PR 74]
  • Clear up language on v4 preview state and production recommendation [PR 71]
  • V bruhal middlewaretestfix [PR 70]
  • Fix package declarations [PR 69]
  • Myget deployment changes [PR 67]
  • changes in the java doc [PR 64]

The issues list can be viewed here.

4.6.0

4 years ago

Java 4.6.0 Preview 2

Java Bot Framework

Status

The current release is Preview 2.

Package Status
bot-schema Preview 2
bot-connector Preview 2
bot-integration-core Preview 2
Servlet Sample Preview 2
Spring Boot Sample Preview 2
bot-builder Preview 3
Teams Support Possible Preview 3
bot-dialog Incomplete
bot-ai-luis-v3 Not Started
bot-ai-qna Not Started
bot-applicationinsights Not Started
bot-azure Not Started
bot-configuration Not Started
BotBuilder-Samples Not Started

Build Prerequisites

  • Java 1.8
    • Should be able to execute java -version from command line.
  • Maven
    • Should be able to execute mvn -version from command line.

Changelog

  • Updated Channel protocol in bot-connector and bot-schema.

    Updated the Channel protocol to bring parity with the other Bot Framework SDK's. This adds a number of new Activity fields, and ConnectorClient.Conversation methods.

  • Updated bot-connector authorization to parity with .Net Bot SDK.

    Updated bot-connector authorization to feature parity with dotnet, including Adal Authorization.

  • Added support for Gov Azure.

    Added Gov authorization. The Servlet sample includes ARM templates that can be used to deploy to Gov Azure.

  • Added bot-integration-core package.

    Added webapp integration related classes: CredentialProvider, ChannelProvider, and Configuration.

  • Added Servlet echo sample.

    This is a Java Servlet echo sample using bot-connector. This sample includes ARM templates and instructions for deployment to Azure.

  • Added Spring Boot echo sample.

    This is a Spring Boot echo sample using bot-connector. This sample includes ARM templates and instructions for deployment to Azure. Additionally, Spring Boot apps can easily be run locally from the command line.

  • Improved Entity conversion support.

    bot-schema/connector use Entity for the wire format (Activity.getEntities). Since there are different types of entities, each with unique properties, Entity.getProperties can be used to access additional properties (see also Entity.getType). Activity.getMentions can be used to get "mention" type entities in the form of a list of Mention objects.

  • Switch to CompletableFuture in bot-connector.

    Previously, bot-connector was using RxJava Observables. If you were using ConnectorClient methods, your code will need to be updated to use CompletableFuture results. While RxJava still appears as a dependency, it will not be used going forward.

  • Standardized on slf4j for logging in Java SDK.

    Removed use of other logging frameworks in favor of slf4j. The samples demonstrate using the log4j integrations to slf4j.

  • Property utilizing clockSkew in JwtTokenExtractor.

    Corrects an issue with messages being dropped in some cases.

  • Replaced Fluent property accessors with standard get/set.

    The goals is for all class property accessors to utilize standard Java get/set. It's likely that any code utilizing bot-schema classes will need to be updated.

  • Removed original bot-connector-sample.