[ANN] 移除标准库(进行中):DelimitedFiles, Statistics, SparseArrays and SuiteSparse

移出 sysimage

移除标准库

为什么要将包移出标准库

This is being planned not just DelimitedFiles, but also Statistics and the sparse ecosystem. In my opinion, there are several benefits:

  1. Allow broader participation in these packages from contributors
  2. Faster bugfixing and upgrades without having to wait for whole Julia release cycles
  3. Make them less special and allow for alternatives to evolve, or become more flexible (e.g. we want to support many new sparse data types and solvers in a first class way)
  4. Consolidate capabilities in certain ecosystems (e.g. basic stats is spread out across too many packages like Statistics.jl, StatsBase.jl etc., and it is complex for new users to navigate - not to mention it is difficult to maintain)

Various things are being planned to make this non-breaking, and more are discovered as we go forward:

  1. The spun off packages will be 1.x.y version numbers so that there is no API breakage.
  2. With Project and Manifest files, the stdlibs are already dependencies
  3. Updating Pkg and related code to make this smooth.

_Originally posted by @ViralBShah in remove DelimitedFiles from being an stdlib by KristofferC · Pull Request #45540 · JuliaLang/julia · GitHub


题外话: Unicode 标准库感觉也符合移除的标准。
另一些 CRC32c, LibGit2, SHA, TOML, UUIDs 这几个实际上是 Pkg 的依赖,当作标准库也比较勉强。

反过来说指定包作为标准库的坏处之一就是:为了兼容性,不方便升级版本。
举例:有 CVE 但 ABI 不兼容就很难更新版本(mbedtls 是标准库 libgit2 的依赖)

2 个赞