doc/changelogs/v1.6.md
VirtualMetaclassType#implements? to ignore base type (#12632, thanks @straight-shoota)obj and to (#12668, thanks @asterite)Socket::IPAddress (#12583, thanks @Blacksmoke16)llvm-configXX while building compiler (#12602, thanks @HertzDevil)@[Link] annotation (#11935, thanks @lbguilherme)GC.malloc_atomic with GC.realloc, not Pointer#realloc (#12391, thanks @HertzDevil)Symbol variables in standard library specs (#12462, thanks @HertzDevil)@[::Primitive] and @[::Flags] where necessary (#11900, thanks @HertzDevil)NamedTuple deserialization from JSON and YAML (#12008, thanks @HertzDevil)BitArray#tally(hash) (#11909, thanks @HertzDevil)Slice#unsafe_slice_of and #to_unsafe_bytes in the standard library and compiler (#12280, thanks @HertzDevil)BitArray#index and #rindex (#12087, thanks @HertzDevil)Indexable#index! overloads with offset parameter (#12089, thanks @HertzDevil)Mutex on Windows (#12213, thanks @HertzDevil)U/Int128 in Random (#11977, thanks @BlobCodes)#system_echo and #system_raw on all systems (#12352, thanks @HertzDevil)Crystal::System::FileInfo through File::Info (#12385, thanks @HertzDevil)IO.pipe spec on FreeBSD (#12324, thanks @dmgk)File.match? ** globbing pattern. (#12343, thanks @zw963)Dir#info (#11991, thanks @didactic-drunk)IO::FileDescriptor's console methods on Windows (#12294, thanks @HertzDevil)LibC::DT_LINK -> DT_LNK (#11954, thanks @HertzDevil)IO::FileDescriptor#info (#12384, thanks @HertzDevil)IO::DEFAULT_BUFFER_SIZE (#12507, thanks @straight-shoota)IO::FileDescriptor staying open on finalize (#12367, thanks @refi64)record documentation (#12334, thanks @straight-shoota)Socket::IPAddress.valid? (#12489, #10492, thanks @straight-shoota)HTTP::Client#exec to abort retry when client was closed (#12465, thanks @straight-shoota)HTTP::Client implicit compression with retry (#12536, thanks @straight-shoota)HTTP::StaticFileHandler: Reduce max stat calls from 6 to 2 (#12310, thanks @didactic-drunk)HTTP::Client (#12527, thanks @straight-shoota)sprintf and String#% (#10973, thanks @HertzDevil)Float#to_s ignore NaN sign bit (#12399, thanks @HertzDevil)sprintf and String#% ignore NaN sign bit (#12400, thanks @HertzDevil)Complex#to_s imaginary component sign for certain values (#12244, thanks @HertzDevil)Complex#sign (#12242, thanks @HertzDevil)rand(Range(Int, Int)) when signed span is too large (#12545, thanks @HertzDevil)#rotate_left and #rotate_right for primitive integers (#12307, thanks @HertzDevil)BigDecimal#div for inexact divisions (#10803, thanks @HertzDevil)Float#to_s (#10913, thanks @HertzDevil)U/Int128 to isqrt spec (#11976, thanks @BlobCodes)wasi-sdk 16: don't rely on __original_main (#12450, thanks @lbguilherme)ArrayConverter and HashValueConverter (#10638, thanks @HertzDevil)after_initialize method for yaml and json serializers (#12530, thanks @analogsalad)LibC::Passwd on FreeBSD (#12315, thanks @dmgk)Process.parse_arguments (#12278, thanks @HertzDevil)Dir.current respect $PWD (#12471, thanks @straight-shoota)String shift state specs on FreeBSD (#12339, thanks @dmgk)sprintf parameters (#12402, thanks @HertzDevil)Colorize doc example (#12492, thanks @zw963)String#downcase and String#upcase for single byte optimizable case (#12389, thanks @asterite)String#valid_encoding? (#12145, thanks @HertzDevil)String#unicode_normalize and String#unicode_normalized? (#11226, thanks @HertzDevil)sprintf (#12448, thanks @HertzDevil)LibC.malloc instead of GC.malloc for LibPCRE allocations (#12456, thanks @lbguilherme)#to_s for empty parameters of lib funs (#12368, thanks @HertzDevil)Proc(*T, Void) to Proc(*T, Nil) (#12388, thanks @asterite)begin Expressions that are direct node children (#12362, thanks @HertzDevil)Path.new(string) instead of Path.new([string]) (#12419, thanks @asterite)freeze_type in select AST nodes (#12428, thanks @asterite)merge_if_vars (#12432, #12433, thanks @asterite)type_from_dependencies (#12437, thanks @asterite)Dir.current to avoid thousands of allocations (#12455, thanks @yxhuvud)out instead of an extra variable (#10952, thanks @asterite)String, Array, and Hash (#12212, thanks @HertzDevil)next inside captured block (#12237, thanks @asterite)crystal_type_id for virtual metaclass type (#12246, thanks @asterite)Int128/UInt128 intrinsics (#12258, thanks @asterite)MixedUnionType to NilableProcType (#12286, thanks @asterite)with ... yield with extra arguments (#12301, thanks @asterite)NoReturn (#12275, thanks @asterite)with ... yield scope into account for args bytesize (#12317, thanks @asterite)as? when there's no resulting type (#12328, thanks @asterite)non_nilable_type in NilableCast (#12348, thanks @asterite)upcast_distinct from A+ to B (Crystal::VirtualType to Crystal::NonGenericClassType) (#12374, thanks @asterite)MainVisitor each time we need to interpret code (#12512, thanks @asterite)GenericClassInstanceMetaclassType to VirtualMetaclassType (#12562, thanks @asterite)$CRYSTAL_INTERPRETER_LOADER_INFO to show loaded libraries (#12221, thanks @straight-shoota)Prompt type (#12288, thanks @asterite)i += 1 (#12381, thanks @asterite)Nil to NoReturn in FixMissingTypes (#12230, thanks @asterite)HTTP::Server specs in interpreted mode (#12420, thanks @asterite)Int64's range (#12427, thanks @HertzDevil)arg* to param* (#12235, thanks @potomak)Union restrictions to be ordered before all other restrictions (#12335, thanks @HertzDevil)Class, Tuple, NamedTuple, Enum, Pointer , Proc, StaticArray and Union. (#12160, thanks @I3oris)is_a? from virtual metaclass to generic metaclass (#12306, thanks @asterite)is_a? from generic class against generic class instance type (#12312, thanks @asterite)self in restrictions when instantiating macro def in subtypes (#10954, thanks @HertzDevil)self when inferring instance variable types (#12466, thanks @HertzDevil)Metaclass and Path (#12523, thanks @HertzDevil)bin/crystal: Ensure sh compatibility (#12486, thanks @HertzDevil)compopt only when it's present (#12248, thanks @potomak)Makefile.win and wrapper script on Windows CI (#12344, thanks @HertzDevil)EXPORT_CC for make crystal (#11760, thanks @straight-shoota)scripts/update-distribution-scripts.sh (#12503, thanks @straight-shoota)spec/win32_std_spec.cr and spec/generate_windows_spec.sh (#12282, #12549, thanks @HertzDevil and @straight-shoota)