doc/changelogs/v1.14.md
^ in constant numeric expressions (#14951, thanks @HertzDevil)Slice#[start, count] (#14778, thanks @ysbaddaden)Slice#same? (#14728, thanks @straight-shoota)WaitGroup.wait and WaitGroup#spawn (#14837, thanks @jgaskins)File#read and #write on Windows (#14940, thanks @HertzDevil)File#read_at on Windows (#14958, thanks @HertzDevil)Process.run standard streams on Windows (#14941, thanks @HertzDevil)IO::FileDescriptor#flock_* on non-blocking files on Windows (#14943, thanks @HertzDevil)STDIN console on Windows (#14947, thanks @HertzDevil)LibCrypto bindings for LibreSSL 3.5+ (#14872, thanks @straight-shoota)neg and fneg (#14774, thanks @JarnaChao09)LLVM::Builder#finalize (#14892, thanks @JarnaChao09)Crystal::Macros::TypeNode#has_inner_pointers? (#14847, thanks @HertzDevil)HashLiteral#has_key? and NamedTupleLiteral#has_key? (#14890, thanks @kamil-gwozdz)BigFloat (#11007, thanks @HertzDevil)Pointer::Appender#to_slice (#14874, thanks @straight-shoota)URI.from_json_object_key? and URI#to_json_object_key (#14834, thanks @nobodywasishere)URI::Params::Serializable (#14684, thanks @Blacksmoke16)System::User on Windows (#14933, thanks @HertzDevil)System::Group on Windows (#14945, thanks @HertzDevil)Crystal::EventLoop (#14977, thanks @ysbaddaden)underscore_to_space option to String#titleize (#14822, thanks @Blacksmoke16)Crystal::Repl::Value#runtime_type (#14156, thanks @bcardiff)Reference.pre_initialize in the interpreter (#14968, thanks @HertzDevil)Slice.literal for multiple calls with identical signature (#15009, thanks @HertzDevil)MacroIf nodes (#14885, thanks @Blacksmoke16)Range#size return type to Int32 (#14588, thanks @straight-shoota)DeallocationStack for Windows context switch (#15032, thanks @HertzDevil)pthread_create handle initialization (#15043, thanks @HertzDevil)File#truncate and #lock for Win32 append-mode files (#14706, thanks @HertzDevil)Socket and IO::FileDescriptor (#14882, thanks @straight-shoota)IO::Buffered#buffer_size= idempotent (#14855, thanks @jgaskins)#sort_by inside macros using Enumerable#sort_by (#14895, thanks @HertzDevil)#is_a? on External nodes (#14918, thanks @HertzDevil)Socket#connect on Windows (#14961, thanks @HertzDevil)String#to_f(whitespace: false) (#14902, thanks @Blacksmoke16)Math.frexp(BigFloat) for very large values (#14971, thanks @HertzDevil)BigFloat#to_s for very large values (#14982, thanks @HertzDevil)@[Link(dll:)] annotation to MPIR (#15003, thanks @HertzDevil)LibC.VirtualQuery (#15036, thanks @HertzDevil)XML::Error.errors (#14936, thanks @straight-shoota)Expectations::Be for module type (#14926, thanks @straight-shoota)ENV.fetch (#14919, thanks @straight-shoota)#file_descriptor_close should set @closed (UNIX) (#14973, thanks @ysbaddaden)libpcre when unused (#14891, thanks @kojix2)String#byte_index offset parameter (#14981, thanks @straight-shoota)Procs from top-level funs (#14917, thanks @HertzDevil)getrandom failure in interpreted code (#15035, thanks @HertzDevil)TopLevelVisitor adding existing ClassDef type to current scope (#15067, thanks @straight-shoota)crystal tool dependencies format flat (#14927, thanks @straight-shoota)crystal tool dependencies filters for Windows paths (#14928, thanks @straight-shoota)crystal tool unreachable & co visiting circular hierarchies (#15065, thanks @straight-shoota)Time::Span in Benchmark.ips (#14805, thanks @HertzDevil)::sleep(Number) (#14962, thanks @HertzDevil)Pointer.new(Int) (#14875, thanks @straight-shoota)Crystal::Loader on Windows (#14988, thanks @HertzDevil)Hash#transform_{keys,values} (#14502, thanks @jgaskins)BigFloat and integers (#14944, thanks @HertzDevil)Exception::CallStack.empty to avoid repeat Array allocation (#15025, thanks @straight-shoota)Crystal::Type#remove_indirection in module dispatch (#14992, thanks @HertzDevil)select from src/channel.cr (#14912, thanks @straight-shoota)Crystal::IOCP::OverlappedOperation abstract (#14987, thanks @HertzDevil)#evented_read, #evented_write into Crystal::LibEvent::EventLoop (#14883, thanks @straight-shoota)Socket::Addrinfo.getaddrinfo(&) (#14956, thanks @HertzDevil)Crystal::System::Addrinfo (#14957, thanks @HertzDevil)Exception::CallStack.empty (#15017, thanks @straight-shoota)IOCP::OverlappedOperation (#14754, thanks @straight-shoota)Crystal::System::Group instead of extending it (#14930, thanks @HertzDevil)Crystal::System::User instead of extending it (#14929, thanks @HertzDevil)Crystal::SpinLock doesn't need to be allocated on the HEAP (#14972, thanks @ysbaddaden)System::Process.spawn (UNIX) (#14974, thanks @ysbaddaden)EventLoop interface for sleeps & select timeouts (#14980, thanks @ysbaddaden)Hash::Entry from public API docs (#14881, thanks @Blacksmoke16)Set and Hash (#14889, thanks @philipp-classen)@[Experimental] to LLVM::DIBuilder (#14854, thanks @HertzDevil)uri/json to docs_main (#15069, thanks @straight-shoota)Pointer's alignment requirement (#14853, thanks @HertzDevil)Pointer#memcmp's documentation (#14818, thanks @HertzDevil)NoReturn and Void (#14817, thanks @nobodywasishere)Tuple#to_static_array spec on AArch64 (#14844, thanks @HertzDevil)String#index, #rindex search for Char::REPLACEMENT (#14946, thanks @straight-shoota)ProcPointer of virtual type (#14903, thanks @HertzDevil)shard.yml (#14909, thanks @straight-shoota)release/1.13@1.13.2 (#14924, thanks @straight-shoota)release/1.13@1.13.3 (#15012, thanks @straight-shoota)SOURCE_DATE_EPOCH in Makefile.win (#14922, thanks @HertzDevil)wasm32-test (#14821, thanks @straight-shoota)macos-14 (#14833, thanks @straight-shoota)libffi repository on Windows CI (#14998, thanks @HertzDevil)