Posts

Showing posts from January, 2024

[MS] FCM v1 SDK preview program - devamazonaws.blogspot.com

We are excited to announce that core capabilities for the integration of Azure Notification Hubs (ANH) with Firebase Cloud Messaging (FCM) v1 SDKs are ready for testing. As a reminder, Google will stop supporting FCM Legacy HTTP on June 20, 2024, so you will need to migrate your applications and notification payloads to the new format before then. All methods of onboarding will be ready for migration March 1, 2024. To help you with this transition, we are inviting you to join our preview program and test the FCM v1 onboarding process for SDKs in February. This will give you early access to the new features and capabilities, as well as the opportunity to provide feedback and report any issues. If you are interested in joining the preview program, please contact NotificationSvcsPM@microsoft.com with your company name, subscription ID, namespace name, usage patterns ((what send types you use, whether you use ANH to store registrations) and a link/identifier to the SDK you are using by F...

[MS] In the Debugger’s Spotlight: A Year in Review - devamazonaws.blogspot.com

Image
Reflecting on the past year's journey, our team was on a mission to enhance debugging tools, ensuring they became more efficient and user-friendly. We dedicated our efforts to boosting inner-loop productivity, making external source debugging more seamless, improving overall performance, and optimizing memory analysis. And, of course, we were eagerly listening to the valuable feedback from you, our fantastic Developer Community! Based on the invaluable feedback we received from our customers like you, it's clear that the outcome is a noticeably smoother and more intuitive debugging experience in Visual Studio. This post offers an overview of the 2023 updates, allowing you to catch up on any enhancements you might have missed. Join us in celebrating the strides made in refining and optimizing the debugging journey throughout the past year!" All features listed below are included in our latest Visual Studio version and are available for both managed and native debugging scen...

[MS] How can I add an environment variable to a process launched via Shell­Execute­Ex or IContext­Menu? - devamazonaws.blogspot.com

The Shell­Execute­Ex function and IContext­Menu interface provide the caller a number of places to customize how the execution occurs by allowing the call to pass a "site" which Shell­Execute­Ex / IContext­Menu will access at various points in the execution process. Today we'll demonstrate this technique by adding environment variables to processes launched via Shell­Execute­Ex and IContext­Menu . The ICreating­Process interface is used by Shell­Execute­Ex . and IContext­Menu to allow the caller to customize how processes are created. The extension point is obtained by querying the site for SID_ Execute­Creating­Process and requesting an ICreating­Process . If one is produced, then the system calls the OnCreating method with an object that allows the creation to be customized. Today's C++ COM library is (rolls dice) C++/WinRT. struct AddEnvironmentVariableSite : winrt::implements<AddEnvironmentVariableSite, ::IServiceProvider, ::ICre...

[MS] Java on Visual Studio Code Update – January 2024 - devamazonaws.blogspot.com

Image
Hi everyone, welcome to the first update for Visual Studio Code for Java of 2024! We hope everyone had a refreshing break. In this blog we have some exciting updates for the new Test Coverage UX as well as reliability and general user experience updates, so let's get started! Update of Java 21 Feature Support As shared in our roadmap blog post last December, integrating JDK 21 support is a key focus in enhancing fundamental experience. Following its release, many efforts have been done to supports its features. We're pleased to share our progress. Here's a summary of the features we currently support and those still in progress. Current Status (List referenced from here ) 430: String Templates (Preview) Supported 431: Sequenced Collections Supported 439: Generational ZGC Supported 440: Record Patterns Supported 441: Pattern Matching for switch Supported 442: Foreign Function & Memory API (Third Preview) Supported 443: Unnamed Patter...

[MS] What’s New in vcpkg (January 2024) - devamazonaws.blogspot.com

Image
This blog post summarizes changes to the vcpkg package manager as part of the 2024.01.12 release and changes to vcpkg documentation throughout January. This month’s vcpkg release was mainly minor bug fixes, while several new documentation articles were added. Some stats for this period: There are now 2,377 total libraries available in the vcpkg public registry. 15 new ports were added to the open-source registry. A port is a versioned recipe for building a package from source, such as a C or C++ library. 227 updates were made to existing ports. As always, we validate each change to a port by building all other ports that depend on or are depended by the library that is being updated for our nine main triplets . 25 contributors submitted PRs, issues, or participated in discussions in the main repo. The main vcpkg repo has over 5,900 forks and 20,700 stars on GitHub.   vcpkg changelog (2024.01.12 release) Arm artifact registry updated to new default URL (PR: Micros...

Amazon EC2 added new price protection for attribute based instance selection - devamazonaws.blogspot.com

Starting today, EC2 Auto Scaling and EC2 Fleet customers who use attribute based instance type selection can define their Spot instances price protection limit as a percentage of an instances’ On-Demand price. With this new mechanism, customers have greater control over the instance types that are launched by EC2 Fleet or EC2 Auto Scaling, while also maximizing the benefit of Spot’s lower prices. Post Updated on January 29, 2024 at 10:53PM

Amazon ECS Service Discovery now available in Canada West (Calgary) AWS Region - devamazonaws.blogspot.com

Today, Amazon Elastic Container Service (ECS) launched integrated service discovery in Canada West (Calgary) AWS Region.  Post Updated on January 29, 2024 at 10:21PM

Amazon EC2 R7i instances are now available in additional AWS regions - devamazonaws.blogspot.com

Starting today, Amazon Elastic Compute Cloud (Amazon EC2) R7i instances are available in Asia Pacific (Jakarta) and South America (Sao Paulo). Post Updated on January 29, 2024 at 06:06PM

[MS] How to deploy .NET Aspire apps to Azure Container Apps - devamazonaws.blogspot.com

Image
The recently announced .NET Aspire for building cloud-native apps is a great match for Azure Container Apps (ACA). .NET Aspire was designed to easily manage applications comprised of a series of interdependent microservices. Azure Container Apps is also tailored for microservices and built on cloud native tech which means .NET Aspire integrates into it seamlessly – right out of the box! On top of that, the .NET Aspire stack offers a tailored deployment experience for ACA through the Azure Developer CLI (AZD), which lets you create, provision, and deploy the Azure resources for your Aspire solution with a single command. In this blog post, we discuss the benefits of hosting your apps in ACA versus an unmanaged cluster. We will also show you just how easy it is to get started by walking through sample code. Why Azure Container Apps? Azure Container Apps (ACA) is a platform for running container-first applications and microservices. It is powered by Kubernetes but is far simpler to...

[MS] A comparison of various implementations of the Windows Runtime IMemory­Buffer - devamazonaws.blogspot.com

In my studies of the IMemory­Buffer interface, I found three implementations of that interface in the Windows Runtime. Windows. Foundation. MemoryBuffer , obtained from Buffer. Create­Memory­Buffer­Over­IBuffer() . Windows. Graphics. Imaging. BitmapBuffer , obtained from Software­Bitmap. Lock­Bufer() . Unnamed class obtained from PerceptionFrame. FrameData . We also wrote our own fourth implementation , which we called Custom­Memory­Buffer , that lets you turn any block of memory into a Memory­Buffer . All four of them behave differently. Let's compare.   Memory­Buffer Bitmap­Buffer Frame­Data Custom­Memory­Buffer Thread-safe? No Yes Yes Yes IMemoryBuffer supports IMemoryBufferByteAccess? No No Yes Yes CreateReference after Close Empty Empty references raise Closed event? Yes No No Yes Raises Closed event automatically when released? Yes No Yes Yes Can extend lifetime during Closed event handler No Yes No Yes Buffer valid du...

Introducing IPv6 instance bundles on Amazon Lightsail - devamazonaws.blogspot.com

Today, we are excited to announce the introduction of new IPv6 instance bundles on Amazon Lightsail. With these new instance bundles, you can get up and running quickly on IPv6-only without the need for a public IPv4 address with the ease of use and simplicity of Amazon Lightsail. Post Updated on January 25, 2024 at 10:58PM

AWS Private CA now supports revocation for Matter certificates - devamazonaws.blogspot.com

AWS Private Certificate Authority (AWS Private CA) now supports revocation for Matter certificates. Matter is an industry standard for smart home devices that provides seamless and secure cross-vendor connectivity for devices like light bulbs, door locks, and media devices. You can use AWS Private CA to issue digital certificates for identifying Matter devices. Matter 1.2 introduced revocation support for device attestation certificates (DACs) to improve the security of the smart home standard. With this new support for revocation from AWS Private CA, you can maintain Matter standard compliance without any disruption to your existing Matter certificate authorities (CAs). Post Updated on January 25, 2024 at 10:31PM

Amazon Connect SMS is now available in two additional AWS regions - devamazonaws.blogspot.com

You can now use Amazon Connect SMS in the Asia Pacific (Seoul) and Asia Pacific (Sydney) AWS regions . Amazon Connect SMS makes it easy for you to resolve customer issues via text messaging. SMS offers a ubiquitous and convenient channel for your customers to get help from any device and anywhere, while enabling you to deliver personalized experiences at a lower cost. Post Updated on January 24, 2024 at 10:11PM

[MS] Code Faster and Better with GitHub Copilot’s New Features: Slash Commands and Context Variables - devamazonaws.blogspot.com

Image
Have you ever wished you had an AI assistant that could help you write code faster and better? That’s what Visual Studio Copilot Chat offers you: an AI-powered pair programmer that can answer your questions, suggest code snippets, explain code logic, and chat with you about your project. You can use Copilot to code faster and better, as it helps you avoid errors and learn new skills. We have added two new features to the latest Visual Studio Copilot Chat extension: slash commands (/) that allow you to direct Copilot to perform specific tasks, and context Variables (#) that allow you to specify a file for Copilot to focus its answer on. We also have several preview features you can get a sneak peek on. [alert type="tip" heading="Download Visual Studio Copilot Chat extension"]The ultimate conversational AI assistant for your coding tasks, download the Visual Studio extension . Compatible with Visual Studio 2022 version 17.8 and higher . GitHub Copilot is free for v...

[MS] Introducing API-based message extensions in Microsoft Teams Developer Portal - devamazonaws.blogspot.com

Image
We're thrilled to announce a new exciting feature in the Teams Developer Portal – API-based message extension. This cutting-edge functionality opens a world of possibilities, allowing your apps to interact seamlessly with external services via API securely and efficiently. Note: API-based message extensions only support search commands. API-based message extensions are available only in  public developer preview . What does it mean for you as a developer? Imagine your Teams app not just confined to the limits of pre-defined features but expanded to interact with a multitude of external APIs. This means more power, more flexibility, and enhanced user experience. Whether it's fetching data from a CRM, integrating with a project management tool, or connecting to a custom analytics service, the possibilities are endless. Enhanced Functionality : Leverage the power of external APIs to enhance your Teams app's capabilities. Customized Interactions : Tailor the user experie...

[MS] The dangerous implementations of the IMemory­Buffer­Reference.Closed event - devamazonaws.blogspot.com

Last time, we noted that the IMemory­Buffer­Reference.Closed event is useless . Which is a good thing, because every implementation I've looked at is also wrong. The problem comes with the need to raise the Closed event when the final reference is released. The implementations I've looked at all raise the event in the object's destructor as a "last gasp": MemoryBufferReference::~MemoryBufferReference() { m_refCount = 1; // avoid double-destruction Close(); } void MemoryBufferReference::Close() { if (!m_notified.exchange(true)) { m_closed.Invoke(this, nullptr); m_buffer = nullptr; } } We are giving out COM references to an object from its destructor, and as we noted when we discussed this trick earlier, this assumes that none of the functions who are given these COM references will call AddRef and retain the pointer after the call returns. (They can call AddRef , provided they also call Release the same number of times befo...

Amazon EKS and Amazon EKS Distro now support Kubernetes version 1.29 - devamazonaws.blogspot.com

Kubernetes version 1.29 introduced several new features and bug fixes, and AWS is excited to announce that you can now use Amazon EKS and Amazon EKS Distro to run Kubernetes version 1.29. Starting today, you can create new EKS clusters using v1.29 and upgrade your existing clusters to v1.29 using the Amazon EKS console, the eksctl command line interface, or through an infrastructure-as-code tool. Post Updated on January 23, 2024 at 10:48PM

[MS] The useless IMemory­Buffer­Reference.Closed event - devamazonaws.blogspot.com

The IMemory­Buffer­Reference interface has a Closed event which is signaled when the underlying object is closed or destructed. Closing the IMemory­Buffer­Reference invalidates any pointers that had been obtained from GetBuffer . Unfortunately, this event is basically useless. The idea was that a consumer of the buffer could be notified that the underlying data has been made unavailable, but multithreading means that this notification doesn't really help: Suppose that you have one thread that is doing some computation with the buffer, and another thread that notifies you that the buffer is invalid. The notification thread can't stop the computation thread in its tracks. At best, it would have to signal the computation thread to wrap up and block the notification thread until the computation thread reports that it has stopped accessing the buffer. But the notification might be delivered on a single-threaded apartment, in which case blocking is ill-advised. What's worse...

Amazon ECS Service Connect introduces support for automatic traffic encryption with TLS Certificates - devamazonaws.blogspot.com

Amazon Elastic Container Service  (Amazon ECS) launches support for automatic traffic encryption with Transport Layer Security (TLS) certificates for its networking capability called ECS Service Connect. With this support, ECS Service Connect allows your applications to establish a secure connection by encrypting your network traffic. Automatic traffic encryption with ECS Service Connect uses industry-leading encryption capabilities to secure your inter-service communication that helps you meet your security requirements. Post Updated on January 22, 2024 at 10:04PM

Amazon RDS Custom for SQL Server supports SQL Server 2022 - devamazonaws.blogspot.com

Amazon RDS Custom for SQL Server now supports Microsoft SQL Server 2022 CU9 for Web, Standard, Enterprise and Developer Editions. You can now use SQL Server 2022 features such as Query Store enhancements, Parameter Sensitive Plan optimization, and SQL Server Ledger on your Amazon RDS for SQL Server DB instances. To learn more about the SQL Server 2022 release, please visit Microsoft SQL Server 2022 release notes . To learn more about SQL Server 2022 CU9 fixes and enhancements, visit Microsoft’s release note . Post Updated on January 22, 2024 at 10:38PM

Amazon ECS support for configurable timeout for services running with Service Connect - devamazonaws.blogspot.com

Amazon Elastic Container Services (Amazon ECS) launches support for configuring timeout for service-to-service communication with its networking capability called ECS Service Connect. This feature enables you to set custom timeouts for Amazon ECS services running with Service Connect, supporting applications serving long-running requests. Amazon ECS is a fully managed container orchestration service that makes it easier for you to deploy, manage, and scale containerized applications. Customers can use ECS Service Connect capability to easily configure service discovery, connectivity and traffic observability for services running in Amazon ECS. This helps build applications faster by letting you focus on the application code and not on your networking infrastructure.  Post Updated on January 22, 2024 at 10:08PM

[MS] Accessing a block of memory represented by a Windows Runtime IMemoryBuffer - devamazonaws.blogspot.com

A customer had a large block of memory that they wanted to expose as a Windows Runtime object. They could have used a Windows. Storage. Streams. IBuffer , but the problem with buffers is that they make a copy of the data, and the customer didn't want the waste of copying large blocks of memory around. An alternative to IBuffer is IMemory­Buffer . This interface is used to represent a block of memory with a custom lifetime policy. There are two pieces to the IMemory­Buffer pattern. First, you have the IMemory­Buffer itself, which is the currency that is used to represent these blocks of memory. And then you have the IMemory­Buffer­Reference , which is a ticket that grants access to the data. From the consumer's point of view, the usage pattern goes like this. Somebody gives you an IMemoryBuffer that represents a block of memory. Anybody who wants to access the memory block calls call IMemoryBuffer.CreateReference to obtain a reference to the data in the form of an IM...

[MS] MicroAgents: Exploring Agentic Architecture with Microservices - devamazonaws.blogspot.com

Image
Throughout our time building Semantic Kernel and working with customers, we've introduced agents and have just started to explore the potential of autonomous AI agents. While the community is in the midst of exploring various architectures for these agents, one source we can draw inspiration from is the microservice architecture. Consider the benefits of microservices: Ease of maintenance: feature enhancement & validation Reliability: fault isolation & diagnostics Efficiency: cost & flexibility Deployment agility: frequency & scaling In this post, we'll cover what we're calling MicroAgents and talk through what some of the benefits this approach could provide.  Let's dive in! What is an Agent? From the perspective of Semantic Kernel orchestration, an AI agent is a modular abstraction that can possess a persona, can perform actions in response to user input, and can easily communicate with other agents. You might also view an agent from an AI-a...

[MS] 适用于 .NET 的 Azure Migrate 应用程序和代码评估工具  - devamazonaws.blogspot.com

Image
本篇翻译于Olia Gavrysh的 Announcing the Azure Migrate application and code assessment tool for .NET - .NET Blog (microsoft.com)   我们很高兴地宣布我们将发布一项新工具,它可以帮助您将本地 .NET 应用程序迁移到 Azure。   Azure Migrate 应用程序和 .NET 代码评估工具(简称 AppCAT) 让您能够评估应用程序的 .NET 源代码、配置和二进制文件,识别将应用程序迁移到 Azure 的过程中可能潜在的问题和概率。它有助于发现应用程序在移植到 Azure 时可能遇到的问题,并通过推荐现代的云原生解决方案来提高性能、可扩展性和安全性 。   运行分析后,该工具将向您显示一份报告,报告会列举您可能需要检查或更改的所有事项,以确保您的应用程序从本地迁移到 Azure 后能够正常工作 。   AppCAT 通过对代码及其依赖项进行静态代码分析来发现应用程序技术的使用情况。 它还允许您直接跳转到需要您注意的代码行,从而解决问题并将其标记为已修复,最后这个工具会保存问题的当前状态和报告,这样您或您的同事可以准确地从您上次修改过的地方重新开始。 该工具可以帮您估算修复每个问题所需的工作量并且它还能对应用程序和整个项目的组件进行评估 。 它将提供有关如何解决问题的详细指导,并链接到 Microsoft 文档 。   AppCAT 有两种“风格”——作为 Visual Studio 扩展和作为 .NET CLI 工具 。   安装 Visual Studio 扩展   先决条件   Windows 操作系统   Visual Studio 2022 版本 17.1 或更高版本   安装步骤   请参照以下步骤从 Visual Studio 下载并安装它。 或者,您也可以从 Visual Studio Marketplace 下载并安装扩展 。   打开 Visual Studio 后,按  Extensions > ...