Skip to content

1.3.0 (2024-03-19)

Compare
Choose a tag to compare
@mih mih released this 19 Mar 12:42
· 285 commits to main since this release
1.3.0
12c6d53

💫 Enhancements and new features

  • Code organization is adjusted to clearly indicate what is part of the
    package's public Python API. Anything that can be imported directly from
    the top-level of any sub-package is part of the public API.
    As an example: from datalad_next.runners import iter_git_subproc
    imports a part of the public API, but
    from datalad_next.runners.git import iter_git_subproc does not.
    See README.md for more information.
    Fixes #613 via #615 (by @mih), #617 (by @mih), #618 (by @mih), #619 (by @mih),
    #620 (by @mih), #621 (by @mih), #622 (by @mih), #623 (by @mih)

  • New patched_env context manager for patching a process'
    environment. This avoids the for importing unittest outside
    test implementations.
    Via #633 (by @mih)

  • call_git...() functions received a new force_c_locale
    parameter. This can be set whenever Git output needs to be parsed
    to force running the command with LC_ALL=C. Such an environment
    manipulation is off by default and not done unconditionally to
    let localized messaging through in a user's normal locale.

🐛 Bug Fixes

  • datalad-annex:: Git remote helper now tests for a repository
    deposit, and distinguishes an absent remote repository deposit
    vs cloning from an empty repository deposit. This rectifies
    confusing behavior (successful clones of empty repositories
    from broken URLs), but also fixes handling of subdataset clone
    candidate handling in get (which failed to skip inaccessible
    datalad-annex:: URLs for the same reason).
    Fixes #636 via
    #638 (by @mih)

📝 Documentation

  • API docs have been updated to include all top-level symbols
    of any sub-package, or in other words: the public API.
    See #627 (by @mih)

🏠 Internal

  • The tree command no longer uses the subdatasets command
    for queries, but employs the recently introduced iter_submodules()
    for leaner operations.
    See #628 (by @mih)

  • call_git...() functions are established as the only used abstraction
    to interface with Git and git-annex commands outside the use in
    DataLad's Repo classes. Any usage of DataLad's traditional
    Runner functionality is discontinued.
    Fixes #541 via
    #632 (by @mih)

  • Type annotations have been added to the implementation of the
    uncurl git-annex remote. A number of unhandled conditions have
    been discovered and were rectified.