Skip to content

Releases: maxgmr/tlenix

v0.1.0-beta.4

04 Aug 21:55
609793b

Choose a tag to compare

[0.1.0-beta.4] - 2025-08-04

Added

  • ted: A basic Vim-style text editor.
  • codebreaker: A simple code-guessing game inspired by the "Mastermind" board game.
  • Random number generation.
  • A collection of common ANSI console control sequences.
  • Time measurement.
  • The Tlenix source code is now included in the installation within /usr/src/tlenix.
  • Cursor shape switching.

Changed

  • Bumped memory allocator to 256 MiB.

v0.1.0-beta.3

12 Jun 22:15
8344fd7

Choose a tag to compare

[0.1.0-beta.3] - 2025-06-12

Added

  • cat: Concatenate files and print on the standard output.
  • clear: Clears the terminal screen.
  • mv: Moves/renames files.
  • File::read_to_bytes: Reads the whole file into a byte vector.
  • format!: Just like the std macro!
  • rename: Changes the name/path of a file/directory.

Changed

  • Modernized file stats format (fstat -> statx).
  • Statically access the standard input, standard output, and standard error streams.
  • Prettier test output alignment.
  • Fixed ./usb-install file schema.
  • README instructions now use ./usb-install script.

v0.1.0-beta.2

27 May 23:51
c1c5f3a

Choose a tag to compare

[0.1.0-beta.2] - 2025-05-27

Added

  • hello: Minimal demo Tlenix program. Useful as a template/example.
  • printenv: Print the environment variables.

Removed

  • Built-in pwd from mash (to be later implemented as a standalone program)
  • vec_into_nix_bytes and vec_into_nix_strings (obsolete)

v0.1.0-beta.1

27 May 02:06
fcdc24c

Choose a tag to compare

[0.1.0-beta.1] - 2025-05-26

Added

  • Fully-bootable USB-based system on real hardware!
  • ls: List entries within a directory.
  • mash can now execute programs.
  • Linux kernel custom configuration in config/.config.
  • GRUB custom configuration in config/grub.cfg.
  • Nicer terminal font.
  • Pretty logo on boot.
  • USB installation script (usb-install).

Changed

  • Overhauled ExitStatus to make it more expressive.
  • Proper execute_process error reporting.

Removed

  • mk-release-bins script. Superseded by usb-install.

v0.1.0-alpha.9

25 May 07:05
8578bc6

Choose a tag to compare

[0.1.0-alpha.9] - 2025-05-24

Added

  • initramfs_init, an init program specifically for the initramfs.
  • Create and remove directories (mkdir, rmdir).
  • Delete files (rm).
  • Get entries of a directory (File::dir_ents).
  • Change the root mount (pivot_root).
  • Execute a program (execve).
  • Directly set the mode of a file when creating one (OpenOptions::set_mode).
  • Read a file directly into a String (File::read_to_string).
  • Change process root directory (chroot).

Changed

  • Restricted raw syscalls to crate only.
  • Increased heap size from 16 KiB to 64 KiB.

v0.1.0-alpha.8.1

22 May 18:25
6586863

Choose a tag to compare

[0.1.0-alpha.8.1] - 2025-05-22

Changed

  • Fixed custom target issues causing segfaults in emulators.

v0.1.0-alpha.8

22 May 03:48
8c0a26c

Choose a tag to compare

[0.1.0-alpha.8] - 2025-05-21

Added

  • mount and umount functions.
  • init now tries to mount /proc and /sys.

v0.1.0-alpha.7

21 May 03:12
5f6bbec

Choose a tag to compare

[0.1.0-alpha.7] - 2025-05-20

Added

  • Coloured test output.
  • NixString and NixBytes. Null-terminated byte vectors compatible with Linux syscalls.
  • File type. Provides filesystem operations on files. Hides the file descriptor and closes the file when dropped.
  • OpenOptions type. Allows easy customization of File open flags. Guarantees safe open flag combinations when opening a file.
  • Ability to create files with defined permissions.
  • SyscallArg type, allowing for more flexible arguments for syscall! and syscall_result!
  • Pretty colours in tests!

Changed

  • General rewrite of codebase.
  • Interface for filesystem operations- now, any file-based operations must be called as File methods.

Removed

  • mash's ability to execute programs. This will be re-implemented later.
  • NullTermString and NullTermStr.
  • read_from_file().
  • open_no_create().
  • change_program_break().

v0.1.0-alpha.6

10 Mar 01:57
315d6a4

Choose a tag to compare

[0.1.0-alpha.6] - 2025-03-09

Added

  • Heap-based allocation and data types.
  • mash process execution.

Changed

  • Tests now return with success or failure.

v0.1.0-alpha.5

08 Mar 17:05
48ce831

Choose a tag to compare

[0.1.0-alpha.5] - 2025-03-08

Added

  • Colourful mash prompt.
  • Show basename in mash prompt.
  • poweroff command.
  • reboot command.