Feature/storage/content validation#49586
Draft
gunjansingh-msft wants to merge 343 commits into
Draft
Conversation
* Address remaining APIView feedback for transcription SDK - Fix TranscribedWord.getOffsetInMs() JavaDoc to refer to 'word' instead of 'phrase' - Parameterize renameOffsetGetter customization with subject noun - Update TranscriptionDiarizationOptions.enabled JavaDoc: callers must opt in explicitly via the constructor; the client does not auto-enable when maxSpeakers is set - Move 'RequestOptions on transcribeWithResponse' entry under Breaking Changes in CHANGELOG (it replaces the prior single-arg overload) - Attempt to strip removed TranscriptionContent entries from package metadata JSON via customization (emitter still re-emits; matches existing azure-ai-openai pattern) * Remove ineffective metadata JSON cleanup from customization The emitter re-emits the metadata JSON after customizations run, so RawEditor.replaceFile on it has no effect. This matches the existing azure-ai-openai pattern where the removed FileDetails model still appears in its metadata JSON. Drop the dead code; address the underlying emitter behavior upstream if needed.
Co-authored-by: Praveen Kuttappan <prmarott@microsoft.com>
…12.0-beta.1 (#48214) (#49202) Prepares CHANGELOG content for the upcoming releases driven by #48214: azure-core-amqp 2.12.0-beta.1 / Other Changes - Adds the Other Changes bullet documenting the new vendor-property-based batch sizing capability (com.microsoft:max-message-batch-size), with fallback to max-message-size when the property is absent. azure-messaging-servicebus 7.18.0-beta.2 / Other Changes - Repositions the #48214 bullet from Bugs Fixed to Other Changes and re-words it as "Implemented support for ..." (the service has advertised the vendor property for some time; the SDK now reads it). Bugs Fixed retains only the #45716 ProcessorClient.close() drain fix. No code changes; CHANGELOG content only. The release-driver reports for both packages live in copilot-toolkit/release-reports/azure-sdk-for-java/. Co-authored-by: Eldert Grootenboer (from Dev Box) <egrootenboer@microsoft.com>
…tor stream issues (#49036) * Harden async samples for GA: fix threading races and reactor stream issues - Mark cross-thread reference fields volatile to fix JMM visibility races between reactor event-handler thread and JVM shutdown-hook thread (session, audioProcessor, microphone/speaker/inputLine/outputLine, capture/playback threads) - Surface dropped audio packets when bounded playback queue is full (LinkedBlockingQueue.offer returns false) - Replace detached receiveEvents().subscribe() with chained thenMany() so a single reactor stream processes events (avoids events being silently dropped by competing subscribers) - Replace poll()+Thread.sleep busy-wait with blocking take() in audio playback loops - Convert fire-and-forget sendInputAudio/sendEvent .subscribe() to subscribe(onNext, onError) so errors surface - Replace doOnError(...).subscribe() with subscribe(onNext, onError) (doOnError is a side-effect, not a terminal handler) - Bound previously-unbounded LinkedBlockingQueue<>() to capacity 1000 to prevent OOM with slow consumers - GlobalTracingSample: move countDown() out of doFinally into subscribe(onComplete, onError) - AudioPlaybackSample: fix broken thenMany chain using take(Duration.ofSeconds(10)) - Switch all production samples to DefaultAzureCredential (KeyCredential shown as alternative comment) - MCPSample: fix runMCPSample signature mismatch left over from credential migration * Fix threading and reactive lifecycle issues in VoiceLive samples - Add Sinks.One eventSubscribed receive-first barrier so sendEvent(sessionConfig) waits for the hot multicast receiveEvents() subscription, preventing dropped events. - Compose receive + send into a single Flux.merge(...).then() lifecycle (notably AgentV2Sample) instead of detached subscribe() calls. - Mark audio capture/playback worker threads as daemons; replace busy poll() with blocking take()/read(); interrupt threads during cleanup so JVM shutdown completes. - Use volatile / AtomicReference for cross-thread audio line and thread handles to fix JMM visibility races. - Replace unbounded queues with bounded LinkedBlockingQueue(1000); offer() overflow now logs a warning instead of silently dropping audio. - Replace doOnError().subscribe() and bare subscribe() patterns with subscribe(onNext, onError) so errors are not swallowed. - Fix AuthenticationMethodsSample unreachable completion message and MCPSample.runMCPSample signature. - Enhance Javadoc on all 9 runnable samples (when to use / what happens at runtime). * Refactor VoiceLive samples to canonical reactor pattern - Use linear flatMap chain + subscribe(onNext, onError, onComplete) + CountDownLatch across all samples - Remove .doOn* callbacks in favor of subscribe terminal handlers - Add Ctrl+C shutdown hooks (with closeAsync().block(5s)) to interactive samples - Fix cold-Mono bug: subscribe to sendInputAudio() in capture loops (AgentV2Sample, MicrophoneInputSample, MCPSample) so audio actually reaches the service - Fix cold-Mono bug: block on closeAsync() in shutdown hooks so the WebSocket actually closes - Make BasicVoiceConversationSample do an actual text-only conversation (auto-exits on RESPONSE_DONE) - Fold FunctionCallingSample's function-result send into the main receiveEvents stream via concatMap (single subscription) - Expand sample Javadocs * regenerate from typespec * Revert "regenerate from typespec" This reverts commit 06bef12. * Standardize VoiceLive samples: auth, session close, and cleanup - Consolidate auth into AuthenticationMethodsSample with --use-api-key flag. - Other samples use DefaultAzureCredential (Entra ID, recommended). - Standardize session shutdown on closeAsync().timeout(5s).subscribe(...). - Improve variable names in FunctionCallingSample. - Remove unused imports in MCPSample. - Remove file-output logging from AgentV2Sample. - Align README and ReadmeSamples (Entra ID first). * Refactor GlobalTracingSample to send multiple prompts for richer telemetry * Refactor samples: scope VoiceLiveSession lifetime to reactive chain Per reviewer feedback, the VoiceLiveSession is no longer held as an instance field. Each sample now captures the session inside flatMapMany and threads it into per-event handling, so its lifetime is managed entirely within the reactive chain (no instance state, no sessionHolder, no nested subscribes). Also fixed stale comments/javadoc (incorrect `shutdown-hook'' references and inaccurate feature descriptions). --------- Co-authored-by: Xiting Zhang <xitzhang@microsoft.com>
…#49060) * [voicelive] Release azure-ai-voicelive 1.0.0 (GA) First General Availability release of the Azure VoiceLive client library for Java. Highlights: - Avatar voice sync (AzureVoiceType.AVATAR_VOICE_SYNC, AzureAvatarVoiceSyncVoice), avatar lifecycle events (session.avatar.switch_to_speaking/idle), response.video.delta, and output_audio_buffer.clear/cleared events. - Web search and file search tool calls (ResponseWebSearchCallItem, ResponseFileSearchCallItem with FileSearchResult) plus full searching/in_progress/completed lifecycle server events. - Transcription enhancements: TranscriptionPhrase / TranscriptionWord with timing and confidence, getLogprobs() / getPhrases() on transcription-completed, response.audio_transcript.annotation.added event, and new gpt-4o-transcribe-diarize / mai-transcribe-1 models. - Reasoning token usage (OutputTokenDetails.getReasoningTokens) and per-request interim response (ResponseCreateParams.setInterimResponse). - Session include options (SessionIncludeOption) and metadata on VoiceLiveSessionOptions / VoiceLiveSessionResponse. - Personal voice catalog: added DRAGON_HDOMNI_LATEST_NEURAL and MAI_VOICE_1, removed PHOENIX_V2NEURAL. - Version bumped to 1.0.0 in pom.xml, README.md, eng/versioning/version_client.txt, and CHANGELOG.md. - Added unit tests for the new GA model classes and lifecycle events (49 new test cases, all passing). * update change log * [voicelive] Add transcription completed tests and changelog/cspell tweaks - Add 4 unit tests for SessionUpdateConversationItemInputAudioTranscriptionCompleted covering the new logprobs and phrases arrays (full payload, backward-compat without arrays, JSON round-trip, polymorphic dispatch via SessionUpdate). - Trim CHANGELOG sections that don't apply to the GA delta from 1.0.0-beta.6. - Add HDOMNI and SSML to the workspace cspell dictionary. * update format * update tspconfig * Update CHANGELOG.md --------- Co-authored-by: Xiting Zhang <xitzhang@microsoft.com>
…49211) Reverts the rename of TranscribedPhrase.getOffsetInMs() and TranscribedWord.getOffsetInMs() back to getOffset(). The Duration return type already conveys the unit, so the `InMs` suffix is unnecessary and the original method name lets callers easily convert/compare across units. Also: fix Duration.toString() formatting in README/sample/test println statements (use toMillis()); fix TranscribedWord.getOffset() JavaDoc that incorrectly said 'phrase'; restore .toMillis() patches in regenerated tests.
…o Handle Soft-Deleted Blobs and Versions (#48716) * disabling test files * working cleanup fix * fixing cleanup in sync and async tests * fixing copy and paste issue * removing unused import * removing unused imports * variable name change
* iteration 1 * sync test, rename and recordings * Adding suppressions * simplified and PR feedback * changelog and readme updates
…optional spec PR (#49217) Co-authored-by: Juan Ospina <70209456+jeo02@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…to feature/storage/content-validation
* Storage - STG101 Release Changes (#49178) * pom, changelog, readme updates * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * updating other packages * updating storage READMEs * storage changelog placeholders * no-op change to re-trigger pipeline --------- Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* fixed with upstream * remove old directories * update to match new skill names * 0.4.0 * fixes to pass pipeline * change priority and just use tags * time limits --------- Co-authored-by: Juan Ospina <70209456+jeo02@users.noreply.github.com>
…neration - Java-6311835 (#49198) * Configurations: 'specification/containerservice/resource-manager/Microsoft.ContainerService/aks/tspconfig.yaml', API Version: 2026-03-02-preview, SDK Release Type: beta, and CommitSHA: '736baa6d7d8bec3c6aaf1f16e77e78846eda4871' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=6311835 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release. * skip nodeImageVersion in test * Configurations: 'specification/containerservice/resource-manager/Microsoft.ContainerService/aks/tspconfig.yaml', API Version: 2026-03-02-preview, SDK Release Type: beta, and CommitSHA: 'b084bc70c1e86d32e3d4e66f724bcbdc6c318dd0' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=6324358 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release. * Update CHANGELOG.md --------- Co-authored-by: elvazhu521 <elva.zhu521@gmail.com> Co-authored-by: Weidong Xu <weidxu@microsoft.com>
…- Java-6263783 (#49088) * Configurations: 'specification/storage/Storage.Management/tspconfig.yaml', API Version: 2025-08-01, SDK Release Type: stable, and CommitSHA: 'c163f6899d149b267dd3e865d3fd09fa23bb6255' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=6263783 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release. * Configurations: 'specification/storage/Storage.Management/tspconfig.yaml', and CommitSHA: 'b373ded4a6c77a9f541ca8f020fd2072db632751' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=6318918 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release. * Update CHANGELOG.md --------- Co-authored-by: Weidong Xu <weidxu@microsoft.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…-SDK Generation - Java-6325067 (#49225) * Configurations: 'specification/appcomplianceautomation/AppComplianceAutomation.Management/tspconfig.yaml', API Version: 2024-06-27, SDK Release Type: stable, and CommitSHA: 'b26c3c253cff26dd05361e882dbcf1b324f27dfd' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=6325067 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release. * Configurations: 'specification/appcomplianceautomation/AppComplianceAutomation.Management/tspconfig.yaml', API Version: 2024-06-27, SDK Release Type: stable, and CommitSHA: 'a850bf92fd639151ba3e3e7481a32b3c6ee87318' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=6325271 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release. * Update pom.xml * Update pom.xml * Update tsp-location.yaml commit to specs main HEAD --------- Co-authored-by: Weidong Xu <weidxu@microsoft.com>
* transcription, increment version * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* refactoring * removing unused code * reverting unecessary changes * reverting unecessary changes * reverting unecessary changes * not pre-allocating entire byte array of segment size * renaming variable * adding back unecessary removals * renaming variable * addressing copilot comments
* Update dependencies * Update POM validation versions * Fix errant characters
* content length override changes * content length override changes * removing stuff * addressing review comments * addressing review comments * addressing review comments * resolving merge conflicts * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * fixing spotbugs * fixing spellchecks --------- Co-authored-by: Local Merge <merge@local.tmp> Co-authored-by: Isabelle <141270045+ibrandes@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
…int offsetString propagation (#49076) * Add regression test and fix for missing offsetString in EventContext Added EventContextTest.updateCheckpointAsyncSetsOffsetString() which verifies that offsetString is populated on the Checkpoint passed to the store. This test fails without the fix (offsetString is null) and passes with it. Fix: added setOffsetString(eventData.getOffsetString()) in EventContext.updateCheckpointAsync(), matching the pattern already used in EventBatchContext. Fixes #46752 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add BlobCheckpointStore offset fallback and CHANGELOG entries BlobCheckpointStore.updateCheckpoint() now falls back to the deprecated Checkpoint.getOffset() (Long) when getOffsetString() is null/empty, so callers that build Checkpoint instances using the legacy long offset still have the offset persisted to blob metadata. The validation guard was broadened to accept offsetString-only checkpoints. Added regression tests covering: offset fallback, offsetString preference, both populated, offsetString-only, and sequenceNumber-only. Also added a CHANGELOG entry to azure-messaging-eventhubs for the EventContext.updateCheckpointAsync() offsetString fix from the prior commit. Refs #46752 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix sub-level event-hub-name override for Spring Event Hubs starter When spring.cloud.azure.eventhubs.consumer.event-hub-name or producer.event-hub-name is configured, the autoconfiguration now selects the dedicated client builder path instead of reusing the parent EventHubClientBuilder, ensuring the override actually takes effect. Fixes #43593 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Move CHANGELOG entry to sdk/spring/CHANGELOG.md per review feedback Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Address Copilot review comments: clarify JavaDoc and test comment - BlobCheckpointStore.updateCheckpoint JavaDoc now documents that offsetString is a supported value and is preferred over the deprecated offset when both are populated. - BlobCheckpointStoreTests.testUpdateCheckpointOffsetStringOnlyIsValid comment clarifies this is a behavior change (previously offsetString-only checkpoints were rejected by the validation guard). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs(eventhubs-checkpointstore-blob): correct updateCheckpoint @return tag The updateCheckpoint override returns Mono<Void>; the @return tag still claimed it produced "The new ETag on successful update", which has never matched the contract on this method or the parent CheckpointStore interface. Match the interface wording instead. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Johnathan Walker <johwalker@microsoft.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Security: harden B2C resource server token validation * docs: update changelog for B2C security hardening (PR #49252) * test: add comprehensive test coverage for reserved tenant ID rejection and normalization
* Adding more scenario-based tests * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Update live-platform-matrix.json * Addressing code review feedback * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Register created items for cleanup in customer workflow create paths * Update CustomerWorkflowHighE2ETimeoutTest.java * Delete CUSTOMER_WORKFLOW_COVERAGE_MAP.md * Refactoring customer tests into separate pipelines * Fix single master tests * Update CustomerWorkflowChangeFeedProcessorTest.java * Update CustomerWorkflowTestBase.java * Fixing test flakiness due to async container creation * Fixes test failures * Update CustomerWorkflowStoredProcedureTest.java * Update PerPartitionAutomaticFailoverE2ETests.java * Fixing tests --------- Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: raych1 <20296335+raych1@users.noreply.github.com>
* Fix async storage retry response drain ordering * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Fixed the test cases on basis of review suggestion from copilot * Handled lambda expression * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Addressed both Copilot comments. * Suggestions implemented based on latest review by @ibrandes --------- Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
…dates (#48495) (#48499) AdministrationModelConverter.getUpdateSubscriptionBody() incorrectly nullified defaultMessageTimeToLive alongside read-only properties before XML serialization. This caused updateSubscription() to silently discard TTL changes. Regression introduced in v7.17.5 by PR #42332 (UserMetadata fix). Changes: - Remove erroneous .setDefaultMessageTimeToLive(null) from the read-only property null-out block in getUpdateSubscriptionBody() - Add unit test verifying TTL is preserved through the update body conversion - Add CHANGELOG entry Co-authored-by: Eldert Grootenboer (from Dev Box) <egrootenboer@microsoft.com>
…path (#49597) Co-authored-by: Chidozie Ononiwu <chononiw@microsoft.com>
… Java-6462964 (#49566) * Configurations: 'specification/liftrqumulo/Qumulo.Storage.Management/tspconfig.yaml', SDK Release Type: stable, and CommitSHA: '31221e37affcbc82e521758d6d3dde7c97526ecd' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=6457556 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release. * Configurations: 'specification/liftrqumulo/Qumulo.Storage.Management/tspconfig.yaml', API Version: 2026-04-16, SDK Release Type: stable, and CommitSHA: '01f079814f51b81c1172652659edb2f56d2a16ca' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=6462914 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release. * Update pom.xml * Configurations: 'specification/liftrqumulo/Qumulo.Storage.Management/tspconfig.yaml', API Version: 2026-04-16, SDK Release Type: stable, and CommitSHA: '8b49356d37ead647d489c122db9d20872fd580e5' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=6462964 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release. * Update pom.xml Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Weidong Xu <weidxu@microsoft.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: azure-sdk <azuresdk@microsoft.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Please add an informative description that covers that changes made by the pull request and link all relevant issues.
If an SDK is being regenerated based on a new swagger spec, a link to the pull request containing these swagger spec changes has been included above.
All SDK Contribution checklist:
General Guidelines and Best Practices
Testing Guidelines