nti.externalization 3.2.0__tar.gz → 3.3.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (168) hide show
  1. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/.github/workflows/tests.yml +2 -2
  2. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/CHANGES.rst +22 -0
  3. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/PKG-INFO +23 -1
  4. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/setup.py +1 -1
  5. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/_base_interfaces.c +245 -120
  6. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/_datastructures.pxd +1 -1
  7. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/_interface_cache.c +242 -115
  8. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/datastructures.c +1118 -992
  9. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/datastructures.py +9 -6
  10. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/externalization/decorate.c +197 -74
  11. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/externalization/dictionary.c +287 -160
  12. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/externalization/externalizer.c +326 -199
  13. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/externalization/fields.c +253 -126
  14. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/externalization/standard_fields.c +300 -173
  15. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/interfaces.py +9 -0
  16. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/internalization/_updater.pxd +1 -0
  17. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/internalization/events.c +250 -123
  18. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/internalization/externals.c +206 -79
  19. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/internalization/factories.c +271 -148
  20. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/internalization/fields.c +273 -148
  21. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/internalization/legacy_factories.c +228 -101
  22. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/internalization/tests/test_updater.py +19 -1
  23. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/internalization/updater.c +1346 -840
  24. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/internalization/updater.py +18 -0
  25. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/singleton.c +199 -76
  26. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/tests/test_datastructures.py +2 -2
  27. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/zcml.py +0 -1
  28. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti.externalization.egg-info/PKG-INFO +23 -1
  29. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/.coveragerc +0 -0
  30. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/.github/dependabot.yml +0 -0
  31. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/.isort.cfg +0 -0
  32. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/.pylintrc +0 -0
  33. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/.readthedocs.yml +0 -0
  34. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/AUTHORS +0 -0
  35. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/COPYRIGHT.txt +0 -0
  36. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/INSTALL +0 -0
  37. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/LICENSE +0 -0
  38. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/MANIFEST.in +0 -0
  39. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/README.rst +0 -0
  40. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/doc-requirements.txt +0 -0
  41. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/docs/Makefile +0 -0
  42. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/docs/api/ADVANCED.rst +0 -0
  43. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/docs/api/BASICS.rst +0 -0
  44. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/docs/api/HELPERS.rst +0 -0
  45. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/docs/api/STRINGS.rst +0 -0
  46. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/docs/api/ZODB.rst +0 -0
  47. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/docs/api/autopackage.rst +0 -0
  48. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/docs/api/datastructures.rst +0 -0
  49. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/docs/api/datetime.rst +0 -0
  50. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/docs/api/dublincore.rst +0 -0
  51. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/docs/api/extension_points.rst +0 -0
  52. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/docs/api/externalization.rst +0 -0
  53. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/docs/api/factory.rst +0 -0
  54. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/docs/api/index.rst +0 -0
  55. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/docs/api/integer_strings.rst +0 -0
  56. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/docs/api/interfaces.rst +0 -0
  57. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/docs/api/internalization.rst +0 -0
  58. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/docs/api/oids.rst +0 -0
  59. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/docs/api/persistence.rst +0 -0
  60. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/docs/api/proxy.rst +0 -0
  61. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/docs/api/representation.rst +0 -0
  62. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/docs/api/singleton.rst +0 -0
  63. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/docs/api/zcml.rst +0 -0
  64. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/docs/basics.rst +0 -0
  65. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/docs/changelog.rst +0 -0
  66. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/docs/conf.py +0 -0
  67. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/docs/externalization.rst +0 -0
  68. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/docs/glossary.rst +0 -0
  69. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/docs/index.rst +0 -0
  70. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/docs/internalization.rst +0 -0
  71. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/docs/schemas.rst +0 -0
  72. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/docs/special_attributes.rst +0 -0
  73. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/make-manylinux +0 -0
  74. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/pyproject.toml +0 -0
  75. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/requirements.txt +0 -0
  76. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/setup.cfg +0 -0
  77. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/__init__.py +0 -0
  78. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/__base_interfaces.pxd +0 -0
  79. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/__init__.py +0 -0
  80. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/__interface_cache.pxd +0 -0
  81. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/_base_interfaces.py +0 -0
  82. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/_compat.py +0 -0
  83. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/_interface_cache.py +0 -0
  84. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/_singleton.pxd +0 -0
  85. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/_threadlocal.py +0 -0
  86. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/autopackage.py +0 -0
  87. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/configure.zcml +0 -0
  88. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/datetime_ext.py +0 -0
  89. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/dublincore.py +0 -0
  90. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/extension_points.py +0 -0
  91. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/externalization/__init__.py +0 -0
  92. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/externalization/_decorate.pxd +0 -0
  93. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/externalization/_dictionary.pxd +0 -0
  94. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/externalization/_externalizer.pxd +0 -0
  95. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/externalization/_fields.pxd +0 -0
  96. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/externalization/_standard_fields.pxd +0 -0
  97. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/externalization/decorate.py +0 -0
  98. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/externalization/dictionary.py +0 -0
  99. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/externalization/externalizer.py +0 -0
  100. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/externalization/fields.py +0 -0
  101. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/externalization/replacers.py +0 -0
  102. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/externalization/standard_fields.py +0 -0
  103. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/externalization/tests/__init__.py +0 -0
  104. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/externalization/tests/test_externalizer.py +0 -0
  105. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/factory.py +0 -0
  106. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/integer_strings.py +0 -0
  107. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/internalization/__init__.py +0 -0
  108. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/internalization/_events.pxd +0 -0
  109. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/internalization/_externals.pxd +0 -0
  110. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/internalization/_factories.pxd +0 -0
  111. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/internalization/_fields.pxd +0 -0
  112. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/internalization/_legacy_factories.pxd +0 -0
  113. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/internalization/events.py +0 -0
  114. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/internalization/externals.py +0 -0
  115. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/internalization/factories.py +0 -0
  116. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/internalization/fields.py +0 -0
  117. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/internalization/legacy_factories.py +0 -0
  118. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/internalization/tests/__init__.py +0 -0
  119. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/internalization/tests/test_externals_wo_class_mimetype.py +0 -0
  120. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/internalization/tests/test_fields.py +0 -0
  121. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/meta.zcml +0 -0
  122. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/numbers.py +0 -0
  123. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/oids.py +0 -0
  124. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/persistence.py +0 -0
  125. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/proxy.py +0 -0
  126. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/py.typed +0 -0
  127. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/representation.py +0 -0
  128. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/singleton.py +0 -0
  129. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/testing.py +0 -0
  130. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/tests/__init__.py +0 -0
  131. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/tests/benchmarks/__init__.py +0 -0
  132. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/tests/benchmarks/__main__.py +0 -0
  133. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/tests/benchmarks/bm_simple_iface.py +0 -0
  134. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/tests/benchmarks/bm_simple_iface_list.py +0 -0
  135. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/tests/benchmarks/bm_simple_registered_class.py +0 -0
  136. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/tests/benchmarks/bm_singleton.py +0 -0
  137. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/tests/benchmarks/bm_user_profile.py +0 -0
  138. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/tests/benchmarks/bootstrapinterfaces.py +0 -0
  139. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/tests/benchmarks/configure.zcml +0 -0
  140. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/tests/benchmarks/interfaces.py +0 -0
  141. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/tests/benchmarks/objects.py +0 -0
  142. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/tests/benchmarks/profileconfigure.zcml +0 -0
  143. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/tests/benchmarks/profileinterfaces.py +0 -0
  144. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/tests/test__compat.py +0 -0
  145. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/tests/test_autopackage.py +0 -0
  146. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/tests/test_benchmarks.py +0 -0
  147. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/tests/test_datetime.py +0 -0
  148. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/tests/test_docs.py +0 -0
  149. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/tests/test_dublincore.py +0 -0
  150. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/tests/test_externalization.py +0 -0
  151. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/tests/test_factory.py +0 -0
  152. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/tests/test_integer_strings.py +0 -0
  153. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/tests/test_interfaces.py +0 -0
  154. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/tests/test_internalization.py +0 -0
  155. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/tests/test_oids.py +0 -0
  156. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/tests/test_persistence.py +0 -0
  157. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/tests/test_proxy.py +0 -0
  158. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/tests/test_representation.py +0 -0
  159. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/tests/test_singleton.py +0 -0
  160. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/tests/test_testing.py +0 -0
  161. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti/externalization/tests/test_zcml.py +0 -0
  162. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti.externalization.egg-info/SOURCES.txt +0 -0
  163. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti.externalization.egg-info/dependency_links.txt +0 -0
  164. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti.externalization.egg-info/entry_points.txt +0 -0
  165. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti.externalization.egg-info/requires.txt +0 -0
  166. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti.externalization.egg-info/top_level.txt +0 -0
  167. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/src/nti.externalization.egg-info/zip-safe +0 -0
  168. {nti_externalization-3.2.0 → nti_externalization-3.3.0}/tox.ini +0 -0
