Version Packages#600
Open
github-actions[bot] wants to merge 1 commit into
Open
Conversation
0d7f49c to
3f38e3f
Compare
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.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@ydbjs/auth@6.3.0
Minor Changes
#599
c388cccThanks @polRk! - Publish credentials-provider events onnode:diagnostics_channel.New channels:
tracing:ydb:auth.token.fetch— span around the full token fetch, including retries. Context:{ provider }.ydb:auth.token.refreshed—{ provider, expiresAt }(unix ms). Single, monotonic timestamp instead of per-providerexpiresInsemantics.ydb:auth.token.expired—{ provider, stalenessMs }. Fires once per expiration incident, not per call.ydb:auth.provider.failed—{ provider, error }. Fires after all retries are exhausted.provideris an open string set. Built-in values:'static','metadata', plus values contributed by external providers (e.g.'yc-service-account'from@ydbjs/auth-yandex-cloud). CustomCredentialsProviderimplementations should mint a stable, namespaced provider id.Channel names and payload fields are part of the public API. See
packages/auth/README.mdfor the full contract and a warning about safe subscribers.Patch Changes
#599
fa32650Thanks @polRk! - Follow-ups to thenode:diagnostics_channelinstrumentation:@ydbjs/query— new tracing channels around transaction control RPCs:tracing:ydb:query.begin—BeginTransaction. Context:{ sessionId, nodeId, isolation }.tracing:ydb:query.commit—CommitTransaction. Context:{ sessionId, nodeId, txId }.tracing:ydb:query.rollback—RollbackTransaction. Context:{ sessionId, nodeId, txId }. Fire-and-forget —startalways fires,asyncEndmay land after the surroundingquery.transaction.error.tracing:ydb:query.executeis reserved forExecuteQueryRPCs only; subscribers building per-statement metrics should not expectquery.executeevents for begin/commit/rollback.Bug fixes:
@ydbjs/query— releasing a checked-out session afterpool.close()no longer publishesydb:session.closedtwice. The eviction listener is detached beforesession.close()fires its abort.@ydbjs/core—Driver.close()now cancels in-flight discovery and rejects pendingready()waiters.ydb:driver.ready/ydb:driver.failedno longer fire afterydb:driver.closed.@ydbjs/core—pool.pessimize()only publishesydb:pool.connection.pessimized(and calls theonPessimizehook) on the active→pessimized transition. Repeated pessimize calls that just refresh the timeout are now silent, so subscribers reconstructing pool state from delta events don't see phantom transitions.Documentation contract clarifications (no behavior change, but subscribers built from the previous wording were wrong):
@ydbjs/retry—tracing:ydb:retry.attempt.errorfires for every failed attempt, including the final non-retried one. The README previously implied it fires only for attempts that will be retried.@ydbjs/auth— theproviderfield is an open string set (customCredentialsProviderimplementations may contribute new values), not an enum. Subscribers should treat it as a label rather than write exhaustive switches.Updated dependencies [
fa32650,b8b5ef5]:@ydbjs/core@6.2.0
Minor Changes
#599
efa7adfThanks @polRk! - Publish driver, discovery, and connection-pool events onnode:diagnostics_channelso external subscribers can build traces, metrics, and logs.New channels:
ydb:driver.ready,ydb:driver.failed,ydb:driver.closed— driver lifecycle.tracing:ydb:discovery— discovery round span.ydb:discovery.completed— per-round delta.ydb:pool.connection.added,pessimized,unpessimized,retired,removed— connection-pool state changes.Channel names and payload fields are part of the public API. See
packages/core/README.mdfor the full table and a warning about safe subscribers (DC publishes synchronously — a throwing subscriber will disrupt the SDK).Patch Changes
#599
fa32650Thanks @polRk! - Follow-ups to thenode:diagnostics_channelinstrumentation:@ydbjs/query— new tracing channels around transaction control RPCs:tracing:ydb:query.begin—BeginTransaction. Context:{ sessionId, nodeId, isolation }.tracing:ydb:query.commit—CommitTransaction. Context:{ sessionId, nodeId, txId }.tracing:ydb:query.rollback—RollbackTransaction. Context:{ sessionId, nodeId, txId }. Fire-and-forget —startalways fires,asyncEndmay land after the surroundingquery.transaction.error.tracing:ydb:query.executeis reserved forExecuteQueryRPCs only; subscribers building per-statement metrics should not expectquery.executeevents for begin/commit/rollback.Bug fixes:
@ydbjs/query— releasing a checked-out session afterpool.close()no longer publishesydb:session.closedtwice. The eviction listener is detached beforesession.close()fires its abort.@ydbjs/core—Driver.close()now cancels in-flight discovery and rejects pendingready()waiters.ydb:driver.ready/ydb:driver.failedno longer fire afterydb:driver.closed.@ydbjs/core—pool.pessimize()only publishesydb:pool.connection.pessimized(and calls theonPessimizehook) on the active→pessimized transition. Repeated pessimize calls that just refresh the timeout are now silent, so subscribers reconstructing pool state from delta events don't see phantom transitions.Documentation contract clarifications (no behavior change, but subscribers built from the previous wording were wrong):
@ydbjs/retry—tracing:ydb:retry.attempt.errorfires for every failed attempt, including the final non-retried one. The README previously implied it fires only for attempts that will be retried.@ydbjs/auth— theproviderfield is an open string set (customCredentialsProviderimplementations may contribute new values), not an enum. Subscribers should treat it as a label rather than write exhaustive switches.Updated dependencies [
c388ccc,fa32650,b8b5ef5]:@ydbjs/query@6.2.0
Minor Changes
#599
fa32650Thanks @polRk! - Follow-ups to thenode:diagnostics_channelinstrumentation:@ydbjs/query— new tracing channels around transaction control RPCs:tracing:ydb:query.begin—BeginTransaction. Context:{ sessionId, nodeId, isolation }.tracing:ydb:query.commit—CommitTransaction. Context:{ sessionId, nodeId, txId }.tracing:ydb:query.rollback—RollbackTransaction. Context:{ sessionId, nodeId, txId }. Fire-and-forget —startalways fires,asyncEndmay land after the surroundingquery.transaction.error.tracing:ydb:query.executeis reserved forExecuteQueryRPCs only; subscribers building per-statement metrics should not expectquery.executeevents for begin/commit/rollback.Bug fixes:
@ydbjs/query— releasing a checked-out session afterpool.close()no longer publishesydb:session.closedtwice. The eviction listener is detached beforesession.close()fires its abort.@ydbjs/core—Driver.close()now cancels in-flight discovery and rejects pendingready()waiters.ydb:driver.ready/ydb:driver.failedno longer fire afterydb:driver.closed.@ydbjs/core—pool.pessimize()only publishesydb:pool.connection.pessimized(and calls theonPessimizehook) on the active→pessimized transition. Repeated pessimize calls that just refresh the timeout are now silent, so subscribers reconstructing pool state from delta events don't see phantom transitions.Documentation contract clarifications (no behavior change, but subscribers built from the previous wording were wrong):
@ydbjs/retry—tracing:ydb:retry.attempt.errorfires for every failed attempt, including the final non-retried one. The README previously implied it fires only for attempts that will be retried.@ydbjs/auth— theproviderfield is an open string set (customCredentialsProviderimplementations may contribute new values), not an enum. Subscribers should treat it as a label rather than write exhaustive switches.#599
be55d0cThanks @polRk! - Publish query, transaction, and session-pool events onnode:diagnostics_channel.New channels:
tracing:ydb:query.execute— span around a singleExecuteQueryRPC. Context:{ text, sessionId, nodeId, idempotent, isolation, stage }.stageis'standalone' | 'tx' | 'do'.tracing:ydb:query.transaction— span aroundtx.begin→commit/rollbackincluding retries. Context:{ isolation, idempotent }.tracing:ydb:session.acquire— span aroundpool.acquire(). Context:{ kind: 'query' | 'transaction' }.tracing:ydb:session.create— span aroundSession.open()when the pool grows. Context:{ liveSessions, maxSize, creating }.ydb:session.created—{ sessionId, nodeId }.ydb:session.closed—{ sessionId, nodeId, reason, uptime }withreason: 'evicted' | 'pool_close'. Fires exactly once per session, replacing the previous pair ofevicted+destroyedevents (which could double-fire onpool.close()).Retry-loop spans (
tracing:ydb:retry.*) come from@ydbjs/retryand nest underquery.transaction/query.executeviaAsyncLocalStoragepropagation — no per-callsite retry channel imports needed.Channel names, payload fields, and the
stage/reason/kindenums are part of the public API. Seepackages/query/README.mdfor the full contract and a warning about safe subscribers.Patch Changes
efa7adf,fa32650,b8b5ef5]:@ydbjs/retry@6.3.0
Minor Changes
#599
b8b5ef5Thanks @polRk! - Publish retry-loop and per-attempt events onnode:diagnostics_channel.New channels:
tracing:ydb:retry.run— span around the whole retry loop. Context:{ idempotent }.tracing:ydb:retry.attempt— span around each attempt (numbered from 1). Context:{ attempt, idempotent }.ydb:retry.exhausted— publish event when the loop exits without success. Payload:{ attempts, totalDuration, lastError }.Every consumer of
retry()(driver discovery, query execution, transactions, auth token refresh) now produces a unified retry-span hierarchy automatically — no per-callsite imports needed.Channel names and payload fields are part of the public API. See
packages/retry/README.mdfor the full table and a warning about safe subscribers.Patch Changes
#599
fa32650Thanks @polRk! - Follow-ups to thenode:diagnostics_channelinstrumentation:@ydbjs/query— new tracing channels around transaction control RPCs:tracing:ydb:query.begin—BeginTransaction. Context:{ sessionId, nodeId, isolation }.tracing:ydb:query.commit—CommitTransaction. Context:{ sessionId, nodeId, txId }.tracing:ydb:query.rollback—RollbackTransaction. Context:{ sessionId, nodeId, txId }. Fire-and-forget —startalways fires,asyncEndmay land after the surroundingquery.transaction.error.tracing:ydb:query.executeis reserved forExecuteQueryRPCs only; subscribers building per-statement metrics should not expectquery.executeevents for begin/commit/rollback.Bug fixes:
@ydbjs/query— releasing a checked-out session afterpool.close()no longer publishesydb:session.closedtwice. The eviction listener is detached beforesession.close()fires its abort.@ydbjs/core—Driver.close()now cancels in-flight discovery and rejects pendingready()waiters.ydb:driver.ready/ydb:driver.failedno longer fire afterydb:driver.closed.@ydbjs/core—pool.pessimize()only publishesydb:pool.connection.pessimized(and calls theonPessimizehook) on the active→pessimized transition. Repeated pessimize calls that just refresh the timeout are now silent, so subscribers reconstructing pool state from delta events don't see phantom transitions.Documentation contract clarifications (no behavior change, but subscribers built from the previous wording were wrong):
@ydbjs/retry—tracing:ydb:retry.attempt.errorfires for every failed attempt, including the final non-retried one. The README previously implied it fires only for attempts that will be retried.@ydbjs/auth— theproviderfield is an open string set (customCredentialsProviderimplementations may contribute new values), not an enum. Subscribers should treat it as a label rather than write exhaustive switches.@ydbjs/auth-yandex-cloud@0.2.0
Minor Changes
#599
c388cccThanks @polRk! - Participate in thenode:diagnostics_channelsurface defined by@ydbjs/auth.ServiceAccountCredentialsProvidernow publishes:tracing:ydb:auth.token.fetch— span aroundgetToken()withprovider: 'yc-service-account'.ydb:auth.token.refreshed—{ provider, expiresAt }after a successful IAM token exchange.ydb:auth.token.expired—{ provider, stalenessMs }, once per incident.ydb:auth.provider.failed—{ provider, error }when all retries are exhausted.Retry attempts inside the IAM exchange are visible on
tracing:ydb:retry.*from@ydbjs/retry. See@ydbjs/authREADME for the full channel contract and the warning about safe subscribers.Patch Changes
c388ccc,fa32650,b8b5ef5]:@ydbjs/topic@6.1.3
Patch Changes
#603
8d40d0dThanks @copilot-swe-agent! - PreservecreatedAt,writtenAt, andmetadataItemsonTopicMessagewhen constructed from options. Previously the constructor dropped these fields, so messages produced by readers always exposed them asundefined.Updated dependencies [
efa7adf,fa32650,b8b5ef5]: