doc/changelogs/v1.19.md
StringLiteral#gsub (#16378, thanks @Blacksmoke16)StringLiteral#split(RegexLiteral) (#16423, thanks @HertzDevil)StringLiteral#match (#16464, thanks @HertzDevil)ArrayLiteral#[] return nil on out of bounds (#16453, thanks @HertzDevil)NamedTuple#reverse_merge (#16229, thanks @andrykonchin)Hash#inspect, Tuple#inspect before { from first element (#16245, thanks @andrykonchin)Set#map! (#16271, thanks @andrykonchin)Hash#transform_keys! (#16280, thanks @andrykonchin)Hash#[] when key is wrong type for default block (#16442, thanks @Blacksmoke16)Sync::Mutex and Sync::RWLock (#16399, thanks @ysbaddaden)Sync::ConditionVariable (#16440, thanks @ysbaddaden)Sync::Exclusive and Sync::Shared (#16487, thanks @ysbaddaden)OpenSSL::SSL::Context::Server#on_server_name for SNI (#16452, #16525, thanks @carlhoerberg, @straight-shoota)StaticFileHandler helper methods from File to IO (#16238, thanks @andrykonchin)IPSocket#ipv6_only (#16347, thanks @stakach)flags hint for getaddrinfo (#16528, thanks @stakach)Int.from_digits as inverse of Int#digits (#16237, #16566, thanks @andrykonchin, @ysbaddaden)BigInt.from_digits (#16259, thanks @HertzDevil)Int#tdivmod (#16258, thanks @andrykonchin)Proc#[] as alias to #call (#16220, thanks @andrykonchin)#unshift, #pop and #pop? to Crystal::PointerLinkedList (#16287, thanks @ysbaddaden)Random.next_bool and .next_int (#16297, thanks @ysbaddaden)Random#split and #split_internal API for splittable PRNGs (#16342, #16495, thanks @ysbaddaden)Pointer#fill (#16338, thanks @straight-shoota)Crystal::PointerLinkedList#first? (#16400, thanks @ysbaddaden)Box.unbox from dereferencing null pointer (#16514, thanks @straight-shoota)Fiber::ExecutionContext::Scheduler.current? (#16521, thanks @ysbaddaden)YAML::Nodes.parse (#16187, thanks @HertzDevil)JSON::SerializableError#attribute when appropriate (#16158, thanks @spuun)YAML::Nodes.parse_all (#16247, thanks @HertzDevil)CRYSTAL_WORKERS (#16444, #16471, thanks @straight-shoota, @ysbaddaden)Process.debugger_present? for Windows and Linux (#16248, thanks @HertzDevil)execvpe_impl (#16322, #16344, thanks @straight-shoota)::exit(Process::Status) (#16436, thanks @straight-shoota)File::Error (#16024, thanks @straight-shoota)Path#relative? (#16473, thanks @Sija)String#each_line parameter remove_empty (#16232, thanks @andrykonchin)weeks parameter to Time::Span.new (#16208, thanks @Sija)/etc/zoneinfo to zoneinfo lookup paths (#16463, thanks @straight-shoota)$TZDIR (#16466, thanks @straight-shoota)Time::Instant (#16490, thanks @straight-shoota)-Dexecution_context (#16447, #16502, thanks @ysbaddaden, @straight-shoota)->LibX.fun_name in the interpreter (#16194, thanks @ysbaddaden)CrystalPath::NotFoundError (#16365, thanks @willhbr)included, extended hooks (#13261, thanks @Blacksmoke16)OptionParser subcommand help to respect custom summary_indent (#16334, thanks @kojix2)Hash methods to retain compare_by_identity flag (#16356, thanks @andrykonchin)lock_write to work without sockets (#16304, thanks @straight-shoota)HTTP::Cookie parsing trailing semicolons (#16328, thanks @alexkutsan)#flush in WebSocket#stream a no-op to not send wrongly frames (#16539, thanks @spuun)Parallel (#16367, thanks @ysbaddaden)Crystal::PointerLinkedList#each stops iterating when deleting head (#16401, thanks @ysbaddaden)Crystal::System::Process#rwlock with Crystal < 1.7 (UNIX) (#16482, thanks @ysbaddaden)Time.monotonic in Fiber::ExecutionContext::Monitor (#16500, thanks @ysbaddaden)Exception::Callstack (#16504, thanks @ysbaddaden)XML.parse and XML.parse_html methods (#16414, thanks @ysbaddaden)XML::Document#finalize (#16418, thanks @toddsundsted)XML::Node#content= (#16419, thanks @toddsundsted)XML::Node (#16432, thanks @toddsundsted)#inspect in expect_raises (#16265, #16375, thanks @andrykonchin, @straight-shoota)argv before fork (#16286, #16321, thanks @straight-shoota)envp to execvpe (#16340, thanks @straight-shoota)make_envp before fork (#16351, thanks @straight-shoota)Dir.cd with a non-raising alternative in pre-exec (#16352, #16369, thanks @straight-shoota)Process.exec fails (#16383, thanks @straight-shoota)Process.lock_write outside of .block_signals (#16465, thanks @straight-shoota)fork (#16446, thanks @straight-shoota)self in inlined method with arguments (#16307, thanks @cyangle)typeof should return concrete type (#16379, thanks @cyangle)Call#end_location w/ named arguments off-by-one error (#16542, thanks @Sija)&& conditions with method calls incorrectly got Nil added to their type (#16512, thanks @Blacksmoke16):inherit: directives (#16443, thanks @Blacksmoke16)Generic formatter visitor (#16430, thanks @Blacksmoke16)StringLiteral#split(ASTNode) for non-separator arguments (#16439, thanks @HertzDevil)Time#inspect(io, *, with_nanoseconds) (#16416, thanks @straight-shoota)Time.monotonic (#16545, thanks @straight-shoota)begin/end blocks (#16554, thanks @straight-shoota)times.map (#16422, thanks @HertzDevil)Pointer.malloc with zero value (#16333, thanks @straight-shoota)Pointer.malloc(size, value) in Slice.new(size, value) (#16358, thanks @straight-shoota)OptionParser#parse (#16233, thanks @kojix2)OptionParser#handle_flag with guard clauses (#16309, thanks @kojix2)File#truncate (UNIX) (#16395, thanks @ysbaddaden)Log::Metadata should put parent entries first on extend (like Hash#merge) (#16098, thanks @spuun)HTTP::Headers#get(Key) into undocumented overload (#16283, thanks @straight-shoota)OAuth::Params (#16319, thanks @AnandRaj2224)Crystal::DWARF::LineNumbers::Sequence (#16214, thanks @HertzDevil)Crystal::EventLoop#shutdown from #close (#16288, #16366, thanks @ysbaddaden)Random::Secure.random_bytes (#16298, thanks @ysbaddaden)random arg to nil instead of Random::DEFAULT (#16299, thanks @ysbaddaden)EventLoop#after_fork_before_exec (#16332, thanks @straight-shoota)Crystal::PointerLinkedList#delete (#16398, thanks @ysbaddaden)Fiber::Stack#size (#16420, thanks @ysbaddaden)new_thread spec helper must return isolated context (not thread) (#16421, thanks @ysbaddaden)Crystal::System::Env.each_pointer on Unix (#16200, thanks @straight-shoota)Crystal::System::Process#fork on UNIX (#16191, #16373, thanks @ysbaddaden, @straight-shoota)execvpe when available (#16294, #16311, thanks @straight-shoota)Env.make_envp (#16320, #16384, thanks @straight-shoota)prepare_args into system implementation internals (#16362, thanks @straight-shoota)unix/spawn.cr as a separate file (#16388, thanks @straight-shoota)Process.block_signals helper (#16402, thanks @straight-shoota)aarch64-android to aarch64-linux-android (#16409, thanks @straight-shoota)String#byte_slice(Int) and String#byte_slice?(Int) (#16235, thanks @andrykonchin)clock_gettime on darwin (#16492, thanks @straight-shoota)Crystal::System::Time.instant (#16506, thanks @straight-shoota)Time.monotonic with Time.instant [follow-up #16490] (#16498, thanks @straight-shoota)Time::Span#sign (#16553, thanks @plambert)@[Deprecated] doc comment (#16302, thanks @jgaskins)Set's enumeration order (#16274, thanks @HertzDevil)Sync namespace (#16565, thanks @ysbaddaden)Bcrypt docs (#16536, thanks @BlobCodes)OAuth::Consumer#get_authorize_uri (#16285, thanks @straight-shoota)Int to mention Int128 and UInt128 (#16529, thanks @HCLarsen)to_slice for presentation in Pointer doc examples (#16345, thanks @straight-shoota)String#split(Regex)'s capture group behavior (#16207, thanks @HertzDevil)flag? macro (#16336, thanks @straight-shoota)Slice.new (#16424, thanks @straight-shoota)IO#read_bytes with converter (#16250, thanks @straight-shoota)EAI_NODATA instead of EAI_NONAME for unresolvable hostname (#16496, thanks @straight-shoota)Process.run (#16306, #16325, thanks @straight-shoota)assert_expand_second and assert_expand_third helpers (#16244, thanks @HertzDevil)release/1.18@1.18.2 into master (#16246, thanks @straight-shoota)Lint/SpecFilename (#16223, thanks @straight-shoota)devenv (#16263, thanks @straight-shoota)ameba to git-hooks (#16276, #16295, thanks @straight-shoota)devenv profile lint (#16291, thanks @straight-shoota)COMPILER_FLAGS (#16349, #16372, thanks @straight-shoota)shell.nix on Linux (#16346, thanks @straight-shoota)-Dpreview_mt (#16380, thanks @straight-shoota)devenv.lock (#16386, thanks @github-actions)devenv.lock (#16408, thanks @github-actions).envrc (#16462, thanks @straight-shoota)Makefile and Makefile.win at the same time (#16503, thanks @straight-shoota)scripts/update-shards.sh (#16524, thanks @straight-shoota)m4pro.medium resource class (#16389, thanks @straight-shoota)pre-commit (#16275, #16296, thanks @straight-shoota)std_spec (#16337, thanks @straight-shoota)pull_request trigger for smoke workflow (#16343, thanks @straight-shoota)update-devenv (#16387, thanks @straight-shoota)test_dist_linux_on_docker job (#16410, thanks @straight-shoota)