-
Notifications
You must be signed in to change notification settings - Fork 2k
Remove the 'env' command, as we have the variable #8185
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
|
Here is the virtualenv update: pypa/virtualenv#2506 |
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## main #8185 +/- ##
==========================================
- Coverage 67.72% 67.70% -0.03%
==========================================
Files 621 620 -1
Lines 99312 99242 -70
==========================================
- Hits 67258 67189 -69
+ Misses 32054 32053 -1
|
b8b6f49 to
522183a
Compare
netbsd-srcmastr
pushed a commit
to NetBSD/pkgsrc
that referenced
this pull request
Mar 15, 2023
Themes of this release / New features
- Reworked aliases (Breaking changes!) (kubouch)
Aliases have been a constant source of panics and growing code complexity as
a result of trying to patch the panics. In this release, we re-implement
aliases from scratch. Instead of replacing spans of expressions, aliases are
implemented as another type of command, quite like extern is used to
implement known externals. Alias is a command that wraps another command
call. As a result, in some cases, aliases do not behave exactly the same as
before. Here are the key facts:
- Alias can only alias another command call. For example, alias la = ls -a
works, but the following does not:
- alias foo = "foo"
"foo" is not a command call, use alias foo = echo "foo" instead
- alias lsn = (ls | sort-by type name -i)
subexpression is not a command call, use a custom command instead
- Alias cannot alias command named the same as the alias. E.g., alias
ls = ls -a is not possible currently, and gives an unhelpful error message.
We plan to fix this as soon as possible and in the future we aim for this
to work.
- Some parser keywords are not allowed to be aliased. Currently, overlay
commands can be aliased but the other parser keywords can not. We can add
support for aliasing more parser keywords in the future.
If some of the above is too limiting for you, the old aliases are still
unchanged and available as old-alias. Just change alias to old-alias and it
should work the same as before. If there are no more problems with the new
alias implementation, and we manage to iron out the recursive alias issue,
we will remove old-alias in the next release, otherwise, we'll keep it around
longer.
- More consistent timestamp handling (bobhy)
Simplified conversion between Nushell date type and unix timestamps (#8244).
Nushell now standardizes on representing a Unix timestamp as a number of
nanoseconds relative to the unix epoch 1970-01-01 00:00:00 +0000 (UTC).
Since the timestamp is stored in a (64 bit signed) Nushell int type, this
limits the range of dates that can be represented to approximately 21-sep-1677
through 11-apr-2262.
In prior versions, Nushell attempted to extend the range of representable dates
by allowing multiple resolutions of timestamps (seconds, milliseconds as well
as nanoseconds) to be stored and relied on arbitrary range check heuristics to
disambiguate the value intended. However, there were bugs in the checks and
incorrect results could be produced.
With this change <int> | into datetime assumes the input is a number of
nanoseconds and can never produce a date outside this range.
The timestamp epoch is the standard unix epoch. Note the timezone is UTC/GMT.
<datetime> | into int can now produce an error if the input is outside the
supported range.
And finally, although not strictly required by the above fix,
<date> | date to-record and <date> | date to-table now have a nanosecond field
containing the subsecond residue of the input value (however it was produced).
- New XML format (NotLebedev)
New format for xml data created and accepted by from xml and to xml commands
(#7947).
Commands from xml and to xml now use format where each xml entry is represented
by a single {tag: <tag name> attributes: <tag attributes> content:
[<child entries>]} record. Special xml entries also use this record, replacing
irrelevant fields with null for easier use.
Creating a little html page. In case of to xml one can deviate from rigid
structure and omit empty fields of records.
- New additions to $nu (StevenDoesStuffs, amtoine)
The builtin $nu variable now contains new entries:
- is-interactive: Nushell was launched in interactive mode
- is-login: Nushell was launched in login mode
- startup_time: Nushell's startup time
- Reworked http subcommands (jaudiger)
The http command now has more subcommands and existing subcommands have been
reworked.
Make sure to browse the help messages of these commands. They contain fully
functional examples thanks to pointing at www.example.com.
- Breaking changes
- Alias changes, see above
- env command has been removed, use $env instead
(nushell/nushell#8185)
- str trim no longer has --all, --both, and --format flags. str replace
should be an adequate replacement; please let us know if it is not (#8205)
- The changes to timestamp handling noted above (#8244) can require code
changes to existing scripts:
- Saved data containing the results of an old datetime-to-timestamp
conversion will not deserialize correctly when read back by the current
version of Nushell. In general, Nushell will produce incorrect datetime
values without noting an error.
- <int> | into datetime now assumes nanosecond scaling for all timestamps.
You must ensure all timestamps computed by your script or retrieved from
external sources are scaled appropriately.
- <date> | into int can now fail, as noted above. You cannot rely on this
operation to persist a arbitrary date.
- The change to from xml and to xml commands noted above (#7947) will
require to update scripts relying on old output/input format.
- mkdir, cp, mv and rm return nothing. Errors and actions with --verbose
flag are printed to stderr instead (#8014).
- Plugin authors relying on nu_protocol::Value may need to update their
code to account for a change to Value::Error (#8375 )
- Different types of lists can now be appended. This can break scripts that
were relying on the stricter behavior
(nushell/nushell#8157)
|
What is the equivalent of (Asking here because it's at least linked to from the changelog) |
|
I believe it should be |
|
You can also do just |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
notes:breaking-changes
This PR implies a change affecting users and has to be noted in the release notes
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Removes the
envcommand, as the$envis generally a much better experience.User-Facing Changes
Breaking change: Removes
env.Tests + Formatting
Don't forget to add tests that cover your changes.
Make sure you've run and fixed any issues with these commands:
cargo fmt --all -- --checkto check standard code formatting (cargo fmt --allapplies these changes)cargo clippy --workspace -- -D warnings -D clippy::unwrap_used -A clippy::needless_collectto check that you're using the standard code stylecargo test --workspaceto check that all tests passAfter Submitting
If your PR had any user-facing changes, update the documentation after the PR is merged, if necessary. This will help us keep the docs up to date.