@@ -54,18 +54,11 @@ cargo clippy --fix
5454
5555### Language Bindings
5656``` bash
57- # Generate Kotlin bindings
58- ./scripts/uniffi_bindgen_generate_kotlin.sh
59-
60- # Generate Android bindings
61- ./scripts/uniffi_bindgen_generate_kotlin_android.sh
62-
63- # Generate Python bindings
64- ./scripts/uniffi_bindgen_generate_python.sh
65-
66- # Generate Swift bindings
67- ./scripts/uniffi_bindgen_generate_swift.sh
57+ # Generate ALL bindings (Swift, Kotlin, Python) + xcframework archive
58+ ./bindgen.sh
6859```
60+ Individual scripts live under ` scripts/ ` but should NOT be run directly —
61+ ` bindgen.sh ` installs shared tooling once and sets the correct build profile.
6962
7063## Architecture
7164
@@ -226,21 +219,29 @@ When bumping the version, ALWAYS update ALL of these files:
226219
227220## CHANGELOG
228221- The Synonym fork maintains a SINGLE section at the top: ` # X.X.X (Synonym Fork) `
222+ - This section is ** cumulative** — it contains ALL changes across ALL rc versions for this fork
229223- When bumping version, update the version in the existing heading (don't create new sections)
230224- All Synonym fork additions go under ONE ` ## Synonym Fork Additions ` subsection
231225- New additions should be added at the TOP of the Synonym Fork Additions list
232226- Do NOT create separate sections for each rc version
233- - Use the CHANGELOG content as the GitHub release notes body
227+ - ** GitHub release notes are NOT the full CHANGELOG ** — see PR Release Workflow below
234228
235229## PR Release Workflow
236230- For PRs that bump version, ALWAYS create a release on the PR branch BEFORE merge
231+ - ** CRITICAL: Commit and push ALL changes to the branch BEFORE tagging.** The tag must
232+ point to a commit that contains every change included in the release (CHANGELOG, version
233+ bumps, bindings, etc.). Never tag uncommitted or unpushed work.
237234- Tag the last commit on the PR branch with the version from Cargo.toml (e.g., ` v0.7.0-rc.6 ` )
238235- ** CRITICAL: Before uploading ` LDKNodeFFI.xcframework.zip ` , ALWAYS verify the checksum matches ` Package.swift ` :**
239236 ``` bash
240237 shasum -a 256 bindings/swift/LDKNodeFFI.xcframework.zip
241238 # Compare output with the checksum value in Package.swift - they MUST match
242239 ```
243240- Create GitHub release with same name as the tag, upload ` LDKNodeFFI.xcframework.zip `
241+ - ** Release notes = DELTA only.** Describe only what changed since the previous release
242+ (e.g., rc.31 notes list only changes since rc.30). Do NOT paste the full cumulative
243+ CHANGELOG section — that covers all rc versions combined. Write concise notes covering
244+ the PR's changes: bug fixes, features, optimizations, and binding/version updates.
244245- ** ALWAYS add release link at the end of PR description** (use ` gh pr edit ` to update the body):
245246 ```
246247 ### Release
0 commit comments