github mamba-org/mamba 2.6.0

2 hours ago

Highlights: Sharded Repodata Support

This minor version includes the support for sharded repodata, significantly improving the UX of the project.

Geometric means of improvement factors between 2.5.0 and 2.6.0 across various specifications:

Analysis Cold cache (first installation) Warm cache (subsequent installations)
Wall time speedup 4.1979× 9.7189×
Peak RSS reduction 17.2994× 16.1247×
Network I/O reduction 21.1021× N/A

💡As of 2.6.0, sharded repodata are used by default if they are present on conda channel.
One can opt-out of this behavior by setting use_sharded_repodata to false in mamba’s configuration.

🔗 Read more about improvements on this blog post.

You can update micromamba to 2.6.0 using:

micromamba self-update

Enhancements:

  • [libmamba] feat: Improve progress messages for flat repodata by @jjerphan in #4237
  • [libmamba] feat: Improve Sharded Repodata Progress Message by @jjerphan in #4225
  • [libmamba, micromamba] feat: Sharded Repodata Support for repoquery by @jjerphan in #4226
  • [libmamba, micromamba] feat: Prefilter Shard Records on Python Minor Version by @jjerphan in #4214
  • [libmamba] feat: Introduce MatchSpec::extract_name by @jjerphan in #4206
  • [libmamba] feat: Optimize PackageInfo descending sorts by @jjerphan in #4208
  • [libmamba] feat: Shard Index Handling Adaptation by @jjerphan in #4190
  • [libmamba] feat: Parse optional fields for ShardPackageRecord by @jjerphan in #4195
  • [libmamba] feat: Support track_features for ShardRecord by @jjerphan in #4192
  • [libmamba] feat: Shard Caching by @jjerphan in #4174
  • [libmamba, micromamba] feat: Do not warn for missing channels index by @jjerphan in #4189
  • [all] build: Export libmamba-spdlog target for building dependencies in tree by @opoplawski in #4172
  • [libmamba] feat: Sharded Repodata by @jjerphan in #4162
  • [libmamba] feat: Support MSGPACK_OBJECT_ARRAY for hashes by @jjerphan in #4167
  • [libmamba, micromamba] feat: Redesign packages caches hierarchically on channels and platforms by @jjerphan in #4163
  • [libmamba] feat: Consider emscripten a UNIX platform by @jjerphan in #4168
  • [libmamba] feat: Shard Traversal by @jjerphan in #4161
  • [libmamba] feat: ShardIndexLoader by @jjerphan in #4149
  • [libmamba] feat: Shards by @jjerphan in #4148
  • [libmambapy, libmamba] feat: Shard types and utils by @jjerphan in #4145
  • [libmamba, micromamba] feat: Support Prefix Data Interoperability by @jjerphan in #4123

Bug fixes:

  • [libmamba] fix: Transitive dependencies across channels shards by @jjerphan in #4245
  • [libmamba] fix: Make shards availability independent from local cache by @jjerphan in #4243
  • [libmamba] fix: Support update --all with Sharded Repodata by @jjerphan in #4241
  • [all] fix: Correct repodata_record.json metadata for installations using explicit specifications by @maresb in #4110
  • [libmamba, micromamba] fix: Adapt python_site_packages_path on Windows by @jjerphan in #4232
  • [libmamba] fix: Keep and use RepoDataPackage's raw version by @jjerphan in #4238
  • [libmamba] fix: Make mamba clean --all clear the shards' cache by @jjerphan in #4236
  • [libmamba] fix: python_binary_compatible by @chrisburr in #4234
  • [libmamba] fix: Add python_abi as a root package with python by @jjerphan in #4233
  • [libmamba] fix: Support mixture of flat and sharded repodata by @jjerphan in #4227
  • [libmambapy, libmamba] fix: Adapt bindings for UnresolvedChannel's readonly properties by @jjerphan in #4224
  • [libmamba, micromamba] config sub-command output hides secrets by @Klaim in #4223
  • [libmamba, micromamba] fix: Minor adaptations for sharded repodata support by @jjerphan in #4187
  • [libmamba, micromamba] fix: JSON should be set to "success": false when any transactions failed by @Klaim in #4201
  • [libmamba] fix: Skip non-executable matches in which_in_one_impl by @xsjk in #4197
  • [libmamba] fix: Adapt Shards base URL to handle channel identifiers by @jjerphan in #4210
  • [libmamba] fix: Treat sibling-subdir shard loads as successful by @jjerphan in #4209
  • [libmamba] fix: Exclude Installed Packages from Root Packages by @jjerphan in #4205
  • [libmamba] fix: Fallback on uv for listing installed packages if pip is not available by @jjerphan in #4203
  • [libmamba] fix: Respect thread affinity concurrency by @jjerphan in #4193
  • [libmamba] fix: Pass priorities in load_single_subdir by @jjerphan in #4188
  • [micromamba] fix: Omit --detach option for run subcommand on Windows by @jjerphan in #4185
  • [libmamba, micromamba] fix: Sort mamba search results on version numerically by @jjerphan in #4160
  • [micromamba] fix: Pretty print short result for mamba search by default by @kuepe-sl in #4066
  • [libmamba, micromamba] fix: Show pip and uv output by default by @jjerphan in #4155
  • [libmamba, micromamba] Graceful handling of download cancel/interruption by @Klaim in #4146
  • [libmamba, micromamba] fix: Do not show activation message for dry runs by @jjerphan in #4140
  • [libmamba] fix: Only call get_all_running_processes_info when needed by @mihaitodor in #4135
  • [libmamba] Add #include for std::ref by @opoplawski in #4132

CI fixes and doc:

Maintenance:

  • [libmamba] maint: Rename repodata_use_shards to use_sharded_repodata by @jjerphan in #4244
  • [all] build(deps): bump actions/github-script from 8 to 9 by @app/dependabot in #4229
  • [libmamba] maint: Retry for update by @jjerphan in #4220
  • [libmamba] maint: Factorize common parts of the install, update and remove paths by @jjerphan in #4215
  • [all] build(deps): bump mamba-org/setup-micromamba from 2 to 3 by @app/dependabot in #4219
  • [all] build(deps): bump codecov/codecov-action from 5 to 6 by @app/dependabot in #4218
  • [micromamba] maint: Increase timeout of test_env_logging_overhead_regression to 1 minute by @jjerphan in #4217
  • [libmamba] maint: Replace ShardPackageRecord with RepoDataPackage by @jjerphan in #4212
  • [libmamba] maint: Reduce logging in Shards::parse_shard_msgpack by @jjerphan in #4207
  • [libmamba] maint: Split load_channels_impl into several functions by @jjerphan in #4178
  • [libmamba] maint: Adapt Shards ownership model by @jjerphan in #4177
  • [all] build(deps): bump actions/upload-artifact from 6 to 7 by @app/dependabot in #4180
  • [micromamba] maint: Increase timeout of test_env_logging_overhead_regression by @jjerphan in #4173
  • [libmamba] maint: Refactor Channel Loader by @jjerphan in #4169
  • [libmamba] maint: Introduce DownloadRequestComponents by @jjerphan in #4164
  • [libmamba] test: Changes for catch2 >3.8 by @jjerphan in #4134

Don't miss a new mamba release

NewReleases is sending notifications on new releases.