Skip to content
This repository was archived by the owner on Sep 9, 2026. It is now read-only.
This repository was archived by the owner on Sep 9, 2026. It is now read-only.

Release Note聽#1780

Closed
Closed

Description

@JoanFM

Release Note

This release contains 3 bug fixes and 4 documentation improvements, including 1 breaking change.

馃挜 Breaking Changes

Changes to the return type of DocList.to_json() and DocVec.to_json()

In order to make the to_json method consistent across different classes, we changed its return type in DocList and DocVec to str.
This means that, if you use this method in your application, make sure to update your codebase to expect str instead of bytes.

馃悶 Bug Fixes

Make DocList.to_json() and DocVec.to_json() return str instead of bytes (#1769)

This release changes the return type of the methods DocList.to_json() and DocVec.to_json() in order to be consistent with BaseDoc .to_json() and other pydantic models. After this release, these methods will return str type data instead of bytes.
馃挜 Since the return type is changed, this is considered a breaking change.

Casting in reduce before appending (#1758)

This release introduces type casting internally in the reduce helper function, casting its inputs before appending them to the final result. This will make it possible to reduce documents whose schemas are compatible but not exactly the same.

Skip doc attributes in __annotations__ but not in __fields__ (#1777)

This release fixes an issue in the create_pure_python_type_model helper function. Starting with this release, only attributes in the class __fields__ will be considered during type creation.
The previous behavior broke applications when users introduced a ClassVar in an input class:

class MyDoc(BaseDoc):
    endpoint: ClassVar[str] = "my_endpoint"
    input_test: str = ""
    field_info = model.__fields__[field_name].field_info
KeyError: 'endpoint'

Kudos to @NarekA for raising the issue and contributing a fix in the Jina project, which was ported in DocArray.

馃摋 Documentation Improvements

馃 Contributors

We would like to thank all contributors to this release:

Activity

  1. scott-martens commented on Sep 7, 2023

    @scott-martens
    Contributor

    This release contains 3 bug fixes and 4 documentation improvements, including 1 breaking change.

  2. scott-martens commented on Sep 7, 2023

    @scott-martens
    Contributor

    This release changes the return type of the methods DocList.to_json() and DocVec.to_json() in order to be consistent with BaseDoc .to_json() and other pydantic models. After this release, these methods will return str type data instead of bytes.

    馃挜 Since the return type is changed, this is considered a breaking change.

  3. JoanFM commented on Sep 7, 2023

    @JoanFM
    MemberAuthor

    Since this is a brraking change @alaeddine-13 , I will release a minor and not a patch

  4. JoanFM commented on Sep 7, 2023

    @JoanFM
    MemberAuthor

    Add a clear list of breaking changes as we have done before. I believe @JohannesMessner did something on some release notes in the past

  5. JohannesMessner commented on Sep 7, 2023

    @JohannesMessner
    Member

    Add a clear list of breaking changes as we have done before. I believe @JohannesMessner did something on some release notes in the past

    I did it exactly like it is done right now, except using 馃挜 instead of 馃挘

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions