zig/lib/std
Andrew Kelley 0e37ff0d59 std.fmt: breaking API changes
added adapter to AnyWriter and GenericWriter to help bridge the gap
between old and new API

make std.testing.expectFmt work at compile-time

std.fmt no longer has a dependency on std.unicode. Formatted printing
was never properly unicode-aware. Now it no longer pretends to be.

Breakage/deprecations:
* std.fs.File.reader -> std.fs.File.deprecatedReader
* std.fs.File.writer -> std.fs.File.deprecatedWriter
* std.io.GenericReader -> std.io.Reader
* std.io.GenericWriter -> std.io.Writer
* std.io.AnyReader -> std.io.Reader
* std.io.AnyWriter -> std.io.Writer
* std.fmt.format -> std.fmt.deprecatedFormat
* std.fmt.fmtSliceEscapeLower -> std.ascii.hexEscape
* std.fmt.fmtSliceEscapeUpper -> std.ascii.hexEscape
* std.fmt.fmtSliceHexLower -> {x}
* std.fmt.fmtSliceHexUpper -> {X}
* std.fmt.fmtIntSizeDec -> {B}
* std.fmt.fmtIntSizeBin -> {Bi}
* std.fmt.fmtDuration -> {D}
* std.fmt.fmtDurationSigned -> {D}
* {} -> {f} when there is a format method
* format method signature
  - anytype -> *std.io.Writer
  - inferred error set -> error{WriteFailed}
  - options -> (deleted)
* std.fmt.Formatted
  - now takes context type explicitly
  - no fmt string
2025-07-07 22:43:51 -07:00
..
Build std.fmt: breaking API changes 2025-07-07 22:43:51 -07:00
c c.darwin: define MSG for macos (#24224) 2025-06-24 15:07:06 +02:00
compress std.io: deprecated Reader/Writer; introduce new API 2025-07-07 22:43:51 -07:00
crypto std.fmt: breaking API changes 2025-07-07 22:43:51 -07:00
debug std.fmt: breaking API changes 2025-07-07 22:43:51 -07:00
dwarf Dwarf: remove redundant debug info 2024-12-19 17:10:03 -05:00
fmt std.fmt: breaking API changes 2025-07-07 22:43:51 -07:00
fs std.fmt: breaking API changes 2025-07-07 22:43:51 -07:00
hash std.fmt: breaking API changes 2025-07-07 22:43:51 -07:00
heap std.fmt: breaking API changes 2025-07-07 22:43:51 -07:00
http std.fmt: breaking API changes 2025-07-07 22:43:51 -07:00
io std.fmt: breaking API changes 2025-07-07 22:43:51 -07:00
json std.fmt: breaking API changes 2025-07-07 22:43:51 -07:00
math std.fmt: breaking API changes 2025-07-07 22:43:51 -07:00
mem std: eradicate u29 and embrace std.mem.Alignment 2025-04-13 02:20:32 -04:00
meta std: eradicate u29 and embrace std.mem.Alignment 2025-04-13 02:20:32 -04:00
net std.fmt: breaking API changes 2025-07-07 22:43:51 -07:00
os std.fmt: breaking API changes 2025-07-07 22:43:51 -07:00
posix std.fmt: breaking API changes 2025-07-07 22:43:51 -07:00
process std.fmt: breaking API changes 2025-07-07 22:43:51 -07:00
Random std.fmt: breaking API changes 2025-07-07 22:43:51 -07:00
sort compiler,lib,test,langref: migrate @setCold to @branchHint 2024-08-27 00:44:35 +01:00
tar std.tar: pass entry kind to rootDir to avoid setting root_dir to file (#23456) 2025-04-16 19:17:25 +00:00
Target std.fmt: breaking API changes 2025-07-07 22:43:51 -07:00
testing FailingAllocator: remove outdated doc comments, move doc comment example to decltest 2025-04-23 19:28:28 -04:00
Thread linux: futex v1 API cleanup 2025-06-17 22:06:39 -07:00
time std.time.epoch: change getDaysInMonth to accept the year as an argument 2025-03-08 14:25:28 -05:00
tz Support legacy TZ format, expose header struct to a potential writer 2022-01-01 12:47:08 +00:00
unicode std.fmt: breaking API changes 2025-07-07 22:43:51 -07:00
valgrind std.valgrind: Fix some compile errors. 2024-11-04 10:56:32 +01:00
zig std.fmt: breaking API changes 2025-07-07 22:43:51 -07:00
zip std.fmt: breaking API changes 2025-07-07 22:43:51 -07:00
zon std.fmt: breaking API changes 2025-07-07 22:43:51 -07:00
array_hash_map.zig Legalize: implement scalarization of @shuffle 2025-06-01 08:24:01 +01:00
array_list.zig std.io: deprecated Reader/Writer; introduce new API 2025-07-07 22:43:51 -07:00
ascii.zig std.fmt: breaking API changes 2025-07-07 22:43:51 -07:00
atomic.zig std.Target: Introduce Cpu convenience functions for feature tests. 2025-06-05 06:12:00 +02:00
base64.zig std.io: deprecated Reader/Writer; introduce new API 2025-07-07 22:43:51 -07:00
bit_set.zig std.bit_set: Disable IntegerBitSet decltest on RISC-V with vector support 2025-07-01 23:03:15 +02:00
BitStack.zig std: fix typos (#20560) 2024-07-09 14:25:42 -07:00
bounded_array.zig std.io: deprecated Reader/Writer; introduce new API 2025-07-07 22:43:51 -07:00
buf_map.zig lib: correct unnecessary uses of 'var' 2023-11-19 09:55:07 +00:00
buf_set.zig Change many test blocks to doctests/decltests 2024-02-26 15:18:31 -08:00
Build.zig std.fmt: breaking API changes 2025-07-07 22:43:51 -07:00
builtin.zig std.fmt: breaking API changes 2025-07-07 22:43:51 -07:00
c.zig std.c: Use __sigemptyset14 for sigemptyset on NetBSD 2025-07-07 12:14:58 +02:00
coff.zig std.{coff,elf}: Remove the {MachineType,EM}.toTargetCpuArch() functions. 2024-08-23 19:56:24 +02:00
compress.zig std.io: deprecated Reader/Writer; introduce new API 2025-07-07 22:43:51 -07:00
crypto.zig std.crypto: add constant-time codecs (#23420) 2025-04-12 20:13:45 +02:00
debug.zig std.fmt: breaking API changes 2025-07-07 22:43:51 -07:00
DoublyLinkedList.zig std.DoublyLinkedList: remove length tracking 2025-04-03 15:57:35 -07:00
dwarf.zig Dwarf: cleanup emitted debug info 2024-08-22 08:44:08 +02:00
dynamic_library.zig x86_64: add support for pie executables 2025-06-06 23:42:14 -07:00
elf.zig chore(std.mem): Rename trimLeft and trimRight 2025-04-27 18:03:59 +09:00
enums.zig Revert "Work around stage1 not yet returning null-terminated @typeInfo strings" 2025-05-14 06:47:23 +02:00
fifo.zig std.io: deprecated Reader/Writer; introduce new API 2025-07-07 22:43:51 -07:00
fmt.zig std.fmt: breaking API changes 2025-07-07 22:43:51 -07:00
fs.zig Merge pull request #23268 from chrboesch/i19875 2025-04-14 22:20:44 +02:00
gpu.zig spirv: error when execution mode is set more than once 2025-05-21 13:01:21 +03:30
hash.zig Add rapidhash (#22085) 2025-02-22 14:32:48 -08:00
hash_map.zig std: eradicate u29 and embrace std.mem.Alignment 2025-04-13 02:20:32 -04:00
heap.zig std: eradicate u29 and embrace std.mem.Alignment 2025-04-13 02:20:32 -04:00
http.zig std.fmt: breaking API changes 2025-07-07 22:43:51 -07:00
io.zig std.fmt: breaking API changes 2025-07-07 22:43:51 -07:00
json.zig std.io: deprecated Reader/Writer; introduce new API 2025-07-07 22:43:51 -07:00
leb128.zig std.leb128: Disable two tests on x86-linux-musl with dynamic linkage. 2025-05-19 00:22:19 +02:00
log.zig std.fmt: breaking API changes 2025-07-07 22:43:51 -07:00
macho.zig remove hard tabs from source code 2024-07-31 16:57:42 -07:00
math.zig big.int: implement float conversions 2025-06-15 14:15:18 -04:00
mem.zig std.mem.byteSwapAllFields: support untagged unions 2025-06-23 05:57:56 +02:00
meta.zig Revert "Work around stage1 not yet returning null-terminated @typeInfo strings" 2025-05-14 06:47:23 +02:00
multi_array_list.zig std.fmt: breaking API changes 2025-07-07 22:43:51 -07:00
net.zig std.fmt: breaking API changes 2025-07-07 22:43:51 -07:00
once.zig compiler,lib,test,langref: migrate @setCold to @branchHint 2024-08-27 00:44:35 +01:00
os.zig std.fmt: breaking API changes 2025-07-07 22:43:51 -07:00
pdb.zig std.pdb: obey naming conventions 2024-08-29 23:43:52 +01:00
pie.zig x86_64: add support for pie executables 2025-06-06 23:42:14 -07:00
posix.zig std.fmt: breaking API changes 2025-07-07 22:43:51 -07:00
priority_dequeue.zig add std.testing.random_seed 2024-07-23 11:43:12 -07:00
priority_queue.zig std.priority_queue: add useful functions from ArrayList API 2025-02-01 19:02:39 +01:00
process.zig std.fmt: breaking API changes 2025-07-07 22:43:51 -07:00
Progress.zig std.fmt: breaking API changes 2025-07-07 22:43:51 -07:00
Random.zig Allocator/Random: document that comparing ptr may result in illegal behavior 2025-02-03 17:07:28 -08:00
RingBuffer.zig std.RingBuffer: use sliceAt/sliceFirst in read*AssumeLength 2024-03-10 18:17:23 +11:00
segmented_list.zig std: update std.builtin.Type fields to follow naming conventions 2024-08-28 08:39:59 +01:00
SemanticVersion.zig std.fmt: breaking API changes 2025-07-07 22:43:51 -07:00
simd.zig std.simd: Increase branch quota in suggestVectorLengthForCpu() 2025-06-30 08:01:27 +02:00
SinglyLinkedList.zig de-genericify SinglyLinkedList 2025-04-03 14:55:04 -07:00
sort.zig std.equalRange: Compute lower and upper bounds simultaneously 2024-09-23 13:03:06 -07:00
start.zig start: Only issue fninit for x86(_64)-windows 2025-07-04 20:09:20 +02:00
static_string_map.zig std.static_string_map: Cast length of input for runtime initialization 2024-06-20 23:22:39 +00:00
std.zig start: Don't artificially limit some posixCallMainAndExit() logic to Linux. 2025-05-18 17:14:09 +02:00
tar.zig std.io: deprecated Reader/Writer; introduce new API 2025-07-07 22:43:51 -07:00
Target.zig std.fmt: breaking API changes 2025-07-07 22:43:51 -07:00
testing.zig std.fmt: breaking API changes 2025-07-07 22:43:51 -07:00
Thread.zig std.fmt: breaking API changes 2025-07-07 22:43:51 -07:00
time.zig std.time: Make Instant.since() work on UEFI 2025-03-02 23:16:34 +00:00
treap.zig Condense and extend std.Treap's traversal functionalities. (#20002) 2024-07-28 19:47:55 -07:00
tz.zig std.builtin.Endian: make the tags lower case 2023-10-31 21:37:35 -04:00
unicode.zig std.fmt: breaking API changes 2025-07-07 22:43:51 -07:00
Uri.zig std.fmt: breaking API changes 2025-07-07 22:43:51 -07:00
valgrind.zig valgrind: Add riscv64-linux support. 2025-06-04 19:24:08 +02:00
wasm.zig wasm linker: implement @tagName for sparse enums 2025-01-15 15:11:36 -08:00
zig.zig std.fmt: breaking API changes 2025-07-07 22:43:51 -07:00
zip.zig std.fmt: breaking API changes 2025-07-07 22:43:51 -07:00
zon.zig compiler,std: implement ZON support 2025-02-03 09:14:37 +00:00