Nushell core team meeting 2022-08-17

Attendees

  • Fernando
  • Darren
  • JT
  • Jakub
  • Reilly
  • Michael
  • Stefan

Topics

  • release 0.67.0 - how did it go?
  • winget ci broke again - justin and darren fixed it, mostly justin
  • nu-lang org - how to split nushell between repos. which commands are the language commands and which are not required for the language?
  • nu-lang domains registered, nu-lang.org, nu-lang.com, nu-lang.net, nu-lang.dev, not sure about others
  • PR-freeze pre for 0.67.0 - Like/Dislike?
  • PR-freeze post for 0.67.0 - When do we make 0.67.1 and start committing PRs again? My understanding is we wanted to wait a little bit to make sure there were no big things that needed to revert.
  • 20k club thoughts? - darren wants to re-run the numbers to see if anyone else has qualified. wondering if the new clubhouse channel is making any difference?
  • The 0.80 notion https://kubouch.notion.site/4db276462ba24704919edb4cc4b86be7?v=10506505557f4f7b9a65155128c04250 - there's a ton of work here. darren was thinking that it may be good to have a copy of this in the repo board so we can link it to issues and track it in gh. if notion supports linking to gh issues then we wouldn't need to do that.
  • massive breaking changes planned for 0.68 (source-env, modules changes, maybe blocks vs. closures split, etc.)
  • we all agree that gold-pressed-latinum is the 1.0 release code name - lol
  • nushell and nu-lang?
    • how do we want split nu-lang from nushell? how do we handle shared code?
    • what functionality makes nushell nushell? (different from a nu-lang repl, for example)
    • when do we want to announce?

Discussed

Post release discussion 0.67

  • reactions from the outside world: no big deal as it is so recent
  • weird compilation problem on cargo publish
    • No build complaints

Winget broke again

winget-create created a wrong manifest
Justin and Darren fixed the manifest

Justin submitting the new version caused rejection due to different source repo.
Patch releases didn't get released as well.

Rewriteathon

Nushell and nu-lang

Strategies for the "chasm"

  • either carve out the bits from the existing
  • or copy the bits we are happy with in a separate tree and check if we want to refactor tech debt

What is part of nu-lang and what is nushell

  • most of the "language" is currently defined as commands. (e.g. let, def)

  • Should environment be part of the core language?
    Seems to be very shell specific (currently deeply embedded in the engine state)

but is our way to encode global state (is global state considered evil?)

  • having the data parsing logic is part of the nu magic (the std library?)

  • Role of overlays?
    JT: more shell specific
    Jakub: core part of the language in the parser currently.
    Fernando: python envs are outside the scope of the language (you set up what is available but import in the script in a second step)

  • Runtime/Engine
    The shell has to be able to execute external commands, do syscalls.
    Might not be necessary to build a DSL (domain specific language) with nu semantics (e.g. for data analytics, data manipulation)

  • API/ABI boundaries
    Important Who defines/How is the API for commands defined?
    We need both flexibility and API stability

Q: Can we get a versioned command signature for 0.80

WHEN NU-DOOM!!!

PR freeze

2 days before the release
General sentiment positive (we had no bad surprises with this release)

What is our post freeze strategy
Discipline about tagging the develop version number to more easily identify bug reports.
Who wants to automate that?

20k club

Darren has the contribution counting script with the mailmap files (keep those private among maintainers)

Github/Notion

github board for tracking the 0.80 progress probably better integration. Notion nicer to write or link different stuff

Our github issue tracker needs more granular label. Probably community effort needed to tag and triage old issues.

0.68 potential breaking changes

breaking changes that are semantically together should land together
But we shouldn't rush other changes that might break as they are not yet tested well enough, as something is already ready (source-env is already ready)

-> can we land source-env in the current semantics?

DS9 watching has been pronounced as an official nushell meeting activity

Select a repo