Skip to content

Commit 4c0b219

Browse files
[release] v15.0
1 parent da5cb4c commit 4c0b219

2 files changed

Lines changed: 41 additions & 2 deletions

File tree

changelog.md

Lines changed: 39 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,44 @@
11
# Change Log
22

3-
## [Unreleased](https://github.com/CE-Programming/toolchain/compare/v14.2...master)
3+
## [Unreleased](https://github.com/CE-Programming/toolchain/compare/v15.0...master)
4+
5+
# [v15.0](https://github.com/CE-Programming/toolchain/releases/tag/v15.0) (2026-05-01)
6+
7+
This version is now built around LLVM/Clang v19 (instead of v15) and the move from the fasmg-based assembling+linking to a GNU binutils/GAS one, for user programs, making the toolchain more maintainable, more standard, more portable, and **much faster** than before. On top of that foundation, this release expands the runtime and standard library and brings a large round of fixes, optimizations, and automatic tests.
8+
9+
## New Features
10+
11+
- Upgraded the supported compiler stack to LLVM/Clang v19.
12+
- Reworked the build flow around GNU binutils/GAS and added the `cedev-obj` helper to inspect ELF outputs and generate CRT/libload metadata.
13+
- Added LZ4 decompression routines in the runtime and corresponding `lz4` / `lz4hc` compression modes in `convimg`.
14+
- Added direct 8ek app output support across the toolchain, including `.8ek` output, application linker support, application descriptions, and emitted relocations (see `APPLICATION` makefile flag). Proper installer support for real on-calc app distribution remains outside the toolchain scope for now.
15+
- Expanded libc/CRT/C++ runtime support with `strtok_r`, `strsep`, `_Complex` floating-point helpers, `cxa_guard` support, improved `<fenv.h>` / `<cfenv>` conformance, and constructor/destructor priority handling.
16+
- Add overlap support for gfx_CopyRectangle.
17+
18+
## Fixes
19+
20+
- Fixed `atexit`, `on_exit`, and `_Exit`.
21+
- Fixed long-double softfloat ABI issues and additional floating-point corner cases.
22+
- Fixed `fgetc` / `fputc` null-stream handling.
23+
- Fixed `(v)asprintf` behavior for zero-length output.
24+
- Fixed `atof(f)` return values.
25+
- Fixed `LIB_ALLOCATOR` and `LIB_PRINTF` linking, and improved circular `LIB_*` dependency handling.
26+
- Fixed several application-build issues while bringing `.8ek` support online.
27+
- Fixed assumptions about the target environment, especially around the `__TICE__` define, making the toolchain more usable beyond strictly CE-specific targets.
28+
- Fixed `convbin` invocation in the top-level `libs` target.
29+
- Fixed Windows path handling and other tooling issues across `convbin` and `convimg`.
30+
- Fixed fontlib_SetFont ignore line spacing parameter option to always ignore.
31+
32+
## Improvements
33+
34+
- Made the toolchain's `memcpy` / `memmove` the default implementation.
35+
- Added assembly include files for <errno.h> <fenv.h> and <math.h> in the toolchain sources
36+
- Optimized `calloc`, `bss` zeroing, `strerror`, `perror`, `nanoprintf`, libload, random, and many CRT integer helper routines.
37+
- Added or improved fallback CRT routines that avoid shadow-register or interrupt-sensitive behavior for several multiplication and division paths.
38+
- Optimized ZX0/ZX7 decompression paths and added LZ4-backed asset workflows.
39+
- Optimized graphx circle routines and text entry points.
40+
- Optimized fatdrvce cluster and sector lookup/traversal.
41+
- Optimized multiply high routines.
442

543
# [v14.2](https://github.com/CE-Programming/toolchain/releases/tag/v14.2) (2026-01-13)
644

docs/build.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
#!/bin/bash
22

33
# Default toolchain docs (should be latest release!)
4-
export default_version=v14.2
4+
export default_version=v15.0
55

66
# Maps target directory name to branch
77
declare -A versions_map=(
8+
[v15.0]=v15.0
89
[v14.2]=v14.2
910
[v14.1]=v14.1
1011
[v14.0]=v14.0

0 commit comments

Comments
 (0)