./shells/nushell, New type of shell

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]

Branch: CURRENT, Version: 0.87.1, Package name: nushell-0.87.1, Maintainer: pin

Hello, and welcome to the Nushell project. The goal of this project is to take
the Unix philosophy of shells, where pipes connect simple commands together, and
bring it to the modern style of development.

Nu takes cues from a lot of familiar territory: traditional shells like bash,
advanced shells like PowerShell, functional programming, systems programming,
and more. But rather than trying to be the jack of all trades, Nu focuses its
energy on doing a few things well:
-Create a flexible cross-platform shell with a modern feel
-Allow you to mix and match commandline applications with a shell that
understands the structure of your data
-Have the level of UX polish that modern CLI apps provide

The easiest way to see what Nu can do is to start with some examples, so let's
dive in, https://www.nushell.sh/book/

Master sites:

Filesize: 2662.804 KB

Version history: (Expand)

CVS history: (Expand)

   2023-11-21 08:00:02 by pin | Files touched by this commit (3) | Package updated
Log message:
shells/nushell: update to 0.87.1

This is the 0.87.1 patch release of Nushell. In this hotfix we resolve two
issues with the file system commands rm and cp.

Nushell's cp command in 0.87.0 did not correctly handle changes to the directory
by the Nushell internal cd when invoked inside a block. Furthermore the rm
command was not able to correctly handle paths requiring expansion.
   2023-11-16 09:01:55 by pin | Files touched by this commit (3) | Package updated
Log message:
shells/nushell: update to 0.87.0

Learn more about this release and changes at:

The ChangeLog is too long to reproduce here.
   2023-10-25 00:11:51 by Thomas Klausner | Files touched by this commit (2298)
Log message:
*: bump for openssl 3
   2023-10-18 09:22:43 by pin | Files touched by this commit (7) | Package updated
Log message:
shells/nushell: update to 0.86.0

Learn more about this release and changes at \ 

The ChangeLog is too long to reproduce here.
   2023-10-11 13:42:14 by pin | Files touched by this commit (4)
Log message:
shells/nushell: enable trash feature
   2023-09-20 10:54:24 by pin | Files touched by this commit (4) | Package updated
Log message:
shells/nushell: update to 0.85.0

Themes of this release/New features
Nushell + Uutils = ❤️
he Nushell team is thrilled to announce 🥳 that we've begun working with the
uutils/coreutils team on integrating some of their foundational core utilies
into nushell. With this release, we've started with the coreutils cp command,
which we've temporarily named ucp. We're starting with ucp to allow broad
testing while the current nushell cp command remains the default.
We've already found one bug in the coreutils cp command and you might find
others. Once it stabelizes, probably with the 0.86.0 release, we'll remove the
nushell cp command and rename ucp to cp. In keeping with the nushell style,
we've only added a handful of parameters. We can, and probably will, add more
if the community determines we need them. We're so very excited and would like
to thank terts, from the coreutils team, for his excellent help and special
appreciation to dmatos2012 for the, very iterative, first uutils/coreutils
integration PR #10097 for the cp command. To read more about how this came to
be, checkout our blog post.

Read about the full list of changes at:
   2023-08-24 13:32:36 by pin | Files touched by this commit (3) | Package updated
Log message:
shell/nushell: update to 0.84.0

Themes of this release / New features
*(Major Breaking Change!) str replace matches substring by default (kubouch)

str replace now matches a substring instead of a regular expression by default
and the -s/--string flag is deprecated (will be removed altogether in 0.85).
Matching a substring by default makes it more consistent with the rest of the
Nushell's commands.

Note! Since str replace is a widely used command, many scripts are going to
break. Fixing it is easy:
 - If you used str replace without the -s/--string flag, you used regex matching
   and you should add --regex flag to keep the previous functionality.
 - If you used str replace with the -s/--string flag, you will get a deprecation
   warning. To get rid of the warning, simply remove the flag.

*Constants from modules (WindSoilder, kubouch)

You can now use constants in modules and export them. Calling use on a module
will create record containing all module's constants. You can also import the
constants directly, for example with use module.nu const-name, without creating
the module's record.

The exported values are true constants which means that you can use them in some
scenarios where you cannot use normal variables.

