Skip to content

Cosmopolitan v4.0.0

Compare
Choose a tag to compare
@jart jart released this 03 Jan 07:08
· 20 commits to master since this release
97fc2aa

Cosmopolitan Libc makes C a build-once run-anywhere language, like Java, except it doesn't need an interpreter or virtual machine. Instead, it reconfigures stock GCC and Clang to output a POSIX-approved polyglot format that runs natively on Linux + Mac + Windows + FreeBSD + OpenBSD 7.3 + NetBSD + BIOS with the best performance and reliability. For further details, read the Cosmopolitan Toolchain README.

Our 3.0.0 release (published in Oct 2023) was when things started to work.
This 4.0.0 release is when things have started to work well.

  • 98c5847 Fix fork waiter leak in nsync
  • af7bd80 Eliminate cyclic locks in runtime
  • 26c051c Spoof PID across execve() on windows
  • 6245732 Make threads faster and more reliable
  • f24c854 Write more runtime tests and fix bugs
  • 538ce33 Fix fork thread handle leak on windows
  • fde03f8 Remove leaf attribute where appropriate
  • 379cd77 Improve memory manager and signal handling
  • 662e7b2 Remove pthread_setcanceltype() from non-dbg strace
  • 36e5861 Reduce stack virtual memory consumption on Linux
  • b490e23 Improve Windows sleep accuracy from 15ms to 15µs
  • ef00a7d 5fae582 Fix AFL crashes in C++ demangler
  • 9ba5b22 Unblock stalled i/o signals on windows
  • 2d43d40 Support process shared pthread_rwlock
  • 4705705 Fix bugs in times() function
  • 0b3c81d Make fork() go 30% faster
  • 8db646f Fix bug with systemvpe()
  • c7e3d9f Make recursive mutexes slightly faster
  • cc8a9eb Document execve() limitation on Windows
  • fd7da58 Introduce example flash card program named rote
  • 55b7aa1 Allow user to override pthread mutex and cond
  • 838b54f Fix C++ math.h include order issue
  • c8e10ee Make bulk_free() go faster
  • c22b413 Make strcasestr() faster
  • b40140e Improve redbean concurrency (#1332)
  • 3142758 Fix atomic_fetch_sub on workers (#1331)
  • cf9252f Correct redbean unix.commandv() docs