Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: googleapis/nodejs-bigtable
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v6.4.1
Choose a base ref
...
head repository: googleapis/nodejs-bigtable
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v6.5.0
Choose a head ref
  • 13 commits
  • 188 files changed
  • 7 contributors

Commits on Sep 12, 2025

  1. docs: Migrate the remainder of the samples to use the admin client (#…

    …1717)
    
    * Export the GCRuleMaker class
    
    * Use the admin client for the first sample
    
    * feat: updated samples to use GCRuleMaker
    
    * feat: updated samples to use GCRuleMaker
    
    * feat: Update restoreTable sample to use generated client
    
    This commit updates the `backups.restore.js` sample to use the `BigtableTableAdminClient` directly for restoring a table from a backup, instead of going through the handwritten `bigtable.instance().createTableFromBackup()` method.
    
    This change is based on the design document for the Node.js Bigtable Admin API autogeneration.
    
    The corresponding test for the sample in `samples/test/backups.js` has also been updated to pass the correct arguments to the updated sample script.
    
    * table id to table name
    
    * The rule should be a union - not nested
    
    instance of the admin client should be used
    
    * Use instance of admin client - not admin client
    
    itself
    
    * Update the rules so they won’t throw errors
    
    * change family.id to family.name
    
    * max age has to be at least 1 millisecond
    
    * Run linter
    
    * Refresh project id token
    
    * Get rid of projectId token
    
    * revert change to backups method called
    
    * Use the admin client for createTable instead
    
    * snippets should include admin client
    
    * This code snippet should include project fetch
    
    * Comment out options
    
    * Use the admin client to create a table
    
    * Use the generated layer for maxVersions
    
    * Don’t use instance.name in parent path
    
    * Update the family snippets
    
    * Update createTable in the Row samples
    
    * Eliminate the need for any default projectId fetch
    
    * Don’t hardcode the project id
    
    * don’t hardcode project id
    
    * commit examples
    
    * Don’t create table twice
    
    * options is not used. remove it
    
    * table admin
    
    * Hardcode instance name
    
    * delete the examples folder
    
    * remove options
    
    * add header
    
    * The rest of the samples should use
    
    BigtableTableAdminClient instread
    
    * Update more tables code
    
    * commit the api-reference-doc-snippets
    
    * correct the backups samples
    
    * Revert "correct the backups samples"
    
    This reverts commit 7241dbe.
    
    * Modify the reads samples
    
    * Update the functions script
    
    * Make separate column family creation calls
    
    This makes the test pass
    
    * Fix the deletes sample changes
    
    * change the fixture
    
    don’t wrap the return value in brackets
    
    * return value should be false literal
    
    * Correct the fixture for the deletes samples
    
    * Reintroduce the backup samples
    
    * Replace write.js code with calls to generated layr
    
    * removed unused table
    
    * backups from instance as well
    
    * Fix the index.js sample
    
    * Fixed a bunch of syntax highlighting errors
    
    * run the linter
    
    * Changes to pass the linting check
    
    * Eliminate unused cluster
    
    * Add comment for restore table LRO
    
    * Add a script for the consistency token
    
    * Use instance admin client and eliminate unused
    
    variables
    
    * Make a separate modifyColumnFamilies call
    
    * Use instance admin client for the clusters samples
    
    * use admin client in family.js
    
    * Use the instance admin client for creating instanc
    
    * reintroduce necessary variables
    
    * Fix the runtime issues from the before hook
    
    * Fix bugs due to switch to admin layer
    
    * Use the instance admin client in instance.js
    
    * changes to instances.test.js file
    
    * Get rid of calls to locationPath
    
    * define instancePath directly
    
    * instancePath should be fixed string
    
    * operation is actually first argument
    
    * Use instance admin client in row.js
    
    * Run linter and fix table.js
    
    # Conflicts:
    #	samples/test/cluster.js
    #	samples/test/family.js
    #	samples/test/instance.js
    #	samples/test/instances.test.js
    
    * Fix some of the linting errors
    
    # Conflicts:
    #	samples/test/util.js
    
    * Use instanceAdminClient in instances.js
    
    * Update the appProfile instance admin samples
    
    * Revert "Update the appProfile instance admin samples"
    
    This reverts commit ada69c8.
    
    * Must iterate through subobject
    
    * Revert "Revert "Update the appProfile instance admin samples""
    
    This reverts commit c71b50c.
    
    * Make updates to the cluster.js file
    
    * instance.js use the instanceAdminClient
    
    * refactor: update instance.js to use generated client
    
    * replace project path
    
    * Update the location paths
    
    * Fix the backup id paths
    
    * Don’t rely on admin client for path building
    
    * replace all instance paths
    
    * Use the instance id path
    
    * Replace table path builders
    
    * Replace appProfileId path
    
    * Fix the linting errors
    
    * fix linting issues
    
    ---------
    
    Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
    danieljbruce and google-labs-jules[bot] authored Sep 12, 2025
    Configuration menu
    Copy the full SHA
    bb389dc View commit details
    Browse the repository at this point in the history

