@@ -44,6 +44,7 @@ _Feature freeze: 2025-06-25_
44
44
- * (serialization)* Support pretty printing of ` XML ` types ([ #15833 ] , thanks @HertzDevil )
45
45
- * (serialization)* Expose error message from libyaml on emitter errors ([ #15841 ] , thanks @straight-shoota )
46
46
- * (serialization)* Add ` Path.from_json_object_key ` ([ #15877 ] , thanks @jneen )
47
+ - * (text)* ** [ experimental] ** Add ` Crystal::System.wstr_literal ` on Windows ([ #15747 ] , thanks @HertzDevil )
47
48
- * (text)* Add ` String#ensure_suffix ` and ` String#ensure_prefix ` ([ #15782 ] , thanks @MatheusRich )
48
49
- * (text)* Add ` truncate_at_null ` parameter to ` String.new(Bytes) ` and ` .from_utf16 ` ([ #15887 ] , thanks @HertzDevil )
49
50
- * (time)* Support POSIX TZ strings in TZif databases ([ #15863 ] , thanks @HertzDevil )
@@ -69,6 +70,7 @@ _Feature freeze: 2025-06-25_
69
70
[ #15833 ] : https://github.com/crystal-lang/crystal/pull/15833
70
71
[ #15841 ] : https://github.com/crystal-lang/crystal/pull/15841
71
72
[ #15877 ] : https://github.com/crystal-lang/crystal/pull/15877
73
+ [ #15747 ] : https://github.com/crystal-lang/crystal/pull/15747
72
74
[ #15782 ] : https://github.com/crystal-lang/crystal/pull/15782
73
75
[ #15887 ] : https://github.com/crystal-lang/crystal/pull/15887
74
76
[ #15863 ] : https://github.com/crystal-lang/crystal/pull/15863
@@ -108,6 +110,7 @@ _Feature freeze: 2025-06-25_
108
110
109
111
#### stdlib
110
112
113
+ - Require ` NO_COLOR ` to be non-empty ([ #15880 ] , thanks @HertzDevil )
111
114
- * (benchmark)* Use ` UInt64 ` to track iteration count during warm-up calculation in ` Benchmark::IPS ` ([ #15780 ] , thanks @syeopite )
112
115
- * (collection)* Fix ` Array#| ` for different item types ([ #15756 ] , thanks @straight-shoota )
113
116
- * (concurrency)* Fix calling ` Fiber::ExecutionContext#enqueue ` from bare ` Thread ` ([ #15767 ] , thanks @ysbaddaden )
@@ -120,11 +123,14 @@ _Feature freeze: 2025-06-25_
120
123
- * (numeric)* Fix ` Float32#abs ` for signed zeros ([ #15814 ] , thanks @HertzDevil )
121
124
- * (numeric)* Ensure unary ` Float32#- ` and ` Float64#- ` flip sign bit ([ #15857 ] , thanks @HertzDevil )
122
125
- * (runtime)* reopen async ` File ` passed to ` Process.exec ` and ` .run ` (win32) ([ #15703 ] , thanks @ysbaddaden )
126
+ - * (runtime)* raise on manual fiber resume from sleep ([ #15744 ] , thanks @ysbaddaden )
123
127
- * (runtime)* Prevent leaking memory when ` exec_recursive ` 's block raises ([ #15893 ] , thanks @straight-shoota )
124
128
- * (system)* Fix ` Path#relative_to ` for non-normalized anchor ([ #15737 ] , thanks @straight-shoota )
129
+ - * (system)* ** [ regression] ** Skip ` src/termios.cr ` on Windows ([ #15852 ] , thanks @HertzDevil )
125
130
- * (system)* Suspend Windows processes until job objects are set up ([ #15850 ] , thanks @HertzDevil )
126
131
- * (time)* Fix ` Time::Location::InvalidTZDataError ` dropping default message ([ #15824 ] , thanks @HertzDevil )
127
132
133
+ [ #15880 ] : https://github.com/crystal-lang/crystal/pull/15880
128
134
[ #15780 ] : https://github.com/crystal-lang/crystal/pull/15780
129
135
[ #15756 ] : https://github.com/crystal-lang/crystal/pull/15756
130
136
[ #15767 ] : https://github.com/crystal-lang/crystal/pull/15767
@@ -137,8 +143,10 @@ _Feature freeze: 2025-06-25_
137
143
[ #15814 ] : https://github.com/crystal-lang/crystal/pull/15814
138
144
[ #15857 ] : https://github.com/crystal-lang/crystal/pull/15857
139
145
[ #15703 ] : https://github.com/crystal-lang/crystal/pull/15703
146
+ [ #15744 ] : https://github.com/crystal-lang/crystal/pull/15744
140
147
[ #15893 ] : https://github.com/crystal-lang/crystal/pull/15893
141
148
[ #15737 ] : https://github.com/crystal-lang/crystal/pull/15737
149
+ [ #15852 ] : https://github.com/crystal-lang/crystal/pull/15852
142
150
[ #15850 ] : https://github.com/crystal-lang/crystal/pull/15850
143
151
[ #15824 ] : https://github.com/crystal-lang/crystal/pull/15824
144
152
@@ -177,7 +185,6 @@ _Feature freeze: 2025-06-25_
177
185
- Replace some ` not_nil! ` calls with bang methods ([ #15847 ] , thanks @straight-shoota )
178
186
- Use ` be_nil ` and ` be_true ` /` be_false ` everywhere in specs ([ #15867 ] , thanks @straight-shoota )
179
187
- Remove trailing whitespace ([ #15869 ] , thanks @straight-shoota )
180
- - Require ` NO_COLOR ` to be non-empty ([ #15880 ] , thanks @HertzDevil )
181
188
- Add trailing newlines ([ #15870 ] , thanks @straight-shoota )
182
189
- * (collection)* Make ` offset ` a required parameter in ` Indexable#find ` ([ #15671 ] , thanks @straight-shoota )
183
190
- * (collection)* Replace literal conditions with nilable casts ([ #15844 ] , thanks @straight-shoota )
@@ -195,7 +202,6 @@ _Feature freeze: 2025-06-25_
195
202
[ #15847 ] : https://github.com/crystal-lang/crystal/pull/15847
196
203
[ #15867 ] : https://github.com/crystal-lang/crystal/pull/15867
197
204
[ #15869 ] : https://github.com/crystal-lang/crystal/pull/15869
198
- [ #15880 ] : https://github.com/crystal-lang/crystal/pull/15880
199
205
[ #15870 ] : https://github.com/crystal-lang/crystal/pull/15870
200
206
[ #15671 ] : https://github.com/crystal-lang/crystal/pull/15671
201
207
[ #15844 ] : https://github.com/crystal-lang/crystal/pull/15844
@@ -214,12 +220,6 @@ _Feature freeze: 2025-06-25_
214
220
[ #15860 ] : https://github.com/crystal-lang/crystal/pull/15860
215
221
[ #15884 ] : https://github.com/crystal-lang/crystal/pull/15884
216
222
217
- #### tools
218
-
219
- - * (formatter)* Fix formatter specs with string interpolation ([ #15842 ] , thanks @straight-shoota )
220
-
221
- [ #15842 ] : https://github.com/crystal-lang/crystal/pull/15842
222
-
223
223
#### other
224
224
225
225
- Remove useless condition literal ([ #15859 ] , thanks @straight-shoota )
@@ -266,12 +266,10 @@ _Feature freeze: 2025-06-25_
266
266
- * (runtime)* Extract bindings for LibC errno to ` src/lib_c/ ` ([ #15565 ] , thanks @ysbaddaden )
267
267
- * (runtime)* Extract ` Exception::CallStack.decode_backtrace_frame ` helper ([ #15615 ] , thanks @ysbaddaden )
268
268
- * (runtime)* Let ` Crystal::EventLoop#close ` do the actual close (not just cleanup) ([ #15641 ] , thanks @ysbaddaden )
269
- - * (runtime)* Fix: raise on manual fiber resume from sleep ([ #15744 ] , thanks @ysbaddaden )
270
269
- * (serialization)* Replace deprecated ` LibXML.xmlGcMemSetup ` with ` .xmlMemSetup ` ([ #15626 ] , thanks @straight-shoota )
271
270
- * (specs)* Support arbitrary ` IO ` s in ` Spec::CLI ` ([ #15882 ] , thanks @HertzDevil )
272
271
- * (specs)* Replace some lookup hashes in ` Spec ` with exhaustive cases ([ #15879 ] , thanks @HertzDevil )
273
272
- * (text)* ** [ experimental] ** Use slice literals for ` String::CHAR_TO_DIGIT ` and ` CHAR_TO_DIGIT62 ` ([ #15745 ] , thanks @HertzDevil )
274
- - * (text)* ** [ experimental] ** Add ` Crystal::System.wstr_literal ` on Windows ([ #15747 ] , thanks @HertzDevil )
275
273
- * (text)* Replace some uses of ` String#% ` with justification methods ([ #15821 ] , thanks @HertzDevil )
276
274
- * (text)* Avoid calling ` chars.size ` on ` String ` s ([ #15822 ] , thanks @HertzDevil )
277
275
- * (time)* Move most POSIX TZ string functionality to a module ([ #15866 ] , thanks @HertzDevil )
@@ -288,12 +286,10 @@ _Feature freeze: 2025-06-25_
288
286
[ #15565 ] : https://github.com/crystal-lang/crystal/pull/15565
289
287
[ #15615 ] : https://github.com/crystal-lang/crystal/pull/15615
290
288
[ #15641 ] : https://github.com/crystal-lang/crystal/pull/15641
291
- [ #15744 ] : https://github.com/crystal-lang/crystal/pull/15744
292
289
[ #15626 ] : https://github.com/crystal-lang/crystal/pull/15626
293
290
[ #15882 ] : https://github.com/crystal-lang/crystal/pull/15882
294
291
[ #15879 ] : https://github.com/crystal-lang/crystal/pull/15879
295
292
[ #15745 ] : https://github.com/crystal-lang/crystal/pull/15745
296
- [ #15747 ] : https://github.com/crystal-lang/crystal/pull/15747
297
293
[ #15821 ] : https://github.com/crystal-lang/crystal/pull/15821
298
294
[ #15822 ] : https://github.com/crystal-lang/crystal/pull/15822
299
295
[ #15866 ] : https://github.com/crystal-lang/crystal/pull/15866
@@ -305,13 +301,11 @@ _Feature freeze: 2025-06-25_
305
301
- * (macros)* ** [ experimental] ** Document ` Crystal::Macros::StringLiteral#to_utf16 ` ([ #15748 ] , thanks @HertzDevil )
306
302
- * (runtime)* Document ` GC::Stats ` properties ([ #15676 ] , thanks @ysbaddaden )
307
303
- * (runtime)* Add links to language specification in docs for pseudo methods ([ #15864 ] , thanks @straight-shoota )
308
- - * (system)* ** [ regression] ** Skip ` src/termios.cr ` on Windows ([ #15852 ] , thanks @HertzDevil )
309
304
- * (text)* Improve docs for ` String#lines ` and ` #each_line ` ([ #15894 ] , thanks @straight-shoota )
310
305
311
306
[ #15748 ] : https://github.com/crystal-lang/crystal/pull/15748
312
307
[ #15676 ] : https://github.com/crystal-lang/crystal/pull/15676
313
308
[ #15864 ] : https://github.com/crystal-lang/crystal/pull/15864
314
- [ #15852 ] : https://github.com/crystal-lang/crystal/pull/15852
315
309
[ #15894 ] : https://github.com/crystal-lang/crystal/pull/15894
316
310
317
311
#### compiler
@@ -344,6 +338,12 @@ _Feature freeze: 2025-06-25_
344
338
[ #15628 ] : https://github.com/crystal-lang/crystal/pull/15628
345
339
[ #15446 ] : https://github.com/crystal-lang/crystal/pull/15446
346
340
341
+ #### tools
342
+
343
+ - * (formatter)* Fix formatter specs with string interpolation ([ #15842 ] , thanks @straight-shoota )
344
+
345
+ [ #15842 ] : https://github.com/crystal-lang/crystal/pull/15842
346
+
347
347
### Infrastructure
348
348
349
349
- Add ameba ([ #15875 ] , thanks @straight-shoota )
@@ -361,8 +361,7 @@ _Feature freeze: 2025-06-25_
361
361
- Allow ` LLVM_VERSION ` override inside ` Makefile ` ([ #15765 ] , thanks @HertzDevil )
362
362
- Add build script for ` spec/std/data/zoneinfo.zip ` ([ #15831 ] , thanks @HertzDevil )
363
363
- * (ci)* Drop the static LLVM libraries on Windows MSVC CI ([ #15797 ] , thanks @HertzDevil )
364
- - * (ci)* Set up Inno Setup explicitly on MSVC CI ([ #15851 ] , thanks @HertzDevil )
365
- - * (ci)* Use full path to Inno Setup on MSVC CI [ follow-up #15851 ] ([ #15861 ] , thanks @HertzDevil )
364
+ - * (ci)* Set up Inno Setup explicitly on MSVC CI ([ #15851 ] , [ #15861 ] , thanks @HertzDevil )
366
365
- * (ci)* Add CI workflow for MinGW-w64 ARM64 builds ([ #15794 ] , thanks @HertzDevil )
367
366
- * (ci)* ** [ regression] ** Use ` CMAKE_MSVC_RUNTIME_LIBRARY ` for the MSVC PCRE2 static library ([ #15802 ] , thanks @HertzDevil )
368
367
0 commit comments