Merge pull request #336 from networktocode/release-v2.2.1 · networktocode/diffsync@fe6b710 · GitHub
Skip to content

Commit fe6b710

Browse files
authored
Merge pull request #336 from networktocode/release-v2.2.1
Release v2.2.1
2 parents 899d976 + a292361 commit fe6b710

8 files changed

Lines changed: 112 additions & 12 deletions

File tree

.cookiecutter.json

Lines changed: 4 additions & 4 deletions

.github/workflows/release.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,8 @@ jobs:
1717
poetry-version: "2.1.3"
1818
python-version: "3.13"
1919
poetry-install-options: "--no-root"
20-
- name: "Build Documentation"
21-
run: "poetry run invoke build build-and-check-docs"
2220
- name: "Run Poetry Build"
2321
run: "poetry build"
24-
2522
- name: "Check that the release tag matches the version in pyproject.toml"
2623
run: |
2724
if [ "${{ github.ref_name }}" != "v$(poetry version -s)" ]; then exit 1; fi
@@ -58,17 +55,20 @@ jobs:
5855
if: "startsWith(github.ref, 'refs/tags/v')"
5956
needs: "build"
6057
environment: "pypi"
58+
# Steps to publish to PyPI.
6159
steps:
6260
- name: "Retrieve built package from cache"
6361
uses: "actions/download-artifact@v4"
6462
with:
6563
name: "distfiles"
6664
path: "dist/"
67-
- name: "Publish package distribution to PyPI"
65+
- name: "Publish package distributions to PyPI"
6866
uses: "pypa/gh-action-pypi-publish@ed0c53931b1dc9bd32cbe73a98c7f6766f8a527e" # v1.13.0
67+
## Used for networktocode org since trusted publisher isn't supported for GitHub Plan.
6968
with:
7069
user: "__token__"
7170
password: "${{ secrets.PYPI_API_TOKEN }}"
71+
# End publish to PyPI job.
7272

7373
slack-notify:
7474
needs:

changes/321.housekeeping

Lines changed: 0 additions & 1 deletion
This file was deleted.

changes/323.housekeeping

Lines changed: 0 additions & 1 deletion
This file was deleted.

diffsync/__init__.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -484,7 +484,13 @@ def __init_subclass__(cls) -> None:
484484

485485
def __new__(cls, **kwargs): # type: ignore[no-untyped-def]
486486
"""Document keyword arguments that were used to initialize Adapter."""
487-
meta_kwargs = deepcopy(kwargs)
487+
meta_kwargs = {}
488+
for key, value in kwargs.items():
489+
try:
490+
meta_kwargs[key] = deepcopy(value)
491+
except (TypeError, AttributeError):
492+
# Some objects (e.g. Kafka Consumer, DB connections) cannot be deep copied
493+
meta_kwargs[key] = value
488494
instance = super().__new__(cls)
489495
instance._meta_kwargs = meta_kwargs
490496
return instance

docs/admin/release_notes/version_2.2.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,14 @@ This document describes all new features and changes in the release. The format
77
## [v2.2.0] - 2025-12-08
88

99
Remove Python 3.9 support as it's EOL.
10+
11+
## [v2.2.1 (2026-02-12)](https://github.com/networktocode/diffsync/releases/tag/v2.2.1)
12+
13+
### Fixed
14+
15+
- [#334](https://github.com/networktocode/diffsync/issues/334) - Fix TypeError being thrown when non-serializable object is used in creating a Diff/Adapter.
16+
17+
### Housekeeping
18+
19+
- [#321](https://github.com/networktocode/diffsync/issues/321) - Fixed CI release workflow.
20+
- Rebaked from the cookie `main`.

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "diffsync"
3-
version = "2.2.0"
3+
version = "2.2.1"
44
description = "Library to easily sync/diff/update 2 different data sources"
55
authors = ["Network to Code, LLC <info@networktocode.com>"]
66
license = "Apache-2.0"

tests/unit/test_diffsync.py

Lines changed: 85 additions & 0 deletions

0 commit comments

Comments
 (0)