Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(deps): update azure azure-sdk-for-net monorepo #14

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from

Conversation

renovate[bot]
Copy link

@renovate renovate bot commented Apr 10, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
Azure.AI.OpenAI (source) 1.0.0-beta.5 -> 1.0.0-beta.17 age adoption passing confidence
Azure.Storage.Blobs (source) 12.21.2 -> 12.22.0 age adoption passing confidence
Azure.Storage.Files.DataLake (source) 12.19.1 -> 12.20.0 age adoption passing confidence

Release Notes

Azure/azure-sdk-for-net (Azure.AI.OpenAI)

v1.0.0-beta.17

Compare Source

1.0.0-beta.17 (2024-05-03)

Features Added
  • Image input support for gpt-4-turbo chat completions now works with image data in addition to internet URLs.
    Images may be now be used as gpt-4-turbo message content items via one of three constructors:
    • ChatMessageImageContent(Uri) -- the existing constructor, used for URL-based image references
    • ChatMessageImageContent(Stream,string) -- (new) used with a stream and known MIME type (like image/png)
    • ChatMessageImageContent(BinaryData,string) -- (new) used with a BinaryData instance and known MIME type
      Please see the readme example for more details.
Breaking Changes
  • Public visibility of the ChatMessageImageUrl type is removed to promote more flexible use of data sources in
    ChatMessageImageContent. Code that previously created a ChatMessageImageUrl using a Uri should simply provide
    the Uri to the ChatMessageImageContent constructor directly.

v1.0.0-beta.16

Compare Source

1.0.0-beta.16 (2024-04-11)

Features Added

Audio

  • GetAudioTranscription() now supports word-level timestamp granularities via AudioTranscriptionOptions:
    • The Verbose option for ResponseFormat must be used for any timing information to be populated
    • TimestampGranularityFlags accepts a combination of the .Word and .Segment granularity values in
      AudioTimestampGranularity, joined when needed via the single-pipe | operator
      • For example, TimestampGranularityFlags = AudioTimestampGranularity.Word | AudioTimestampGranularity.Segment
        will request that both word-level and segment-level timestamps are provided on the transcription result
    • If not otherwise specified, Verbose format will default to using segment-level timestamp information
    • Corresponding word-level information is found on the .Words collection of AudioTranscription, peer to the
      existing .Segments collection
    • Note that word-level timing information incurs a small amount of additional processingly latency; segment-level
      timestamps do not encounter this behavior
  • GenerateSpeechFromText() can now use Wav and Pcm values from SpeechGenerationResponseFormat, these new
    options providing alternative uncompressed formats to Flac

Chat

  • ChatCompletions and StreamingChatCompletionsUpdate now include the reported Model value from the response
  • Log probability information is now included in StreamingChatCompletionsUpdate when logprobs are requested on
    GetChatCompletionsStreaming()
  • [AOAI] Custom Blocklist information in content filter results is now represented in a more structured
    ContentFilterDetailedResults type
  • [AOAI] A new IndirectAttack content filter entry is now present on content filter results for prompts
Breaking Changes
  • [AOAI] AzureChatExtensionMessageContext's RequestContentFilterResults now uses the new
    ContentFilterDetailedResults type, changed from the previous IReadOnlyList<ContentFilterBlockListIdResult>. The
    previous list is now present on CustomBlockLists.Details, supplemented with a new CustomBlockLists.Filtered
    property.
Bugs Fixed
  • [AOAI] An issue that sometimes caused StreamingChatCompletionUpdates from Azure OpenAI to inappropriately exclude
    top-level information like Id and CreatedAt has been addressed

v1.0.0-beta.15

Compare Source

1.0.0-beta.15 (2024-03-20)

This release targets the latest 2024-03-01-preview service API label and brings support for the Dimensions property when using new embedding models.

Features Added
  • EmbeddingsOptions now includes the Dimensions property, new to Azure OpenAI's 2024-03-01-preview service API.
Bugs Fixed
  • Several issues with the ImageGenerations response object being treated as writeable are fixed:
    • ImageGenerations no longer has an erroneous public constructor
    • ImageGenerations.Created no longer has a public setter
    • ImageGenerations.Data is now an IReadOnlyList instead of an IList
    • A corresponding replacement factory method for mocks is added to AzureOpenAIModelFactory

