1
0
mirror of synced 2026-01-01 00:02:54 -05:00
Files
airbyte/airbyte-cdk/python/CHANGELOG.md
2022-11-14 20:16:30 +02:00

11 KiB

Changelog

0.9.2

Low-code: Make default_paginator.page_token_option optional

0.9.1

Low-code: Fix filtering vars in InterpolatedRequestInputProvider.eval_request_inputs

0.9.0

Low-code: Allow grant_type to be specified for OAuthAuthenticator

0.8.1

Low-code: Don't update cursor for non-record messages and fix default loader for connector builder manifests

0.8.0

Low-code: Allow for request and response to be emitted as log messages

0.7.1

Low-code: Decouple yaml manifest parsing from the declarative source implementation

0.7.0

Low-code: Allow connector specifications to be defined in the manifest

0.6.0

Low-code: Add support for monthly and yearly incremental updates for DatetimeStreamSlicer

0.5.4

Low-code: Get response.json in a safe way

0.5.3

Low-code: Replace EmptySchemaLoader with DefaultSchemaLoader to retain backwards compatibility Low-code: Evaluate backoff strategies at runtime

0.5.2

Low-code: Allow for read even when schemas are not defined for a connector yet

0.4.2

Low-code: Fix off by one error with the stream slicers

0.4.1

Low-code: Fix a few bugs with the stream slicers

0.4.0

Low-code: Add support for custom error messages on error response filters

0.3.0

Publish python typehints via py.typed file.

0.2.3

  • Propagate options to InterpolatedRequestInputProvider

0.2.2

  • Report config validation errors as failed connection status during check.
  • Report config validation errors as config_error failure type.

0.2.1

  • Low-code: Always convert stream slices output to an iterator

0.2.0

  • Replace caching method: VCR.py -> requests-cache with SQLite backend

0.1.104

  • Protocol change: supported_sync_modes is now a required properties on AirbyteStream. #15591

0.1.103

  • Low-code: added hash filter to jinja template

0.1.102

  • Low-code: Fix check for streams that do not define a stream slicer

0.1.101

  • Low-code: $options do not overwrite parameters that are already set

0.1.100

  • Low-code: Pass stream_slice to read_records when reading from CheckStream

0.1.99

  • Low-code: Fix default stream schema loader

0.1.98

  • Low-code: Expose WaitUntilTimeFromHeader strategy and WaitTimeFromHeader as component type

0.1.97

  • Revert 0.1.96

0.1.96

  • Improve error for returning non-iterable from connectors parse_response

0.1.95

  • Low-code: Expose PageIncrement strategy as component type

0.1.94

  • Low-code: Stream schema loader has a default value and can be omitted

0.1.93

  • Low-code: Standardize slashes in url_base and path

0.1.92

  • Low-code: Properly propagate $options to array items
  • Low-code: Log request and response when running check operation in debug mode

0.1.91

  • Low-code: Rename LimitPaginator to DefaultPaginator and move page_size field to PaginationStrategy

0.1.90

  • Fix error when TypeTransformer tries to warn about invalid transformations in arrays

0.1.89

  • Fix: properly emit state when a stream has empty slices, provided by an iterator

0.1.88

  • Bugfix: Evaluate response.text only in debug mode

0.1.87

  • During incremental syncs allow for streams to emit state messages in the per-stream format

0.1.86

  • TypeTransformer now converts simple types to array of simple types
  • TypeTransformer make warning message more informative

0.1.85

  • Make TypeTransformer more robust to incorrect incoming records

0.1.84

  • Emit legacy format when state is unspecified for read override connectors

0.1.83

  • Fix per-stream to send legacy format for connectors that override read

0.1.82

  • Freeze dataclasses-jsonschema to 2.15.1

0.1.81

  • Fix regression in _checkpoint_state arg

Unreleased

  • Update Airbyte Protocol model to support protocol_version

0.1.80

  • Add NoAuth to declarative registry and auth parse bug fix

0.1.79

  • Fix yaml schema parsing when running from docker container

0.1.78

  • Fix yaml config parsing when running from docker container

0.1.77

  • Add schema validation for declarative YAML connector configs

0.1.76

  • Bugfix: Correctly set parent slice stream for sub-resource streams

0.1.75

  • Improve filter_secrets skip empty secret

0.1.74

  • Replace JelloRecordExtractor with DpathRecordExtractor

0.1.73

  • Bugfix: Fix bug in DatetimeStreamSlicer's parsing method

0.1.72

  • Bugfix: Fix bug in DatetimeStreamSlicer's format method

0.1.71

  • Refactor declarative package to dataclasses
  • Bugfix: Requester header always converted to string
  • Bugfix: Reset paginator state between stream slices
  • Bugfix: Record selector handles single records

0.1.70

  • Bugfix: DatetimeStreamSlicer cast interpolated result to string before converting to datetime
  • Bugfix: Set stream slicer's request options in SimpleRetriever

0.1.69

  • AbstractSource emits a state message when reading incremental even if there were no stream slices to process.

0.1.68

  • Replace parse-time string interpolation with run-time interpolation in YAML-based sources

0.1.67

  • Add support declarative token authenticator.

0.1.66

  • Call init_uncaught_exception_handler from AirbyteEntrypoint.init and Destination.run_cmd
  • Add the ability to remove & add records in YAML-based sources

