Skip to content

UTF 16 and UTF 32 fixes #9946

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 22 commits into from
Oct 18, 2022
Merged

UTF 16 and UTF 32 fixes #9946

merged 22 commits into from
Oct 18, 2022

Conversation

hmaarrfk
Copy link
Contributor

@hmaarrfk hmaarrfk commented May 19, 2020

Fixes: #4298

Needs tests for string replacement tests

I tested this locally to install hugin, which uses wide chars.

@hmaarrfk hmaarrfk requested a review from a team as a code owner May 19, 2020 01:59
@cla-bot cla-bot bot added the cla-signed [bot] added once the contributor has signed the CLA label May 19, 2020
@wojdyr
Copy link
Contributor

wojdyr commented May 19, 2020

It was discussed in #4307 - scanning each file three or five times during installation may not be optimal.

Copy link
Contributor

@mingwandroid mingwandroid left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is in conda build where this should be, for the most part addressed. Not conda. All conda sounds care about it overwriting strings of 255 bytes with new ones. The values are all conda builds responsibility to calculate.

@wojdyr
Copy link
Contributor

wojdyr commented May 19, 2020

@mingwandroid I don't quite get your comment, although I only vaguely remember how conda works.
If the path is up to 255 bytes in utf8, it obviously can be longer than 255 in utf32.

@mingwandroid
Copy link
Contributor

That's not what I'm talking about here. We can replace 255 bytes. What those bytes contain is irrelevant.

@hmaarrfk
Copy link
Contributor Author

@mingwandroid thanks for chiming in.
I think the key is that the 255 character string, can be stored as more than 255bytes.

Finding that PR from 2017 would have saved me lots of frustration. Not sure why I didn't click the link on the issue.

I don't think there is a way around scanning files multiple times unless conda build pre-scans them for us telling us which files are encoded in which way (binary files may have multiple encodings)

I'm not really a regex master, so if you could help, that would be appreciated it, but the operating system will cache the files, so it shouldn't be a big deal to scan them 5 times.

And for conda to be cross platform, you might need all 5 encodings, not just the 3 from your platform.

@hmaarrfk
Copy link
Contributor Author

Ok, using your tip above to combine a few different regex into one. Lets see if this works. Hopefully this strategy can be accepted in.

@hmaarrfk
Copy link
Contributor Author

Sorry, testing this locally is a little annoying, hopefully it is OK if i test on CIs, sorry for the notification noise.

@hmaarrfk
Copy link
Contributor Author

@wojdyr I don't know if this is accetable. I had to change the tests. But seeing as it is only an internal function, I also changed the the one internal call accordingly as well.

Let me know if that is ok.

@hmaarrfk
Copy link
Contributor Author

I don't understand why there is some branchign logic between text files and non text files

image

if somebody could help explain that then maybe we can work together to get rid of the for loop.

@mingwandroid

@hmaarrfk
Copy link
Contributor Author

Kind ping to move this forward somehow.

It would be greatly appreciated to have this included as a core conda component.

I don't particularly understand why FileMode needs to be tested against. This seems to be some integration challenge, but I left it as it for this first version.

The large binary files are only scanned once in this implementation.

@mingwandroid
Copy link
Contributor

Hi @hmaarrfk, sorry, we've all been especially busy lately, though I've had to take a bit of a break.

Can you add a test, involving a package which contains files containing each of the prefix encoded in each of the, err, encodings as a separate PR to conda-build that's marked as xfail, I am happy to work with you on a solution for this, but I still don't think we're on the right path yet. I still see an un'for'tunate loop here: https://github.com/conda/conda/pull/9946/files#diff-827c3c3f848db24eacfc18b94aead92aR72

Although nothing to be especially proud about, this recipe might be a useful starting point:
https://github.com/conda/conda-build/tree/master/tests/test-recipes/metadata/_binary_has_prefix_files

Cheers!

@mingwandroid
Copy link
Contributor

FWIW, I believe the design is wrong. These replacement locations should be pre-computed in their entirety by conda-build and conda should dumbly replace X with Y as instructed by conda-build via paths.json. Your current implementation will not, for example, work for a file that contains only one instance of the prefix, encoded in some exotic encoding that conda-build didn't detect in the first place, unless I am mistaken?

@hmaarrfk
Copy link
Contributor Author

Thanks for chiming in @mingwandroid

I still see an un'for'tunate loop here: https://github.com/conda/conda/pull/9946/files#diff-827c3c3f848db24eacfc18b94aead92aR72

Right. I don't personally understand the decision to have the original if statement myself.

dumbly replace X with Y as instructed by conda-build via paths.json

This might very well be the right approach. I totally don't have a full picture of conda-build + conda.

I think i should be able to create a pretty simple conda recipe

for encoding in common_encodings:
    with open(f'file_{encoding}.data', 'wb') as f:
          f.write(os.environ['PREFIX'].encode(encoding))

should do the trick.

@travishathaway travishathaway linked an issue Sep 27, 2022 that may be closed by this pull request
1 task
Copy link
Member

@jezdez jezdez left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @travishathaway for updating the PR.

@hmaarrfk Do you happen to remember if this comment was fully handled since the patch in conda-forge was applied?

@hmaarrfk
Copy link
Contributor Author

to be honest, i always thought that this PR didn't live up to mingwandroid's standards.

I think I took the approach of reading through the full package, multiple times.

I think in conda-forge, we do this at install time..... not at build time (an other big comment of his)

I will take no offense if all you take away from this PR are the tests, or the idea that this should be addressed.

Copy link
Contributor

@dholth dholth left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. The code will look for any of POPULAR_ENCODINGS-encoded placeholders in binaries.

Copy link
Member

@beeankha beeankha left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@travishathaway explained this change to me and it LGTM! 👍

