doc/changelogs/v1.5.md
Class#nilable? for recursive unions and root types (#12353, thanks @HertzDevil)Float#abs and Number#format for -0.0 (#12424, thanks @straight-shoota)Base64.encode (#12377, thanks @dscottboggs)@needs_value (#12444, thanks @asterite)homogeneous_aggregate? check for aarch64 types (#12445, thanks @mattrberry)Union(*T) and similar (#12438, thanks @asterite)\{{...}} syntax in macro inside comments (#12175, thanks @asterite)Crystal::Macros::ASTNode#is_a? (#12086, thanks @HertzDevil)Path for chdir arg in Process methods (#11932, thanks @caspiano)Enum#value (#11947, thanks @lbguilherme)contain expectations in more specs (#11950, thanks @HertzDevil)Hash#reject! for non-equality key (#10511, thanks @straight-shoota)Tuple.element_type and NamedTuple.element_type (#12011, thanks @HertzDevil)Array#- with different generic type arguments (#12049, thanks @straight-shoota)GC_set_stackbottom on Windows (#12186, thanks @HertzDevil)Atomic primitives (#11583, thanks @HertzDevil)Enumerable(Channel) parameter for Channel.send_first, .receive_first (#12101, thanks @carlhoerberg)Digest#hexfinal (#9292, thanks @didactic-drunk)Path#join(Enumerable) (#12032, thanks @straight-shoota)Path#join to convert argument path to base kind (#12033, thanks @straight-shoota)Dir.glob with multi components after recursive wildcard (#12057, thanks @straight-shoota)File#delete? and Dir#delete? (#11887, thanks @didactic-drunk)Path arguments in Compress::Zip (#11925, thanks @didactic-drunk)File#chown and #chmod (#11886, thanks @didactic-drunk)Log emitters to not emit event when block output is nil (#12000, thanks @robacarp)StaticFileHandler paths (#11884, thanks @straight-shoota)HTTP::Server::Response#status_message (#10416, thanks @straight-shoota)Complex.multiplicative_identity (#12051, thanks @I3oris)Float, BigFloat rounding methods (#12004, thanks @marksiemers)__ashlti3, __ashrti3 and __lshrti3 for wasm32 (#11948, thanks @lbguilherme)Spec::Be, BeClose failure message to other messages (#11946, thanks @jgaskins)File#tempfile args (#12076, thanks @straight-shoota)SC_PAGESIZE constant for aarch64-darwin (#12037, thanks @carlhoerberg)File.tempfile (#12077, thanks @straight-shoota)Enumerable as argument to File.join (#12102, thanks @caspiano)#value explicitly in Pointer overview. (#12184, thanks @elebow)String#char_bytesize_at (#11872, thanks @straight-shoota)String#encode (#11993, thanks @HertzDevil)Strings correctly (#12108, thanks @HertzDevil)String#% (#12125, thanks @asterite)UUID.parse? (#11998, thanks @jgaskins)Time.parse! when end of input is reached (#12124, thanks @asterite)NO_COLOR to Colorize (#11984, thanks @didactic-drunk)Crystal::Macros::Self and Underscore (#12085, thanks @HertzDevil)NamedTuple() (#12009, thanks @HertzDevil)EXPORT in interpreter spec (#12201, thanks @HertzDevil)Crystal::Loader: don't check if file exists, leave that to dlopen (#12207, thanks @asterite).class for modules and unions (#12205, thanks @asterite)Crystal::Loader for MSVC (#12140, thanks @HertzDevil)librt and libdl on GNU systems (#12038, thanks @1player)fun parameter names (#11967, thanks @HertzDevil)Crystal::Parser (#12067, thanks @lbguilherme)exp.@x (#12183, thanks @asterite)with_scope if Call has a receiver (#12138, thanks @asterite)Proc(...) (#12129, thanks @asterite)Def#raises? (#12121, thanks @asterite)ASTNode#unbind_all (#12120, thanks @asterite)modalContentDom typo (#12188, thanks @HertzDevil)update-distributions-scripts.sh (#12156, thanks @straight-shoota)pax_global_header on Windows CI (#12173, thanks @HertzDevil)Symbol variables (#11923, thanks @HertzDevil)