Skip to content

1.23.0 release - #929

Merged
peter-leonov-ch merged 2 commits into
releasefrom
main
Jun 29, 2026
Merged

1.23.0 release#929
peter-leonov-ch merged 2 commits into
releasefrom
main

Conversation

@peter-leonov-ch

Copy link
Copy Markdown
Collaborator

Sync release from main to cut @clickhouse/client 1.23.0.

Brings release up to main (currently 2 commits behind: #928, #923). Version is already bumped to 1.23.0 on main; packages/client-node/CHANGELOG.md has the # 1.23.0 section ready.

Merging this triggers the path-scoped head publish + e2e for @clickhouse/client (the synced commits touch package-lock.json and skills/**). After head e2e is green, latest is published via manual publish-client.yml dispatch.

peter-leonov-ch and others added 2 commits June 29, 2026 23:09
…#923)

## Problem

`tests/clickhouse-test-runner` pinned `@clickhouse/rowbinary` to
`^0.1.2`, pulling the **published** parser from npm rather than the
in-repo `0.2.0`. CI and local runs therefore exercised the old decoder
behavior (notably enum decoding), invalidating the new RowBinary backend
coverage.

Building `0.2.0` surfaced a second issue the pin was masking: `0.2.0`
reorganized `dist/` into `readers/` and `writers/` subdirs (the recent
"split source by direction" change), so the test-runner's old flat
subpath imports (`@clickhouse/rowbinary/decimals`, `/core`, …) **no
longer resolve** under the new export map.

## Changes

- **Root `package.json`** — add `./skills/clickhouse-js-node-rowbinary`
to `workspaces` so npm symlinks the local package, exactly like
`@clickhouse/client` and `@clickhouse/datatype-parser`. The skill's
`node_modules` is gitignored and its standalone build is driven by its
own committed lockfile, so publishing the skill is unaffected.
- **test-runner `package.json`** — `@clickhouse/rowbinary: "^0.1.2"` →
`"*"` (matches the existing `@clickhouse/client` workspace reference).
- **7 import sites** (3 files) — flat subpaths → `readers/*`.
- `package-lock.json` regenerated: `node_modules/@clickhouse/rowbinary`
is now a workspace link; no `0.1.2` registry refs remain.

## Verification

- `npm install` links the local package ✓
- `datatype-parser`, `rowbinary`, `client` build ✓
- test-runner `typecheck` ✓, `build` ✓, `lint` ✓, **80/80 unit tests
pass** against the linked `0.2.0` ✓

## Note

`"*"` is correct while rowbinary is developed in-repo. Once it's
published at `0.2.0`+, consider re-pinning to a real semver range.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
## Summary

Removes the `head` publish job from the deprecated
`@clickhouse/client-common` publish workflow
(`.github/workflows/publish-client-common.yml`).

`@clickhouse/client-common` is deprecated — the `client` and
`client-web` packages now bundle the common sources directly from
`packages/client-common/src`. There's no longer a need to cut per-commit
`-head.*` pre-releases from the release branch for this package.

The `publish` job (the manual `workflow_dispatch` release) is left
intact.

## Test plan

- [ ] CI passes (workflow YAML lint)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings June 29, 2026 21:31
@github-advanced-security

Copy link
Copy Markdown

You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool.

What Enabling Code Scanning Means:

  • The 'Security' tab will display more code scanning analysis results (e.g., for the default branch).
  • Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results.
  • You will be able to see the analysis results for the pull request's branch on this overview once the scans have completed and the checks have passed.

For more information about GitHub Code Scanning, check out the documentation.

@codecov

codecov Bot commented Jun 29, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@peter-leonov-ch
peter-leonov-ch merged commit 70ad405 into release Jun 29, 2026
119 checks passed

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Syncs the release branch with main to prepare the @clickhouse/client 1.23.0 release, including CI/workflow adjustments and test-runner updates so the in-repo @clickhouse/rowbinary implementation is exercised during tests instead of the published npm version.

Changes:

  • Removes the head pre-release publish job from the deprecated @clickhouse/client-common workflow.
  • Updates the ClickHouse test runner to consume the in-repo @clickhouse/rowbinary skill via a local link, adjusts imports, and tweaks TSV enum rendering expectations.
  • Updates lockfiles and pins @types/node in the RowBinary skill (and its lockfile) to align with the repo.

Reviewed changes

Copilot reviewed 6 out of 8 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
tests/clickhouse-test-runner/src/tsv-serialize.ts Updates RowBinary helper imports and changes enum TSV rendering to treat enum values as already-resolved names.
tests/clickhouse-test-runner/src/backends/rowbinary.ts Updates RowBinary backend imports for the dynamic RowBinaryWithNamesAndTypes decoder.
tests/clickhouse-test-runner/package.json Switches @clickhouse/rowbinary dependency to a local file: link and adds a build step for the skill.
tests/clickhouse-test-runner/tests/tsv-serialize.test.ts Updates RowBinary import and adjusts enum-related assertions to match new decoded shapes.
skills/clickhouse-js-node-rowbinary/package.json Pins @types/node version used by the skill.
skills/clickhouse-js-node-rowbinary/package-lock.json Lockfile updates reflecting the @types/node pin and its dependency changes.
package-lock.json Root lockfile updates to link @clickhouse/rowbinary to the in-repo skill and reflect dependency changes.
.github/workflows/publish-client-common.yml Removes the automatic head publish job for deprecated @clickhouse/client-common.
Files not reviewed (1)
  • skills/clickhouse-js-node-rowbinary/package-lock.json: Generated file

Comment on lines +37 to +40
import { formatDecimal } from "@clickhouse/rowbinary/readers/decimals";
import { formatTime, formatTime64 } from "@clickhouse/rowbinary/readers/time";
import { formatUUID } from "@clickhouse/rowbinary/readers/uuid";
import { formatIPv4, formatIPv6 } from "@clickhouse/rowbinary/readers/ip";
Comment on lines +1 to +2
import { compileRowBinaryWithNamesAndTypes } from "@clickhouse/rowbinary/readers/rowBinaryWithNamesAndTypes";
import { Cursor } from "@clickhouse/rowbinary/readers/core";
import { describe, expect, it } from "vitest";
import { parseDataType } from "@clickhouse/datatype-parser";
import { formatUUID } from "@clickhouse/rowbinary/uuid";
import { formatUUID } from "@clickhouse/rowbinary/readers/uuid";
Comment on lines +15 to 18
"build": "npm run build:rowbinary && rm -rf dist && tsc -p tsconfig.build.json && chmod +x dist/main.js",
"//build:rowbinary": "The in-repo @clickhouse/rowbinary skill is linked via file: (not a workspace, so it stays out of the root install/lint/test sweeps and keeps its own standalone CI). Its dist is gitignored, so build it here — the test runner is the last workspace built, so packages/* (datatype-parser) are already compiled when the skill's tsc resolves them.",
"build:rowbinary": "tsc -p ../../skills/clickhouse-js-node-rowbinary/tsconfig.build.json",
"typecheck": "tsc --noEmit",
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.

3 participants