Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 29 additions & 28 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,34 +6,7 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

### Added
- **`debug-files upload --extension <SUFFIX>`** picks up files under a spelling the CLI does not
know yet, for any `--type` — so a toolchain change no longer needs a CLI release before its
symbols upload. Repeat the flag or comma-separate values; the leading `.` is optional. Suffixes
ADD to each type's built-in names and match the end of the whole name (`.so.sym` works).
Content checks still apply (ELF build-id, PDB container, dSYM `DWARF`), and stylesheet /
type-declaration source maps are still skipped under the new spelling. An empty, dot-only or
path-like value is exit 20. See [#63].

### Fixed
- **`--type elf` uploads AGP `SYMBOL_TABLE` symbols.** With `ndk.debugSymbolLevel =
'SYMBOL_TABLE'` (what the React Native config plugin sets), `native-debug-symbols.zip` holds only
`lib*.so.sym`; every entry was dropped and the upload exited 0 having sent nothing. `.so.sym` is
now keyed by its GNU build-id like `.so`. It carries function names only — `file:line` frames
still need `FULL`. See [#61], [#62].
- **`--force` is honoured by `--type elf` and Rust ELF uploads.** It was dropped on both paths, so
switching a library from `SYMBOL_TABLE` to `FULL` (same build-id) was silently skipped as already
on the server. When full-debug libraries are skipped that way, the run now says to pass `--force`.
See [#62].
- **`--type elf` uploads one file per GNU build-id**, preferring the one with DWARF, then a symbol
table, then the larger file. Two entries for one library (a stripped `.so` beside its split-debug
companion) were registered concurrently, and the stripped one could win. See [#63].

[#61]: https://github.com/bugsee/bugsee-cli/issues/61
[#62]: https://github.com/bugsee/bugsee-cli/pull/62
[#63]: https://github.com/bugsee/bugsee-cli/pull/63

## [0.7.12] - 2026-09-23
## [0.7.12] - 2026-10-07

### Added
- **`upload build` can register a build without shipping the artefact's bytes** — omit `--artifact`.
Expand All @@ -53,16 +26,44 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

`format` is forwarded from the payload, not validated here, so a web build's `format: "web"`
needs the backend to accept it (bugsee-appserver#42) — this release adds no new format value.
- **`debug-files upload --extension <SUFFIX>`** picks up files under a spelling the CLI does not
know yet, for any `--type` — so a toolchain change no longer needs a CLI release before its
symbols upload. Repeat the flag or comma-separate values; the leading `.` is optional. Suffixes
ADD to each type's built-in names and match the end of the whole name (`.so.sym` works).
Content checks still apply (ELF build-id, PDB container, dSYM `DWARF`), and stylesheet /
type-declaration source maps are still skipped under the new spelling. An empty, dot-only or
path-like value is exit 20. See [#63].

### Changed
- **zstd 0.14** (direct dependency). No effect on what is uploaded: every zstd frame is written by
`zip`, which stays on zstd 0.13, over the same libzstd 1.5.7 — packed output is byte-identical to
0.13 at levels 9, 11 and 19. See [#38].

### Fixed
- **`npm/bootstrap-names.sh` can read a package's trust state on a session that needs 2FA.** The
read captured npm's output with `$(...)`, which swallowed npm's interactive "Authenticate your
account at: <url>" challenge; npm failed with `EOTP` and the script stopped at `unknown`. On
`unknown` the state is now re-read once uncaptured, with the terminal attached. A maintainer-only
script — the published binary is unchanged by it. See [#53].
- **`--type elf` uploads AGP `SYMBOL_TABLE` symbols.** With `ndk.debugSymbolLevel =
'SYMBOL_TABLE'` (what the React Native config plugin sets), `native-debug-symbols.zip` holds only
`lib*.so.sym`; every entry was dropped and the upload exited 0 having sent nothing. `.so.sym` is
now keyed by its GNU build-id like `.so`. It carries function names only — `file:line` frames
still need `FULL`. See [#61], [#62].
- **`--force` is honoured by `--type elf` and Rust ELF uploads.** It was dropped on both paths, so
switching a library from `SYMBOL_TABLE` to `FULL` (same build-id) was silently skipped as already
on the server. When full-debug libraries are skipped that way, the run now says to pass `--force`.
See [#62].
- **`--type elf` uploads one file per GNU build-id**, preferring the one with DWARF, then a symbol
table, then the larger file. Two entries for one library (a stripped `.so` beside its split-debug
companion) were registered concurrently, and the stripped one could win. See [#63].

[#38]: https://github.com/bugsee/bugsee-cli/pull/38
[#52]: https://github.com/bugsee/bugsee-cli/pull/52
[#53]: https://github.com/bugsee/bugsee-cli/pull/53
[#61]: https://github.com/bugsee/bugsee-cli/issues/61
[#62]: https://github.com/bugsee/bugsee-cli/pull/62
[#63]: https://github.com/bugsee/bugsee-cli/pull/63

## [0.7.11] - 2026-09-18

Expand Down