Skip to content

Conversation

@robfrank
Copy link
Collaborator

@robfrank robfrank commented Dec 9, 2025

This pull request primarily focuses on code cleanup, improved logging practices, and minor test and naming corrections. The most significant changes include consistent formatting for logging statements, removal of redundant code, and small test improvements.

Logging Improvements and Code Cleanup:

  • Reformatted all LogManager.instance().log calls in RemoteGrpcDatabase.java to use multi-line formatting for better readability and consistency. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]
  • Refactored imports in RemoteGrpcDatabase.java to remove unused imports and group them logically. [1] [2] [3]
  • Removed redundant returnRows variable and associated conditional logic in the commandInternal method, always returning rows for command execution. [1] [2] [3]

Test and Naming Corrections:

  • Fixed a typo in a test method name from multipleInsertBAtched to multipleInsertBatched in RemoteDatabaseJavaApiTest.java.
  • Removed a debug print statement from createSchemaWithDynamicSqlScript and added a debug print in orderByAfterDeleteInsert for better test output. [1] [2]
  • Refactored test setup in GrpcServerPluginIT.java, replacing the @AfterEach method with a createSchema helper for schema setup.

These changes help maintain code quality, improve log traceability, and ensure tests are up-to-date and clear.

@robfrank robfrank linked an issue Dec 9, 2025 that may be closed by this pull request
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @robfrank, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request primarily focuses on enhancing the robustness and consistency of gRPC command result serialization. It streamlines how command outputs are processed and returned, ensuring a uniform structure for all results. Alongside this core improvement, the PR also includes significant code quality enhancements through consistent logging practices, removal of unnecessary code, and refactoring of test infrastructure, all contributing to a more maintainable and reliable system.

Highlights

  • Improved gRPC Command Result Serialization: The handling of command results in gRPC has been standardized, ensuring that all command executions consistently return structured GrpcRecord objects, simplifying client-side processing and improving data consistency.
  • Enhanced Logging Consistency: Logging statements across RemoteGrpcDatabase.java have been reformatted to use multi-line calls, significantly improving readability and maintaining a consistent logging style throughout the codebase.
  • Code Cleanup and Refactoring: Redundant code, such as the returnRows variable and its associated conditional logic, has been removed, and imports have been optimized. Test setup logic has also been refactored into a dedicated helper method for better organization.
  • Expanded Test Coverage: New integration tests have been added to validate the improved gRPC command result serialization for UPDATE, INSERT, and CREATE VERTEX operations, ensuring the changes behave as expected.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request introduces several improvements, primarily focused on code cleanup, enhancing logging practices, and refining gRPC command result serialization. The changes to reformat logging statements and refactor test setups are well-executed and improve code readability and maintainability. The simplification in RemoteGrpcDatabase.java by removing the redundant returnRows logic is a good cleanup.

However, I've identified a couple of issues that need attention:

  1. A critical regression in ArcadeDbGrpcService.java where the calculation for affected records and the enforcement of maxRows have been unintentionally removed during refactoring.
  2. A minor issue where a debug System.out.println statement has been left in a test file.

I've provided detailed comments and suggestions for these points. Once these are addressed, the PR will be in great shape.

@mergify
Copy link
Contributor

mergify bot commented Dec 9, 2025

🧪 CI Insights

Here's what we observed from your CI run for 52e8075.

🟢 All jobs passed!

But CI Insights is watching 👀

@codacy-production
Copy link

codacy-production bot commented Dec 9, 2025

Coverage summary from Codacy

See diff coverage on Codacy

Coverage variation Diff coverage
Report missing for 2c941e61 20.37%
Coverage variation details
Coverable lines Covered lines Coverage
Common ancestor commit (2c941e6) Report Missing Report Missing Report Missing
Head commit (52e8075) 75630 47183 62.39%

Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: <coverage of head commit> - <coverage of common ancestor commit>

