Our announcements are published to an RSS feed here.
CentOS 7 docker images are now the default
We are moving all
linux-64jobs to use CentOS 7-based docker images. This will help users avoid
conda/mambasolver errors where dependencies that need CentOS 7 cannot be installed. Importantly, our compiler stack will still default to using a CentOS 6 sysroot unless the recipe explicitly lists the CentoOS 7 sysroot package. This build configuration means that our core system ABI on linux will remain largely CentOS 6-compatible, keeping support for older systems largely intact. We will reconsider moving the default ABI to CentOS 7 at a later date.
cloud.drone.iono longer working
cloud.drone.ioservice we use for
aarch64builds is no longer accepting our API requests for triggering builds. We have been in contact with them, but have been unable to resolve the issue. Going forward, we will still be adding feedstocks to
cloud.drone.iobut we have moved all
aarch64builds to emulated builds on
Azure. Cross-compilers are available as well for resource-intensive builds. Please rerender your feedstock as needed to get the updated configuration.
conda-forge now uses mambabuild as default
GCC 10 and clang 12 as default compilers for Linux and macOS
These compilers will become the default for building packages in conda-forge. One notable change in GCC 10 is that the -fopenmp flag in FFLAGS is dropped.
python 3.6 is now dropped when building conda-forge packages
python 3.6 is end-of-life in December 2021 and we are dropping support for it early to avoid having to rebuild packages as part of python 3.10 migration as that would save lots of CI resources.
defaultschannel is now dropped when building conda-forge packages
You can get the previous behaviour by using the
conda-forgeis now citable!
You can now cite
conda-forgeusing our Zenodo entry! This entry credits the entire
conda-forgecommunity for its hard work in building our amazing ecosystem.
Moving to CentOS 7 and CentOS 6 End-of-Life
conda-forge’s compiler stack uses repackaged libraries from CentOS 6 to supply certain libraries, notably
glibcwhen building recipes. We currently default to using CentOS 6 with the
glibc2.12 ABI. However, CentOS 6 reached end-of-life in November 2020 and increasingly software packages require at least CentOS 7 with the
glibc2.17 ABI. We also realize that due to recent events, some communities that may have been planning to skip CentOS 7 and move straight to CentOS 8 might be reconsidering those plans. Further, they may not be ready for a full-scale switch to CentOS 7. Thus the
conda-forgecore team has decided to delay moving to CentOS 7 until sometime early next year, likely the end of January 2021 at the earliest. We are actively looking for feedback from our users on this issue. Please do get in touch if you have comments or concerns!
In an effort to better secure
conda-forge, we are developing a process to validate artifacts before they are uploaded to
anaconda.org. This validation will look for various security-related items, such as artifacts that overwrite key pieces of certain packages. While this process is in development, we will not be rejecting uploads. However, we will start scanning our current artifacts and working with the maintainers of those artifacts to mark broken any which we deem a security risk. We will also be running validation on new artifacts being upload and will report any issues back to feedstocks. At a future date, artifacts that do not pass validation will not be uploaded.
Compiler Upgrade to
We will be upgrading all
GCC-based compilers to version
9.3.0on all platforms. This upgrade will not affect
C++code, but will require a rebuild of all feedstocks that use
FORTRANdue to a change in the
SONAME. During this rebuild, we will keep the old compiler versions in production, temporarily doubling the build matrix. Once the migration is deemed complete, these old compiler versions will be removed.
Completed New Staging Process for
We have now completed rolling out the new staging process for uploads to anaconda.org. Direct uploads to the
conda-forgechannel will no longer work. If you are having trouble with package uploads, please rerender your feedstock with the latest version of
conda-smithy. As always, if you need help, bump us on Gitter or GitHub!
Fixed Maintenance Process for Feedstock Teams
We have fixed a bug where the maintainers of feedstocks listed in the
meta.yamldid not match those listed in the GitHub team. Due to this change, you may notice emails from GitHub informing you that you have been removed from a GitHub team if you have recently removed yourself from a feedstock via changing the
meta.yaml. A similar fix has been applied for maintenance teams as well, though you will not see emails from this fix.
sysrootNow Available for
We are very excited to announce that new compilers based on repackaged
sysroot’s from CentOS 7 are now available for all
linux-*platforms. These compilers will be the default going forward for any
linux-64platform, we have also built the CentOS 6
sysrootand set it as the default, consistent with our current compilers. To use the CentOS 7
linux-64, add a requirement of
sysroot_linux-64 2.17to the build section of your recipe. You also need to set the proper Docker image in your
conda_build_config.yaml. See Using CentOS 7 for details.
Strict channel priority in builds for OSX and Linux
We have changed the OSX and Linux platforms to enforce strict channel priority in package builds. This change means that if a package is available in the
condasolver will not consider any versions of the package from other channels. Users can disable this by setting
channel_priority: flexiblein their
NumPy 1.16 is the minimal NumPy version on all platforms.
In accordance with NEP-29, we have switched to have
numpy 1.16as the minimum supported version on all platforms.
Conda-forge is building openblas with both pthreads and openmp on Linux
The main change is that
openblaswill use pthreads for threading by default on Linux instead of the previous
openmpbuilds can be recovered by installing
Core Dependency Tree Package Changes
conda-forgeis moving to a new system for generating Core Dependency Tree (CDT) packages. These changes include
CDT packages will no longer be built using feedstocks and this practice is officially deprecated.
Any current CDT packages in feedstocks will be moved to the new conda-forge/cdt-builds repo and the feedstock will be archived. Members of core will be doing this slowly on an as-needed basis, so it may not happen right away.
Requests for new CDTs should be submitted as PRs to the conda-forge/cdt-builds repo.
These changes are being made so that
conda-forgecan provide access to CentOS 7 / glibc 2.17 for
linux-64builds. They will also move more of the packages needed for
conda-forgebuilds into the
conda-forgechannels making builds more reliable.
Moving from clang 9 to clang 10
conda-forge is moving to clang 10 on macOS! Check the release notes for what is new, breaking, or deprecated.
CFEP-18:Removing static libraries from the main build
With CFEP-18 we now have a policy on how to deal with static packages. The most important change here is that we will be removing static libraries from the main packages and moving them to
-staticpackages will not be built by default but only on request.
cf-mark-brokenrepo has been renamed to
admin-requests. It still serves the same purpose. However, we have expanded the capabilities of the repo to be able to mark packages as not broken.
New Process for Marking Packages as Broken
We are changing the way we mark packages as
brokento better match the
defaultschannel and to better enable reproducible environments that depended on broken packages. We will now be adding the
brokenlabel to packages but leaving them on the
mainchannel. In order to make sure they do not appear in the
mainchannel, we will be patching the repo data to remove them using the
Users will notice the following changes
The packages on
anaconda.orgwill now have both the
All requests to mark packages as broken must be sent to the
corecan no longer mark things as broken by hand since the repo data patching must be done as well.
The package metadata for broken packages may differ slightly from when they were on the
The only correct source of package metadata is now the
anaconda.org. Any other sources may be missing critical changes.
New Staging Process for
Starting this week, we are changing the way we upload packages to
anaconda.org. We will move from direct uploads to the
mainchannel to using a staging organization/channel combined with a copy request from the staging channel to the production channel. This new process will allow us to perform some validation on the outputs of feedstocks before they are released.
What will you see as a feedstock maintainer?
Starting this week, the
admin-migrationsservice will be making commits to all feedstocks to provision them with the necessary configuration, API keys, and tokens.
Each feedstock will now be provisioned with a secret token. This token should not be shared or taken out of the CI services. It is used to identify the feedstock during the upload process.
admin-migrationsservice will be setting a new top-level key in the
conda_forge_output_validation: true. This key indicates to
conda-smithythat it should include the output validation calls in the feedstock CI scripts.
Currently open PRs will need to have this key added by hand and then rerendered.
When PRs are running the CI scripts, they will do some initial validation of the feedstock outputs. If this validation fails, the CI job will fail. Please see the CI logs for the error message which is printed after
Once a PR is merged to master, the copy from the staging channel to the production channel will happen automatically.
Should a copy request fail, you will get a notification via a comment on the commit to master.
As part of this process, uploads from
appveyorwill no longer be allowed unless there is a significant barrier to using
azure. We have recently upgraded the compiler infrastructure on
azureto support this change in policy.
Despite our extensive testing, we do not expect this change to be completely smooth, so please bear with us. As always, if you have any questions, concerns, or trouble, you can find us on Gitter or bump us directly on Github!
We are formally deprecating
vs2015in two weeks on 2020-04-07 and will move to
vs2017. This change will enable us to support the usage of
msbuildon Azure for the
winplatform and will provide additional support for
C++. Most packages built with
vs2015can be linked with
vs2017toolchain (but not vice-versa). An exception is static libraries compiled with whole program optimization (/GL flag) which may be incompatible with the
vs2017toolchain. These static libraries will need to be rebuilt using
We are now starting to formally deprecate Appveyor in favor of Azure for builds on the
winplatform. Note that we have not been adding appveyor to new feedstocks for a while, so this is not a completely new change in policy. We will now, however, begin to actively disable Appveyor builds on feedstocks not using it by turning off builds for GitHub
pushevents. Additionally, we have been issuing PRs to any remaining feedstocks to move them to Azure. We are aware that some packages built with
msbuildcannot yet be moved to Azure and so are leaving Appveyor on for those feedstocks for now.
Python 2.7 Admin Command Available
A webservices admin command is now available to add Python 2.7 back to feedstocks. Put
@conda-forge-admin add python 2.7in the title on an issue in your feedstock. The admin webservices bot will then issue a PR adding back Python 2.7. Note that this PR will remove other Python builds and any
ppc64lebuilds. If you want to keep those, merge the PR into a separate branch on your feedstock.
Python 2.7 and
Python 2.7 is no longer supported by the upstream developers as of 2020-01-01. Conda-forge is thus deprecating its Python 2.7 support. Conda-forge will provide no ongoing support for Python 2.7 builds and any existing builds are provided on an “as-is” basis.
cf202003label has been applied to the
conda-forgechannel for those who need a reference to the package index with Python 2.7.
We are removing support for
vs2008on Windows in conjunction with the deprecation of Python 2.7, as it was only supported to build this version of Python.
We will provide an admin command that will add back Python 2.7 to any feedstock. Note that as stated above, we cannot provide support for any Python 2.7 builds generated with this admin command. Further, this admin command will only work on
Clang 9.0.0 and gfortran 7.3.0 as default compilers in OSX.
If you maintain a feedstock that requires a C/C++ compiler, no changes necessary. A rerender should be done next time the feedstock is updated to use the new compiler.
If you maintain a feedstock with a Fortran compiler, a PR to upgrade to gfortran 7.3.0 was already issued. If that PR was merged, there’s nothing to do. If not, contact core if you need help migrating.
We overhauled the blas support in conda-forge.
Our packages now build against NETLIB’s reference implementation.
You as a user can now choose the implementation available at runtime.
For more information please refer to the documentation.
It has happened! Conda-forge has migrated to the latest compilers 🎉.
- If you:
maintain a compiled feedstock, it will likely need to be rerender
need to roll back to the old compilers, you can use the “cf201901” label
The rebuild is moving along nicely with almost a third of the packages completed.
Recently completed are NumPy and Openblas which should open up much of the python numeric stack. We’re only about 5 feedstocks away from opening up all of R as well.
A minimal python 3.7 build is now available across all platforms and both compilers!
Deprecation notice for Python 3.5
As we start building out more of the Python 3.7 stack, we will no longer be building Python 3.5 packages.
No new python 3.5 packages will be built after 2018-10-01.
The compiler migration is in full swing. The bot will be making the rounds and modernizing more than 4000 packages. This is going to take a few months to get done so bear with us.
Conda forge now has a magical status bar for tracking the progress of migrations.
You can find this at conda-forge.org/status.