# Xo 0.14 release notes


## Introduction

In Xo 0.14 the runtime's C went from about 2,660 lines to 476.

## Runtime

- The services records, the scheduler's statistics and fiber records,
  the poller's and shutdown's callbacks, the signal and console
  handlers, and the code that runs `main` are Xo
  ([decision 0233](https://github.com/xo-lang/xo/blob/main/knowledgebase/decisions/0233-xo-function-addresses-and-frame-address.md)).
- The C record layouts of the task runtime, the heap, and the event
  loop are gone.
- Large allocations use Xo's allocator with a per-thread cache.
- Optional features register their own exit functions.

## Compiler

- Error `XO0608` reports an export name defined in two modules.
- The empty list and the zero handle are emitted per program.