@@ -33,7 +33,7 @@ jobs:
33
33
 
34
34
  runs-on: ubuntu-latest
35
35
  steps:
36
- - uses: actions/checkout@v6
36
+ - uses: actions/checkout@v7
37
37
  - name: Set up Python
38
38
  uses: actions/setup-python@v6
39
39
  with:
@@ -105,7 +105,7 @@ jobs:
105
105
 
106
106
  steps:
107
107
  - name: checkout
108
- uses: actions/checkout@v6
108
+ uses: actions/checkout@v7
109
109
  - name: Set up Python ${{ matrix.python-version }}
110
110
  uses: actions/setup-python@v6
111
111
  with:
@@ -3,6 +3,28 @@
3
3
  =========
4
4
 
5
5
 
6
+ 3.3.0 (2026-07-14)
7
+ ==================
8
+
9
+ - Introduce ``IWantsMutableSequenceToUpdate`` marker interface
10
+ that objects can implement to be passed the raw ``MutableSequence``
11
+ object, rather than assuming the sequence contains objects to
12
+ create/update in place. This is sufficient for direct calls to
13
+ ``update_from_external_object`` on the object so marked, but when
14
+ used in a nested context (an attribute of another object), you may
15
+ still need/want to implement an adapter ``@adapter(list)`` that
16
+ ``@implementer(YourType)`` that does the same thing.
17
+
18
+
19
+
20
+ 3.2.1 (2026-06-02)
21
+ ==================
22
+
23
+ - Make internalizing anonymous dictionary objects
24
+ support ``IMapping`` fields, rather than only its subclass
25
+ ``IDict``.
26
+
27
+
6
28
  3.2.0 (2026-05-19)
