From d11d4176ee9833d2d2ec1af326cce0dbc340db41 Mon Sep 17 00:00:00 2001 From: Evan Zheng Date: Fri, 13 Dec 2019 12:31:38 -0800 Subject: [PATCH] Release notes for Workbench 1.8.0 --- README.md | 4 +- blockchain-workbench/CHANGELOG.md | 121 +++++++++++--------- blockchain-workbench/media/release180-1.png | Bin 0 -> 78093 bytes blockchain-workbench/readme.md | 4 +- 4 files changed, 72 insertions(+), 57 deletions(-) create mode 100644 blockchain-workbench/media/release180-1.png diff --git a/README.md b/README.md index 5c2f08723..665c60445 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ name: "Microsoft Azure Blockchain Workbench Samples" # ![Microsoft Azure Blockchain Workbench](https://raw.githubusercontent.com/Azure-Samples/blockchain/master/blockchain-workbench/media/logo_small.png) Microsoft Azure Blockchain Workbench -*New!* Version 1.7.0 of Workbench has been released. Please see our [Release Notes](https://github.com/Azure-Samples/blockchain/tree/master/blockchain-workbench/CHANGELOG.md) and [Upgrade Instructions](https://github.com/Azure-Samples/blockchain/tree/master/blockchain-workbench/scripts/upgrade/readme.md) if you're running an older version. +*New!* Version 1.8.0 of Workbench has been released. Please see our [Release Notes](https://github.com/Azure-Samples/blockchain/tree/master/blockchain-workbench/CHANGELOG.md) and [Upgrade Instructions](https://github.com/Azure-Samples/blockchain/tree/master/blockchain-workbench/scripts/upgrade/readme.md) if you're running an older version. @@ -52,5 +52,3 @@ To provide feedback on these samples, please see our [Contribution Guidelines](h For general product feedback, please visit our [forum](https://techcommunity.microsoft.com/t5/Blockchain/bd-p/AzureBlockchain). To request additional features or samples, visit our [UserVoice site](https://feedback.azure.com/forums/586780-blockchain). - - diff --git a/blockchain-workbench/CHANGELOG.md b/blockchain-workbench/CHANGELOG.md index b458a6742..1e8796ac4 100644 --- a/blockchain-workbench/CHANGELOG.md +++ b/blockchain-workbench/CHANGELOG.md @@ -1,7 +1,28 @@ +# Azure Blockchain Workbench Release Notes - Version 1.8.0 + +Thank you all for your continued support and interest in Azure Blockchain Workbench. We’re excited to announce the release of Workbench 1.8.0, in which we have made component improvements and added availability in more Azure Regions. You can deploy a new instance of Workbench through the Azure Portal or upgrade your existing deployments to 1.8.0 using our [upgrade script](https://github.com/Azure-Samples/blockchain/tree/master/blockchain-workbench/scripts/upgrade/readme.md). + +This update includes the following improvements: + +## Additional Regions Available for Workbench Deployments + +We have expanded our regional support for Azure Blockchain Workbench for our customers across the globe. With version 1.8.0, you will see additional regional deployment options of North Europe, West US 2, and Japan East. Now, when deploying Azure Blockchain Workbench, you can select from a total of six regions. + + ![](media/release180-1.png) + +For customers who would like to deploy a new Azure Blockchain Service member from directly in the Azure Blockchain Workbench deployment experience, the member will also sit in the selected region. + +## Upgraded Solidity Compiler to 0.5.10 + +One of the highly requested features that we’ve heard from customers is upgrading the Solidity compiler to the latest version, especially with some of the recent updates to Solidity. With Workbench 1.8.0, the solidity compiler is now upgraded to version 0.5.10. + +Note that if you deploy new applications in Workbench, uploading older smart contracts may result in error messages saying a different compiler version is required. Since there are breaking changes from the 0.4 compiler version to the 0.5 complier version, you will need to update your smart contract to account for these changes. + +You can stay up to date on Azure Blockchain by following us on Twitter @MSFTBlockchain. Please use our [Blockchain User Voice](https://aka.ms/blockchainuservoice) to provide feedback and suggest features/ideas for Workbench. Your input is helping make this a great service.  We look forward to hearing from you. + # Azure Blockchain Workbench Release Notes - Version 1.7.0 -Integration with Azure Blockchain Service -================= +## Integration with Azure Blockchain Service With the Azure Blockchain Service now in public preview, you can develop directly with Workbench on Azure Blockchain Service as the underlying blockchain. For those of you who have been on this blockchain journey with us, there are now templates in Azure which make it faster to configure and deploy a private blockchain network, but it’s still up to you to maintain and run your blockchain nodes, including upgrading to new versions, installing security patches, and more. Azure Blockchain Service simplifies the maintenance of the underlying blockchain network by running a fully managed blockchain node for you. @@ -15,8 +36,7 @@ Selecting this option will automatically deploy an Azure Blockchain Service node > Note that if you rotate the primary API key on your primary transaction node on your Azure Blockchain Service, you need to change the key of the configured RPC endpoint on Workbench. Update the Key Vault with the new key and reboot the VMs.  -Enhanced Compatibility with Quorum -================= +## Enhanced Compatibility with Quorum One of the highly requested features that we’ve heard from customers is adding compatibility for additional blockchain network protocols. In previous releases of Workbench, the default blockchain network that is configured is an Ethereum Proof-of-Authority (PoA) blockchain network. With Workbench 1.7.0, we have added compatibility with the Quorum blockchain network. @@ -24,8 +44,7 @@ For customers who are looking to build blockchain applications on top of Quorum, # Azure Blockchain Workbench Release Notes - Version 1.6.0 -Application versioning -================= +## Application versioning One of the most popular feature requests from you all has been that you would like to have an easy way to manage and version your Workbench applications instead of having to manually change and update your applications as you are in the development process. We’ve continued to improve the Workbench development story with support for application versioning with 1.6.0 via the web app as well as the REST API. You can upload new versions directly from the web application by clicking “Add version.” Note that if you have any changes in the application role name, the role assignment will not be carried over to the new version. @@ -42,8 +61,8 @@ You can also view the application version history. To view and access older vers ![](media/release160-5.png) -New egress messaging API -================= +## New egress messaging API + Workbench provides many integration and extension points, including via a REST API and a messaging API. The REST API provides developers a way to integrate to blockchain applications. The messaging API is designed for system to system integrations. In our previous release, we enabled more scenarios with a new input messaging API. In 1.6.0, we have implemented an enhanced and updated output messaging API which publishes blockchain events via Azure Event Grid and Azure Service Bus. This enables downstream consumers to take actions based on these events and messages such as, sending email notifications when there are updates on relevant contracts on the blockchain, or triggering events in existing enterprise resource planning (ERP) systems. ![](media/release160-6.png) @@ -107,8 +126,8 @@ Here is an example of a contract information message with the new output messagi Read more about the newly designed messaging API in our [documentation](https://docs.microsoft.com/en-us/azure/blockchain/workbench/messages-overview). Note that this redesign of the output messaging model will impact existing integrations you have done. -WorkbenchBase class is no longer needed in contract code -================= +## WorkbenchBase class is no longer needed in contract code + For customers who have been using Workbench, you will know that there is a specific class that you need to include in your contract code, called WorkbenchBase. This class enabled Workbench to create and update your specified contract. When developing custom Workbench applications, you would also have to call functions defined in the WorkbenchBase class to notify Workbench that a contract had been created or updated. With 1.6.0, this code serving the same purpose as WorkbenchBase will now be autogenerated for you when you upload your contract code. You will now have a more simplified experience when developing custom Workbench applications and will no longer have bugs or validation errors related to using WorkbenchBase. See our updated samples, which have WorkbenchBase removed. This means that you no longer need to include the WorkbenchBase class nor any of the contract update and contract created functions defined in the class. To update your older Workbench applications to support this new version, you will need to change a few items in your contract code files: @@ -116,21 +135,21 @@ This means that you no longer need to include the WorkbenchBase class nor any of * Remove calls to functions defined in the WorkbenchBase class (ContractCreated and ContractUpdated). If you upload an application with WorkbenchBase included, you will get a validation error and will not be able to successfully upload until it is removed. For customers upgrading to 1.6.0 from an earlier version, your existing Workbench applications will be upgraded automatically for you. Once you start uploading new versions, they will need to be in the 1.6.0 format. -Get available updates directly from within Workbench -================= +## Get available updates directly from within Workbench + Whenever a Workbench update is released, we announce the updates via the Azure blog and post release notes in our [GitHub](https://aka.ms/blockchainsdkgithub). If you’re not actively monitoring these announcements, it can be difficult to figure out whether or not you are on the latest version of Workbench. You might be running into issues while developing which have already been fixed by our team with the latest release. We have now added the capability to view information for the latest updates directly within the Workbench UI. If there is an update available, you will be able to view the changes available in the newest release and update directly from the UI. ![](media/release160-7.png) -Breaking Changes in 1.6.0 -================= +## Breaking Changes in 1.6.0 + 1. **WorkbenchBase related code generation:** Before 1.6.0, the WorkbenchBase class was needed because it defined events indicating creation and update of Blockchain Workbench contracts. With this change, you no longer need to include it in your contract code file, as Workbench will automatically generate the code for you. Note that contracts containing WorkbenchBase in the Solidity code will be rejected when uploaded. 2. **Updated outbound messaging API:** The new schema will impact the existing integration work you have done with the current messaging API. If you want to use the new messaging API you will need to update your integration specific code. -The name of the service bus queues and topics has been changed in this release. Any code that points to the service bus will need to be updated to work with Workbench version 1.6.0. -* ingressQueue - the input queue on which request messages arrive -* egressTopic     - the output queue on which update and information messages are sent + The name of the service bus queues and topics has been changed in this release. Any code that points to the service bus will need to be updated to work with Workbench version 1.6.0. + * ingressQueue - the input queue on which request messages arrive + * egressTopic     - the output queue on which update and information messages are sent 3. **Workbench application sample udpates:** All Workbench applications sample code are updated since we no longer need the WorkbenchBase class in contract code. If you are on an older version of Workbench and use the samples on GitHub, or vice versa, you will see errors. Upgrade to the latest version of Workbench if you want to use samples. @@ -148,8 +167,8 @@ Breaking changes in this release: - Existing smart contract code will have warnings at upload time if not aligned with latest version of Solidity - AAD Application registration needs to be updated -Simplified deployment and setup -================= +## Simplified deployment and setup + We have made it easier to get started with Workbench. In previous versions of Workbench, there were many prerequisite steps that you need to take before deploying Workbench to properly set up integration with your Azure Active Directory (AAD) tenant. You also had to step through other setup blades in the Azure Portal to set up your Blockchain Network and Monitoring options. With version 1.5.0, only the Basic Settings blade is required for you to fill out to setup Workbench. The Advanced Settings is now optional, so you can get started with your deployment even faster. If you want to do more advanced setup like connecting to an existing blockchain network, setting up your AAD tenant, and selecting a specialized VM size, those options are still available to you in the Advanced Settings blade. @@ -158,8 +177,8 @@ With version 1.5.0, only the Basic Settings blade is required for you to fill ou ![](media/release150-2.png) -More flexibility and easier AAD integration -================= +## More flexibility and easier AAD integration + We’ve also done a lot around the AAD integration to give you more options when choosing which tenant to connect to Workbench with. Before, there were a handful of administrator permissions that you had to have in order to set up the integration properly. We have updated the integration to reduce these requirements – you can now connect Workbench with a tenant where you are not an admin, so you no longer need to setup an entirely new tenant for Workbench. The AAD setup experience has also been simplified dramatically by allowing you to set up your AAD integration after Workbench has successfully deployed. Simply select the “Add Later” option in the Advanced Settings tab. @@ -182,8 +201,8 @@ The script does all the prerequisite AAD related setup steps for you (guide on m 2. Modifies the application manifest to include the Workbench Administrator application role. 3. Adds the required Graph API permissions to read basic user profiles. -New input messaging API -================= +## New input messaging API + Workbench provides a number of integration points out of the box, including via a REST API and a messaging API. The REST API provides developers a way to integrate to blockchain applications. For example, you can use the REST API and Power BI to create visualizations based on blockchain data. The messaging API is designed for system to system integrations. Currently, Workbench publishes blockchain events via Azure Event Grid and Azure Service Bus, which enables downstream consumers to take action based on these events and messages. @@ -240,11 +259,11 @@ You get the contract ID of the contract that was just created, metadata around t In the upcoming months, we will also be redesigning and enhancing the output messaging model, which may impact some of the existing work you have done. You can read more about the newly designed messaging API [here](https://docs.microsoft.com/en-us/azure/blockchain/workbench/messages-overview). -More robust transaction submission pipeline -================= +## More robust transaction submission pipeline + One of the biggest improvements we’ve made in 1.5.0 is a new and improved submission pipeline. Many of you have told us that you’ve wanted better telemetry and more precise error handling in the web app to quickly troubleshoot issues. -#### Error handling in the UX #### +#### Error handling in the UX Based on our rewrite of the submission pipeline, you will notice a significant improvement in stability and get more detailed error messages when transactions fail. You will now see two additional types of error messages surfaced. ![](media/release150-6.png) @@ -252,11 +271,11 @@ Based on our rewrite of the submission pipeline, you will notice a significant i   - *There are no events identified from this action. Please update your code to add an event for this action and try again.* You may see this error when you are expecting to see some update in the Workbench UI but nothing shows up. This is because there are no Workbench events identified from the action that was taken, and you will be prompted to update your contract code. To mitigate this issue, double check that you have called the ContractUpdated() or ContractCreated() function properly. You can read more about writing blockchain apps for Workbench [here](https://docs.microsoft.com/en-us/azure/blockchain/workbench/create-app). -#### Logging and Telemetry #### +#### Logging and Telemetry We have included better logging and telemetry to help with troubleshooting. Each Workbench instance has a corresponding Application Insights instance, where you can find logs to trace each request through the different Workbench components and services. You can find a step by step guide on how to do this on our [FAQ](https://aka.ms/workbenchFAQ) page. -Breaking Changes in 1.5.0 -================= +## Breaking Changes in 1.5.0 + 1. **Updated ingress messaging API:** Due to the new and improved design for the ingress messaging API, you will need to update your existing integration code. We have renamed the service bus queues and topics. * ingressQueue - the input queue on which request messages arrive * egressTopic     - the output queue on which update and information messages are sent @@ -265,8 +284,8 @@ Breaking Changes in 1.5.0 * ContractUpdated verification: If the ContractUpdated call has a parameter that is either (a) not a workflow function, or (b) is different from the caller workflow function, you will get an error. * Configuration and smart contract function verification: If the function in smart contract doesn’t exist or function signature is different (parameter names do not match), you will get a more descriptive error. -Upcoming Breaking Changes -================= +## Upcoming Breaking Changes + We appreciate your continued interest in Workbench. We have a few upcoming features which may impact you. 1. **WorkbenchBase code generation:** The WorkbenchBase class is required for writing Blockchain Workbench specific apps, as it enables Blockchain Workbench to create and update contracts. With this upcoming change, you no longer need to include it in your contract code file, as Workbench will automatically generate the code for you. If you continue to include WorkbenchBase in your smart contracts, it will not upload successfully after 1.6.0. 2. **Updated outbound messaging API:** Workbench has a messaging API for system to system integrations. We have had an outbound messaging API which we will be redesigning. The new schema will impact the existing integration work you have done with the current messaging API. If you want to use the new messaging API you will need to update your integration specific code. @@ -275,16 +294,16 @@ We appreciate your continued interest in Workbench. We have a few upcoming featu # Azure Blockchain Workbench Release Notes - Version 1.4.0 To use 1.4, you can either deploy a new instance of Workbench through the Azure Portal or upgrade your existing deployment to 1.3.0 using our upgrade script. This update includes the following improvements: -Better accessibility for screen readers and keyboard navigation -================= +## Better accessibility for screen readers and keyboard navigation + Azure Blockchain Workbench is far more than UI within client apps. Workbench provides a rich developer scaffold for you to develop and integrate blockchain solutions within your enterprise. ![](media/release140-1.png) For this release, we focused on making Workbench more accessible for everyone. Accessibility is a key pillar in our vision of empowering every person and every organization to achieve more, and we’re excited to share some of the improvements we’ve made with accessibility in mind. The Web client gives you an easy to use environment to validate, test, and view blockchain applications. The application interface is dynamically generated based on smart contract metadata and can accommodate any use case. The client application delivers a user-facing front end to the complete blockchain applications generated by Blockchain Workbench. With version 1.4.0, the Web client now fully supports screen readers in terms of navigation and reading information. In addition, we updated the Web client to better support keyboard shortcuts and navigation. We hope these improvements can make you more productive when creating blockchain applications in Workbench. -Customization of smart contract table columns -================= +## Customization of smart contract table columns + Workbench dynamically creates Web client UI based on your smart contracts and application configuration. Workbench summarizes smart contract instances as a table in the Web client based on the properties specified in the application configuration. Depending on the blockchain scenario, developers may specify a lot of properties for any given application. Unfortunately, if many properties are specified, the smart contract table within the Web client UI will become hard to read due to the size and number of columns of the table (see below image). ![](media/release140-2.png) @@ -295,8 +314,8 @@ Below is a screenshot of the customize table pane, which allows each user to tog The smart contract table view will reflect all changes applied via the customize table pane. ![](media/release140-4.png) -New supported datatype - Arrays -================= +## New supported datatype - Arrays + With 1.4.0, we now support array datatypes as part of constructor and function parameters as well as smart contract properties. Arrays allow you to create blockchain apps where you can input and represent a strongly typed list of content, such as a list of numbers or values. Workbench currently supports static and dynamic arrays of integers, Booleans, money, and time. Workbench does not yet support array of enums or array of arrays, including strings. Note, for string support we’re waiting for Solidity functionality to get out of preview. Let us know if these limitations are blockers for you. The array type is specified via the configuration file as follows: @@ -330,14 +349,14 @@ There is a limitation is Solidity when it comes to public properties related to   If this function is not part of your Solidity code, we will show an error when uploading your blockchain application. -Support for strings up to 4k characters -================= +## Support for strings up to 4k characters + One of the limitations in Workbench is the data type strings can only be 256 characters. We’ve received feedback from folks who wanted us to increase the limit. With 1.4.0, the new limit is 4000 characters. Note, using more characters will result in using more gas when processing transactions. When building your smart contracts, please be aware of the block gas limit and build your smart contracts with that limit in mind. ![](media/release140-5.png) ![](media/release140-6.png) -Faster and more reliable transaction processing -================= +## Faster and more reliable transaction processing + With 1.4.0, we’ve made additional reliability improvements to the DLT Watcher microservice (see the [Blockchain Workbench architecture document](https://docs.microsoft.com/en-us/azure/blockchain-workbench/blockchain-workbench-architecture) for more information on this component). The Watcher has been rewritten and is able to process blocks at a much faster rate. Please use our [Blockchain User Voice](https://aka.ms/blockchainuservoice) to provide feedback and suggest features/ideas for Workbench. Your input is helping make this a great service.  We look forward to hearing from you. @@ -346,17 +365,17 @@ Please use our [Blockchain User Voice](https://aka.ms/blockchainuservoice) to pr # Azure Blockchain Workbench Release Notes - Version 1.3.0 -Faster and more reliable deployment -================= +## Faster and more reliable deployment + We look at telemetry every day to identify issues that affect our customers, and as a result made some changes to make deploying Workbench not only more reliable, but faster as well. -Better transaction reliability -================= +## Better transaction reliability + Continuing from the [monitoring improvements](https://azure.microsoft.com/en-us/blog/azure-blockchain-workbench-1-1-0-extends-capabilities-and-monitoring/) we made as part of 1.1.0, we’ve made reliability improvements to the DLT Watcher and DLT Consumer microservices (see the [Blockchain Workbench architecture document](https://docs.microsoft.com/en-us/azure/blockchain-workbench/blockchain-workbench-architecture) for more information on those components). Practically speaking, you’ll notice fewer errors saying “It looks like something went wrong…”. -Ability to deploy Workbench in a multi-member Ethereum PoA consortium -================= +## Ability to deploy Workbench in a multi-member Ethereum PoA consortium + With [release 1.2.0](https://azure.microsoft.com/en-us/blog/top-feature-requests-added-with-azure-blockchain-workbench-1-2-0/) you could deploy Workbench and connect that deployment to an existing Ethereum-based network. This past week we announced the availability of a [new standalone Ethereum PoA solution](https://azure.microsoft.com/en-us/blog/ethereum-proof-of-authority-on-azure/), which can be deployed across members within a consortium. With these two updates, you can deploy Workbench in three different configurations: 1. **Single-Member System:** The default configuration of Workbench, where Workbench is deployed in a blockchain network with only one member. @@ -375,14 +394,14 @@ With [release 1.2.0](https://azure.microsoft.com/en-us/blog/top-feature-requests We are investigating other topologies, such as one where Workbench is deployed into each subscription. If that interests you, please upvote or request it on our [blockchain user voice](https://feedback.azure.com/forums/586780-blockchain). -Simpler pre-deployment script for AAD -================= +## Simpler pre-deployment script for AAD + We know going through [Workbench deployment instructions](https://docs.microsoft.com/en-us/azure/blockchain-workbench/blockchain-workbench-deploy) can feel like a lot of work, especially setting up AAD and registering an app for the Workbench API. To make things easier, we’ve created a new PowerShell script, which automates most of the AAD setup steps and outputs the parameters you need for Workbench deployment. You can find the instructions and the script on our [GitHub](https://github.com/Azure-Samples/blockchain/tree/master/blockchain-workbench/scripts/aad-setup). ![](media/release130-4.png) -Sample code and tool for working with the Workbench API -================= +## Sample code and tool for working with the Workbench API + Some of you have asked for more sample code and tools related to generating authentication bearer tokens for Workbench API. We’re excited to announce a new [tool](https://github.com/Azure-Samples/blockchain/tree/master/blockchain-workbench/auth-samples/bearer-token-retrieval), which you can use to generate tokens for your Workbench instance. Source code is also available and can be used to create your own client authentication experience. Try it out by cloning the repo, running the Web page, and plugging in your Application Id. ![](media/release130-5.png) diff --git a/blockchain-workbench/media/release180-1.png b/blockchain-workbench/media/release180-1.png new file mode 100644 index 0000000000000000000000000000000000000000..2e79fc9b7c1b3ae801b90d15b697015f121e271d GIT binary patch literal 78093 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 @RDS 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 literal 0 HcmV?d00001 diff --git a/blockchain-workbench/readme.md b/blockchain-workbench/readme.md index 628065d9d..45a72c1a7 100644 --- a/blockchain-workbench/readme.md +++ b/blockchain-workbench/readme.md @@ -1,6 +1,6 @@ # ![Microsoft Azure Blockchain Workbench](./media/logo_small.png) Microsoft Azure Blockchain Workbench -*New!* Version 1.7.0 of Workbench has been released. Please see our [Release Notes](./CHANGELOG.md) and [Upgrade Instructions](./scripts/upgrade/readme.md) if you're running an older version. +*New!* Version 1.8.0 of Workbench has been released. Please see our [Release Notes](./CHANGELOG.md) and [Upgrade Instructions](./scripts/upgrade/readme.md) if you're running an older version. This repository contains content and samples in number of areas, including: @@ -24,5 +24,3 @@ To provide feedback on these samples, please see our [Contribution Guidelines](. For general product feedback, please visit our [forum](https://techcommunity.microsoft.com/t5/Blockchain/bd-p/AzureBlockchain). To request additional features or samples, visit our [UserVoice site](https://feedback.azure.com/forums/586780-blockchain). - -