# Releases

Note: All release >=1.0.0 have been bumped down from vX.0.0 to v0.X.0. This was
done to avoid the +incompatible suffix from Go modules. The u-root API is
currently unstable and may change slighly between releases.

## v0.11.0 (2023-02-01)

- Fixes for tamago dt compilation
- tinygo support for many commands (see "tinygo" template)
- cleanup dt to remove Linux dependencies
- major cleanup of VM CI code (it works again)
- fixups for ARM vms
- many other smaller bug fixes, and cleanup

## v0.10.0 (2022-10-10)

- Fixes for several commands including bzImage and ls
- Code coverage at 74%

## v0.9.0 (2022-07-27)

- Fixes for CVE-2020-7669, CVE-2020-7666 and CVE-2020-7665
- Numerous other bug fixes and features

## v0.8.0 (2021-11-29)

*no release notes available*

## v0.7.0, formerly v7.0.0 (2020-08-30)

*no release notes available*

## v0.6.0, formerly v6.0.0 (2019-08-14)

- Bug fixes:
  - Ensure that cpio does not create corrupt archives
  - Honor build tags in build.Context
  - Fix negative -retry flag
- New packages:
  - gpio
- Testing improvements:
  - Use 9pfs to share files with intergration test instead of vfat
  - Replace ANSI escape codes with ~ character
  - Run integration tests on pkg/ as well
- checklicenses command is generalized to be used by other projects.
- Tested with:
  - Linux 4.17
  - Golang 1.12

## v0.5.0, formerly V5.0.0 (2019-07-09)

- Renamed commands
  - core commands are in core
  - experimental commands are in exp
  - others are in other places
- Remove NiChromne
  - it needed its own space
- Welcome systemboot!

## v0.4.0, formerly v4.0.0 (2019-01-26)

- Multiboot as a kexec target -- Thank you Max!
  - Use with kexec, also see the new module argument
  - Experimental support for esxi, see xcmds/esxiboot
  - Integration tests for multiboot
    - Using the test kernel at: github.com/u-root/multiboot-test-kernel
  - Trampoline is written in Go assembly
  - Support for gzipped kernels
- New commands:
  - tac: Reads file lines in reverse order
  - xcmds/sshd: Like sshd, but supports port forwarding
- New packages:
  - forth: An interpreter for Forth
  - ubinary: Gives machine's native endianess
- New flags:
  - grep -c : Print counts
  - grep -i : Case insensitive search
  - uname -p : Alias for machine
- Improved arm support:
  - io command supports arm Linux kernels
  - zImage parser for kernel format
  - Basic integration tests and minimal config
- Miscellaneous improvements:
  - Consolidation of similar circleci tests into a single uroot_test.go which
    can be run with "go test"
  - Integration test for tcz
  - configs are organized into a new directory
- Fixes:
  - pkg/complete and xcmds/ash: now works in a sane way
  - Append rsdp onto kernel command line
  - A number of fixes to various symlink issues
- Tested with:
  - Linux 4.17
  - Golang 1.11

## v0.3.0, formerly v3.0.0 (2018-11-21)

- Reduced size of shell by 20%
- Improved QEMU-based integration tests
- New commands:
  - strace: simple process tracer
- Major bug fixes
  - Imports use correct vendored dependencies (u-bmc)
  - u-root command correctly interprets symlinks
- Tested with:
  - Linux 4.17
  - Golang 1.11

## v0.2.0, formerly v2.0.0 (2018-10-01)

- Large improvements to readability of GoDocs
- New commands:
  - cksum: generates md5, sha and crc checksums
  - elvish: forked from github.com/elves/elvish
  - less: pages files, courtesy of Michael Pratt
  - more: simplistic implementation of less
  - pox: builds a POrtable eXecutable as a squashfs image
- Breaking changes:
  - rush is moved to xcmds and elvish is the default shell
  - bzImage renamed to bzimage
  - time_sos renamed to timesos
  - upspin_sos renamed to upspinsos
- Major bug fixes
  - u-root command expands wildcards properly
  - scp now compliant with openssh's scp
- Tested with:
  - Linux 4.17
  - Golang 1.11

## v0.1.0, formerly v1.0.0 (2018-08-15)

- Initial release
- Tested with:
  - Linux 4.17
  - Golang 1.10.3
