Skip to content

Releases: meltano/sdk

v0.35.1

15 Feb 23:24
a8cd892
Compare
Choose a tag to compare

v0.35.1 (2024-02-15)

🐛 Fixes

  • #2243 Flattening level of record is now forced to match the provided flattened schema -- Thanks @joaopamaral!
  • #2245 Instances of oneOf are now handled by null-appending logic
  • #2242 Hard and soft deletes for handling ACTIVATE_VERSION messages now use the same WHERE clause -- Thanks @vitoravancini!
  • #2232 Test workflow job now fails for unsupported Python versions in cookiecutter templates -- Thanks @ReubenFrankel!
  • #2225 SQL columns that are non-nullable but not required (i.e. not part of a primary key) are now not included in the "required": [...] array of the discovered JSON schema

📚 Documentation Improvements

  • #2239 Linked reference docs to source code
  • #2231 Added an example implemetation of JSON schema validation that uses fastjsonschema
  • #2219 Added reference docs for tap & target testing helpers

v0.35.0

05 Feb 18:16
eda4fd6
Compare
Choose a tag to compare

v0.35.0 (2024-02-02)

Highlights

  • The package now acts a proper pytest plugin, so you may need to remove pytest_plugins = ("singer_sdk.testing.pytest_plugin",) from your tests/conftest.py file for test fixtures to be loaded correctly.
  • Dropped support for Python 3.7 (EOL 2023-06-27).
  • Dropped direct dependency on pytz. If your package uses pytz in any capacity, you may need to add it as an explicit dependency to your project.
  • Stream maps can now generate fake data! See the docs for more details.

✨ New

  • #2208 Allow users to disable schema validation in targets
  • #2170 Generate fake data with stream maps -- Thanks @ReubenFrankel!
  • #937 Support validating configuration for any tap with a dynamic catalog
  • #2144 Support fanning out parent record into multiple child contexts/syncs
  • #1918 End RESTStream pagination if an empty page is received

🐛 Fixes

  • #2203 Fix serialization of arbitrary objects (e.g. ObjectId from mongoDB) during flattening -- Thanks @dgawlowsky!
  • #2200 Quote column names in INSERT statement
  • #2195 Include empty schemas directory in REST tap cookiecutter
  • #2187 Replace use of deprecated jsonschema._RefResolver with recommended referencing library
  • #2184 Reduce amount of unnecessary whitespace in Singer output
  • #2183 Ensure .vscode directory is included when requested in cookiecutters and avoid failing if it does not exist
  • #2180 Limit supported Python versions in --about output to existing ones
  • #2108 Log sink name when an unhandled error occurs during setup
  • #2158 Fix pytest plugin declaration so it can be used without requiring defining pytest_plugins in conftest.py
  • #2105 Default handling of ACTIVATE_VERSION messages to soft deletes and add new SQLConnector.delete_old_versions method

⚙️ Under the Hood

  • #2189 Use functools.lru_cache instead of the stale memoization library (#1981)
  • #2188 Remove unused logger parameter from private catalog helper functions
  • #2143 Drop support for Python 3.7
  • #2157 Remove pytz dependency and use datetime.timezone.utc instead of pytz.UTC where possible
  • #2136 Create interface for schema validation in sinks, and implement it for python-jsonschema -- Thanks @BuzzCutNorman!
  • #2130 Allow loading stream schemas from importlib.resources.abc.Traversable types

📚 Documentation Improvements

  • #2204 Document supported package extras
  • #2186 Call out minimum recommended cookiecutter version
  • #2168 Explain Progress is not resumable if interrupted in docs FAQ
  • #2140 Update auth caching example to use functools.cached_property

v0.35.0rc1

01 Feb 18:49
b367eb5
Compare
Choose a tag to compare
v0.35.0rc1 Pre-release
Pre-release

First v0.35.0 RC!

v0.35.0a5

31 Jan 20:00
7d7edb7
Compare
Choose a tag to compare
v0.35.0a5 Pre-release
Pre-release

Fifth v0.35.0 alpha.

v0.35.0a4

26 Jan 18:07
de04392
Compare
Choose a tag to compare
v0.35.0a4 Pre-release
Pre-release

Fourth v0.35.0 alpha.

v0.35.0a3

22 Jan 17:26
c9c0b0b
Compare
Choose a tag to compare
v0.35.0a3 Pre-release
Pre-release

Third v0.35.0 alpha.

v0.35.0a2

16 Jan 17:30
e1af337
Compare
Choose a tag to compare
v0.35.0a2 Pre-release
Pre-release
ci: Fix release workflow (#2151)

v0.35.0a1

16 Jan 17:24
bec0eb1
Compare
Choose a tag to compare
v0.35.0a1 Pre-release
Pre-release
chore(deps-dev): bump duckdb from 0.9.3.dev2533 to 0.9.3.dev2691 (#2150)

Bumps [duckdb](https://github.com/duckdb/duckdb) from 0.9.3.dev2533 to 0.9.3.dev2691.
- [Release notes](https://github.com/duckdb/duckdb/releases)
- [Changelog](https://github.com/duckdb/duckdb/blob/main/tools/release-pip.py)
- [Commits](https://github.com/duckdb/duckdb/commits)

---
updated-dependencies:
- dependency-name: duckdb
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

v0.34.1

19 Dec 19:05
0192d58
Compare
Choose a tag to compare

v0.34.1 (2023-12-19)

🐛 Fixes

  • #2118 Output JSONPath expression with match count message -- Thanks @mjsqu!
  • #2107 Respect forced replication method when retrieving state
  • #2094 Use nulls_first when available to order NULL results in incremental SQL streams

⚙️ Under the Hood

  • #1733 Test with Python 3.12 🐍
  • #2095 Use CursorResult.mappings() in SQL streams
  • #2092 Use datetime.fromisoformat in other places
  • #2090 Explicitly use T iso date separator

📚 Documentation Improvements

  • #2111 Fix broken requests documentation links -- Thanks @mjsqu!

v0.34.0

05 Dec 18:50
9b4f96c
Compare
Choose a tag to compare

v0.34.0 (2023-12-05)

Hightlights

✨ New

  • #2044 Add Parquet as a batch encoding option -- Thanks @jamielxcarter!
  • #768 Better error messages when config validation fails
  • #1854 Make stream logger a child of the tap logger

🐛 Fixes

  • #2076 Make a explicit dependency on python-dateutil

⚙️ Under the Hood

  • #2070 Parse dates with datetime.fromisoformat/backports.datetime_fromisoformat -- Thanks @BuzzCutNorman!
  • #2056 Break up TapTestClassFactory._annotate_test_class into simpler methods
  • #2058 Implement a SingerWriter class in singer_sdk.io_base and use it to emit Singer messages -- Thanks @BuzzCutNorman!
  • #2061 Simplify target template file names with post_gen_project.py hook -- Thanks @vicmattos!
  • #2060 Simplify tap template file names with post_gen_project.py hook -- Thanks @vicmattos!

📚 Documentation Improvements

  • #2039 Add 404 page with sphinx-notfound-page
  • #2037 Add flattening configuration examples

Full Changelog: v0.33.1...v0.34.0