v1.0.0-beta.14

Compare Source

1.0.0-beta.14 (2023-08-09)
Breaking Changes
  • Location ip on server spans will now be set using client.address tag key on
    activity instead of http.client_ip.
    (#​37707)
  • Removing ServiceVersion.V2020_09_15_Preview. This is no longer in use and
    the exporter has already defaulted to the latest ServiceVersion.v2_1.
    (#​37996)
  • Remove Nullable Annotations from the Exporter's public API.
    (#​37996)
Bugs Fixed
  • Fixed an issue causing no telemetry if SDK Version string exceeds max length.
    (#​37807)
Other Changes
  • Update OpenTelemetry dependencies
    (#​37837)
    • OpenTelemetry 1.5.1

v1.0.0-beta.13

Compare Source

1.0.0-beta.13 (2023-07-13)
Features Added
  • Added ApplicationInsightsSampler to the exporter, enabling users to customize the sampling rate using the SamplingRatio property.
    (#​36972)
Other Changes

v1.0.0-beta.12

Compare Source

1.0.0-beta.12 (2023-12-15)

Like beta.11, beta.12 is another release that brings further refinements and fixes. It remains based on the 2023-12-01-preview service API version for Azure OpenAI and does not add any new service capabilities.

Features Added

Updates for using streaming tool calls:

  • A new .NET-specific StreamingToolCallUpdate type has been added to better represent streaming tool call updates
    when using chat tools.
    • This new type includes an explicit ToolCallIndex property, reflecting index in the REST schema, to allow
      resilient deserialization of parallel function tool calling.
  • A convenience constructor has been added for ChatRequestAssistantMessage that can automatically populate from a prior
    ChatResponseMessage when using non-streaming chat completions.
  • A public constructor has been added for ChatCompletionsFunctionToolCall to allow more intuitive reconstruction of
    ChatCompletionsToolCall instances for use in ChatRequestAssistantMessage instances made from streaming responses.

Other additions:

  • To facilitate reuse of user message contents, ChatRequestUserMessage now provides a public Content property (string) as well as a public MultimodalContentItems property (IList<ChatMessageContentItem).
    • Content is the conventional plain-text content and will be populated as non-null when the a ChatRequestUserMessage() constructor accepting a string is used to instantiate the message.
    • MultimodalContentItems is the new compound content type, currently only usable with gpt-4-vision-preview, that allows hybrid use of text and image references. It will be populated when an appropriate ChatRequestUserMessage() constructor accepting a collection of ChatMessageContentItem instances is used.
    • Role is also restored to common visibility to ChatRequestUserMessage.
Breaking Changes
  • The type of ToolCallUpdate on StreamingChatCompletionsUpdate has been changed from the non-streaming
    ChatCompletionsToolCall to the new StreamingToolCallUpdate type. The conversion is straightforward:
    • ToolCallUpdate.Id remains unchanged.
    • Instead of casting ToolCallUpdate to ChatCompletionsFunctionToolCall, cast it to StreamingToolCallUpdate.
    • Update cast instance use of functionToolCallUpdate.Arguments to accumulate functionToolCallUpdate.ArgumentsUpdate.
  • Removed the parameterized constructor of the ChatCompletionsOptions class that only received the messages as a parameter in favor of the parameterized constructor that receives the deployment name as well. This makes it consistent with the implementation of other Options classes.
  • Removed the setter of the Input property of the EmbeddingsOptions class as per the guidelines for collection properties.
Bugs fixed

v1.0.0-beta.11

Compare Source

1.0.0-beta.11 (2023-12-07)

This is a fast-following bug fix update to address some of the biggest issues reported by the community. Thank you
sharing your experiences!

Breaking Changes
  • The type of ChatCompletionsOptions.ToolChoice has been updated from BinaryData to a new ChatCompletionsToolChoice type. Please use ChatCompletionsToolChoice.None, ChatCompletionsToolChoice.Auto, or provide a reference to a function or function tool definition to migrate.
Bugs Fixed
  • ChatCompletionsOptions.ResponseFormat now serializes correctly and will not result in "not of type 'object" errors
  • ChatCompletionsOptions.FunctionCall is fixed to again work with FunctionDefinition.None and FunctionDefinition.Auto instead of resulting in not finding a named "none" or "auto" function
  • ChatCompletionsOptions.ToolChoice previously defaulted to a BinaryData type and has now been corrected to use a custom ChatCompletionsToolChoice type that parallels FunctionDefinition for older function calling.

v1.0.0-beta.10

Compare Source

1.0.0-beta.10 (2023-12-06)

Following OpenAI's November Dev Day and Microsoft's 2023 Ignite conference, this update brings a slew of new
features and changes to the SDK.

Features Added
  • -1106 model feature support for gpt-35-turbo and gpt-4-turbo, including use of seed, system_fingerprint,
    parallel function calling via tools, "JSON mode" for guaranteed function outputs, and more
  • dall-e-3 image generation capabilities via GetImageGenerations, featuring higher model quality, automatic prompt
    revisions by gpt-4, and customizable quality/style settings
  • Greatly expanded "On Your Data" capabilities in Azure OpenAI, including many new data source options and authentication
    mechanisms
  • Early support for gpt-4-vision-preview, which allows the hybrid use of text and images as input to enable scenarios
    like "describe this image for me"
  • Support for Azure enhancements to gpt-4-vision-preview results that include grounding and OCR features
Breaking Changes

ChatMessage changes:

  • The singular ChatMessage type has been replaced by ChatRequestMessage and ChatResponseMessage, the former of
    which is an abstract, polymorphic type with concrete derivations like ChatRequestSystemMessage and
    ChatRequestUserMessage. This requires conversion from old ChatMessages into the new types. While this is
    usually a straightforward string replacement, converting a response message into a request message (e.g. when
    propagating an assistant response to continue the conversation) will require creating a new instance of the
    appropriate request message with the response message's data. See the examples for details.

Dall-e-3:

  • Azure OpenAI now uses dall-e-3 model deployments for its image generation API and such a valid deployment must
    be provided into the options for the GetImageGenerations method to receive results.
Other changes
  • Audio transcription and translation (via GetAudioTranscription() and GetAudioTranslation() now allow specification of an optional Filename in addition to the binary audio data. This is used purely as an identifier and does not functionally alter the transcription/translation behavior in any way.

v1.0.0-beta.9

Compare Source

1.0.0-beta.9 (2023-11-06)

Breaking Changes

This update includes a number of version-to-version breaking changes to the API.

Streaming for completions and chat completions

Streaming Completions and Streaming Chat Completions have been significantly updated to use simpler, shallower usage
patterns and data representations. The goal of these changes is to make streaming much easier to consume in common
cases while still retaining full functionality in more complex ones (e.g. with multiple choices requested).

  • A new StreamingResponse<T> type is introduced that implicitly exposes an IAsyncEnumerable<T> derived from
    the underlying response.
  • OpenAI.GetCompletionsStreaming() now returns a StreamingResponse<Completions> that may be directly
    enumerated over. StreamingCompletions, StreamingChoice, and the corresponding methods are removed.
  • Because Chat Completions use a distinct structure for their streaming response messages, a new
    StreamingChatCompletionsUpdate type is introduced that encapsulates this update data.
  • Correspondingly, OpenAI.GetChatCompletionsStreaming() now returns a
    StreamingResponse<StreamingChatCompletionsUpdate> that may be enumerated over directly.
    StreamingChatCompletions, StreamingChatChoice, and related methods are removed.
  • For more information, please see
    the related pull request description as well as the
    updated snippets in the project README.
deploymentOrModelName moved to *Options.DeploymentName

deploymentOrModelName and related method parameters on OpenAIClient have been moved to DeploymentName
properties in the corresponding method options. This is intended to promote consistency across scenario,
language, and Azure/non-Azure OpenAI use.

As an example, the following:

ChatCompletionsOptions chatCompletionsOptions = new()
{
    Messages = { new(ChatRole.User, "Hello, assistant!") },
};
Response<ChatCompletions> response = client.GetChatCompletions("gpt-4", chatCompletionsOptions);

...is now re-written as:

ChatCompletionsOptions chatCompletionsOptions = new()
{
    DeploymentName = "gpt-4",
    Messages = { new(ChatRole.User, "Hello, assistant!") },
};
Response<ChatCompletions> response = client.GetChatCompletions(chatCompletionsOptions);
Consistency in complex method options type constructors

With the migration of DeploymentName into method complex options types, these options types have now been snapped to
follow a common pattern: each complex options type will feature a default constructor that allows init-style setting
of properties as well as a single additional constructor that accepts all required parameters for the corresponding
method. Existing constructors that no longer meet that "all" requirement, including those impacted by the addition of
DeploymentName, have been removed. The "convenience" constructors that represented required parameter data
differently -- for example, EmbeddingsOptions(string), have also been removed in favor of the consistent "set of
directly provide" choice.

More exhaustively, removed are:

  • AudioTranscriptionOptions(BinaryData)
  • AudioTranslationOptions(BinaryData)
  • ChatCompletionsOptions(IEnumerable<ChatMessage>)
  • CompletionsOptions(IEnumerable<string>)
  • EmbeddingsOptions(string)
  • EmbeddingsOptions(IEnumerable<string>)

And added as replacements are:

  • AudioTranscriptionOptions(string, BinaryData)
  • AudioTranslationOptions(string, BinaryData)
  • ChatCompletionsOptions(string, IEnumerable<ChatMessage>)
  • CompletionsOptions(string, IEnumerable<string>)
  • EmbeddingsOptions(string, IEnumerable<string>)
Embeddings now represented as ReadOnlyMemory<float>

Changed the representation of embeddings (specifically, the type of the Embedding property of the EmbeddingItem class)
from IReadOnlyList<float> to ReadOnlyMemory<float> as part of a broader effort to establish consistency across the
.NET ecosystem.

SearchKey and EmbeddingKey properties replaced by SetSearchKey and SetEmbeddingKey methods

Replaced the SearchKey and EmbeddingKey properties of the AzureCognitiveSearchChatExtensionConfiguration class with
new SetSearchKey and SetEmbeddingKey methods respectively. These methods simplify the configuration of the Azure Cognitive
Search chat extension by receiving a plain string instead of an AzureKeyCredential, promote more sensible key and secret
management, and align with the Azure SDK guidelines.

v1.0.0-beta.8

Compare Source

1.0.0-beta.8 (2023-09-21)

Features Added
  • Audio Transcription and Audio Translation using OpenAI Whisper models is now supported. See OpenAI's API
    reference
    or the Azure OpenAI
    quickstart
    for detailed overview and
    background information.
    • The new methods GetAudioTranscription and GetAudioTranscription expose these capabilities on OpenAIClient
    • Transcription produces text in the primary, supported, spoken input language of the audio data provided, together
      with any optional associated metadata
    • Translation produces text, translated to English and reflective of the audio data provided, together with any
      optional associated metadata
    • These methods work for both Azure OpenAI and non-Azure api.openai.com client configurations
Breaking Changes
  • The underlying representation of PromptFilterResults (for Completions and ChatCompletions) has had its response
    body key changed from prompt_annotations to prompt_filter_results
  • Prior versions of the Azure.AI.OpenAI library may no longer populate PromptFilterResults as expected and it's
    highly recommended to upgrade to this version if the use of Azure OpenAI content moderation annotations for input data
    is desired
  • If a library version upgrade is not immediately possible, it's advised to use Response<T>.GetRawResponse() and manually
    extract the prompt_filter_results object from the top level of the Completions or ChatCompletions response Content
    payload
Bugs Fixed
  • Support for the described breaking change for PromptFilterResults was added and this library version will now again
    deserialize PromptFilterResults appropriately
  • PromptFilterResults and ContentFilterResults are now exposed on the result classes for streaming Completions and
    Chat Completions. Streaming(Chat)Completions.PromptFilterResults will report an index-sorted list of all prompt
    annotations received so far while Streaming(Chat)Choice.ContentFilterResults will reflect the latest-received
    content annotations that were populated and received while streaming

v1.0.0-beta.7

Compare Source

1.0.0-beta.7 (2023-08-25)

Features Added
  • The Azure OpenAI "using your own data" feature is now supported. See the Azure OpenAI using your own data quickstart for conceptual background and detailed setup instructions.
    • Azure OpenAI chat extensions are configured via a new AzureChatExtensionsOptions property on ChatCompletionsOptions. When an AzureChatExtensionsOptions is provided, configured requests will only work with clients configured to use the Azure OpenAI service, as the capabilities are unique to that service target.
    • AzureChatExtensionsOptions then has AzureChatExtensionConfiguration instances added to its Extensions property, with these instances representing the supplementary information needed for Azure OpenAI to use desired data sources to supplement chat completions behavior.
    • ChatChoice instances on a ChatCompletions response value that used chat extensions will then also have their Message property supplemented by an AzureChatExtensionMessageContext instance. This context contains a collection of supplementary Messages that describe the behavior of extensions that were used and supplementary response data, such as citations, provided along with the response.
    • See the README sample snippet for a simplified example of request/response use with "using your own data"

v1.0.0-beta.6

Compare Source

1.0.0-beta.6 (2023-07-19)

Features Added
  • DALL-E image generation is now supported. See the Azure OpenAI quickstart for conceptual background and detailed setup instructions.
    • OpenAIClient gains a new GetImageGenerations method that accepts an ImageGenerationOptions and produces an ImageGenerations via its response. This response object encapsulates the temporary storage location of generated images for future retrieval.
    • In contrast to other capabilities, DALL-E image generation does not require explicit creation or specification of a deployment or model. Its surface as such does not include this concept.
  • Functions for chat completions are now supported: see OpenAI's blog post on the topic for much more detail.
    • A list of FunctionDefinition objects may be populated on ChatCompletionsOptions via its Functions property. These definitions include a name and description together with a serialized JSON Schema representation of its parameters; these parameters can be generated easily via BinaryData.FromObjectAsJson with dynamic objects -- see the README for example usage.
    • NOTE: Chat Functions requires a minimum of the -0613 model versions for gpt-4 and gpt-3.5-turbo/gpt-35-turbo. Please ensure you're using these later model versions, as Functions are not supported with older model revisions. For Azure OpenAI, you can update a deployment's model version or create a new model deployment with an updated version via the Azure AI Studio interface, also accessible through Azure Portal.
  • (Azure OpenAI specific) Completions and Chat Completions responses now include embedded content filter annotations for prompts and responses
  • A new Azure.AI.OpenAI.AzureOpenAIModelFactory is now present for mocking.
Breaking Changes
  • ChatMessage's one-parameter constructor has been replaced with a no-parameter constructor. Please replace any hybrid construction with one of these two options that either completely rely on property setting or completely rely on constructor parameters.

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/azure-azure-sdk-for-net-monorepo branch 8 times, most recently from 75965bf to 7241e62 Compare April 12, 2024 12:26
@renovate renovate bot changed the title chore(deps): update azure azure-sdk-for-net monorepo chore(deps): update dependency azure.ai.openai to v1.0.0-beta.16 Apr 12, 2024
@renovate renovate bot force-pushed the renovate/azure-azure-sdk-for-net-monorepo branch 3 times, most recently from e039329 to 695e1e7 Compare April 16, 2024 23:24
@renovate renovate bot changed the title chore(deps): update dependency azure.ai.openai to v1.0.0-beta.16 chore(deps): update azure azure-sdk-for-net monorepo Apr 16, 2024
@renovate renovate bot force-pushed the renovate/azure-azure-sdk-for-net-monorepo branch from 695e1e7 to 5814560 Compare April 19, 2024 21:12
@renovate renovate bot force-pushed the renovate/azure-azure-sdk-for-net-monorepo branch from 5814560 to 41aa77f Compare May 4, 2024 00:15
@renovate renovate bot force-pushed the renovate/azure-azure-sdk-for-net-monorepo branch from 41aa77f to 9ae0206 Compare May 6, 2024 17:02
@renovate renovate bot changed the title chore(deps): update azure azure-sdk-for-net monorepo chore(deps): update dependency azure.ai.openai to v1.0.0-beta.17 May 6, 2024
@renovate renovate bot force-pushed the renovate/azure-azure-sdk-for-net-monorepo branch 3 times, most recently from d6f0d36 to 58b23a5 Compare May 7, 2024 19:13
@renovate renovate bot changed the title chore(deps): update dependency azure.ai.openai to v1.0.0-beta.17 chore(deps): update azure azure-sdk-for-net monorepo May 7, 2024
@renovate renovate bot force-pushed the renovate/azure-azure-sdk-for-net-monorepo branch 2 times, most recently from b8f96f8 to 11a2b9e Compare May 14, 2024 00:52
@renovate renovate bot force-pushed the renovate/azure-azure-sdk-for-net-monorepo branch from 11a2b9e to 2dda217 Compare May 22, 2024 08:05
@renovate renovate bot changed the title chore(deps): update azure azure-sdk-for-net monorepo chore(deps): update dependency azure.ai.openai to v1.0.0-beta.17 Jun 24, 2024
@renovate renovate bot force-pushed the renovate/azure-azure-sdk-for-net-monorepo branch 2 times, most recently from d6e5661 to a449a63 Compare July 1, 2024 09:24
@GoetzGoerisch GoetzGoerisch force-pushed the develop branch 2 times, most recently from 5d64fd8 to 74a4f1b Compare July 5, 2024 13:29
@renovate renovate bot force-pushed the renovate/azure-azure-sdk-for-net-monorepo branch from a449a63 to cae52e3 Compare July 5, 2024 13:35
GoetzGoerisch pushed a commit that referenced this pull request Jul 12, 2024
fix(deps): bump dependencies
@renovate renovate bot force-pushed the renovate/azure-azure-sdk-for-net-monorepo branch 2 times, most recently from 9707b3c to 2bb5cfa Compare July 16, 2024 19:45
@renovate renovate bot changed the title chore(deps): update dependency azure.ai.openai to v1.0.0-beta.17 chore(deps): update azure azure-sdk-for-net monorepo Jul 16, 2024
@renovate renovate bot force-pushed the renovate/azure-azure-sdk-for-net-monorepo branch from 2bb5cfa to b7f1fa9 Compare July 25, 2024 17:19
@renovate renovate bot force-pushed the renovate/azure-azure-sdk-for-net-monorepo branch from b7f1fa9 to c03fa17 Compare August 9, 2024 01:01
@renovate renovate bot force-pushed the renovate/azure-azure-sdk-for-net-monorepo branch from c03fa17 to c712100 Compare August 29, 2024 09:03
@renovate renovate bot changed the title chore(deps): update azure azure-sdk-for-net monorepo chore(deps): update dependency azure.ai.openai to 1.0.0-beta.17 Aug 29, 2024
@renovate renovate bot force-pushed the renovate/azure-azure-sdk-for-net-monorepo branch from c712100 to 3032d25 Compare August 29, 2024 09:12
@renovate renovate bot force-pushed the renovate/azure-azure-sdk-for-net-monorepo branch from 3032d25 to deb342e Compare August 30, 2024 13:42
@renovate renovate bot force-pushed the renovate/azure-azure-sdk-for-net-monorepo branch from deb342e to 8f22633 Compare September 2, 2024 16:47
@renovate renovate bot force-pushed the renovate/azure-azure-sdk-for-net-monorepo branch from 8f22633 to 85e0093 Compare September 3, 2024 08:42
@renovate renovate bot force-pushed the renovate/azure-azure-sdk-for-net-monorepo branch from 85e0093 to 58f480c Compare September 19, 2024 04:06
@renovate renovate bot changed the title chore(deps): update dependency azure.ai.openai to 1.0.0-beta.17 chore(deps): update azure azure-sdk-for-net monorepo Sep 19, 2024
@renovate renovate bot force-pushed the renovate/azure-azure-sdk-for-net-monorepo branch from 58f480c to 32d89f5 Compare September 20, 2024 12:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant