Skip to content

feat: support schema changes classification for AsyncAPI#65

Merged
b41ex merged 13 commits intodevelopfrom
feature/schema-rules
Mar 19, 2026
Merged

feat: support schema changes classification for AsyncAPI#65
b41ex merged 13 commits intodevelopfrom
feature/schema-rules

Conversation

@b41ex
Copy link
Copy Markdown
Collaborator

@b41ex b41ex commented Mar 6, 2026

No description provided.

@b41ex b41ex requested review from JayLim2 and makeev-pavel March 10, 2026 13:02
$: allUnclassified,
'/*': {
$: allUnclassified,
'/*': { $: allUnclassified },
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/** must cover /*

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed

$: allAnnotation,
'/headers': {
$: allAnnotation,
'/*': { $: allAnnotation },
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the same question

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed

// For send operations: add=non-breaking (can send new types), remove=breaking
// For receive operations: add=breaking (must handle new types), remove=non-breaking
$: isSendAction
$: isSendAction //TODO: fix scopes
Copy link
Copy Markdown
Collaborator

@makeev-pavel makeev-pavel Mar 17, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODO
Is it necessary? If so, before what event?

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is used because rules must be inverted or something else if they have different directions, am I right?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODO is outdated, removed
Yes, rules are (dynamically) inverted depending on the scope.

})

// Operations map rules with dynamic operation type detection
//TODO: review
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Outdated, deleted

const jsonDraft7SchemaRules: CompareRules = withDynamicScopeReclassification(
jsonSchemaRules({
additionalRules: {
description: diffDescription(resolveSchemaDescriptionTemplates()), //TODO: verify description templates
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

todo

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actual for now, won't do as part of this PR.

$: allUnclassified,
'/*': {
$: allUnclassified,
'/*': { $: allUnclassified },
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

@b41ex b41ex changed the base branch from feature/asyncapi-basic-e2e to develop March 18, 2026 08:22
@github-actions github-actions bot added bug Something isn't working enhancement New feature or request refactor labels Mar 18, 2026
@b41ex b41ex requested review from JayLim2 and makeev-pavel March 18, 2026 16:03
…n a merged specification for AsyncAPI (#66)

* feat: ability to have firstReferenceKeyProperty returned by apiDiff in a merged specification for AsyncAPI

* refactor: add AsyncAPI validation utility for tests
- add asyncapi/parser as dev dependency
- add helper function to check AsyncAPI samples validity
- add Cursor instructions for AsyncAPI tests

* refactor: added add/remove test in combination with modify for messages, servers and operations
@b41ex b41ex merged commit 7371432 into develop Mar 19, 2026
13 checks passed
@b41ex b41ex deleted the feature/schema-rules branch March 19, 2026 13:39
@github-actions github-actions bot locked and limited conversation to collaborators Mar 19, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

bug Something isn't working enhancement New feature or request refactor

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants