- Make created_at utc in topic writer
- Update protofiles
- Revert "Add backslash to database name if needed"
- Add backslash to database name if needed
- Fix attach session timeouts
- Refactor aio tableclient destructor
- Add an ability to pass custom event loop to QuerySessionPool
- Add missing ability to configure QueryClientSettings
- Fix table_client desctructor
- Fix table_client desctructor
- Hide session management for table client methods
- Add build method to QueryOnlineReadOnly mode
- Fix compatibility with arcadia
- Add an ability to use both driver config and driver args
- Added new way to create StaticCredentials
- Ability to batch messages in topic reader
- Implement max_messages on recieve_batch
- Added badge for API reference
- Remove experimental warn from query service
- Remove asyncio task names for python below 3.8
- Add data_columns support in TableIndex
- New autogenerated docs
- Add an ability to create async index
- Query Session Pool redesign
- SLO tests for query service
- Fix connection close mechanism
- Async implementation of Query Service SDK
- New basic example with Query Service SDK
- Query service client support
- Add dunder version to ydb package
- OAuth 2.0 token exchange. Allow multiple resource parameters in according to https://www.rfc-editor.org/rfc/rfc8693
- Added load OAuth 2.0 token exchange credentials provider from config file
- Moved grpc draft imports to draft folder
- Added alter topic method
- Fixed leak sessions on asyncio timeout
- Fixed missed parameter in internal stream_reader.close() - reader hungs up
- Added support ydb github repo with own auth protobuf
- Fixed error while read the account key from a file (release version)
- Fixed error while read the account key from a file
- Supported service account key from memory, additional to file path
- Added missing returns to time converters for topic options
- Fixed datetime timezone aware usage
- Fixed hungup topic reader on unknown codec
- fixed unexpected require requests module on import
- Implemented OAuth 2.0 Token Exchange credentials provider
- Added is_column_store to SchemeEntryType and SchemeEntry classes
yanked bad api release
yanked bad api release
- Fixed to handle deadline on topic stream in async driver.
- Added clients for draft.BaseDynamicConfig service
- Updated protobuf generated code
- Added ExternalError issue
- Added with_use_type_v3 to ExportToS3Settings
- Set 1 thread as default for encode/decode messages, was 4
- Added comments about calls encoders/decoders in parallel from multiply threads
- Fixed access to connection if connection cannot be found by node id
- Added functions for check column table type table of any type of scheme entry
- Add to public topic reader api: TopicReaderBatch, wait_message
- Added copy of locals() dicts at internals
- Added list type to converter from result to native type (fix problem with get list result in dbapi/sqlalchemy)
- Fixed use positional argument instead of named in WriterAsyncIO.del
- Fixed release buffer while read topic by one messages
- Fixed race condition between commit_with_ack and reconnect in topic writer
- Fixed handle stop partition request from server
- Fixed hang while write messages to closed driver
- Removed fixed version of aiohttp
- Fix keep DataQuery in local cache and set flag keep_in_cache for server
- Fix exception for convert sync to async iterator
- Fixed start many sync writers/readers in parallel
- Added support to set many topics and topic reader settings for read in one reader
- Added ydb.TopicWriterInitInfo, ydb.TopicWriteResult as public types
- Check possible of create init message on create reader (faster fail with some bad params)
- Raise exception for get session from stopped session pool
- Add extend path for ydb (allow install other packages with names in ydb namespace
- Fixed set keep_in_cache algorithm
- Fixed ydb.credentials_from_env_variables, now it will use Metadata credentials by default (instead of anonymous).
- Added return result for topic writer.write_with_ack
- Fixed bug with ModuleNotFoundError while import ydb
COMPLETE CHANGELOG FROM v2:
- Add api for topic service
BREAKING CHANGES:
- deny any action in transaction after commit/rollback (switch to old behaviour with ydb.global_allow_split_transactions(True))
- raise exception for truncated response by default (switch to old behavior with ydb.global_allow_truncated_result(True))
- drop support python 2
- Use anonymous credentials for auth by default instead of iam metadata (use ydb.driver.credentials_from_env_variables for creds by env var)
- Fixed commit for sync reader
- Group messages while send to server
- Prevent stop topic client by GC while reader/writer alived
- Added flush reader commits on reader close
- Fix stop executor in python 3.8
- Fix handle background errors
- Fixed global_allow_split_transactions
- Added reader.receive_message() method
- Swap topic_path and consumer arguments in topic_client.reader method
- fixed sqlalchemy get_columns method with not null columns
- fixed requirements.txt
- Add function for global revert broken behaviour: ydb.global_allow_truncated_result, ydb.global_allow_split_transactions
- Change argument names from deny_split_transactions to allow_split_transactions (with reverse value
- Fixed check retriable for idempotent error
- Reader codecs
- Read one message
- fixed sqlalchemy get_columns method with not null columns
- Fixed exception while create ResultSet with None table_settings
- BROKEN CHANGE: deny any action in transaction after commit/rollback
- BROKEN CHANGE: raise exception for truncated response by default
- Compatible protobaf detection for arcadia
- Add codecs support for topic writer
- BROKEN CHANGES: remove writer.write(mess1, mess2) variant, use list instead: writer.write([mess1, mess2])
- BROKEN CHANGES: change names of public method in topic client
- BROKEN CHANGES: rename parameter producer_and_message_group_id to producer_id
- producer_id is optional now
- Remove six package from code and dependencies (remove support python2)
- Use anonymous credentials by default instead of iam metadata (use ydb.driver.credentials_from_env_variables for creds by env var)
- Close grpc streams while closing readers/writers
- Add control plane operations for topic api: create, drop
- Add six package to requirements
- Initial implementation of topic reader
- Fix error of check retriable error for idempotent operations (error exist since 2.12.1)
- Add initial topic writer
- start 3.0 beta branch
- fixed sqlalchemy get_columns method with not null columns
- fixed use transaction object when commit with flag
- fix snapshot attribute in class _ResultSet
- fixed set version in ydb_version file
- fixed in to make compressed backups possible
- Add snapshot to read table responses
- Added functions for global change behaviour for compatible with future sdk version: ydb.global_allow_truncated_result and global_allow_split_transactions
- Flag for deny split transaction
- Add six package to requirements
- Fixed error while passing date parameter in execute
- Fix error of check retriable error for idempotent operations (error exist since 2.12.1)
- Supported
TYPE_UNSPECIFIED
item type to scheme ls - Fixed error while request iam token with bad content type in metadata
- Fixed error message while get token from metadata with asyncio iam
- Add
SnapshotReadOnly
transaction mode support tosession.transaction
- Regenerate protobuf code from public api protos (some private protobufs was removed)
- Remove internal S3 client code
- removed unused experimental client from ydb python sdk.
- fixed double quoting issue in sqlalchemy
- fixed minor issue in SDK imports for Python 2.
- fixes in TxContext in ydb.aio module.
- support
with_native_interval_in_result_sets
flag in the table client. - support
with_native_timestamp_in_result_sets
flag in the table client.
- support query stats in scan query
- allow to refer endpoints by node id
- support null type in queries
- support session balancer feature
- add compression support to ydb sdk
- alias
kikimr.public.sdk.python.client
is deprecated. useimport ydb
instead. - alias
kikimr.public.api
is deprecated, useydb.public.api
instead. - method
construct_credentials_from_environ
is now deprecated and will be removed in the future.
- override the default load balancing policy for discovery endpoint to the
round_robin
policy.
- support session graceful shutdown protocol.
- speedup driver initialization and first driver.wait
- add methods to request
_apis.TableService.RenameTables
call - by now the call is disabled at the server side
- it will be enabled soon
- remove useless
from_bytes
for PY3 - improve performance of column parser
- fix bug with prepare in aio
- allow specifying column labels in group by in the sqlalchemy dialect
- add SEQUENCE to known schema types
- add
retry_operation
toaio.SessionPool
- ydb.aio supports retry operation helper.
- storage class support
- add async
SessionPool
support
- minor change in dbapi
- add asyncio support
- add some custom datatypes for sqlalchemy
- change error format for sqlalchemy
- add
ValueSinceUnixEpochModeSettings
support toTtlSettings
- add default credentials constructor
- pass issues to dbapi errors
- allow custom user agent
- load YDB certificates by default
- allow to fail fast on driver wait
- disable client query cache by default
- support uuid type
- Support
store_size
in describe of table.
- Start initial changelog.