7
29
  ==================
8
30
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nti.externalization
3
- Version: 3.2.0
3
+ Version: 3.3.0
4
4
  Summary: NTI Externalization
5
5
  Home-page: https://github.com/OpenNTI/nti.externalization
6
6
  Author: Jason Madden
@@ -106,6 +106,28 @@ Documentation is hosted at https://ntiexternalization.readthedocs.io/
106
106
  =========
107
107
 
108
108
 
109
+ 3.3.0 (2026-07-14)
110
+ ==================
111
+
112
+ - Introduce ``IWantsMutableSequenceToUpdate`` marker interface
113
+ that objects can implement to be passed the raw ``MutableSequence``
114
+ object, rather than assuming the sequence contains objects to
115
+ create/update in place. This is sufficient for direct calls to
116
+ ``update_from_external_object`` on the object so marked, but when
117
+ used in a nested context (an attribute of another object), you may
118
+ still need/want to implement an adapter ``@adapter(list)`` that
119
+ ``@implementer(YourType)`` that does the same thing.
120
+
121
+
122
+
123
+ 3.2.1 (2026-06-02)
124
+ ==================
125
+
126
+ - Make internalizing anonymous dictionary objects
127
+ support ``IMapping`` fields, rather than only its subclass
128
+ ``IDict``.
129
+
130
+
109
131
  3.2.0 (2026-05-19)
110
132
  ==================
111
133
 
@@ -148,7 +148,7 @@ if not PYPY:
148
148
 
149
149
  setup(
150
150
  name='nti.externalization',
151
- version='3.2.0',
151
+ version='3.3.0',
152
152
  author='Jason Madden',
153
153
  author_email='jason@seecoresoftware.com',
154
154
  description="NTI Externalization",