Diff coverage details
Coverable lines Covered lines Diff coverage
Pull request (#2904) 54 11 20.37%

Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: <covered lines added or modified>/<coverable lines added or modified> * 100%

See your quality gate settings    Change summary preferences

Footnotes

  1. Codacy didn't receive coverage data for the commit, or there was an error processing the received data. Check your integration for errors and validate that your coverage setup is correct.

@robfrank robfrank added this to the 25.11.1 milestone Dec 9, 2025
@robfrank robfrank merged commit 2082cfe into main Dec 9, 2025
18 of 21 checks passed
@robfrank robfrank deleted the fix/2903-grpc-command-result-serialization branch December 9, 2025 15:36
mergify bot added a commit that referenced this pull request Dec 29, 2025
… with 5 updates [skip ci]

Bumps the security-critical group in /studio with 5 updates:
| Package | From | To |
| --- | --- | --- |
| [datatables.net](https://github.com/DataTables/Dist-DataTables) | `2.3.5` | `2.3.6` |
| [datatables.net-bs5](https://github.com/DataTables/Dist-DataTables-Bootstrap5) | `2.3.5` | `2.3.6` |
| [datatables.net-buttons](https://github.com/DataTables/Dist-DataTables-Buttons) | `3.2.5` | `3.2.6` |
| [datatables.net-buttons-bs5](https://github.com/DataTables/Dist-DataTables-Buttons-Bootstrap5) | `3.2.5` | `3.2.6` |
| [sweetalert2](https://github.com/sweetalert2/sweetalert2) | `11.26.12` | `11.26.17` |
Updates `datatables.net` from 2.3.5 to 2.3.6
Commits

* [`c111486`](DataTables/Dist-DataTables@c111486) Sync tag release - 2.3.6
* [`d51ac35`](DataTables/Dist-DataTables@d51ac35) b10fe2c01fe4f23b89984419d769cb44ae5482b3 Release 2.3.6
* [`d7946fd`](DataTables/Dist-DataTables@d7946fd) 8ac26da4545515302a3bf4c7b5217d4508d3f4b7 Dev: Well that was disappointing. Fo...
* [`1483d96`](DataTables/Dist-DataTables@1483d96) 137230d3689fa4021da4fdc2ab0bdc9a6b46e26e Dev: Make test case insensitive
* [`8d551f2`](DataTables/Dist-DataTables@8d551f2) 0b56dbf0d83f2457aaa105ebd7a7de32b2d09ee3 Fix: When calculation column widths,...
* [`ba1021c`](DataTables/Dist-DataTables@ba1021c) a0664009d791cea3a4c05e7f9cbc60df4c71fe88 New: `columnTitleTag` option which c...
* [`7f2c13e`](DataTables/Dist-DataTables@7f2c13e) 0edfb72ce5e8dcf9307b69e31fd3bb50350091d8 Fix: Table child elements should con...
* [`672684e`](DataTables/Dist-DataTables@672684e) 8eb9c48f82247932525460c6affa96d7f014be1f Fix: Encoded entities could cause co...
* [`dfabbeb`](DataTables/Dist-DataTables@dfabbeb) 7ff4bc952993e6570672390cc86be7bcf09e7ec6 Fix: Improving auto column width cal...
* [`38ab2b0`](DataTables/Dist-DataTables@38ab2b0) d16598760a91867a274b918c17a027eccbef1bf3 Fix: Bootstrap 5 with a `table-respo...
* Additional commits viewable in [compare view](DataTables/Dist-DataTables@2.3.5...2.3.6)
  
Updates `datatables.net-bs5` from 2.3.5 to 2.3.6
Commits

* [`60c9a1a`](DataTables/Dist-DataTables-Bootstrap5@60c9a1a) Sync tag release - 2.3.6
* [`3b6b349`](DataTables/Dist-DataTables-Bootstrap5@3b6b349) b10fe2c01fe4f23b89984419d769cb44ae5482b3 Release 2.3.6
* [`63530de`](DataTables/Dist-DataTables-Bootstrap5@63530de) 8ac26da4545515302a3bf4c7b5217d4508d3f4b7 Dev: Well that was disappointing. Fo...
* [`e854908`](DataTables/Dist-DataTables-Bootstrap5@e854908) 137230d3689fa4021da4fdc2ab0bdc9a6b46e26e Dev: Make test case insensitive
* [`3593c71`](DataTables/Dist-DataTables-Bootstrap5@3593c71) 0b56dbf0d83f2457aaa105ebd7a7de32b2d09ee3 Fix: When calculation column widths,...
* [`4a7e0ea`](DataTables/Dist-DataTables-Bootstrap5@4a7e0ea) a0664009d791cea3a4c05e7f9cbc60df4c71fe88 New: `columnTitleTag` option which c...
* [`0582182`](DataTables/Dist-DataTables-Bootstrap5@0582182) 0edfb72ce5e8dcf9307b69e31fd3bb50350091d8 Fix: Table child elements should con...
* [`7a6258b`](DataTables/Dist-DataTables-Bootstrap5@7a6258b) 8eb9c48f82247932525460c6affa96d7f014be1f Fix: Encoded entities could cause co...
* [`ffff571`](DataTables/Dist-DataTables-Bootstrap5@ffff571) 7ff4bc952993e6570672390cc86be7bcf09e7ec6 Fix: Improving auto column width cal...
* [`5163d89`](DataTables/Dist-DataTables-Bootstrap5@5163d89) d16598760a91867a274b918c17a027eccbef1bf3 Fix: Bootstrap 5 with a `table-respo...
* Additional commits viewable in [compare view](DataTables/Dist-DataTables-Bootstrap5@2.3.5...2.3.6)
  
Updates `datatables.net-buttons` from 3.2.5 to 3.2.6
Release notes

*Sourced from [datatables.net-buttons's releases](https://github.com/DataTables/Dist-DataTables-Buttons/releases).*

> 3.2.6
> -----
>
> Buttons 3.2.6


Commits

* [`69c8457`](DataTables/Dist-DataTables-Buttons@69c8457) Sync tag release - 3.2.6
* [`5b20398`](DataTables/Dist-DataTables-Buttons@5b20398) b4916a4c6f75652961cd0009eb057ed9b7f709d6 Release 3.2.6
* [`3e53554`](DataTables/Dist-DataTables-Buttons@3e53554) f77cdc03b840585c888de8408ed865948d1e55f3 Fix: Using a popover would cause all...
* [`d2e27a4`](DataTables/Dist-DataTables-Buttons@d2e27a4) 60aeb97304546bdfa5cacab72b01fb2671bc80d5 Update: SCSS updates for Dart SASS c...
* [`2b7438e`](DataTables/Dist-DataTables-Buttons@2b7438e) Sync tag release - 3.2.5
* [`b0efb3d`](DataTables/Dist-DataTables-Buttons@b0efb3d) 2ff898f8380790519bf30383dd381f4a72f81689 Release 3.2.5
* [`e606b03`](DataTables/Dist-DataTables-Buttons@e606b03) f8bc4cf6631141b18d3e93212218be6636fcd84d Fix: Correct return for `button().ad...
* [`cd974be`](DataTables/Dist-DataTables-Buttons@cd974be) 08be23318d636f1085efdf6e43776d5a3fc3fff6 Test: Update how the sleep / wait wo...
* [`9f89e4e`](DataTables/Dist-DataTables-Buttons@9f89e4e) 050771b275360ecc64fe90936598e379783e1800 Docs: `message` option is deprecated...
* See full diff in [compare view](DataTables/Dist-DataTables-Buttons@3.2.5...3.2.6)
  
Updates `datatables.net-buttons-bs5` from 3.2.5 to 3.2.6
Release notes

*Sourced from [datatables.net-buttons-bs5's releases](https://github.com/DataTables/Dist-DataTables-Buttons-Bootstrap5/releases).*

> 3.2.6
> -----
>
> Buttons Bootstrap5 3.2.6


Commits

* See full diff in [compare view](DataTables/Dist-DataTables-Buttons-Bootstrap5@3.2.5...3.2.6)
  
Updates `sweetalert2` from 11.26.12 to 11.26.17
Release notes

*Sourced from [sweetalert2's releases](https://github.com/sweetalert2/sweetalert2/releases).*

> v11.26.17
> ---------
>
> [11.26.17](sweetalert2/sweetalert2@v11.26.16...v11.26.17) (2025-12-22)
> -------------------------------------------------------------------------------------------------
>
> ### Bug Fixes
>
> * add last strict type and enable TypeScript strict mode ([#2904](https://github.com/sweetalert2/sweetalert2/issues/2904)) ([201c0f6](sweetalert2/sweetalert2@201c0f6))
>
> v11.26.16
> ---------
>
> [11.26.16](sweetalert2/sweetalert2@v11.26.15...v11.26.16) (2025-12-21)
> -------------------------------------------------------------------------------------------------
>
> ### Bug Fixes
>
> * strict types in 6 core files ([#2903](https://github.com/sweetalert2/sweetalert2/issues/2903)) ([330e879](sweetalert2/sweetalert2@330e879))
>
> v11.26.15
> ---------
>
> [11.26.15](sweetalert2/sweetalert2@v11.26.14...v11.26.15) (2025-12-21)
> -------------------------------------------------------------------------------------------------
>
> ### Bug Fixes
>
> * strict types in core modules ([#2902](https://github.com/sweetalert2/sweetalert2/issues/2902)) ([a43f5f9](sweetalert2/sweetalert2@a43f5f9))
>
> v11.26.14
> ---------
>
> [11.26.14](sweetalert2/sweetalert2@v11.26.13...v11.26.14) (2025-12-21)
> -------------------------------------------------------------------------------------------------
>
> ### Bug Fixes
>
> * strict types in DOM and template utilities ([#2901](https://github.com/sweetalert2/sweetalert2/issues/2901)) ([71167cd](sweetalert2/sweetalert2@71167cd))
>
> v11.26.13
> ---------
>
> [11.26.13](sweetalert2/sweetalert2@v11.26.12...v11.26.13) (2025-12-21)
> -------------------------------------------------------------------------------------------------
>
> ### Bug Fixes
>
> * strict types in renderInput.js ([#2900](https://github.com/sweetalert2/sweetalert2/issues/2900)) ([0b279a3](sweetalert2/sweetalert2@0b279a3))


Changelog

*Sourced from [sweetalert2's changelog](https://github.com/sweetalert2/sweetalert2/blob/main/CHANGELOG.md).*

> [11.26.17](sweetalert2/sweetalert2@v11.26.16...v11.26.17) (2025-12-22)
> -------------------------------------------------------------------------------------------------
>
> ### Bug Fixes
>
> * add last strict type and enable TypeScript strict mode ([#2904](https://github.com/sweetalert2/sweetalert2/issues/2904)) ([201c0f6](sweetalert2/sweetalert2@201c0f6))
>
> [11.26.16](sweetalert2/sweetalert2@v11.26.15...v11.26.16) (2025-12-21)
> -------------------------------------------------------------------------------------------------
>
> ### Bug Fixes
>
> * strict types in 6 core files ([#2903](https://github.com/sweetalert2/sweetalert2/issues/2903)) ([330e879](sweetalert2/sweetalert2@330e879))
>
> [11.26.15](sweetalert2/sweetalert2@v11.26.14...v11.26.15) (2025-12-21)
> -------------------------------------------------------------------------------------------------
>
> ### Bug Fixes
>
> * strict types in core modules ([#2902](https://github.com/sweetalert2/sweetalert2/issues/2902)) ([a43f5f9](sweetalert2/sweetalert2@a43f5f9))
>
> [11.26.14](sweetalert2/sweetalert2@v11.26.13...v11.26.14) (2025-12-21)
> -------------------------------------------------------------------------------------------------
>
> ### Bug Fixes
>
> * strict types in DOM and template utilities ([#2901](https://github.com/sweetalert2/sweetalert2/issues/2901)) ([71167cd](sweetalert2/sweetalert2@71167cd))
>
> [11.26.13](sweetalert2/sweetalert2@v11.26.12...v11.26.13) (2025-12-21)
> -------------------------------------------------------------------------------------------------
>
> ### Bug Fixes
>
> * strict types in renderInput.js ([#2900](https://github.com/sweetalert2/sweetalert2/issues/2900)) ([0b279a3](sweetalert2/sweetalert2@0b279a3))


Commits

* [`d6d3cfe`](sweetalert2/sweetalert2@d6d3cfe) chore(release): 11.26.17 [skip ci]
* [`201c0f6`](sweetalert2/sweetalert2@201c0f6) fix: add last strict type and enable TypeScript strict mode ([#2904](https://github.com/sweetalert2/sweetalert2/issues/2904))
* [`5b62033`](sweetalert2/sweetalert2@5b62033) chore(release): 11.26.16 [skip ci]
* [`330e879`](sweetalert2/sweetalert2@330e879) fix: strict types in 6 core files ([#2903](https://github.com/sweetalert2/sweetalert2/issues/2903))
* [`c98fc22`](sweetalert2/sweetalert2@c98fc22) chore(release): 11.26.15 [skip ci]
* [`a43f5f9`](sweetalert2/sweetalert2@a43f5f9) fix: strict types in core modules ([#2902](https://github.com/sweetalert2/sweetalert2/issues/2902))
* [`31061db`](sweetalert2/sweetalert2@31061db) chore(release): 11.26.14 [skip ci]
* [`71167cd`](sweetalert2/sweetalert2@71167cd) fix: strict types in DOM and template utilities ([#2901](https://github.com/sweetalert2/sweetalert2/issues/2901))
* [`4d6b29b`](sweetalert2/sweetalert2@4d6b29b) chore(release): 11.26.13 [skip ci]
* [`0b279a3`](sweetalert2/sweetalert2@0b279a3) fix: strict types in renderInput.js ([#2900](https://github.com/sweetalert2/sweetalert2/issues/2900))
* See full diff in [compare view](sweetalert2/sweetalert2@v11.26.12...v11.26.17)
  
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
Dependabot commands and options
  
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show  ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore  major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore  minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore  ` will remove the ignore condition of the specified dependency and ignore conditions
mergify bot added a commit that referenced this pull request Jan 12, 2026
…o [skip ci]

Bumps [pdfmake](https://github.com/bpampuch/pdfmake) from 0.2.21 to 0.3.1.
Release notes

*Sourced from [pdfmake's releases](https://github.com/bpampuch/pdfmake/releases).*

> 0.3.1
> -----
>
> * Added auto page height for multiple pages (for `section` or after custom page break)
> * Added type validation for parameters in method `createPdf`
> * Added support `SVGElement` object for `svg` node (`SVGElement` object is available only in browser)
> * Updated svg-to-pdfkit library to the latest GitHub master commit
> * Fixed a bug in the write method where it did not wait for the file write operation to complete
> * Fixed SVG loading
> * Fixed rendering SVG without viewBox
>
> 0.3.0
> -----
>
> ### Changelog (compared to version 0.2.21)
>
> * Reverted to the original `pdfkit` package, moving away from `@foliojs-fork`
> * Drop support Internet Explorer 11 (Microsoft will not support from 2022)
> * Minimal supported version Node.js 20 LTS
> * Port code base to ES6+
> * Unify interface for node and browser **(breaking change)**
> * All methods return promise instead of using callback **(breaking change)**
> * Change including virtual font storage in client-side **(breaking change)**
> * Change parameters of `pageBreakBefore` function **(breaking change)**
> * Support for loading font files and images via URL adresses (<https://> or <http://> protocol) in Node.js (client and server side now)
> * Used fetch API for downloading fonts and images
> * Attachments embedding
> * Added `section` node
>
> #### There is no difference between the stable version 0.3.0 and version 0.3.0-beta.19.
>
> ### Documentation
>
> Documentation for version 0.3: [here](https://pdfmake.github.io/docs/0.3/)
> Migration guide: [here](https://pdfmake.github.io/docs/0.3/migration-from-0.1/)
>
> 0.3.0-beta.19
> -------------
>
> **Prerelease version. Do not use in a production.**
>
> ### Installation
>
> ```
> npm install pdfmake@0.3.0-beta.19
> ```
>
> ### Changelog
>
> * Minimal supported version Node.js 20 LTS
> * Added `wordBreak` property for `text` node, supported values: `'normal'` (default), `'break-all'`
> * Used fetch API for downloading fonts and images
> * Update Roboto font (version 3.014)
> * Fixed render empty list entries
>
> ### Documentation
>
> Documentation for version 0.3: [here](https://pdfmake.github.io/docs/0.3/)
> Migration guide: [here](https://pdfmake.github.io/docs/0.3/migration-from-0.1/)

... (truncated)


Changelog

*Sourced from [pdfmake's changelog](https://github.com/bpampuch/pdfmake/blob/master/CHANGELOG.md).*

> 0.3.1 - 2026-01-07
> ------------------
>
> * Added auto page height for multiple pages (for `section` or after custom page break)
> * Added type validation for parameters in method `createPdf`
> * Added support `SVGElement` object for `svg` node (`SVGElement` object is available only in browser)
> * Updated svg-to-pdfkit library to the latest GitHub master commit
> * Fixed a bug in the write method where it did not wait for the file write operation to complete
> * Fixed SVG loading
> * Fixed rendering SVG without viewBox
>
> 0.3.0 - 2026-01-01
> ------------------
>
> * Reverted to the original `pdfkit` package, moving away from `@foliojs-fork`
> * Drop support Internet Explorer 11 (Microsoft will not support from 2022)
> * Minimal supported version Node.js 20 LTS
> * Port code base to ES6+
> * Unify interface for node and browser **(breaking change)**
> * All methods return promise instead of using callback **(breaking change)**
> * Change including virtual font storage in client-side **(breaking change)**
> * Change parameters of `pageBreakBefore` function **(breaking change)**
> * Support for loading font files and images via URL addresses (<https://> or <http://> protocol) in Node.js (client and server side now)
> * Used fetch API for downloading fonts and images
> * Attachments embedding
> * Added `section` node


Commits

* [`58bb273`](bpampuch/pdfmake@58bb273) 0.3.1
* [`5e57571`](bpampuch/pdfmake@5e57571) fix svg options
* [`79c77ed`](bpampuch/pdfmake@79c77ed) svg-to-pdfkit - update to latest GitHub master commit (b091ebd4e7b7d2310eb100...
* [`da36925`](bpampuch/pdfmake@da36925) added support `SVGElement` object for `svg` node [#1936](https://github.com/bpampuch/pdfmake/issues/1936)
* [`fb8a38f`](bpampuch/pdfmake@fb8a38f) fixed rendering SVG without viewBox [#1999](https://github.com/bpampuch/pdfmake/issues/1999)
* [`42f9a9b`](bpampuch/pdfmake@42f9a9b) fixed SVG loading [#2904](https://github.com/bpampuch/pdfmake/issues/2904)
* [`432f98a`](bpampuch/pdfmake@432f98a) fix typos
* [`d2eabdc`](bpampuch/pdfmake@d2eabdc) Code spell check
* [`a174c64`](bpampuch/pdfmake@a174c64) Fixed write method does not wait to complete writing [#2903](https://github.com/bpampuch/pdfmake/issues/2903)
* [`6d65fac`](bpampuch/pdfmake@6d65fac) regression test - write method does not wait to complete writing [#2903](https://github.com/bpampuch/pdfmake/issues/2903)
* Additional commits viewable in [compare view](bpampuch/pdfmake@0.2.21...0.3.1)
  
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility\_score?dependency-name=pdfmake&package-manager=npm\_and\_yarn&previous-version=0.2.21&new-version=0.3.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
Dependabot commands and options
  
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show  ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
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.

gRPC: ResultSet serialization of commands is missing alias

2 participants