<#3819 fix(taps): Preserve legacy JSONPath `[*]` b...
# meltano-repo-activity
g
#3819 fix(taps): Preserve legacy JSONPath `[*]` behavior for single/scalar objects Pull request opened by edgarrmondragon jsonpath-ng v1.11.0 made a breaking change:
Previously,
$[*]
applied to
"abc"
or
5
would find the value itself,
and
$[*]
applied to
{"a": 1}
would find the whole object.
This also caused
$..[*]
to return phantom nodes,
such as the root object and a second copy of each string.
Now, slices like
[0:2]
find nothing unless they are applied to an array,
and
[*]
finds the member values of an object or the elements of an array
and nothing from a scalar value.
This change improves RFC 9535 compliance.
Related • Matatika/tap-googleads#185 Summary by Sourcery Restore legacy JSONPath wildcard record extraction while guiding users toward paths that explicitly select single objects. Bug Fixes: • Preserve legacy JSONPath wildcard behavior by yielding single objects and scalars as one record when matched by a trailing
[*]
. • Configure the GitLab projects stream to select its single-object API response directly. Enhancements: • Deprecate and warn on wildcard paths that wrap non-array values, while directing users to object-selecting paths. • Clarify JSONPath record-selection guidance and add comprehensive deprecation documentation. Documentation: • Document JSONPath wildcard compatibility, migration guidance, and requirements for documenting new deprecations. Tests: • Add coverage for wildcard compatibility, array and null handling, unchanged slice/filter behavior, descendant paths, and versioned documentation URLs. Chores: • Remove the generated template response parser in favor of the SDK's default parsing behavior. meltano/sdk