doc/changelogs/v1.17.md
Colorize.on_tty_only! the default behavior (#15881, thanks @HertzDevil)IO.pipe blocking mode (#15823, thanks @ysbaddaden)IO::Stapled.pipe blocking args to nil, as per IO.pipe (#15925, thanks @ysbaddaden)Socket blocking mode (#15804, thanks @ysbaddaden)File (#15930, thanks @ysbaddaden)SystemError.from_errno into a macro (#15874, thanks @straight-shoota){% if ...; end; ... %} macro expressions (#15917, thanks @HertzDevil){% elsif %} when stringifying MacroIf nodes (#15928, thanks @HertzDevil)Colorize.default_enabled? (#15912, thanks @HertzDevil)Struct.pre_initialize (#15896, thanks @HertzDevil)Path (#15590, thanks @HertzDevil)WebSocket#do_ping, #do_close helper methods for overrides (#15545, thanks @luislavena)HTTP::Request#uri (#15816, thanks @syeopite)BigRational#to_i (#15809, thanks @HertzDevil)Float::Primitive#sign_bit (#15830, thanks @HertzDevil)Crystal::EventLoop#reopened(FileDescriptor) hook (#15640, thanks @ysbaddaden)Crystal::EventLoop::FileDescriptor#open (#15750, thanks @ysbaddaden)Thread::Local(T) (#15616, thanks @ysbaddaden)XML.libxml2_version (#15623, thanks @straight-shoota)YAML::Builder#start_document(*, implicit_start_indicator) (#15835, thanks @straight-shoota)XML types (#15833, thanks @HertzDevil)Path.from_json_object_key (#15877, thanks @jneen)Time::Location#{to,from}_{json,yaml} (#15939, thanks @Sija)XML::Document from XML::Node (#15920, thanks @ysbaddaden)Crystal::System.wstr_literal on Windows (#15747, thanks @HertzDevil)String#ensure_suffix and String#ensure_prefix (#15782, thanks @MatheusRich)truncate_at_null parameter to String.new(Bytes) and .from_utf16 (#15887, thanks @HertzDevil)Time.month_week_date (#15620, thanks @HertzDevil)Time::Format (#15890, thanks @HertzDevil)--x86-asm-syntax for emitting Intel style assembly (#15612, thanks @HertzDevil)MacroIf unless nodes properly (#15919, thanks @HertzDevil)elsif when stringifying If nodes (#15918, thanks @HertzDevil)MacroVar nodes (#15947, thanks @Blacksmoke16)pointerof (#15876, thanks @straight-shoota)max-width in API docs (#15672, thanks @straight-shoota)NO_COLOR to be non-empty (#15880, thanks @HertzDevil)UInt64 to track iteration count during warm-up calculation in Benchmark::IPS (#15780, thanks @syeopite)Array#| for different item types (#15756, thanks @straight-shoota)Fiber::ExecutionContext#enqueue from bare Thread (#15767, thanks @ysbaddaden)Crystal::System::Fiber::RESERVED_STACK_SIZE initializer on Windows (#15820, thanks @HertzDevil)Thread::LinkedList#inspect (#15829, thanks @HertzDevil)BigFloat#format not compiling (#15796, thanks @HertzDevil)BigDecimal#format (#15795, thanks @HertzDevil)BigDecimal or BigFloat to sprintf %i (#15808, thanks @HertzDevil)Float32#abs for signed zeros (#15814, thanks @HertzDevil)Float32#- and Float64#- flip sign bit (#15857, thanks @HertzDevil)File passed to Process.exec and .run (win32) (#15703, thanks @ysbaddaden)Fiber::ExecutionContext::Isolated#wait (#15872, thanks @ysbaddaden)exec_recursive's block raises (#15893, thanks @straight-shoota)Thread, not Fiber::ExecutionContext::Isolated (#15909, thanks @ysbaddaden)Path#relative_to for non-normalized anchor (#15737, thanks @straight-shoota)src/termios.cr on Windows (#15852, thanks @HertzDevil)Time::Location::InvalidTZDataError dropping default message (#15824, thanks @HertzDevil)typeof (#15971, thanks @HertzDevil)Case, Asm, and Select (#15452, thanks @FnControlOption)Not as call receiver (#15801, thanks @Blacksmoke16)Crystal::Var#== (#15884, thanks @HertzDevil)MacroIf nodes with only MacroLiteral bodies (#15938, thanks @Blacksmoke16)Enum.from_value raise ArgumentError instead of Exception (#15624, thanks @HertzDevil)not_nil! calls with bang methods (#15847, thanks @straight-shoota)be_nil and be_true/be_false everywhere in specs (#15867, thanks @straight-shoota)is_a? calls with convenient alternatives (#15860, thanks @straight-shoota)typos integration (#15873, thanks @straight-shoota)Indexable#find (#15674, thanks @straight-shoota)Float#infinite? and #nan? (#15813, thanks @HertzDevil)offset a required parameter in Indexable#find (#15671, thanks @straight-shoota)Digest.update overloads for Bytes (#15736, thanks @straight-shoota)Slice literals in Crypto::Bcrypt (#15781, thanks @HertzDevil)IO::FileDescriptor (win32) (#15753, thanks @ysbaddaden)Crystal::EventLoop::FileDescriptor#open now sets the non/blocking flag (#15754, thanks @ysbaddaden)http/ files (#15675, thanks @straight-shoota)StaticFileHandler#call into structured components (#15678, thanks @straight-shoota)Slice.literal for fast_float when supported (#15667, thanks @HertzDevil)src/lib_c/ (#15565, thanks @ysbaddaden)Exception::CallStack.decode_backtrace_frame helper (#15615, thanks @ysbaddaden)Crystal::EventLoop#close do the actual close (not just cleanup) (#15641, thanks @ysbaddaden)LibXML.xmlGcMemSetup with .xmlMemSetup (#15626, thanks @straight-shoota)IOs in Spec::CLI (#15882, thanks @HertzDevil)Spec with exhaustive cases (#15879, thanks @HertzDevil)String::CHAR_TO_DIGIT and CHAR_TO_DIGIT62 (#15745, thanks @HertzDevil)String#% with justification methods (#15821, thanks @HertzDevil)chars.size on Strings (#15822, thanks @HertzDevil)Digest (#15696, thanks @Vici37)Crypto::Bcrypt::Password#to_s (#15935, thanks @hugopl)OpenSSL::Cipher (#15964, thanks @Fijxu)Crystal::Macros::StringLiteral#to_utf16 (#15748, thanks @HertzDevil)GC::Stats properties (#15676, thanks @ysbaddaden)__crystal_pseudo_alignof docs (#15945, thanks @syeopite)CSV (#15695, thanks @Vici37)be_nil expectation does (#15954, thanks @Blacksmoke16)Dir (#15697, thanks @Vici37)Socket and IO::FileDescriptor handles (#15977, thanks @straight-shoota)String#lines and #each_line (#15894, thanks @straight-shoota)to_a in expectations with Slice (#15735, thanks @straight-shoota)crypto/subtle (#15702, thanks @straight-shoota)HTTP::Request with resource string // (#15546, thanks @miry)puts call (#15942, thanks @Sija)release-update script: Truncate CHANGELOG (#15679, thanks @straight-shoota)release/1.16 into master (#15729, thanks @straight-shoota)docs_main.cr (#15621, thanks @straight-shoota)scripts/release-update.sh idempotent previous CHANGELOG entry (#15731, thanks @straight-shoota)release/1.16@1.16.3 into master (#15774, thanks @straight-shoota)install_docs (#15853, thanks @straight-shoota)LLVM_VERSION override inside Makefile (#15765, thanks @HertzDevil)spec/std/data/zoneinfo.zip (#15831, thanks @HertzDevil)XML CI workflow (#15923, thanks @straight-shoota)CMAKE_MSVC_RUNTIME_LIBRARY for the MSVC PCRE2 static library (#15802, thanks @HertzDevil)