Releases: ydb-platform/ydb-js-sdk
Releases · ydb-platform/ydb-js-sdk
v3.4.1
v3.4.0
v3.3.2
v3.3.1
v3.3.0
v3.2.0
ydb-sdk v3.1.1
ydb-sdk v3.1.0
ydb-sdk v3.0.0
⚠ BREAKING CHANGES
- all signatures of SchemeClient's methods now have optional
settingsparameter instead ofoperationParams.- Before:
makeDirectory(path, operationParams?)
After:makeDirectory(path, {operationParams: ...}?) - Before:
removeDirectory(path, operationParams?)
After:removeDirectory(path, {operationParams: ...}?) - Before:
listDirectory(path, operationParams?)
After:listDirectory(path, {operationParams: ...}?) - Before:
describePath(path, operationParams?)
After:describePath(path, {operationParams: ...}?) - Before:
modifyPermissions(path, ..., ..., operationParams?)
After:modifyPermissions(path, ..., ..., {operationParams: ...}?)
- Before:
- TypedData fields have identity conversion to YDB column names instead of camelCase to snake_case. Use
@withTypeOptions({namesConversion:snakeToCamelCaseConversion})for backward compatibility. - several types have changed their representation, namely
- struct value is present as object instead of array
- decimal value is present as string instead of bigint
(it wasn't working for float values before) - fix uuid and tz-date types conversion (it wasn't working before)
- signatures of most methods in Session are changed:
- executeQuery
Before:(query, params, txControl, operationParams?, settings?, collectStats?)
After:(query, params, txControl, settings?) - describeTable
Before:(tablePath: string, operationParams?)|(tablePath, describeTableParams?)
After:(tablePath, settings?) - commitTransaction
Before:(txControl, operationParams?)
After:(txControl, settings?)(andcollectStatssupport) - createTable, alterTable, dropTable, beginTransaction, rollbackTransaction, prepareQuery,
bulkUpsert
Before:(<required params>, operationParams?)
After:(<required params>, settings?)
- executeQuery
tablePathinbulkUpsertandreadTablemethods must be without database prefix- Primitive class is renamed to
TypedValues - signatures of Driver, getCredentialsFromEnv and *AuthService classes are changed:
- Driver:
Before:new Driver(entryPoint, dbName, authService, ...)
After:new Driver({connectionString: "...", authService: ..., ...})
ornew Driver({endpoint: "...", database: "...", authService: ..., ...}) - *AuthService -
databaseandsslCredentialsare no longer needed in *AuthService constructors
(ssl credentials option is now initialized in the driver if it's necessary)
Before:const authService = new MetadataAuthService(dbName, sslCredentials);
After:const authService = new MetadataAuthService(); - getCredentialsFromEnv:
Before:const authService = getCredentialsFromEnv(endpoint, database, logger);
After:const authService = getCredentialsFromEnv();(logger is optional)
- Driver:
- 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.
Features
- add more methods and fields to type helper classes (82f26ea)
- implement
TypesandTypedValueshelper classes (029db0e) - implement new type conversions and fix existing type conversions (0edbcdd)
- reorganize Driver and credentials to simplify SDK usage (6526378)
- replace grpc with @grpc/grpc-js (1bd8d06)
Bug Fixes
- don't use database in
tablePathforbulkUpsertandreadTablemethods (d416d59) - error message in test-utils (af39fd1)
- little fixes in examples (9c19b95)
Miscellaneous
ydb-sdk v2.9.2
Bug Fixes
- MetadataAuthService: remove ssl defaults for grpc scheme (40523f7)