Commits on Sep 18, 2025

  1. docs: samples for instances should include all necessary code (#1720)

    ## Description
    
    The samples for instances do not contain code for fetching the projectId and the admin client, but they should because this isn't a trivial step. This PR ensures the samples include all the code necessary in order for them to be able to work.
    
    ## Impact
    
    Improves the documentation and makes it more usable
    
    ## Testing
    
    These are changes to samples tests
    
    ## Additional Information
    
    Next steps:
    - We should do this for all our samples - make sure the samples don't require any assumptions
    danieljbruce authored Sep 18, 2025
    Configuration menu
    Copy the full SHA
    456c3d5 View commit details
    Browse the repository at this point in the history

Commits on Oct 14, 2025

  1. chore: update setup-node in github workflows (#1732)

    Source-Link: googleapis/synthtool@bfba274
    Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-nodejs:latest@sha256:da8a4a745d5eb96f07fa99a550afe49ac80dcd9b93a8d914e4f1f6f1cda653ff
    
    Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
    gcf-owl-bot[bot] and gcf-owl-bot[bot] authored Oct 14, 2025
    Configuration menu
    Copy the full SHA
    5bf78a5 View commit details
    Browse the repository at this point in the history
  2. fix(deps): update dependency arrify to v2.0.1 (#1588)

    This PR contains the following updates:
    
    | Package | Change | Age | Confidence |
    |---|---|---|---|
    | [arrify](https://redirect.github.com/sindresorhus/arrify) | [`2.0.0` -> `2.0.1`](https://renovatebot.com/diffs/npm/arrify/2.0.0/2.0.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/arrify/2.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/arrify/2.0.0/2.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
    
    ---
    
    ### Release Notes
    
    <details>
    <summary>sindresorhus/arrify (arrify)</summary>
    
    ### [`v2.0.1`](https://redirect.github.com/sindresorhus/arrify/releases/tag/v2.0.1)
    
    [Compare Source](https://redirect.github.com/sindresorhus/arrify/compare/v2.0.0...v2.0.1)
    
    - TypeScript - Fix handling of union types ([#&#8203;11](https://redirect.github.com/sindresorhus/arrify/issues/11))  [`e044bd1`](https://redirect.github.com/sindresorhus/arrify/commit/e044bd1)
    - TypeScript - Add overload for `ReadonlyArray` ([#&#8203;7](https://redirect.github.com/sindresorhus/arrify/issues/7))  [`f789ce5`](https://redirect.github.com/sindresorhus/arrify/commit/f789ce5)
    
    </details>
    
    ---
    
    ### Configuration
    
    📅 **Schedule**: Branch creation - "after 9am and before 3pm" (UTC), Automerge - At any time (no schedule defined).
    
    🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
    
    ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
    
    🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
    
    ---
    
     - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
    
    ---
    
    This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/googleapis/nodejs-bigtable).
    <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMzguMCIsInVwZGF0ZWRJblZlciI6IjQxLjE3LjIiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbXX0=-->
    renovate-bot authored Oct 14, 2025
    Configuration menu
    Copy the full SHA
    fccdbbb View commit details
    Browse the repository at this point in the history

Commits on Oct 29, 2025

  1. build: owlbot.py changes for merging split gapic clients correctly (#…

    …1739)
    
    * build: speculative owlbot.py changes for merging selective clients
    
    * test: perhaps trigger owlbot
    
    * test: update owlbot staging
    
    * build: fix admin excludes and class copying
    
    * fix: remove previously added admin clients
    
    * build: add new paths for admin clients
    
    * fix: shim the old admin locations for now
    
    * build: bug fixes, json munging
    
    * build: update to owlbot.py processing to fix import errors; typo in test/index.ts
    
    * 🦉 Updates from OwlBot post-processor
    
    See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md
    
    * build: remove extraneous admin samples from v2
    
    * build: remove commented out debug code, fix comment
    
    ---------
    
    Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
    feywind and gcf-owl-bot[bot] authored Oct 29, 2025
    Configuration menu
    Copy the full SHA
    6e461cd View commit details
    Browse the repository at this point in the history

Commits on Oct 31, 2025

  1. build: generated admin sample support (#1740)

    * build: generated admin sample support
    
    * samples: run owlbot update for samples
    feywind authored Oct 31, 2025
    Configuration menu
    Copy the full SHA
    2fe9743 View commit details
    Browse the repository at this point in the history

Commits on Nov 21, 2025

  1. build: disable docs test, disable non-critical conformance failures f…

    …or now (#1743)
    
    * build: disable docs test, disable non-critical conformance failures for now
    
    * 🦉 Updates from OwlBot post-processor
    
    See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md
    
    * 🦉 Updates from OwlBot post-processor
    
    See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md
    
    * build: move docs change to package.json, add exit 0
    
    * build: bit more heavy-handed attempt to get ci.yaml modified
    
    * 🦉 Updates from OwlBot post-processor
    
    See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md
    
    * build: exclude ci.yaml in the right place, try disabling pipefail
    
    ---------
    
    Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
    feywind and gcf-owl-bot[bot] authored Nov 21, 2025
    Configuration menu
    Copy the full SHA
    cee5dbf View commit details
    Browse the repository at this point in the history

Commits on Dec 12, 2025

  1. chore: fix lint failures (#1747)

    Source-Link: googleapis/synthtool@36ebc33
    Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-nodejs:latest@sha256:1c50961ec998cd24968d5b2628e8d88a36b612ea881e71bfd171c93cc9d08b9e
    
    Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
    gcf-owl-bot[bot] and gcf-owl-bot[bot] authored Dec 12, 2025
    Configuration menu
    Copy the full SHA
    2a96092 View commit details
    Browse the repository at this point in the history

Commits on Jan 8, 2026

  1. fix: Record grpc code string for client side metrics instead of grpc …

    …code number (#1754)
    
    * add the repro code
    
    * Adjust the test fixtures
    
    * remove the experiment test file
    
    * 🦉 Updates from OwlBot post-processor
    
    See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md
    
    * Adjust metrics handler test fixture
    
    * Change system test fixtures
    
    * Remove only
    
    * Change status to OK
    
    * Remove only
    
    ---------
    
    Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
    danieljbruce and gcf-owl-bot[bot] authored Jan 8, 2026
    Configuration menu
    Copy the full SHA
    be5b598 View commit details
    Browse the repository at this point in the history

Commits on Jan 9, 2026

  1. fix: Client side metrics should record the version number of @google-…

    …cloud/bigtable not the customer package version (#1752)
    
    ## Description
    
    A bug was discovered where the client side metrics being recorded on the backend service had the wrong version number. The version number being recorded actually matched the version number on the customer's package.json file instead of the version number of the Node Bigtable package being used.
    
    To correct this, the line of code at https://togithub.com/googleapis/nodejs-bigtable/blob/2a960922747ed0f8d0e798113fd4434852382217/src/client-side-metrics/operation-metrics-collector.ts#L52 which is currently reading the package.json file relative to the working directory of the node process should instead read the package.json file location relative to the location of operation-metrics-collector.ts so that the version number of the Node Bigtable dependency is always recorded instead of the version number from the customer's package.json file.
    
    ## Impact
    
    Corrects the bug and ensures that the right version number is always recorded for client side metrics.
    
    ## Files affected
    
    **samples/readSnippets:** A code snippet that will run in the samples test and fail if the metrics handler receives the wrong version of the client library
    
    **samples/test/reads.js:** The new samples test that runs the code snippet in readSnippets and fails if the metrics handler receives the wrong version of the client library
    
    **src/client-side-metrics/operation-metrics-collector.ts:** The source code changes that ensure the version number recorded will always match the Bigtable client library version number
    
    **test-common/test-metrics-handler.ts:** A new class, similar to the existing class for testing data sent to the metrics handler that also preserves the version name when it reaches the metrics handler
    
    ## Testing
    
    A new system test or unit test will not catch this bug since their working directories all reference the package.json file in the nodejs-bigtable project. So instead, I created a fake customer project with the script from https://gist.github.com/danieljbruce/bba73fa5d9919866d82b8968ceb45cc3 which gets the wrong version number at https://togithub.com/googleapis/nodejs-bigtable/blob/2a960922747ed0f8d0e798113fd4434852382217/src/client-side-metrics/operation-metrics-collector.ts#L52, but gets the right version number when this line of code is corrected with the changes in this PR.
    
    I also found a way to create a samples test which will fail without the source code changes from this PR. It should ensure going forward that the right version gets recorded for client side metrics.
    danieljbruce authored Jan 9, 2026
    Configuration menu
    Copy the full SHA
    3e532ab View commit details
    Browse the repository at this point in the history

Commits on Jan 14, 2026

  1. fix: Correct project id on client side metrics by avoiding getProject…

    …Id calls with the metric service client (#1757)
    
    ## Description
    
    The project id being recorded for client side metrics is incorrect. The client side metrics monitoring tests are showing that the project id the metrics get recorded for does not actually match the project id the client makes a grpc call for. Specifically, values recorded for `bigtable.googleapis.com/frontend_server/handler_latencies` don't match values recorded for `bigtable.googleapis.com/internal/client/attempt_latencies`, but they should match.
    
    There is some speculation that since `getProjectId` calls on the `MetricServiceClient` determine the projectId recorded for client side metrics that the incorrect projectId is due to the differences between this `getProjectId` call on the `MetricServiceClient` and the way the project id is fetched on the Bigtable client. Therefore, we introduce this PR to record a projectId that is certain to be an exact match of the project id on the Bigtable client.
    
    ## Impact
    
    This has a high probability of correcting the project id for the client side metrics
    
    ## Testing
    
    The fixtures have changed to accommodate for the fact that we now pass the projectId through the OTEL stack.
    danieljbruce authored Jan 14, 2026
    Configuration menu
    Copy the full SHA
    a719d9f View commit details
    Browse the repository at this point in the history

Commits on Jan 28, 2026

  1. feat: modernization part 2 (#1748)

    * feat: update from selective gapic updates
    
    * feat: work in progress on updated admin tools
    
    * feat: update proposed gcrule builder
    
    * feat: more updates on the CUJs
    
    * feat: updates from comments on new modernization features
    
    * fix: implement the rest of the old GcRule rules
    
    * fix: clean up waitForConsistency
    
    * docs: typo
    
    * fix: a couple more pieces of backwards compat
    
    * samples: don't publish data plane generated samples
    
    * feat: move admin builder methods to be more namespaced
    
    * fix: updated GcRuleBuilder import
    
    * build: transform class names for selective gapic
    
    * feat: adjust BigtableAdmin for recent doc updates
    
    * 🦉 Updates from OwlBot post-processor
    
    See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md
    
    * 🦉 Updates from OwlBot post-processor
    
    See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md
    
    * fix: owlbot.py updates and resulting fixes
    
    * feat: improve the type safety of GcRuleBuilder and add tests
    
    * tests: add tests for TableAdmin
    
    * samples: update GcRule samples for GcRuleBuilder
    
    * chore: bump dates in headers for year rollover
    
    * feat: allow the user to pass in an existing wait token
    
    * docs: exclude implementation comment from jsdocs
    
    * docs: wordsmithing for GcRuleBuilder errors
    
    * tests: add system tests for consistency tokens via gapic
    
    * chore: linter nits
    
    * tests: finish up system tests for gapic backups
    
    * tests: bug fixes for waitForConsistency system tests
    
    * samples: update existing samples to use selective gapic classes
    
    * samples: update samples for veneer functions for waiting consistency and restore optimization
    
    * build: tweak sample tag for internal sample
    
    * samples: fix tag munging for restoreTable
    
    * tests: keep random position test more in line with fixed position test
    
    * fix: just keep one set of client options for the admin wrapper
    
    ---------
    
    Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
    feywind and gcf-owl-bot[bot] authored Jan 28, 2026
    Configuration menu
    Copy the full SHA
    a0f216e View commit details
    Browse the repository at this point in the history

Commits on Jan 29, 2026

  1. chore(main): release 6.5.0 (#1733)

    * chore(main): release 6.5.0
    
    * docs: update CHANGELOG.md
    
    ---------
    
    Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
    Co-authored-by: feywind <57276408+feywind@users.noreply.github.com>
    release-please[bot] and feywind authored Jan 29, 2026
    Configuration menu
    Copy the full SHA
    a755fde View commit details
    Browse the repository at this point in the history
Loading