Skip to content

docs(readme): bump to 0.75.0 + document v0.73-v0.75 PXF API additions#40

Merged
trendvidia merged 1 commit into
mainfrom
readme-v0.73-v0.75
May 12, 2026
Merged

docs(readme): bump to 0.75.0 + document v0.73-v0.75 PXF API additions#40
trendvidia merged 1 commit into
mainfrom
readme-v0.73-v0.75

Conversation

@trendvidia

Copy link
Copy Markdown
Owner

Summary

The README's install snippets and version banner still pointed at `0.70.0`, and the PXF API section covered `unmarshal` / `unmarshalFull` / `marshal` / `parse` but stopped at v0.72. Five public-API surfaces landed between v0.73 and v0.75 with no README footprint:

Symbol Released What
`Result.directives()` / `Result.tables()` v0.73 `@` + `@table` capture on unmarshalFull
`TableReader` over `InputStream` v0.74 Streaming `@table` consumption
`TableReader.scan(Message.Builder)` / `BindRow.bindRow` v0.75 Per-row proto binding sugar
`SchemaValidator.validateFile` / `validateDescriptor` + `UnmarshalOptions.withSkipValidate` v0.73 Schema reserved-name check

What's added

  • Install snippets (Maven + Gradle) bumped `0.70.0` → `0.75.0`.
  • Version banner updated.
  • Four new subsections under "PXF API":
    1. Directives and `@table` (Result accessors)
    2. `TableReader`: streaming `@table` consumption
    3. `scan` and `BindRow`: per-row binding
    4. Schema reserved-name check
  • Feature coverage list grows six new ✅ items covering the new surfaces.

All four narrative sections link back to the spec sections (§3.4.4 streaming note, §3.13 reserved-name rule).

Test plan

  • All code samples compile against the current public API (manually verified types and method signatures)
  • Install snippets reference the actually-tagged version (`v0.75.0`)
  • No structural changes to existing sections — additions slot in after "Parse → AST → format"

The README's install snippets and version banner still pointed at
0.70.0, and the PXF API section covered unmarshal / unmarshalFull /
marshal / parse but stopped at v0.72. Five public-API surfaces
landed between v0.73 and v0.75 with no README footprint:

  - Result.directives() / Result.tables() — @<name> + @table
    capture on unmarshalFull (v0.73)
  - TableReader over InputStream — streaming @table consumption
    bounded by largest single row (v0.74)
  - TableReader.scan(Message.Builder) / BindRow.bindRow — per-row
    proto binding sugar (v0.75)
  - SchemaValidator.validateFile / validateDescriptor +
    UnmarshalOptions.withSkipValidate — schema reserved-name check
    (v0.73)

Adds four subsections under "PXF API":

  - Directives and @table (Result accessors): worked example
    iterating r.directives() + r.tables() with the three-state
    cell contract spelled out.
  - TableReader: streaming @table consumption: InputStream → row
    iterator + tail() for multi-table chaining + per-row error
    semantics.
  - scan and BindRow: per-row binding: both APIs with the same
    cell-state contract; WKT + wrapper + enum semantics noted.
  - Schema reserved-name check: SchemaValidator + withSkipValidate
    opt-out + case-sensitivity callout.

Updates the Feature coverage list with six new ✅ items covering
the new surfaces. All four narrative sections link back to the
spec sections (§3.4.4 streaming note, §3.13 reserved-name rule).

Install snippets (Maven + Gradle) bumped 0.70.0 → 0.75.0.
@trendvidia trendvidia merged commit e1e3d57 into main May 12, 2026
2 of 3 checks passed
@trendvidia trendvidia deleted the readme-v0.73-v0.75 branch May 12, 2026 04:42
trendvidia added a commit that referenced this pull request May 12, 2026
CodeQL was failing with "could not process any code written in
Java/Kotlin" on PRs that touched no Java source — the README PR
(#40) and the release-cut commit (#39, which only edits
CHANGELOG.md).

Diagnosis: gradle/actions/setup-gradle@v6 restores the build cache
on every run. README- and CHANGELOG-only changes leave every input
to the JavaCompile task identical, so Gradle reports the `classes`
task as UP-TO-DATE and runs zero `javac` invocations. CodeQL's
Java tracer wraps `javac`; no invocations means no extracted
classes, which surfaces as the empty-database error at the
analyze step.

Confirmed by the run-duration pattern in `gh run list --workflow=codeql.yml`:
  - failing runs (#39 release-cut, #40 README) finished in ~1 min
  - successful runs (#35-#38 feature PRs that touched src/) took ~2 min

The minute of "missing" wall-clock is exactly the javac step that
didn't run.

Fix: `--no-build-cache clean classes` forces a recompile every
CodeQL invocation. Drops a `clean` task ahead of `classes` to
guarantee no UP-TO-DATE skip, and `--no-build-cache` is
belt-and-braces against the setup-gradle action's cache restore.

Slightly slower CodeQL runs (~30s more on cold compile) but the
analyze step gets real javac output to extract from.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant