Skip to content

EndBASIC 0.7.0

Compare
Choose a tag to compare
@github-actions github-actions released this 03 Jul 23:48
· 438 commits to master since this release

Released on 2021-07-03.

This is a huge release and its primary goal is to offer integration with the new
EndBASIC cloud service. To reach that goal, this release adds disk drives, new
commands specifically for cloud interaction, and comes with various usability
improvements to make the whole experience better.

Support for disk drives:

  • Added support for storage drives. All file commands now take a path to a
    file of the form DRIVE:/PATH where the drive part and the slash are
    optional. By default, three drives are available: MEMORY:, which is a
    trivial memory-backed drive; DEMOS:, which contains the read-only demo
    files; and LOCAL:, which points to local storage (either a local directory
    or to the web browser's local storage).

  • Added the CD command to change the current drive and the PWD command to
    print the current location.

  • Extended the DIR command to take an optional path to the directory to
    show.

  • Added the MOUNT and UNMOUNT commands to inspect and manipulate the
    mounted drives. Note that this now allows users to mount arbitrary parts
    of the external file system within the EndBASIC namespace, when in theory
    it wasn't possible to escape the programs directory before. This is
    intentional, but if there is a need, we can put restrictions in place
    again.

  • Renamed the --programs-dir flag to --local-drive and removed the special
    handling of the :memory: value. Instead, this can now take arbitrary URIs
    to refer to drive targets.

Support for the EndBASIC cloud service:

  • Added the LOGIN command to authenticate against the EndBASIC service and
    to mount the user's own drive.

  • Added a new cloud:// mount target scheme to specify the drives of other
    users.

  • Added the SHARE command to set reader ACLs on files hosted in the
    EndBASIC service, allowing users to share files among themselves.

Usability improvements:

  • Refactored the HELP command to only print a summary of topics by
    default. As part of this, topics can now be looked up using prefixes of
    their names.

  • Made the output of HELP fit within the screen for easier readability
    instead of allowing long paragraphs to wrap at unpredictable points.

  • Added input history tracking to the REPL interface.

Miscellaneous additions:

  • Added the array functions LBOUND and UBOUND.