2019 Roadmap Progress?

This sounds like an interesting exercise. Here's an update on the Cargo team. Apologies if it is too long/verbose.

  • Cross-compilation
    • The first PR for std-aware cargo should land within a few days. There is still a long road ahead, but I'm pleased with getting this first step.
  • Plugins
    • Unfortunately there has not been significant progress on this. About the only progress is small additions to cargo metadata to make it more powerful (such as this upcoming change). There are also plans to separate "platform" parsing to go along with this.
    • Since there isn't anyone championing any other parts of this story, it is unlikely to make significant progress this year.
  • Compile times
    • Pipelining is now enabled, which should land in 1.38.
    • Supporting multiple target directories is a bit blocked right now on reorganizing some parts of the target directory. Multiple target directories would allow you to have a shared global cache between projects. There are two PRs (6577 and 6668) laying the groundwork, but work has stalled a bit. Some work needs to be invested to figure out how to not break most tools and projects. I plan on reviving this very soon. This is also blocked by having some kind of story for better cache management, which was recently summarized here.
    • I do not think there has been any progress on pre-built binaries, and I think is unlikely this year.
    • HTTP/2 multiplexing hit stable 1.32 in January.
  • Documentation
    • Man pages were all rewritten and are now published online in 1.33.
    • A glossary was added in 1.32.
    • A changelog is now being kept.
    • There hasn't been much focused effort on improving documentation. I have some moderate things I want to do (such as separate chapters on the resolver, workspaces, profiles, and features), but haven't really started.
  • Features
    • I have recently revived design work on improving features, but there is a long road ahead. One of the greatest challenges has been trying to decide how to deal with backwards compatibility, since several enhancements are in direct opposition of how the current system works.
    • 7216 lays some basic groundwork needed to better track features within the compilation graph.
  • Profiles
    • Named profiles is underway.
    • Build profiles has a PR, but it is stalled. I hope to resume it this year. It is blocked on target directory reorganization.
    • I'm delaying stabilization of other profile enhancements until named profiles is closer to finished. I've also discovered some issues with profile overrides that concerns me.
  • Other
    • Alternate registry support was stabilized in 1.34.
    • Offline support was stabilized in 1.36.
    • cargo vendor was moved into cargo in 1.37.
    • published lockfiles was stabilized in 1.37.
    • default-run was stabilized in 1.37.
    • Pre-publish verification has not made significant progress this year, AFAIK. There is a summary of validation, but it really needs a new publish web API.
    • More than 300 PRs have been merged this year so far. Many performance improvements, fixes, and small changes, this list is already too long!
  • New, unstable features added:
51 Likes