@travishathaway travishathaway merged commit 05eab38 into conda:main Oct 18, 2022
travishathaway added a commit that referenced this pull request Oct 19, 2022
* Add `win-arm64` as a recognized platform (#11778)

* Rename `conda.recipe` to `recipe` (#11774)

* Rename conda.recipe to recipe

* Add news

* Update canary-release action version (#11799)

* Updated conda CLI help to be better for users. (#11708)

Co-authored-by: Jannis Leidel <jannis@leidel.info>
Co-authored-by: Bianca Henderson <bhenderson@anaconda.com>

* 🔄 Synced file(s) with conda/infra (#11827)

Co-authored-by: Conda Bot <conda-bot@users.noreply.github.com>

* Fix pypy win (#11734)

* [pre-commit.ci] pre-commit autoupdate (#11833)

updates:
- [github.com/akaihola/darker: 1.5.0 → 1.5.1](akaihola/darker@1.5.0...1.5.1)
- [github.com/PyCQA/pylint: v2.15.0 → v2.15.2](pylint-dev/pylint@v2.15.0...v2.15.2)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Fixes an issue that we are having with carnary builds (#11803)

* Fixes an issue that we are having with carnary builds

See this issue for more information:
conda/conda-build#4572

* undoing upates to cytoolz

* Update CONTRIBUTING.md (#11816)

Change all references to `triaging` to `issue sorting` per conda/infrastructure#575

* Release 22.9.0 (#11844)

* Updated .authors.yml

* Updated .mailmap

* Updated news

* Updated authorship for 22.9.0

* Updated CHANGELOG for 22.9.0

* Added first contributions

* Update CHANGELOG.md

Co-authored-by: Ken Odegard <kodegard@anaconda.com>

* Update CHANGELOG.md

Co-authored-by: Ken Odegard <kodegard@anaconda.com>

* Update CHANGELOG.md

Co-authored-by: Ken Odegard <kodegard@anaconda.com>

* Update CHANGELOG.md

Co-authored-by: Ken Odegard <kodegard@anaconda.com>

* Update CHANGELOG.md

Co-authored-by: Ken Odegard <kodegard@anaconda.com>

* Add special announcement to changelog.

* Remove emoji to not freak out rever.

Co-authored-by: Jannis Leidel <jannis@leidel.info>
Co-authored-by: Ken Odegard <kodegard@anaconda.com>

* Expose --mach and --arch to devenv script (#11851)

* [pre-commit.ci] pre-commit autoupdate (#11859)

updates:
- [github.com/PyCQA/pylint: v2.15.2 → v2.15.3](pylint-dev/pylint@v2.15.2...v2.15.3)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* 🔄 Synced file(s) with conda/infra (#11853)

Co-authored-by: Conda Bot <conda-bot@users.noreply.github.com>

* Require `ruamel.yaml` (#11868)

* Update requirements.txt (#11842)

Updating the flask to address multiple CVEs including ones listed in #11831

* Grammatical correction in docs (#11870)

* Removed allow_other_channels from conda docs. (#11866)

* Use maintained `ruamel.yaml` (#11837)

* Try using maintained ruamel.yaml

The conda specific fork is maintained as a conda package only
in
https://github.com/conda-forge/ruamel_yaml-feedstock/tree/master/recipe.
My understanding of what's being patched there seems to indicate it's
just the __init__.py file. I'm hoping just a rename of the
import will be enough, or at least surface what real problems exist.

Ref #10691

* Only use ruamel.yaml

* Use updated ruamel.yaml API

stringio

* Cache yaml parsers

* TEMP CI CHANGE, REMOVE BEFORE MERGE

* Add ruamel_yaml fallback

* Add news

* Undo CI fixes

* Update news

Co-authored-by: YuviPanda <yuvipanda@gmail.com>
Co-authored-by: Orion Poplawski <orion@nwra.com>

* document conda-build: pkg_format: 2 (#11881)

* document conda-build: pkg_format: 2
* Apply suggestions from code review

Co-authored-by: Katherine Kinnaman <kkinnaman@anaconda.com>

* Extract script building into helper functions for `conda init --dev` (#11862)

* 🔄 Synced file(s) with conda/infra (#11896)

Co-authored-by: Conda Bot <conda-bot@users.noreply.github.com>

* Refactor conda init shells as argparse choices (#11897)

* remove encoding pragma (not needed in Python 3) (#11880)

* remove encoding pragma (not needed in Python 3)

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Fail with a readable error message if PackageCacheRecords are missing (#11591)

* Fail with a readable warning if PackageCacheRecords are missing

* Minor fixes to error message.

This also doesn’t use cont.io for the tests.

* More test fixes and minor code cleanup.

* Update news/11591-readable-error-message-if-packagecacherecords-missing

Co-authored-by: Jannis Leidel <jannis@leidel.info>
Co-authored-by: Ken Odegard <kodegard@anaconda.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Avoid a specific case where `conda env update` hangs. (#11818)

When using an environment.yml that asks pip to clone a git repo and
that path exists, pip will ask for user input. As we are not in a
context to provide such, tell pip what to do so it doesn't hang on
waiting for user input.

* Download packages in parallel (#11841)

* format package_cache_data.py with black
* download packages in threads
* improve test coverage
* Apply suggestions from code review

Co-authored-by: Jannis Leidel <jannis@leidel.info>

* Removed ref left behind from removing allow_other_channels docs. (#11908)

* Enable one single test for linux-{aarch64, ppc64le} (#11911)

Run one single fast test per docker+qemu emulated linux platform to test that
test execution is possible there (container+tools+dependencies work). Can be
changed / extended to run specific tests in case there are platform related
things to test. Running more tests is time consuming due to emulation
(factor 2-10x slower).

* Fixed broken URL in conda docs (#11902)

* Replaced bad link.

* Updated release note.

* Update xprocess minio pattern (#11924)

* Updated conda cheatsheet for 4.14.0 release. (#11768)

* Fix for conda update and install issue related to notices (#11852)

Co-authored-by: Ken Odegard <kodegard@anaconda.com>

* Add pyupgrade to pre-commit (#11909)

* [pre-commit.ci] auto fixes from pre-commit.com hooks (#11928)

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Introduce git-blame-ignore-revs file, add pyupgrade commit to it (#11929)

* Update ci-skip workflow. (#11935)

This was forgotten when the 3.10 changes were made.

* Check for conda before calling shell hook (#11374)

* Check conda PS1 hook before calling it
* Check for hook script in fish/xonsh/bash
* Adapt test_init_sh_user_windows

* Removing an outdated piece of documentation (#11943)

* Fix bullet point list formatting (#11945)

* Change `metadata_signature_status`'s default value (#11944)

* Change metadata_signature_status's default value

* Add news

* Fix CI workflows to always run (#11941)

* Get rid of the docs check.

* Use all-greens action to use just one job for branch protection.

* add LD_PRELOAD (#11926)

Co-authored-by: Mahe Iram Khan <maheiramkhan@Mahes-MacBook-Pro.fritz.box>

* restore CondaMultiError from package downloads (#11959)

* restore CondaMultiError from package downloads

* [pre-commit.ci] pre-commit autoupdate (#11947)

updates:
- [github.com/asottile/pyupgrade: v2.38.2 → v3.0.0](asottile/pyupgrade@v2.38.2...v3.0.0)
- [github.com/PyCQA/pylint: v2.15.3 → v2.15.4](pylint-dev/pylint@v2.15.3...v2.15.4)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Update a few actions to reduce warnings. (#11963)

* Changed mentioned conda version (#11810)

* Check for actions updates every week. (#11962)

* Bump conda/actions from 22.2.1 to 22.9.0 (#11965)

Bumps [conda/actions](https://github.com/conda/actions) from 22.2.1 to 22.9.0.
- [Release notes](https://github.com/conda/actions/releases)
- [Commits](conda/actions@v22.2.1...v22.9.0)

---
updated-dependencies:
- dependency-name: conda/actions
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Remove toolz accumulate (#11879)

* substitute for toolz.groupby (#11913)

* substitute for toolz.groupby

* Remove custom `argparse` aliases (#11747)

* Remove custom aliasing logic

* Move argument inline into `add_subparsers`

This was added in Python 3.7.

* 🔄 Synced file(s) with conda/infra (#11969)

Co-authored-by: Conda Bot <conda-bot@users.noreply.github.com>

* UTF 16 and UTF 32 fixes (#9946)

* Use a loop to ensure that prefix is replaced even in utf-16 cases

* Specify little endian and big endian

* Fixup the binary replacement

* keep backward portability

* Add some tests

* Make encoding a string in tests

* Just use a loop

* Match from beginning of prefix

* Add a comment as to why we specify -le and -be

* Attempt minimal changes for binary replacement using a single regex

* Fixup regex

* removing unnecessary

* reverting previous state of some test

* fixing more issues with tests

* updates to enhance code readability

* updating type hint to use Enum

Co-authored-by: Jannis Leidel <jannis@leidel.info>
Co-authored-by: Travis Hathaway <travis.j.hathaway@gmail.com>

* Replace "experimental solver" with just "solver" (#11889)

* Replace "experimental solver" with just solver

* mock is part of unittest

* add newline for clearer error message

* one more instance

* pre-commit fixes

* PendingDeprecationWarning preferred at this stage

* argparse.Action base class implements __call__ abstractly - do not super()!

* actually, better inherit from _StoreAction

* satisfy pre-commit

* better

* that tiiiny space

* add news

* Update issue template.

* Remove trailing whitespace.

Co-authored-by: Jannis Leidel <jannis@leidel.info>

* Add Plugin Mechanism (#11435)

Initial plugin framework implementation. Adds registration decorator `@conda.plugins.register` and hook `conda_subcommands` this allows simple subcommand registration:

```
import conda.plugins

@conda.plugins.register
def conda_subcommands():
    yield conda.plugins.CondaSubcommand(
        name="my-subcommand",
        summary="...",
        action=<function>,
    )
```

Co-authored-by: Filipe Lains <lains@riseup.net>
Co-authored-by: Katherine Kinnaman <kkinnaman@anaconda.com>
Co-authored-by: Jannis Leidel <jannis@leidel.info>
Co-authored-by: Travis Hathaway <travis.j.hathaway@gmail.com>
Co-authored-by: Ken Odegard <kodegard@anaconda.com>

* Merging latest `main` changes into `feature/plugins` (#11940)

* Add `win-arm64` as a recognized platform (#11778)

* Rename `conda.recipe` to `recipe` (#11774)

* Rename conda.recipe to recipe

* Add news

* Update canary-release action version (#11799)

* Updated conda CLI help to be better for users. (#11708)

Co-authored-by: Jannis Leidel <jannis@leidel.info>
Co-authored-by: Bianca Henderson <bhenderson@anaconda.com>

* 🔄 Synced file(s) with conda/infra (#11827)

Co-authored-by: Conda Bot <conda-bot@users.noreply.github.com>

* Fix pypy win (#11734)

* [pre-commit.ci] pre-commit autoupdate (#11833)

updates:
- [github.com/akaihola/darker: 1.5.0 → 1.5.1](akaihola/darker@1.5.0...1.5.1)
- [github.com/PyCQA/pylint: v2.15.0 → v2.15.2](pylint-dev/pylint@v2.15.0...v2.15.2)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Fixes an issue that we are having with carnary builds (#11803)

* Fixes an issue that we are having with carnary builds

See this issue for more information:
conda/conda-build#4572

* undoing upates to cytoolz

* Update CONTRIBUTING.md (#11816)

Change all references to `triaging` to `issue sorting` per conda/infrastructure#575

* Release 22.9.0 (#11844)

* Updated .authors.yml

* Updated .mailmap

* Updated news

* Updated authorship for 22.9.0

* Updated CHANGELOG for 22.9.0

* Added first contributions

* Update CHANGELOG.md

Co-authored-by: Ken Odegard <kodegard@anaconda.com>

* Update CHANGELOG.md

Co-authored-by: Ken Odegard <kodegard@anaconda.com>

* Update CHANGELOG.md

Co-authored-by: Ken Odegard <kodegard@anaconda.com>

* Update CHANGELOG.md

Co-authored-by: Ken Odegard <kodegard@anaconda.com>

* Update CHANGELOG.md

Co-authored-by: Ken Odegard <kodegard@anaconda.com>

* Add special announcement to changelog.

* Remove emoji to not freak out rever.

Co-authored-by: Jannis Leidel <jannis@leidel.info>
Co-authored-by: Ken Odegard <kodegard@anaconda.com>

* Expose --mach and --arch to devenv script (#11851)

* [pre-commit.ci] pre-commit autoupdate (#11859)

updates:
- [github.com/PyCQA/pylint: v2.15.2 → v2.15.3](pylint-dev/pylint@v2.15.2...v2.15.3)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* 🔄 Synced file(s) with conda/infra (#11853)

Co-authored-by: Conda Bot <conda-bot@users.noreply.github.com>

* Require `ruamel.yaml` (#11868)

* Update requirements.txt (#11842)

Updating the flask to address multiple CVEs including ones listed in #11831

* Grammatical correction in docs (#11870)

* Removed allow_other_channels from conda docs. (#11866)

* Use maintained `ruamel.yaml` (#11837)

* Try using maintained ruamel.yaml

The conda specific fork is maintained as a conda package only
in
https://github.com/conda-forge/ruamel_yaml-feedstock/tree/master/recipe.
My understanding of what's being patched there seems to indicate it's
just the __init__.py file. I'm hoping just a rename of the
import will be enough, or at least surface what real problems exist.

Ref #10691

* Only use ruamel.yaml

* Use updated ruamel.yaml API

stringio

* Cache yaml parsers

* TEMP CI CHANGE, REMOVE BEFORE MERGE

* Add ruamel_yaml fallback

* Add news

* Undo CI fixes

* Update news

Co-authored-by: YuviPanda <yuvipanda@gmail.com>
Co-authored-by: Orion Poplawski <orion@nwra.com>

* document conda-build: pkg_format: 2 (#11881)

* document conda-build: pkg_format: 2
* Apply suggestions from code review

Co-authored-by: Katherine Kinnaman <kkinnaman@anaconda.com>

* Extract script building into helper functions for `conda init --dev` (#11862)

* 🔄 Synced file(s) with conda/infra (#11896)

Co-authored-by: Conda Bot <conda-bot@users.noreply.github.com>

* Refactor conda init shells as argparse choices (#11897)

* remove encoding pragma (not needed in Python 3) (#11880)

* remove encoding pragma (not needed in Python 3)

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Fail with a readable error message if PackageCacheRecords are missing (#11591)

* Fail with a readable warning if PackageCacheRecords are missing

* Minor fixes to error message.

This also doesn’t use cont.io for the tests.

* More test fixes and minor code cleanup.

* Update news/11591-readable-error-message-if-packagecacherecords-missing

Co-authored-by: Jannis Leidel <jannis@leidel.info>
Co-authored-by: Ken Odegard <kodegard@anaconda.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Avoid a specific case where `conda env update` hangs. (#11818)

When using an environment.yml that asks pip to clone a git repo and
that path exists, pip will ask for user input. As we are not in a
context to provide such, tell pip what to do so it doesn't hang on
waiting for user input.

* Download packages in parallel (#11841)

* format package_cache_data.py with black
* download packages in threads
* improve test coverage
* Apply suggestions from code review

Co-authored-by: Jannis Leidel <jannis@leidel.info>

* Removed ref left behind from removing allow_other_channels docs. (#11908)

* Enable one single test for linux-{aarch64, ppc64le} (#11911)

Run one single fast test per docker+qemu emulated linux platform to test that
test execution is possible there (container+tools+dependencies work). Can be
changed / extended to run specific tests in case there are platform related
things to test. Running more tests is time consuming due to emulation
(factor 2-10x slower).

* Fixed broken URL in conda docs (#11902)

* Replaced bad link.

* Updated release note.

* Update xprocess minio pattern (#11924)

* Updated conda cheatsheet for 4.14.0 release. (#11768)

* Fix for conda update and install issue related to notices (#11852)

Co-authored-by: Ken Odegard <kodegard@anaconda.com>

* Add pyupgrade to pre-commit (#11909)

* [pre-commit.ci] auto fixes from pre-commit.com hooks (#11928)

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Introduce git-blame-ignore-revs file, add pyupgrade commit to it (#11929)

* Update ci-skip workflow. (#11935)

This was forgotten when the 3.10 changes were made.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: Cheng H. Lee <chenghlee@users.noreply.github.com>
Co-authored-by: Ken Odegard <kodegard@anaconda.com>
Co-authored-by: Katherine Kinnaman <kkinnaman@anaconda.com>
Co-authored-by: Bianca Henderson <bhenderson@anaconda.com>
Co-authored-by: Conda Bot <18747875+conda-bot@users.noreply.github.com>
Co-authored-by: Conda Bot <conda-bot@users.noreply.github.com>
Co-authored-by: Isuru Fernando <isuruf@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Travis Hathaway <travis.j.hathaway@gmail.com>
Co-authored-by: Shaun Walbridge <46331011+scdub@users.noreply.github.com>
Co-authored-by: Nikhil Raverkar <raverkar.nikhil@gmail.com>
Co-authored-by: Satyam Vyas <vyas.satyam.04@gmail.com>
Co-authored-by: YuviPanda <yuvipanda@gmail.com>
Co-authored-by: Orion Poplawski <orion@nwra.com>
Co-authored-by: Daniel Holth <dholth@anaconda.com>
Co-authored-by: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com>
Co-authored-by: Samson Yeung <samson_gh@onepatchdown.net>
Co-authored-by: Daniel Bast <2790401+dbast@users.noreply.github.com>

* remove unused import; silence typing error (#11951)

* Update feature/plugins branch with current main. (#11961)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Cheng H. Lee <chenghlee@users.noreply.github.com>
Co-authored-by: Ken Odegard <kodegard@anaconda.com>
Co-authored-by: Katherine Kinnaman <kkinnaman@anaconda.com>
Co-authored-by: Jannis Leidel <jannis@leidel.info>
Co-authored-by: Bianca Henderson <bhenderson@anaconda.com>
Co-authored-by: Conda Bot <18747875+conda-bot@users.noreply.github.com>
Co-authored-by: Conda Bot <conda-bot@users.noreply.github.com>
Co-authored-by: Isuru Fernando <isuruf@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Shaun Walbridge <46331011+scdub@users.noreply.github.com>
Co-authored-by: Nikhil Raverkar <raverkar.nikhil@gmail.com>
Co-authored-by: Satyam Vyas <vyas.satyam.04@gmail.com>
Co-authored-by: YuviPanda <yuvipanda@gmail.com>
Co-authored-by: Orion Poplawski <orion@nwra.com>
Co-authored-by: Daniel Holth <dholth@anaconda.com>
Co-authored-by: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com>
Co-authored-by: Samson Yeung <samson_gh@onepatchdown.net>
Co-authored-by: Daniel Bast <2790401+dbast@users.noreply.github.com>
Co-authored-by: wulmer <wulmer@users.noreply.github.com>
Co-authored-by: Mahe Iram Khan <65779580+ForgottenProgramme@users.noreply.github.com>
Co-authored-by: Mahe Iram Khan <maheiramkhan@Mahes-MacBook-Pro.fritz.box>
Co-authored-by: Arqam Hussain <70997750+arq0017@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Mark Harfouche <mark.harfouche@gmail.com>
Co-authored-by: Jaime Rodríguez-Guerra <jaimergp@users.noreply.github.com>
Co-authored-by: Bianca Henderson <beeankha@gmail.com>
Co-authored-by: Filipe Lains <lains@riseup.net>
travishathaway added a commit to travishathaway/conda that referenced this pull request Oct 20, 2022
* Add `win-arm64` as a recognized platform (conda#11778)

* Rename `conda.recipe` to `recipe` (conda#11774)

* Rename conda.recipe to recipe

* Add news

* Update canary-release action version (conda#11799)

* Updated conda CLI help to be better for users. (conda#11708)

Co-authored-by: Jannis Leidel <jannis@leidel.info>
Co-authored-by: Bianca Henderson <bhenderson@anaconda.com>

* 🔄 Synced file(s) with conda/infra (conda#11827)

Co-authored-by: Conda Bot <conda-bot@users.noreply.github.com>

* Fix pypy win (conda#11734)

* [pre-commit.ci] pre-commit autoupdate (conda#11833)

updates:
- [github.com/akaihola/darker: 1.5.0 → 1.5.1](akaihola/darker@1.5.0...1.5.1)
- [github.com/PyCQA/pylint: v2.15.0 → v2.15.2](pylint-dev/pylint@v2.15.0...v2.15.2)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Fixes an issue that we are having with carnary builds (conda#11803)

* Fixes an issue that we are having with carnary builds

See this issue for more information:
conda/conda-build#4572

* undoing upates to cytoolz

* Update CONTRIBUTING.md (conda#11816)

Change all references to `triaging` to `issue sorting` per conda/infrastructure#575

* Release 22.9.0 (conda#11844)

* Updated .authors.yml

* Updated .mailmap

* Updated news

* Updated authorship for 22.9.0

* Updated CHANGELOG for 22.9.0

* Added first contributions

* Update CHANGELOG.md

Co-authored-by: Ken Odegard <kodegard@anaconda.com>

* Update CHANGELOG.md

Co-authored-by: Ken Odegard <kodegard@anaconda.com>

* Update CHANGELOG.md

Co-authored-by: Ken Odegard <kodegard@anaconda.com>

* Update CHANGELOG.md

Co-authored-by: Ken Odegard <kodegard@anaconda.com>

* Update CHANGELOG.md

Co-authored-by: Ken Odegard <kodegard@anaconda.com>

* Add special announcement to changelog.

* Remove emoji to not freak out rever.

Co-authored-by: Jannis Leidel <jannis@leidel.info>
Co-authored-by: Ken Odegard <kodegard@anaconda.com>

* Expose --mach and --arch to devenv script (conda#11851)

* [pre-commit.ci] pre-commit autoupdate (conda#11859)

updates:
- [github.com/PyCQA/pylint: v2.15.2 → v2.15.3](pylint-dev/pylint@v2.15.2...v2.15.3)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* 🔄 Synced file(s) with conda/infra (conda#11853)

Co-authored-by: Conda Bot <conda-bot@users.noreply.github.com>

* Require `ruamel.yaml` (conda#11868)

* Update requirements.txt (conda#11842)

Updating the flask to address multiple CVEs including ones listed in conda#11831

* Grammatical correction in docs (conda#11870)

* Removed allow_other_channels from conda docs. (conda#11866)

* Use maintained `ruamel.yaml` (conda#11837)

* Try using maintained ruamel.yaml

The conda specific fork is maintained as a conda package only
in
https://github.com/conda-forge/ruamel_yaml-feedstock/tree/master/recipe.
My understanding of what's being patched there seems to indicate it's
just the __init__.py file. I'm hoping just a rename of the
import will be enough, or at least surface what real problems exist.

Ref conda#10691

* Only use ruamel.yaml

* Use updated ruamel.yaml API

stringio

* Cache yaml parsers

* TEMP CI CHANGE, REMOVE BEFORE MERGE

* Add ruamel_yaml fallback

* Add news

* Undo CI fixes

* Update news

Co-authored-by: YuviPanda <yuvipanda@gmail.com>
Co-authored-by: Orion Poplawski <orion@nwra.com>

* document conda-build: pkg_format: 2 (conda#11881)

* document conda-build: pkg_format: 2
* Apply suggestions from code review

Co-authored-by: Katherine Kinnaman <kkinnaman@anaconda.com>

* Extract script building into helper functions for `conda init --dev` (conda#11862)

* 🔄 Synced file(s) with conda/infra (conda#11896)

Co-authored-by: Conda Bot <conda-bot@users.noreply.github.com>

* Refactor conda init shells as argparse choices (conda#11897)

* remove encoding pragma (not needed in Python 3) (conda#11880)

* remove encoding pragma (not needed in Python 3)

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Fail with a readable error message if PackageCacheRecords are missing (conda#11591)

* Fail with a readable warning if PackageCacheRecords are missing

* Minor fixes to error message.

This also doesn’t use cont.io for the tests.

* More test fixes and minor code cleanup.

* Update news/11591-readable-error-message-if-packagecacherecords-missing

Co-authored-by: Jannis Leidel <jannis@leidel.info>
Co-authored-by: Ken Odegard <kodegard@anaconda.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Avoid a specific case where `conda env update` hangs. (conda#11818)

When using an environment.yml that asks pip to clone a git repo and
that path exists, pip will ask for user input. As we are not in a
context to provide such, tell pip what to do so it doesn't hang on
waiting for user input.

* Download packages in parallel (conda#11841)

* format package_cache_data.py with black
* download packages in threads
* improve test coverage
* Apply suggestions from code review

Co-authored-by: Jannis Leidel <jannis@leidel.info>

* Removed ref left behind from removing allow_other_channels docs. (conda#11908)

* Enable one single test for linux-{aarch64, ppc64le} (conda#11911)

Run one single fast test per docker+qemu emulated linux platform to test that
test execution is possible there (container+tools+dependencies work). Can be
changed / extended to run specific tests in case there are platform related
things to test. Running more tests is time consuming due to emulation
(factor 2-10x slower).

* Fixed broken URL in conda docs (conda#11902)

* Replaced bad link.

* Updated release note.

* Update xprocess minio pattern (conda#11924)

* Updated conda cheatsheet for 4.14.0 release. (conda#11768)

* Fix for conda update and install issue related to notices (conda#11852)

Co-authored-by: Ken Odegard <kodegard@anaconda.com>

* Add pyupgrade to pre-commit (conda#11909)

* [pre-commit.ci] auto fixes from pre-commit.com hooks (conda#11928)

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Introduce git-blame-ignore-revs file, add pyupgrade commit to it (conda#11929)

* Update ci-skip workflow. (conda#11935)

This was forgotten when the 3.10 changes were made.

* Check for conda before calling shell hook (conda#11374)

* Check conda PS1 hook before calling it
* Check for hook script in fish/xonsh/bash
* Adapt test_init_sh_user_windows

* Removing an outdated piece of documentation (conda#11943)

* Fix bullet point list formatting (conda#11945)

* Change `metadata_signature_status`'s default value (conda#11944)

* Change metadata_signature_status's default value

* Add news

* Fix CI workflows to always run (conda#11941)

* Get rid of the docs check.

* Use all-greens action to use just one job for branch protection.

* add LD_PRELOAD (conda#11926)

Co-authored-by: Mahe Iram Khan <maheiramkhan@Mahes-MacBook-Pro.fritz.box>

* restore CondaMultiError from package downloads (conda#11959)

* restore CondaMultiError from package downloads

* [pre-commit.ci] pre-commit autoupdate (conda#11947)

updates:
- [github.com/asottile/pyupgrade: v2.38.2 → v3.0.0](asottile/pyupgrade@v2.38.2...v3.0.0)
- [github.com/PyCQA/pylint: v2.15.3 → v2.15.4](pylint-dev/pylint@v2.15.3...v2.15.4)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Update a few actions to reduce warnings. (conda#11963)

* Changed mentioned conda version (conda#11810)

* Check for actions updates every week. (conda#11962)

* Bump conda/actions from 22.2.1 to 22.9.0 (conda#11965)

Bumps [conda/actions](https://github.com/conda/actions) from 22.2.1 to 22.9.0.
- [Release notes](https://github.com/conda/actions/releases)
- [Commits](conda/actions@v22.2.1...v22.9.0)

---
updated-dependencies:
- dependency-name: conda/actions
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Remove toolz accumulate (conda#11879)

* substitute for toolz.groupby (conda#11913)

* substitute for toolz.groupby

* Remove custom `argparse` aliases (conda#11747)

* Remove custom aliasing logic

* Move argument inline into `add_subparsers`

This was added in Python 3.7.

* 🔄 Synced file(s) with conda/infra (conda#11969)

Co-authored-by: Conda Bot <conda-bot@users.noreply.github.com>

* UTF 16 and UTF 32 fixes (conda#9946)

* Use a loop to ensure that prefix is replaced even in utf-16 cases

* Specify little endian and big endian

* Fixup the binary replacement

* keep backward portability

* Add some tests

* Make encoding a string in tests

* Just use a loop

* Match from beginning of prefix

* Add a comment as to why we specify -le and -be

* Attempt minimal changes for binary replacement using a single regex

* Fixup regex

* removing unnecessary

* reverting previous state of some test

* fixing more issues with tests

* updates to enhance code readability

* updating type hint to use Enum

Co-authored-by: Jannis Leidel <jannis@leidel.info>
Co-authored-by: Travis Hathaway <travis.j.hathaway@gmail.com>

* Replace "experimental solver" with just "solver" (conda#11889)

* Replace "experimental solver" with just solver

* mock is part of unittest

* add newline for clearer error message

* one more instance

* pre-commit fixes

* PendingDeprecationWarning preferred at this stage

* argparse.Action base class implements __call__ abstractly - do not super()!

* actually, better inherit from _StoreAction

* satisfy pre-commit

* better

* that tiiiny space

* add news

* Update issue template.

* Remove trailing whitespace.

Co-authored-by: Jannis Leidel <jannis@leidel.info>

* Add Plugin Mechanism (conda#11435)

Initial plugin framework implementation. Adds registration decorator `@conda.plugins.register` and hook `conda_subcommands` this allows simple subcommand registration:

```
import conda.plugins

@conda.plugins.register
def conda_subcommands():
    yield conda.plugins.CondaSubcommand(
        name="my-subcommand",
        summary="...",
        action=<function>,
    )
```

Co-authored-by: Filipe Lains <lains@riseup.net>
Co-authored-by: Katherine Kinnaman <kkinnaman@anaconda.com>
Co-authored-by: Jannis Leidel <jannis@leidel.info>
Co-authored-by: Travis Hathaway <travis.j.hathaway@gmail.com>
Co-authored-by: Ken Odegard <kodegard@anaconda.com>

* Merging latest `main` changes into `feature/plugins` (conda#11940)

* Add `win-arm64` as a recognized platform (conda#11778)

* Rename `conda.recipe` to `recipe` (conda#11774)

* Rename conda.recipe to recipe

* Add news

* Update canary-release action version (conda#11799)

* Updated conda CLI help to be better for users. (conda#11708)

Co-authored-by: Jannis Leidel <jannis@leidel.info>
Co-authored-by: Bianca Henderson <bhenderson@anaconda.com>

* 🔄 Synced file(s) with conda/infra (conda#11827)

Co-authored-by: Conda Bot <conda-bot@users.noreply.github.com>

* Fix pypy win (conda#11734)

* [pre-commit.ci] pre-commit autoupdate (conda#11833)

updates:
- [github.com/akaihola/darker: 1.5.0 → 1.5.1](akaihola/darker@1.5.0...1.5.1)
- [github.com/PyCQA/pylint: v2.15.0 → v2.15.2](pylint-dev/pylint@v2.15.0...v2.15.2)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Fixes an issue that we are having with carnary builds (conda#11803)

* Fixes an issue that we are having with carnary builds

See this issue for more information:
conda/conda-build#4572

* undoing upates to cytoolz

* Update CONTRIBUTING.md (conda#11816)

Change all references to `triaging` to `issue sorting` per conda/infrastructure#575

* Release 22.9.0 (conda#11844)

* Updated .authors.yml

* Updated .mailmap

* Updated news

* Updated authorship for 22.9.0

* Updated CHANGELOG for 22.9.0

* Added first contributions

* Update CHANGELOG.md

Co-authored-by: Ken Odegard <kodegard@anaconda.com>

* Update CHANGELOG.md

Co-authored-by: Ken Odegard <kodegard@anaconda.com>

* Update CHANGELOG.md

Co-authored-by: Ken Odegard <kodegard@anaconda.com>

* Update CHANGELOG.md

Co-authored-by: Ken Odegard <kodegard@anaconda.com>

* Update CHANGELOG.md

Co-authored-by: Ken Odegard <kodegard@anaconda.com>

* Add special announcement to changelog.

* Remove emoji to not freak out rever.

Co-authored-by: Jannis Leidel <jannis@leidel.info>
Co-authored-by: Ken Odegard <kodegard@anaconda.com>

* Expose --mach and --arch to devenv script (conda#11851)

* [pre-commit.ci] pre-commit autoupdate (conda#11859)

updates:
- [github.com/PyCQA/pylint: v2.15.2 → v2.15.3](pylint-dev/pylint@v2.15.2...v2.15.3)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* 🔄 Synced file(s) with conda/infra (conda#11853)

Co-authored-by: Conda Bot <conda-bot@users.noreply.github.com>

* Require `ruamel.yaml` (conda#11868)

* Update requirements.txt (conda#11842)

Updating the flask to address multiple CVEs including ones listed in conda#11831

* Grammatical correction in docs (conda#11870)

* Removed allow_other_channels from conda docs. (conda#11866)

* Use maintained `ruamel.yaml` (conda#11837)

* Try using maintained ruamel.yaml

The conda specific fork is maintained as a conda package only
in
https://github.com/conda-forge/ruamel_yaml-feedstock/tree/master/recipe.
My understanding of what's being patched there seems to indicate it's
just the __init__.py file. I'm hoping just a rename of the
import will be enough, or at least surface what real problems exist.

Ref conda#10691

* Only use ruamel.yaml

* Use updated ruamel.yaml API

stringio

* Cache yaml parsers

* TEMP CI CHANGE, REMOVE BEFORE MERGE

* Add ruamel_yaml fallback

* Add news

* Undo CI fixes

* Update news

Co-authored-by: YuviPanda <yuvipanda@gmail.com>
Co-authored-by: Orion Poplawski <orion@nwra.com>

* document conda-build: pkg_format: 2 (conda#11881)

* document conda-build: pkg_format: 2
* Apply suggestions from code review

Co-authored-by: Katherine Kinnaman <kkinnaman@anaconda.com>

* Extract script building into helper functions for `conda init --dev` (conda#11862)

* 🔄 Synced file(s) with conda/infra (conda#11896)

Co-authored-by: Conda Bot <conda-bot@users.noreply.github.com>

* Refactor conda init shells as argparse choices (conda#11897)

* remove encoding pragma (not needed in Python 3) (conda#11880)

* remove encoding pragma (not needed in Python 3)

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Fail with a readable error message if PackageCacheRecords are missing (conda#11591)

* Fail with a readable warning if PackageCacheRecords are missing

* Minor fixes to error message.

This also doesn’t use cont.io for the tests.

* More test fixes and minor code cleanup.

* Update news/11591-readable-error-message-if-packagecacherecords-missing

Co-authored-by: Jannis Leidel <jannis@leidel.info>
Co-authored-by: Ken Odegard <kodegard@anaconda.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Avoid a specific case where `conda env update` hangs. (conda#11818)

When using an environment.yml that asks pip to clone a git repo and
that path exists, pip will ask for user input. As we are not in a
context to provide such, tell pip what to do so it doesn't hang on
waiting for user input.

* Download packages in parallel (conda#11841)

* format package_cache_data.py with black
* download packages in threads
* improve test coverage
* Apply suggestions from code review

Co-authored-by: Jannis Leidel <jannis@leidel.info>

* Removed ref left behind from removing allow_other_channels docs. (conda#11908)

* Enable one single test for linux-{aarch64, ppc64le} (conda#11911)

Run one single fast test per docker+qemu emulated linux platform to test that
test execution is possible there (container+tools+dependencies work). Can be
changed / extended to run specific tests in case there are platform related
things to test. Running more tests is time consuming due to emulation
(factor 2-10x slower).

* Fixed broken URL in conda docs (conda#11902)

* Replaced bad link.

* Updated release note.

* Update xprocess minio pattern (conda#11924)

* Updated conda cheatsheet for 4.14.0 release. (conda#11768)

* Fix for conda update and install issue related to notices (conda#11852)

Co-authored-by: Ken Odegard <kodegard@anaconda.com>

* Add pyupgrade to pre-commit (conda#11909)

* [pre-commit.ci] auto fixes from pre-commit.com hooks (conda#11928)

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Introduce git-blame-ignore-revs file, add pyupgrade commit to it (conda#11929)

* Update ci-skip workflow. (conda#11935)

This was forgotten when the 3.10 changes were made.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: Cheng H. Lee <chenghlee@users.noreply.github.com>
Co-authored-by: Ken Odegard <kodegard@anaconda.com>
Co-authored-by: Katherine Kinnaman <kkinnaman@anaconda.com>
Co-authored-by: Bianca Henderson <bhenderson@anaconda.com>
Co-authored-by: Conda Bot <18747875+conda-bot@users.noreply.github.com>
Co-authored-by: Conda Bot <conda-bot@users.noreply.github.com>
Co-authored-by: Isuru Fernando <isuruf@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Travis Hathaway <travis.j.hathaway@gmail.com>
Co-authored-by: Shaun Walbridge <46331011+scdub@users.noreply.github.com>
Co-authored-by: Nikhil Raverkar <raverkar.nikhil@gmail.com>
Co-authored-by: Satyam Vyas <vyas.satyam.04@gmail.com>
Co-authored-by: YuviPanda <yuvipanda@gmail.com>
Co-authored-by: Orion Poplawski <orion@nwra.com>
Co-authored-by: Daniel Holth <dholth@anaconda.com>
Co-authored-by: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com>
Co-authored-by: Samson Yeung <samson_gh@onepatchdown.net>
Co-authored-by: Daniel Bast <2790401+dbast@users.noreply.github.com>

* remove unused import; silence typing error (conda#11951)

* Update feature/plugins branch with current main. (conda#11961)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Cheng H. Lee <chenghlee@users.noreply.github.com>
Co-authored-by: Ken Odegard <kodegard@anaconda.com>
Co-authored-by: Katherine Kinnaman <kkinnaman@anaconda.com>
Co-authored-by: Jannis Leidel <jannis@leidel.info>
Co-authored-by: Bianca Henderson <bhenderson@anaconda.com>
Co-authored-by: Conda Bot <18747875+conda-bot@users.noreply.github.com>
Co-authored-by: Conda Bot <conda-bot@users.noreply.github.com>
Co-authored-by: Isuru Fernando <isuruf@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Shaun Walbridge <46331011+scdub@users.noreply.github.com>
Co-authored-by: Nikhil Raverkar <raverkar.nikhil@gmail.com>
Co-authored-by: Satyam Vyas <vyas.satyam.04@gmail.com>
Co-authored-by: YuviPanda <yuvipanda@gmail.com>
Co-authored-by: Orion Poplawski <orion@nwra.com>
Co-authored-by: Daniel Holth <dholth@anaconda.com>
Co-authored-by: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com>
Co-authored-by: Samson Yeung <samson_gh@onepatchdown.net>
Co-authored-by: Daniel Bast <2790401+dbast@users.noreply.github.com>
Co-authored-by: wulmer <wulmer@users.noreply.github.com>
Co-authored-by: Mahe Iram Khan <65779580+ForgottenProgramme@users.noreply.github.com>
Co-authored-by: Mahe Iram Khan <maheiramkhan@Mahes-MacBook-Pro.fritz.box>
Co-authored-by: Arqam Hussain <70997750+arq0017@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Mark Harfouche <mark.harfouche@gmail.com>
Co-authored-by: Jaime Rodríguez-Guerra <jaimergp@users.noreply.github.com>
Co-authored-by: Bianca Henderson <beeankha@gmail.com>
Co-authored-by: Filipe Lains <lains@riseup.net>
travishathaway added a commit to travishathaway/conda that referenced this pull request Oct 20, 2022
* Add `win-arm64` as a recognized platform (conda#11778)

* Rename `conda.recipe` to `recipe` (conda#11774)

* Rename conda.recipe to recipe

* Add news

* Update canary-release action version (conda#11799)

* Updated conda CLI help to be better for users. (conda#11708)

Co-authored-by: Jannis Leidel <jannis@leidel.info>
Co-authored-by: Bianca Henderson <bhenderson@anaconda.com>

* 🔄 Synced file(s) with conda/infra (conda#11827)

Co-authored-by: Conda Bot <conda-bot@users.noreply.github.com>

* Fix pypy win (conda#11734)

* [pre-commit.ci] pre-commit autoupdate (conda#11833)

updates:
- [github.com/akaihola/darker: 1.5.0 → 1.5.1](akaihola/darker@1.5.0...1.5.1)
- [github.com/PyCQA/pylint: v2.15.0 → v2.15.2](pylint-dev/pylint@v2.15.0...v2.15.2)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Fixes an issue that we are having with carnary builds (conda#11803)

* Fixes an issue that we are having with carnary builds

See this issue for more information:
conda/conda-build#4572

* undoing upates to cytoolz

* Update CONTRIBUTING.md (conda#11816)

Change all references to `triaging` to `issue sorting` per conda/infrastructure#575

* Release 22.9.0 (conda#11844)

* Updated .authors.yml

* Updated .mailmap

* Updated news

* Updated authorship for 22.9.0

* Updated CHANGELOG for 22.9.0

* Added first contributions

* Update CHANGELOG.md

Co-authored-by: Ken Odegard <kodegard@anaconda.com>

* Update CHANGELOG.md

Co-authored-by: Ken Odegard <kodegard@anaconda.com>

* Update CHANGELOG.md

Co-authored-by: Ken Odegard <kodegard@anaconda.com>

* Update CHANGELOG.md

Co-authored-by: Ken Odegard <kodegard@anaconda.com>

* Update CHANGELOG.md

Co-authored-by: Ken Odegard <kodegard@anaconda.com>

* Add special announcement to changelog.

* Remove emoji to not freak out rever.

Co-authored-by: Jannis Leidel <jannis@leidel.info>
Co-authored-by: Ken Odegard <kodegard@anaconda.com>

* Expose --mach and --arch to devenv script (conda#11851)

* [pre-commit.ci] pre-commit autoupdate (conda#11859)

updates:
- [github.com/PyCQA/pylint: v2.15.2 → v2.15.3](pylint-dev/pylint@v2.15.2...v2.15.3)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* 🔄 Synced file(s) with conda/infra (conda#11853)

Co-authored-by: Conda Bot <conda-bot@users.noreply.github.com>

* Require `ruamel.yaml` (conda#11868)

* Update requirements.txt (conda#11842)

Updating the flask to address multiple CVEs including ones listed in conda#11831

* Grammatical correction in docs (conda#11870)

* Removed allow_other_channels from conda docs. (conda#11866)

* Use maintained `ruamel.yaml` (conda#11837)

* Try using maintained ruamel.yaml

The conda specific fork is maintained as a conda package only
in
https://github.com/conda-forge/ruamel_yaml-feedstock/tree/master/recipe.
My understanding of what's being patched there seems to indicate it's
just the __init__.py file. I'm hoping just a rename of the
import will be enough, or at least surface what real problems exist.

Ref conda#10691

* Only use ruamel.yaml

* Use updated ruamel.yaml API

stringio

* Cache yaml parsers

* TEMP CI CHANGE, REMOVE BEFORE MERGE

* Add ruamel_yaml fallback

* Add news

* Undo CI fixes

* Update news

Co-authored-by: YuviPanda <yuvipanda@gmail.com>
Co-authored-by: Orion Poplawski <orion@nwra.com>

* document conda-build: pkg_format: 2 (conda#11881)

* document conda-build: pkg_format: 2
* Apply suggestions from code review

Co-authored-by: Katherine Kinnaman <kkinnaman@anaconda.com>

* Extract script building into helper functions for `conda init --dev` (conda#11862)

* 🔄 Synced file(s) with conda/infra (conda#11896)

Co-authored-by: Conda Bot <conda-bot@users.noreply.github.com>

* Refactor conda init shells as argparse choices (conda#11897)

* remove encoding pragma (not needed in Python 3) (conda#11880)

* remove encoding pragma (not needed in Python 3)

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Fail with a readable error message if PackageCacheRecords are missing (conda#11591)

* Fail with a readable warning if PackageCacheRecords are missing

* Minor fixes to error message.

This also doesn’t use cont.io for the tests.

* More test fixes and minor code cleanup.

* Update news/11591-readable-error-message-if-packagecacherecords-missing

Co-authored-by: Jannis Leidel <jannis@leidel.info>
Co-authored-by: Ken Odegard <kodegard@anaconda.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Avoid a specific case where `conda env update` hangs. (conda#11818)

When using an environment.yml that asks pip to clone a git repo and
that path exists, pip will ask for user input. As we are not in a
context to provide such, tell pip what to do so it doesn't hang on
waiting for user input.

* Download packages in parallel (conda#11841)

* format package_cache_data.py with black
* download packages in threads
* improve test coverage
* Apply suggestions from code review

Co-authored-by: Jannis Leidel <jannis@leidel.info>

* Removed ref left behind from removing allow_other_channels docs. (conda#11908)

* Enable one single test for linux-{aarch64, ppc64le} (conda#11911)

Run one single fast test per docker+qemu emulated linux platform to test that
test execution is possible there (container+tools+dependencies work). Can be
changed / extended to run specific tests in case there are platform related
things to test. Running more tests is time consuming due to emulation
(factor 2-10x slower).

* Fixed broken URL in conda docs (conda#11902)

* Replaced bad link.

* Updated release note.

* Update xprocess minio pattern (conda#11924)

* Updated conda cheatsheet for 4.14.0 release. (conda#11768)

* Fix for conda update and install issue related to notices (conda#11852)

Co-authored-by: Ken Odegard <kodegard@anaconda.com>

* Add pyupgrade to pre-commit (conda#11909)

* [pre-commit.ci] auto fixes from pre-commit.com hooks (conda#11928)

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Introduce git-blame-ignore-revs file, add pyupgrade commit to it (conda#11929)

* Update ci-skip workflow. (conda#11935)

This was forgotten when the 3.10 changes were made.

* Check for conda before calling shell hook (conda#11374)

* Check conda PS1 hook before calling it
* Check for hook script in fish/xonsh/bash
* Adapt test_init_sh_user_windows

* Removing an outdated piece of documentation (conda#11943)

* Fix bullet point list formatting (conda#11945)

* Change `metadata_signature_status`'s default value (conda#11944)

* Change metadata_signature_status's default value

* Add news

* Fix CI workflows to always run (conda#11941)

* Get rid of the docs check.

* Use all-greens action to use just one job for branch protection.

* add LD_PRELOAD (conda#11926)

Co-authored-by: Mahe Iram Khan <maheiramkhan@Mahes-MacBook-Pro.fritz.box>

* restore CondaMultiError from package downloads (conda#11959)

* restore CondaMultiError from package downloads

* [pre-commit.ci] pre-commit autoupdate (conda#11947)

updates:
- [github.com/asottile/pyupgrade: v2.38.2 → v3.0.0](asottile/pyupgrade@v2.38.2...v3.0.0)
- [github.com/PyCQA/pylint: v2.15.3 → v2.15.4](pylint-dev/pylint@v2.15.3...v2.15.4)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Update a few actions to reduce warnings. (conda#11963)

* Changed mentioned conda version (conda#11810)

* Check for actions updates every week. (conda#11962)

* Bump conda/actions from 22.2.1 to 22.9.0 (conda#11965)

Bumps [conda/actions](https://github.com/conda/actions) from 22.2.1 to 22.9.0.
- [Release notes](https://github.com/conda/actions/releases)
- [Commits](conda/actions@v22.2.1...v22.9.0)

---
updated-dependencies:
- dependency-name: conda/actions
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Remove toolz accumulate (conda#11879)

* substitute for toolz.groupby (conda#11913)

* substitute for toolz.groupby

* Remove custom `argparse` aliases (conda#11747)

* Remove custom aliasing logic

* Move argument inline into `add_subparsers`

This was added in Python 3.7.

* 🔄 Synced file(s) with conda/infra (conda#11969)

Co-authored-by: Conda Bot <conda-bot@users.noreply.github.com>

* UTF 16 and UTF 32 fixes (conda#9946)

* Use a loop to ensure that prefix is replaced even in utf-16 cases

* Specify little endian and big endian

* Fixup the binary replacement

* keep backward portability

* Add some tests

* Make encoding a string in tests

* Just use a loop

* Match from beginning of prefix

* Add a comment as to why we specify -le and -be

* Attempt minimal changes for binary replacement using a single regex

* Fixup regex

* removing unnecessary

* reverting previous state of some test

* fixing more issues with tests

* updates to enhance code readability

* updating type hint to use Enum

Co-authored-by: Jannis Leidel <jannis@leidel.info>
Co-authored-by: Travis Hathaway <travis.j.hathaway@gmail.com>

* Replace "experimental solver" with just "solver" (conda#11889)

* Replace "experimental solver" with just solver

* mock is part of unittest

* add newline for clearer error message

* one more instance

* pre-commit fixes

* PendingDeprecationWarning preferred at this stage

* argparse.Action base class implements __call__ abstractly - do not super()!

* actually, better inherit from _StoreAction

* satisfy pre-commit

* better

* that tiiiny space

* add news

* Update issue template.

* Remove trailing whitespace.

Co-authored-by: Jannis Leidel <jannis@leidel.info>

* Add Plugin Mechanism (conda#11435)

Initial plugin framework implementation. Adds registration decorator `@conda.plugins.register` and hook `conda_subcommands` this allows simple subcommand registration:

```
import conda.plugins

@conda.plugins.register
def conda_subcommands():
    yield conda.plugins.CondaSubcommand(
        name="my-subcommand",
        summary="...",
        action=<function>,
    )
```

Co-authored-by: Filipe Lains <lains@riseup.net>
Co-authored-by: Katherine Kinnaman <kkinnaman@anaconda.com>
Co-authored-by: Jannis Leidel <jannis@leidel.info>
Co-authored-by: Travis Hathaway <travis.j.hathaway@gmail.com>
Co-authored-by: Ken Odegard <kodegard@anaconda.com>

* Merging latest `main` changes into `feature/plugins` (conda#11940)

* Add `win-arm64` as a recognized platform (conda#11778)

* Rename `conda.recipe` to `recipe` (conda#11774)

* Rename conda.recipe to recipe

* Add news

* Update canary-release action version (conda#11799)

* Updated conda CLI help to be better for users. (conda#11708)

Co-authored-by: Jannis Leidel <jannis@leidel.info>
Co-authored-by: Bianca Henderson <bhenderson@anaconda.com>

* 🔄 Synced file(s) with conda/infra (conda#11827)

Co-authored-by: Conda Bot <conda-bot@users.noreply.github.com>

* Fix pypy win (conda#11734)

* [pre-commit.ci] pre-commit autoupdate (conda#11833)

updates:
- [github.com/akaihola/darker: 1.5.0 → 1.5.1](akaihola/darker@1.5.0...1.5.1)
- [github.com/PyCQA/pylint: v2.15.0 → v2.15.2](pylint-dev/pylint@v2.15.0...v2.15.2)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Fixes an issue that we are having with carnary builds (conda#11803)

* Fixes an issue that we are having with carnary builds

See this issue for more information:
conda/conda-build#4572

* undoing upates to cytoolz

* Update CONTRIBUTING.md (conda#11816)

Change all references to `triaging` to `issue sorting` per conda/infrastructure#575

* Release 22.9.0 (conda#11844)

* Updated .authors.yml

* Updated .mailmap

* Updated news

* Updated authorship for 22.9.0

* Updated CHANGELOG for 22.9.0

* Added first contributions

* Update CHANGELOG.md

Co-authored-by: Ken Odegard <kodegard@anaconda.com>

* Update CHANGELOG.md

Co-authored-by: Ken Odegard <kodegard@anaconda.com>

* Update CHANGELOG.md

Co-authored-by: Ken Odegard <kodegard@anaconda.com>

* Update CHANGELOG.md

Co-authored-by: Ken Odegard <kodegard@anaconda.com>

* Update CHANGELOG.md

Co-authored-by: Ken Odegard <kodegard@anaconda.com>

* Add special announcement to changelog.

* Remove emoji to not freak out rever.

Co-authored-by: Jannis Leidel <jannis@leidel.info>
Co-authored-by: Ken Odegard <kodegard@anaconda.com>

* Expose --mach and --arch to devenv script (conda#11851)

* [pre-commit.ci] pre-commit autoupdate (conda#11859)

updates:
- [github.com/PyCQA/pylint: v2.15.2 → v2.15.3](pylint-dev/pylint@v2.15.2...v2.15.3)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* 🔄 Synced file(s) with conda/infra (conda#11853)

Co-authored-by: Conda Bot <conda-bot@users.noreply.github.com>

* Require `ruamel.yaml` (conda#11868)

* Update requirements.txt (conda#11842)

Updating the flask to address multiple CVEs including ones listed in conda#11831

* Grammatical correction in docs (conda#11870)

* Removed allow_other_channels from conda docs. (conda#11866)

* Use maintained `ruamel.yaml` (conda#11837)

* Try using maintained ruamel.yaml

The conda specific fork is maintained as a conda package only
in
https://github.com/conda-forge/ruamel_yaml-feedstock/tree/master/recipe.
My understanding of what's being patched there seems to indicate it's
just the __init__.py file. I'm hoping just a rename of the
import will be enough, or at least surface what real problems exist.

Ref conda#10691

* Only use ruamel.yaml

* Use updated ruamel.yaml API

stringio

* Cache yaml parsers

* TEMP CI CHANGE, REMOVE BEFORE MERGE

* Add ruamel_yaml fallback

* Add news

* Undo CI fixes

* Update news

Co-authored-by: YuviPanda <yuvipanda@gmail.com>
Co-authored-by: Orion Poplawski <orion@nwra.com>

* document conda-build: pkg_format: 2 (conda#11881)

* document conda-build: pkg_format: 2
* Apply suggestions from code review

Co-authored-by: Katherine Kinnaman <kkinnaman@anaconda.com>

* Extract script building into helper functions for `conda init --dev` (conda#11862)

* 🔄 Synced file(s) with conda/infra (conda#11896)

Co-authored-by: Conda Bot <conda-bot@users.noreply.github.com>

* Refactor conda init shells as argparse choices (conda#11897)

* remove encoding pragma (not needed in Python 3) (conda#11880)

* remove encoding pragma (not needed in Python 3)

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Fail with a readable error message if PackageCacheRecords are missing (conda#11591)

* Fail with a readable warning if PackageCacheRecords are missing

* Minor fixes to error message.

This also doesn’t use cont.io for the tests.

* More test fixes and minor code cleanup.

* Update news/11591-readable-error-message-if-packagecacherecords-missing

Co-authored-by: Jannis Leidel <jannis@leidel.info>
Co-authored-by: Ken Odegard <kodegard@anaconda.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Avoid a specific case where `conda env update` hangs. (conda#11818)

When using an environment.yml that asks pip to clone a git repo and
that path exists, pip will ask for user input. As we are not in a
context to provide such, tell pip what to do so it doesn't hang on
waiting for user input.

* Download packages in parallel (conda#11841)

* format package_cache_data.py with black
* download packages in threads
* improve test coverage
* Apply suggestions from code review

Co-authored-by: Jannis Leidel <jannis@leidel.info>

* Removed ref left behind from removing allow_other_channels docs. (conda#11908)

* Enable one single test for linux-{aarch64, ppc64le} (conda#11911)

Run one single fast test per docker+qemu emulated linux platform to test that
test execution is possible there (container+tools+dependencies work). Can be
changed / extended to run specific tests in case there are platform related
things to test. Running more tests is time consuming due to emulation
(factor 2-10x slower).

* Fixed broken URL in conda docs (conda#11902)

* Replaced bad link.

* Updated release note.

* Update xprocess minio pattern (conda#11924)

* Updated conda cheatsheet for 4.14.0 release. (conda#11768)

* Fix for conda update and install issue related to notices (conda#11852)

Co-authored-by: Ken Odegard <kodegard@anaconda.com>

* Add pyupgrade to pre-commit (conda#11909)

* [pre-commit.ci] auto fixes from pre-commit.com hooks (conda#11928)

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Introduce git-blame-ignore-revs file, add pyupgrade commit to it (conda#11929)

* Update ci-skip workflow. (conda#11935)

This was forgotten when the 3.10 changes were made.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: Cheng H. Lee <chenghlee@users.noreply.github.com>
Co-authored-by: Ken Odegard <kodegard@anaconda.com>
Co-authored-by: Katherine Kinnaman <kkinnaman@anaconda.com>
Co-authored-by: Bianca Henderson <bhenderson@anaconda.com>
Co-authored-by: Conda Bot <18747875+conda-bot@users.noreply.github.com>
Co-authored-by: Conda Bot <conda-bot@users.noreply.github.com>
Co-authored-by: Isuru Fernando <isuruf@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Travis Hathaway <travis.j.hathaway@gmail.com>
Co-authored-by: Shaun Walbridge <46331011+scdub@users.noreply.github.com>
Co-authored-by: Nikhil Raverkar <raverkar.nikhil@gmail.com>
Co-authored-by: Satyam Vyas <vyas.satyam.04@gmail.com>
Co-authored-by: YuviPanda <yuvipanda@gmail.com>
Co-authored-by: Orion Poplawski <orion@nwra.com>
Co-authored-by: Daniel Holth <dholth@anaconda.com>
Co-authored-by: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com>
Co-authored-by: Samson Yeung <samson_gh@onepatchdown.net>
Co-authored-by: Daniel Bast <2790401+dbast@users.noreply.github.com>

* remove unused import; silence typing error (conda#11951)

* Update feature/plugins branch with current main. (conda#11961)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Cheng H. Lee <chenghlee@users.noreply.github.com>
Co-authored-by: Ken Odegard <kodegard@anaconda.com>
Co-authored-by: Katherine Kinnaman <kkinnaman@anaconda.com>
Co-authored-by: Jannis Leidel <jannis@leidel.info>
Co-authored-by: Bianca Henderson <bhenderson@anaconda.com>
Co-authored-by: Conda Bot <18747875+conda-bot@users.noreply.github.com>
Co-authored-by: Conda Bot <conda-bot@users.noreply.github.com>
Co-authored-by: Isuru Fernando <isuruf@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Shaun Walbridge <46331011+scdub@users.noreply.github.com>
Co-authored-by: Nikhil Raverkar <raverkar.nikhil@gmail.com>
Co-authored-by: Satyam Vyas <vyas.satyam.04@gmail.com>
Co-authored-by: YuviPanda <yuvipanda@gmail.com>
Co-authored-by: Orion Poplawski <orion@nwra.com>
Co-authored-by: Daniel Holth <dholth@anaconda.com>
Co-authored-by: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com>
Co-authored-by: Samson Yeung <samson_gh@onepatchdown.net>
Co-authored-by: Daniel Bast <2790401+dbast@users.noreply.github.com>
Co-authored-by: wulmer <wulmer@users.noreply.github.com>
Co-authored-by: Mahe Iram Khan <65779580+ForgottenProgramme@users.noreply.github.com>
Co-authored-by: Mahe Iram Khan <maheiramkhan@Mahes-MacBook-Pro.fritz.box>
Co-authored-by: Arqam Hussain <70997750+arq0017@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Mark Harfouche <mark.harfouche@gmail.com>
Co-authored-by: Jaime Rodríguez-Guerra <jaimergp@users.noreply.github.com>
Co-authored-by: Bianca Henderson <beeankha@gmail.com>
Co-authored-by: Filipe Lains <lains@riseup.net>
jeskowagner pushed a commit to jeskowagner/conda that referenced this pull request Nov 9, 2022
* Use a loop to ensure that prefix is replaced even in utf-16 cases

* Specify little endian and big endian

* Fixup the binary replacement

* keep backward portability

* Add some tests

* Make encoding a string in tests

* Just use a loop

* Match from beginning of prefix

* Add a comment as to why we specify -le and -be

* Attempt minimal changes for binary replacement using a single regex

* Fixup regex

* removing unnecessary

* reverting previous state of some test

* fixing more issues with tests

* updates to enhance code readability

* updating type hint to use Enum

Co-authored-by: Jannis Leidel <jannis@leidel.info>
Co-authored-by: Travis Hathaway <travis.j.hathaway@gmail.com>
jezdez added a commit to conda-forge/conda-feedstock that referenced this pull request Nov 30, 2022
@github-actions github-actions bot added the locked [bot] locked due to inactivity label Oct 19, 2023
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Oct 19, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
cla-signed [bot] added once the contributor has signed the CLA locked [bot] locked due to inactivity
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

Remove the need for conda-forge to be patched at release time replace path placeholder even if it's stored in a wide string
7 participants