v0.39.0
v0.39.0 (2024-07-27)
Highlights
-
The
json
module can now be used within stream mapsstream_maps: animals: id: id data: "json.dumps({'description': description, 'verified': verified, 'views': views, 'created_at': created_at})" __else__: null
-
The crypto dependencies
PyJWT
andcryptography
are now optional and can be installed by requesting thejwt
extra, i.e.singer-sdk[jwt]
. These are only currently required for JWT authentication, but if your package depends on any of these, make sure the dependency is explicit. -
The
pendulum
andpython-dateutil
dependencies are no longer used by this library and will be removed in a future release. If your package relies on any of them, make sure the dependency is explicit. -
We're working on supporting
msgspec
for more performant IO, so keep an eye out for that 😉.
✨ New
- #2432 Developers can now customize the default logging configuration for their taps/targets by adding
default_logging.yml
to their package - #2531 The
json
module is now avaiable to stream maps -- Thanks @grigi! - #2529 Stream sync context is now available to all instances methods as a
Stream.context
attribute
🐛 Fixes
- #2554 Use mapped stream aliases when handling
ACTIVATE_VERSION
messages in the base target class - #2526 Moved up the supported Python versions in the Markdown output of
--about
⚙️ Under the Hood
- #2564 Make
SQLSink
a generic with aSQLConnector
type parameter - #2540 Implement abstract
serialize_message
for Singer writers - #2259 Centralize JSON SerDe into helper functions -- Thanks @BuzzCutNorman!
- #2525 Make
PyJWT
andcryptography
dependencies optional - #2528 Moved class-level attributes to the top in REST tap template
- #2132 Limit internal usage of pendulum
📚 Documentation Improvements
- #2557 Document that
get_starting_timestamp
requires setting a non-null replication_key - #2556 Reference state partitioning in stream partitioning page
- #2536 Prepare for RTD addons migration
- #2535 Added more intersphinx links to Python and Faker docs
- #2530 Explained how the request URL is generated from
url_base
,path
and the sync context - #2527 Updated the footer
- #2506 Fixed a typo in the stream maps docs