*New options for more compact table display (@zhiburt, #9796)

To save screen space, you can now display tables with the header directly
displayed on the border through the $env.config.table.header_on_separator
Additionally you can now configure the padding left and right of the table cell
content either separately or all at once to adjust the layout for your
readability needs.

*More consistent format ... commands (@sholderbach, @WindSoilder)
With this release we moved several commands that serve to produce string output
from a particular data type as format subcommands.

   - date format has been renamed to format date (#9788).
   - into duration --convert was previously used to provide string
     representations of durations. This option has been removed and you should
     now use format duration. (#9902)
   - format filesize that was previously moved into the --features extra set is
     back in the core (#9978).

*scope commands enhancements (kubouch, kubouch)

scope commands received a significant amount of improvements making them more
useful for advanced introspection of Nushell's definitions.
   - scope externs now lists known externals (defined with extern)
   - scope aliases is now fixed and lists names and usages of the aliases, not
     of the aliased commands (this used to cause some confusion)
   - scope modules now lists all the exportable of the module, including
     submodules with their contents
   - all scope commands now list the definition's ID which can be used for
     reliable tracking of definitions. For example, a command foo imported from
     a module spam using use spam will be named spam foo, therefore, relying
     solely on names of the definitions can sometimes be misleading.
   - module_name field is no longer present
   - scope variables now denotes whether a variable is a constant or not

*http commands now handle headers better (@jflics6460, @ineu)
You can now pass headers directly as a record to the -H flag.
When running a http command with --full to get additional metadata about the
response you can now get both the request and the reponse header.

*Work on the optional dataframe features (@ayax79)
@ayax79 has been working hard to update our dataframe command to work again
with the stricter type check by consolidating internal logic (#9860, #9951).

Furthermore, dfr open now suppports the avro exchange format and a new dfr
to-avro command was added in #10019

*Changes to other commands
Since last release, some commands have changed, here is a list of some
interesting changed
 - @atahabaki in #9841, #9856 and #9940: Some refinement of the str expand
   command (it's a really cool command, i recommend you check it out 😃)
 - @fdncred in #9987: Allow select to take a variable with a list of columns
 - @fdncred in #10048: Allow int as a cellpath for select

*Command organization (@storm, @jntrnr)
In our efforts towards stabilization we moved several commands either behind
the --features extra build-flag or back into the core set of commands. The
special str *-case commands for example have been moved out of the core set,
while the bytes commands to deal with bytes in arbitrary encodings have returned
to the core set. Furthermore all commands in the core set should now have
helpful categories associated with them.

*Deprecation and removal of commands (@amtoine, @sholderbach)
We previously used the term "deprecation" pretty loosely to describe \ 
the removal
of commands while emitting a helpful error. We intend to now start to use
deprecation to warn you before the final removal of a particular option or
command. When we removed a command we will now properly refer to it as removal
and started adding warnings where appropriate (e.g. str replace --string). As
part of this update we removed some very old error helpers nudging you to
upgrade to new commands.

Thanks to @rgwood, @sholderbach, @kubouch and @fdncred the documentation has
become a bit better in #9961, #9996, #10004 and #10057.

*Notable bugfixes
  - A panic when parsing the context of let assignments has been fixed
    (@mengsuenyan in #9851)
  - Invoking --help on a script with a def main command will now report the
    script's name instead of a more confusing main (@jntrnr in #9948)
  - Serious bugs in parse that produced incorrect output when given a long
    input stream have been fixed (@panicbit in #9925, #9950)

*Breaking changes
  - #9902 date format has been renamed to format date for consistency.
  - #9788 The option into duration --convert to format durations has been
    removed. Use the format duration command instead.
  - #10038 str replace now by default matches to strings by default. If you
    want to use regexes you need to use the -r flag. The --strings flag has
    been removed
  - #9632 To be unambiguous the duration type now does not report months or
    years. The largest unit reported is weeks as they have a consistent length
    compared to months or years.
  - #9926 We moved some of the more exotic str case-commands behind the
    --features extra build-flag. This affects:
     - str camel-case
     - str kebab-case
     - str pascal-case
     - str screaming-snake-case
     - str snake-case
     - str title-case
  - #10053 make the charpage optional for std clip
  - #10023 The output of the scope commands has changed

*Internal breaking change only affecting plugin authors
  - #9927 Make Value::columns return slice instead of cloned Vec
   2023-08-01 10:04:27 by pin | Files touched by this commit (3) | Package updated
Log message:
shells/nushell: update to 0.83.1

Nushell 0.83.1 (hot-fix)

A few days ago, we released the 0.83 version of Nushell. As you can see in the
release notes, the release included a major upgrade to the type system as well
as wide-reaching breaking changes.

Extensive efforts were made before the release to mitigate these changes to
make them easier to adopt when 0.93 was released, and included:
 - quite a lot of command signatures have been updated to keep functionalities
   at the same level while adding better type checking
 - major integration scripts from 3rd-party applications have been fixed prior
   to the release

However, as you might have noticed and thanks to the feedback of you the
community, more issues and bugs have been found. Many commands needed additional
updates to play well with the updated type system. We decided to release a
hotfix release to address what had been found, and this is that release.
You can find out more about the hotfix in Tracking issue for 0.83.0 fixup #9812

What does the hot-fix release address?

Most of the type-system-related issues have been fixed, hopefully bringing most
of the command set of Nushell back to its previous feature level with the nice
addition of better input/output type checking and annotations. In a few places,
the type system itself was fixed, as with the case of $rest args now
type-checking correctly in a pipeline.

What will the hot-fix release NOT address?
Bring the let-env command back to life.

Thankfully, the community helped by updating their Nushell integrations and
releasing corresponding new versions.
Please, check your tools like starship for updates.
Fully fix the dataframe integration.

When upgrading the type system for the 0.83, we removed a semi-working system
that enabled the dataframe commands to run both in a lazy and eager mode, but
only if the types were known at parse-time. Due to the complexity of reworking
this and the dataframe support currently being a tier-two feature in Nushell,
we won't be able to fully fix this with this patch release. Thankfully @ayax79
started work in #9858 which promises to make the dataframe commands work again
within the general Nushell type system.

Breaking changes for plugin authors

With the type system changes in 0.83.0 any plugins that declared that their
signature "vectorizes_over_list": true were not able to automatically \ 
their operation for a type T (e.g. number) over a list<T> input. With this \ 
release, we removed this field from nu-protocol.

You need to add the list<T> signature if necessary. Also recompile your
plugins using nu-plugin 0.83.1 or remove the vectorizes_over_list field from
the signature information if you don't use nu-plugin (e.g. plugins not
implemented in Rust).

Breaking changes for plugin users

You may need to recompile or update your plugins and then re-register your