0.1.65

  • Allow for detailed debug messages to be enabled using the --debug command.

0.1.64

  • Add support for configurable oauth request payload and declarative oauth authenticator.

0.1.63

  • Define namespace property on the Stream class inside core.py.

0.1.62

Bugfix: Correctly obfuscate nested secrets and secrets specified inside oneOf blocks inside the connector's spec.

0.1.61

  • Remove legacy sentry code

0.1.60

  • Add requests.exceptions.ChunkedEncodingError to transient errors so it could be retried

0.1.59

  • Add Stream.get_error_display_message() to retrieve user-friendly messages from exceptions encountered while reading streams.
  • Add default error error message retrieval logic for HTTPStreams following common API patterns.

0.1.58

TypeTransformer.default_convert catch TypeError

0.1.57

Update protocol models to support per-stream state: #12829.

0.1.56

  • Update protocol models to include AirbyteTraceMessage
  • Emit an AirbyteTraceMessage on uncaught exceptions
  • Add AirbyteTracedException

0.1.55

Add support for reading the spec from a YAML file (spec.yaml)

0.1.54

  • Add ability to import IncrementalMixin from airbyte_cdk.sources.streams.
  • Bumped minimum supported Python version to 3.9.

0.1.53

Remove a false positive error logging during the send process.

0.1.52

Fix BaseBackoffException constructor

0.1.50

Improve logging for Error handling during send process.

0.1.49

Add support for streams with explicit state attribute.

0.1.48

Fix type annotations.

0.1.47

Fix typing errors.

0.1.45

Integrate Sentry for performance and errors tracking.

0.1.44

Log http response status code and its content.

0.1.43

Fix logging of unhandled exceptions: print stacktrace.

0.1.42

Add base pydantic model for connector config and schemas.

0.1.41

Fix build error

0.1.40

Filter airbyte_secrets values at logger and other logging refactorings.

0.1.39

Add __init__.py to mark the directory airbyte_cdk/utils as a package.

0.1.38

Improve URL-creation in CDK. Changed to using urllib.parse.urljoin().

0.1.37

Fix emitted_at from seconds * 1000 to correct milliseconds.

0.1.36

Fix broken logger in streams: add logger inheritance for streams from airbyte.

0.1.35

Fix false warnings on record transform.

0.1.34

Fix logging inside source and streams

0.1.33

Resolve $ref fields for discover json schema.

0.1.32

  • Added Sphinx docs airbyte-cdk/python/reference_docs module.
  • Added module documents at airbyte-cdk/python/sphinx-docs.md.
  • Added Read the Docs publishing configuration at .readthedocs.yaml.

0.1.31

Transforming Python log levels to Airbyte protocol log levels

0.1.30

Updated OAuth2Specification.rootObject type in airbyte_protocol to allow string or int

0.1.29

Fix import logger error

0.1.28

Added check_config_against_spec parameter to Connector abstract class to allow skipping validating the input config against the spec for non-check calls

0.1.27

Improving unit test for logger

0.1.26

Use python standard logging instead of custom class

0.1.25

Modified OAuth2Specification model, added new fields: rootObject and oauthFlowOutputParameters

0.1.24

Added Transform class to use for mutating record value types so they adhere to jsonschema definition.

0.1.23

Added the ability to use caching for efficient synchronization of nested streams.

0.1.22

Allow passing custom headers to request in OAuth2Authenticator.refresh_access_token(): https://github.com/airbytehq/airbyte/pull/6219

0.1.21

Resolve nested schema references and move external references to single schema definitions.

0.1.20

  • Allow using requests.auth.AuthBase as authenticators instead of custom CDK authenticators.
  • Implement Oauth2Authenticator, MultipleTokenAuthenticator and TokenAuthenticator authenticators.
  • Add support for both legacy and requests native authenticator to HttpStream class.

0.1.19

No longer prints full config files on validation error to prevent exposing secrets to log file: https://github.com/airbytehq/airbyte/pull/5879

0.1.18

Fix incremental stream not saved state when internal limit config set.

0.1.17

Fix mismatching between number of records actually read and number of records in logs by 1: https://github.com/airbytehq/airbyte/pull/5767

0.1.16

Update generated AirbyteProtocol models to contain Oauth changes.

0.1.15

Add _limit and _page_size as internal config parameters for SAT

0.1.14

If the input config file does not comply with spec schema, raise an exception instead of system.exit.

0.1.13

Fix defect with user defined backoff time retry attempts, number of retries logic fixed

0.1.12

Add raise_on_http_errors, max_retries, retry_factor properties to be able to ignore http status errors and modify retry time in HTTP stream

0.1.11

Add checking specified config againt spec for read, write, check and discover commands

0.1.10

Add MultipleTokenAuthenticator class to allow cycling through a list of API tokens when making HTTP requests

0.1.8

Allow to fetch primary key info from singer catalog

0.1.7

Allow to use non-JSON payloads in request body for http source

0.1.6

Add abstraction for creating destinations.

Fix logging of the initial state.

0.1.5

Allow specifying keyword arguments to be sent on a request made by an HTTP stream: https://github.com/airbytehq/airbyte/pull/4493

0.1.4

Allow to use Python 3.7.0: https://github.com/airbytehq/airbyte/pull/3566

0.1.2

Fix an issue that caused infinite pagination: https://github.com/airbytehq/airbyte/pull/3366

0.1.1

Initial Release