BUILDSYS-636: esnacc 7.0.12 — deprecatedbaseline.txt and unified API baseline dates - #144
Merged
Merged
Conversation
…7.0.12) Replace interfaceversion.txt with optional deprecatedbaseline.txt, unify baseline with -nodeprecated (date or auto max @deprecated), rebuild -filter output after baseline resolution, emit unified MODULE_* version metadata with shared comments across C++/TS/Kotlin/Swift/Java/JSON backends, fix C++ define syntax and Kotlin semver layout, and add CLI/baseline unit tests. Made-with: Cursor
interface_baseline.c used MSVC-only strcpy_s/fopen_s without asn-config.h macros, breaking Ubuntu CI. Document platform helper usage in AGENTS.md and a new always-applied Cursor rule. Made-with: Cursor
On Linux fopen_s maps to myfopen in platform-functions.c. The baseline unit test executable compiled interface_baseline.c without linking c-lib, causing undefined reference errors in Ubuntu CI. Made-with: Cursor
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.
Summary
Release esnacc 7.0.12 with optional
deprecatedbaseline.txt, unified API baseline handling aligned with-nodeprecated, and consistentMODULE_*version metadata across C++/TypeScript/Kotlin/Swift/Java/JSON backends.Jira: BUILDSYS-636
Version
main)Tag
7.0/7.0.12onmainafter merge.Motivation
interfaceversion.txtwith an optional API baseline date (deprecatedbaseline.txt) using the same date formats as@deprecated/@added.-nodeprecated(bare or dated) with that baseline for stub filtering and published version labels.@addedactivity separately in generated stubs for interface handshake work (UCAAS-1480).Behaviour changes
deprecatedbaseline.txtinterfaceversion.txt).MODULE_MAJOR_VERSION(YYYYMMDD).0, full interface for deprecated filtering.Precedence:
-nodeprecated:date→ bare-nodeprecated(newest@deprecatedin scope) →deprecatedbaseline.txt→ none.Generated version metadata (all versioning backends)
Shared fields via
module_version_emit.c:MODULE_LASTCHANGE@added(ISO)MODULE_BASELINEMODULE_MAJOR_VERSIONYYYYMMDD/ legacy int /0MODULE_MINOR_VERSION0)MODULE_PATCH_VERSION@added(YYYYMMDD)MODULE_VERSION"major.0.patch"semver string#definesyntax (no=in macro body); version defines emitted inside namespace block.major.0.patch, notmajor.unix.0).Date) for baseline/lastChange.Filter mode
-filter -nodeprecatedre-parses ASN.1 after baseline resolution so deprecated symbols are actually removed.Tests
compiler/tests/target: CLI integration tests (10) + interface baseline unit tests (8).Consumer follow-up (not in this repo)
global: MRfeature/BUILDSYS-636-esnacc-api-baseline-datepinslibs/snacclib7→dddf5f6.asn1_procall/asn1_ucweb: add comment-onlydeprecatedbaseline.txt, removeinterfaceversion.txt.7.0/7.0.12, rebuildglobal/buildtools/esnacc7.exe, bump global pin onmain.Test plan
compiler,compiler-cli-tests,interface-baseline-tests)global/buildtools/esnacc7.exe