|
2 | 2 |
|
3 | 3 | All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. |
4 | 4 |
|
| 5 | +## [3.0.0](https://www.github.com/ydb-platform/ydb-nodejs-sdk/compare/v2.9.2...v3.0.0) (2022-03-02) |
| 6 | + |
| 7 | + |
| 8 | +### ⚠ BREAKING CHANGES |
| 9 | + |
| 10 | +* all signatures of SchemeClient's methods now have optional `settings` parameter instead of `operationParams`. |
| 11 | + - Before: `makeDirectory(path, operationParams?)` |
| 12 | + After: `makeDirectory(path, {operationParams: ...}?)` |
| 13 | + - Before: `removeDirectory(path, operationParams?)` |
| 14 | + After: `removeDirectory(path, {operationParams: ...}?)` |
| 15 | + - Before: `listDirectory(path, operationParams?)` |
| 16 | + After: `listDirectory(path, {operationParams: ...}?)` |
| 17 | + - Before: `describePath(path, operationParams?)` |
| 18 | + After: `describePath(path, {operationParams: ...}?)` |
| 19 | + - Before: `modifyPermissions(path, ..., ..., operationParams?)` |
| 20 | + After: `modifyPermissions(path, ..., ..., {operationParams: ...}?)` |
| 21 | +* TypedData fields have identity conversion to YDB column names instead of camelCase to snake_case. Use `@withTypeOptions({namesConversion:snakeToCamelCaseConversion})` for backward compatibility. |
| 22 | +* several types have changed their representation, namely |
| 23 | + - struct value is present as object instead of array |
| 24 | + - decimal value is present as string instead of bigint |
| 25 | + (it wasn't working for float values before) |
| 26 | + - fix uuid and tz-date types conversion (it wasn't working before) |
| 27 | +* signatures of most methods in Session are changed: |
| 28 | + - executeQuery |
| 29 | + Before: `(query, params, txControl, operationParams?, settings?, collectStats?)` |
| 30 | + After: `(query, params, txControl, settings?)` |
| 31 | + - describeTable |
| 32 | + Before: `(tablePath: string, operationParams?)|(tablePath, describeTableParams?)` |
| 33 | + After: `(tablePath, settings?)` |
| 34 | + - commitTransaction |
| 35 | + Before: `(txControl, operationParams?)` |
| 36 | + After: `(txControl, settings?)` (and `collectStats` support) |
| 37 | + - createTable, alterTable, dropTable, beginTransaction, rollbackTransaction, prepareQuery, |
| 38 | + bulkUpsert |
| 39 | + Before: `(<required params>, operationParams?)` |
| 40 | + After: `(<required params>, settings?)` |
| 41 | +* `tablePath` in `bulkUpsert` and `readTable` methods must be without database prefix |
| 42 | +* Primitive class is renamed to `TypedValues` |
| 43 | +* signatures of Driver, getCredentialsFromEnv and *AuthService classes are changed: |
| 44 | + - Driver: |
| 45 | + Before: `new Driver(entryPoint, dbName, authService, ...)` |
| 46 | + After: `new Driver({connectionString: "...", authService: ..., ...})` |
| 47 | + or `new Driver({endpoint: "...", database: "...", authService: ..., ...})` |
| 48 | + - *AuthService - `database` and `sslCredentials` are no longer needed in *AuthService constructors |
| 49 | + (ssl credentials option is now initialized in the driver if it's necessary) |
| 50 | + Before: `const authService = new MetadataAuthService(dbName, sslCredentials);` |
| 51 | + After: `const authService = new MetadataAuthService();` |
| 52 | + - getCredentialsFromEnv: |
| 53 | + Before: `const authService = getCredentialsFromEnv(endpoint, database, logger);` |
| 54 | + After: `const authService = getCredentialsFromEnv();` (logger is optional) |
| 55 | +* old environment variables are no longer supported. Use YDB_ACCESS_TOKEN_CREDENTIALS instead of YDB_TOKEN, YDB_SERVICE_ACCOUNT_KEY_FILE_CREDENTIALS instead of SA_ID, SA_PRIVATE_KEY_FILE, SA_ACCESS_KEY_ID and SA_JSON_FILE. |
| 56 | + |
| 57 | +### Features |
| 58 | + |
| 59 | +* add more methods and fields to type helper classes ([82f26ea](https://www.github.com/ydb-platform/ydb-nodejs-sdk/commit/82f26eaaad902ca832cbfece2e85536642c4f53b)) |
| 60 | +* implement `Types` and `TypedValues` helper classes ([029db0e](https://www.github.com/ydb-platform/ydb-nodejs-sdk/commit/029db0ee5e0996a9e73e19dcd5a5fb846b3d6332)) |
| 61 | +* implement new type conversions and fix existing type conversions ([0edbcdd](https://www.github.com/ydb-platform/ydb-nodejs-sdk/commit/0edbcdd09997e7644825c6bd3b015549c5356211)) |
| 62 | +* reorganize Driver and credentials to simplify SDK usage ([6526378](https://www.github.com/ydb-platform/ydb-nodejs-sdk/commit/6526378c501addd6a8ab75f9a6fd8f172fc79c26)) |
| 63 | +* replace grpc with @grpc/grpc-js ([1bd8d06](https://www.github.com/ydb-platform/ydb-nodejs-sdk/commit/1bd8d06f75c68eed1ec8c855ecab0d0b4bfe7bc4)) |
| 64 | + |
| 65 | + |
| 66 | +### Bug Fixes |
| 67 | + |
| 68 | +* don't use database in `tablePath` for `bulkUpsert` and `readTable` methods ([d416d59](https://www.github.com/ydb-platform/ydb-nodejs-sdk/commit/d416d59e44a34088d2909bf28d9c3b8535ff2d59)) |
| 69 | +* error message in test-utils ([af39fd1](https://www.github.com/ydb-platform/ydb-nodejs-sdk/commit/af39fd1178d22aa8fc558d6a4ef6f80d53acd3a5)) |
| 70 | +* little fixes in examples ([9c19b95](https://www.github.com/ydb-platform/ydb-nodejs-sdk/commit/9c19b95dd541705673844aaf960b36c67e2b7b48)) |
| 71 | + |
| 72 | + |
| 73 | +### chore |
| 74 | + |
| 75 | +* drop support of old environment variables ([963819a](https://www.github.com/ydb-platform/ydb-nodejs-sdk/commit/963819af9209a45749f5118077f1da4bdb390fa6)) |
| 76 | +* reorganize signature of SchemeClient's methods ([734d57a](https://www.github.com/ydb-platform/ydb-nodejs-sdk/commit/734d57a2dd7c655cf727b96df415212504339cf8)) |
| 77 | +* reorganize signatures of Session's methods ([431f149](https://www.github.com/ydb-platform/ydb-nodejs-sdk/commit/431f1491bf880f3ba9541d9455d8dd2f2b7849e6)) |
| 78 | +* use identity names conversion in TypedData ([275598a](https://www.github.com/ydb-platform/ydb-nodejs-sdk/commit/275598aa444e1e977386a3dadd02bbc9ba01f38e)) |
| 79 | + |
5 | 80 | ### [2.9.2](https://www.github.com/ydb-platform/ydb-nodejs-sdk/compare/v2.9.1...v2.9.2) (2022-02-09) |
6 | 81 |
|
7 | 82 |
|
|
0 commit comments