{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":6887813,"defaultBranch":"master","name":"crystal","ownerLogin":"crystal-lang","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2012-11-27T17:32:32.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/6539796?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1718223322.0","currentOid":""},"activityList":{"items":[{"before":"889f49a74600be43c0d6d4ee283e19391c41794b","after":null,"ref":"refs/heads/fix/new_program-fresh-target_machine","pushedAt":"2024-06-12T20:15:22.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"straight-shoota","name":"Johannes Müller","path":"/straight-shoota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/466378?s=80&v=4"}},{"before":"c141700e366f534bdcd9a3968574fd94324546fe","after":"1a6686af61fbada0884a54199ac700e5fb1d5d61","ref":"refs/heads/master","pushedAt":"2024-06-12T20:15:20.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"straight-shoota","name":"Johannes Müller","path":"/straight-shoota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/466378?s=80&v=4"},"commit":{"message":"Fix create new `target_machine` for every program (#14694)","shortMessageHtmlLink":"Fix create new target_machine for every program (#14694)"}},{"before":"ef04b2e96a3d400491ef51ae6dea5ba08a9e29af","after":"c141700e366f534bdcd9a3968574fd94324546fe","ref":"refs/heads/master","pushedAt":"2024-06-12T13:14:32.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"straight-shoota","name":"Johannes Müller","path":"/straight-shoota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/466378?s=80&v=4"},"commit":{"message":"Replace calls to `StaticArray(UInt8, 1)#unsafe_as(UInt8)` (#14685)\n\nIt's unnecessary to use `unsafe_as` to retrieve the value of a single-item `StaticArray`.\r\nHowever, the entire `StaticArray` is unnecessary because we just need a slice pointing to the location of the value.\r\nThe resulting machinecode should be identical in all three variants.","shortMessageHtmlLink":"Replace calls to StaticArray(UInt8, 1)#unsafe_as(UInt8) (#14685)"}},{"before":"70fb98e5b36d1f03ac69b220ed92db7947e83013","after":"ef04b2e96a3d400491ef51ae6dea5ba08a9e29af","ref":"refs/heads/master","pushedAt":"2024-06-12T13:13:58.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"straight-shoota","name":"Johannes Müller","path":"/straight-shoota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/466378?s=80&v=4"},"commit":{"message":"Optimize `String#to_utf16` (#14671)\n\nA series of optimizations to improve performance of `String#to_utf16`:\r\n\r\n* Remove branches for impossible codepoints. `each_char` already excludes invalid codepoints, so we only have to handle the encoding as one or two UInt16.\r\n* Drop `ascii_only?` branch. The performance benefit is questionable because `ascii_only?` iterates the string. With optimizations to the regular loop, this special case doesn't provide much extra performance, so it's expendable.\r\n* Use pointer appender to avoid bounds checks on every slice assignment. It also improves convenience.\r\n* Use wrapping math operators. These operations cannot overflow, so we can use the unsafe variants for better performance.","shortMessageHtmlLink":"Optimize String#to_utf16 (#14671)"}},{"before":"504fdb7e824cd4357b3ba73b108bd747a05e3c84","after":"70fb98e5b36d1f03ac69b220ed92db7947e83013","ref":"refs/heads/master","pushedAt":"2024-06-12T09:24:36.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"straight-shoota","name":"Johannes Müller","path":"/straight-shoota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/466378?s=80&v=4"},"commit":{"message":"Move `File.readable?`, `.writable?`, `.executable?` to `File::Info` (#14484)\n\nThese methods provide lower-level insights into the file system. Their use cases are rare and exposure in the top-level `File` namespace is confusing due to the similarly-named methods `File.read` and `File.write`.","shortMessageHtmlLink":"Move File.readable?, .writable?, .executable? to File::Info (#…"}},{"before":"5fd4595eb1c48aefb071e4c4497ca06eadba82a8","after":"504fdb7e824cd4357b3ba73b108bd747a05e3c84","ref":"refs/heads/master","pushedAt":"2024-06-12T09:20:01.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"straight-shoota","name":"Johannes Müller","path":"/straight-shoota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/466378?s=80&v=4"},"commit":{"message":"Optimize `Hash` for repeated removals and insertions (#14539)","shortMessageHtmlLink":"Optimize Hash for repeated removals and insertions (#14539)"}},{"before":"3716da2bf66902d3df7f7fc4c653031084633dda","after":"889f49a74600be43c0d6d4ee283e19391c41794b","ref":"refs/heads/fix/new_program-fresh-target_machine","pushedAt":"2024-06-11T17:02:25.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"straight-shoota","name":"Johannes Müller","path":"/straight-shoota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/466378?s=80&v=4"},"commit":{"message":"Fix create new `target_machine` for every program","shortMessageHtmlLink":"Fix create new target_machine for every program"}},{"before":null,"after":"3716da2bf66902d3df7f7fc4c653031084633dda","ref":"refs/heads/fix/new_program-fresh-target_machine","pushedAt":"2024-06-11T16:43:17.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"straight-shoota","name":"Johannes Müller","path":"/straight-shoota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/466378?s=80&v=4"},"commit":{"message":"wip","shortMessageHtmlLink":"wip"}},{"before":"3716da2bf66902d3df7f7fc4c653031084633dda","after":null,"ref":"refs/heads/fix/llvm-cache_poisining-data_layout-target_machine","pushedAt":"2024-06-11T16:42:48.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"straight-shoota","name":"Johannes Müller","path":"/straight-shoota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/466378?s=80&v=4"}},{"before":null,"after":"3716da2bf66902d3df7f7fc4c653031084633dda","ref":"refs/heads/fix/llvm-cache_poisining-data_layout-target_machine","pushedAt":"2024-06-11T16:42:32.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"straight-shoota","name":"Johannes Müller","path":"/straight-shoota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/466378?s=80&v=4"},"commit":{"message":"wip","shortMessageHtmlLink":"wip"}},{"before":"4c1f81b3ee8bb18be6f8aea8917faa785de31d42","after":"5fd4595eb1c48aefb071e4c4497ca06eadba82a8","ref":"refs/heads/master","pushedAt":"2024-06-11T16:21:03.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"straight-shoota","name":"Johannes Müller","path":"/straight-shoota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/466378?s=80&v=4"},"commit":{"message":"Refactor `Crystal::System.retry_with_buffer` calling `#to_slice` (#14614)\n\nThis is a trivial refactor, moving the call to `StaticArray#to_slice` out of the loop. On repeat iterations `buf` is a `Slice` so `#to_slice` is actually a no-op.","shortMessageHtmlLink":"Refactor Crystal::System.retry_with_buffer calling #to_slice (#14614"}},{"before":"2d71e3546f700b5ade54d10d455da69f78adb65f","after":"4c1f81b3ee8bb18be6f8aea8917faa785de31d42","ref":"refs/heads/master","pushedAt":"2024-06-11T16:20:03.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"straight-shoota","name":"Johannes Müller","path":"/straight-shoota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/466378?s=80&v=4"},"commit":{"message":"Fix `Hash#rehash` to reset `@first` (#14606)","shortMessageHtmlLink":"Fix Hash#rehash to reset @first (#14606)"}},{"before":"c289f45f25266c8898412da01dd877da3f8c8601","after":"2d71e3546f700b5ade54d10d455da69f78adb65f","ref":"refs/heads/master","pushedAt":"2024-06-11T10:19:28.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"straight-shoota","name":"Johannes Müller","path":"/straight-shoota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/466378?s=80&v=4"},"commit":{"message":"Add `Array#insert_all` (#14486)\n\n`Array#insert_all` allows to insert all elements from an indexable at a given index.\r\n\r\nWhile this is already possible using range assignment, the syntax is not very obvious and is prone to unintended side-effects with an inclusive range.\r\n\r\n```crystal\r\narr = [1, 2, 6]\r\n# arr[2..2] = [3, 4, 5] # => [1, 2, 3, 4, 5]\r\narr[2...2] = [3, 4, 5] # => [1, 2, 3, 4, 5, 6]\r\n```\r\n\r\nThe new method would simplify it to:\r\n\r\n```crystal\r\narr = [1, 2, 6]\r\narr.insert_all(2, [3, 4, 5]) # => [1, 2, 3, 4, 5, 6]\r\n```\r\n\r\nCo-authored-by: Johannes Müller ","shortMessageHtmlLink":"Add Array#insert_all (#14486)"}},{"before":"897bd10f260dd540257348d0461b25d3fff97461","after":"c289f45f25266c8898412da01dd877da3f8c8601","ref":"refs/heads/master","pushedAt":"2024-06-11T10:16:12.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"straight-shoota","name":"Johannes Müller","path":"/straight-shoota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/466378?s=80&v=4"},"commit":{"message":"Add `TypeNode#private?`, `#public?` and `#visibility` (#11696)","shortMessageHtmlLink":"Add TypeNode#private?, #public? and #visibility (#11696)"}},{"before":"835b0c7ec5945c48ddd65f856cd81338ccbe7f65","after":"897bd10f260dd540257348d0461b25d3fff97461","ref":"refs/heads/master","pushedAt":"2024-06-10T15:29:54.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"straight-shoota","name":"Johannes Müller","path":"/straight-shoota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/466378?s=80&v=4"},"commit":{"message":"Unify `EventLoop.create` (#14661)","shortMessageHtmlLink":"Unify EventLoop.create (#14661)"}},{"before":"1dda526bd07acce261f6192c186a3bbc0e8751ed","after":"835b0c7ec5945c48ddd65f856cd81338ccbe7f65","ref":"refs/heads/master","pushedAt":"2024-06-09T20:12:20.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"straight-shoota","name":"Johannes Müller","path":"/straight-shoota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/466378?s=80&v=4"},"commit":{"message":"OpenSSL: deprecate Mozilla's TLS Server recommendation (#14657)","shortMessageHtmlLink":"OpenSSL: deprecate Mozilla's TLS Server recommendation (#14657)"}},{"before":"7710660ea61893ae8c90321d794e925cd2836212","after":"1dda526bd07acce261f6192c186a3bbc0e8751ed","ref":"refs/heads/master","pushedAt":"2024-06-09T20:12:10.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"straight-shoota","name":"Johannes Müller","path":"/straight-shoota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/466378?s=80&v=4"},"commit":{"message":"Use `dup3` and `pipe2` to set `O_CLOEXEC` when available (#14673)","shortMessageHtmlLink":"Use dup3 and pipe2 to set O_CLOEXEC when available (#14673)"}},{"before":"cd5e8033a7297097390af3afa8c10c42134fcce1","after":null,"ref":"refs/heads/ci/update-distribution-scripts","pushedAt":"2024-06-08T20:09:37.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"straight-shoota","name":"Johannes Müller","path":"/straight-shoota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/466378?s=80&v=4"}},{"before":"4973f819d5f4efe88cd6b0c2806762a3abb8404c","after":"7710660ea61893ae8c90321d794e925cd2836212","ref":"refs/heads/master","pushedAt":"2024-06-08T20:09:35.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"straight-shoota","name":"Johannes Müller","path":"/straight-shoota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/466378?s=80&v=4"},"commit":{"message":"Update distribution-scripts (#14648)","shortMessageHtmlLink":"Update distribution-scripts (#14648)"}},{"before":"0ee82d3dd066b23d85eba244b49f9206af492c80","after":"4973f819d5f4efe88cd6b0c2806762a3abb8404c","ref":"refs/heads/master","pushedAt":"2024-06-08T20:09:19.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"straight-shoota","name":"Johannes Müller","path":"/straight-shoota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/466378?s=80&v=4"},"commit":{"message":"Fix `IO#same_content?` accepting prefix on second stream (#14664)","shortMessageHtmlLink":"Fix IO#same_content? accepting prefix on second stream (#14664)"}},{"before":"38be359252843bc3eaa5c21fec5117b11f0cb98b","after":"0ee82d3dd066b23d85eba244b49f9206af492c80","ref":"refs/heads/master","pushedAt":"2024-06-08T20:09:04.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"straight-shoota","name":"Johannes Müller","path":"/straight-shoota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/466378?s=80&v=4"},"commit":{"message":"Rename `Crystal::Iocp` to `Crystal::IOCP` (#14662)","shortMessageHtmlLink":"Rename Crystal::Iocp to Crystal::IOCP (#14662)"}},{"before":"7c71635a66f696eb340c3ba2873e2054bd46217c","after":"38be359252843bc3eaa5c21fec5117b11f0cb98b","ref":"refs/heads/master","pushedAt":"2024-06-07T08:55:13.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"straight-shoota","name":"Johannes Müller","path":"/straight-shoota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/466378?s=80&v=4"},"commit":{"message":"Fix LLDB `crystal_formatters.py` for Python 3 (#14665)","shortMessageHtmlLink":"Fix LLDB crystal_formatters.py for Python 3 (#14665)"}},{"before":"434b0848245bde3f2706df497830529b3832caba","after":"7c71635a66f696eb340c3ba2873e2054bd46217c","ref":"refs/heads/master","pushedAt":"2024-06-07T08:54:22.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"straight-shoota","name":"Johannes Müller","path":"/straight-shoota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/466378?s=80&v=4"},"commit":{"message":"Drop unused methods in `IO::Evented` (#14666)","shortMessageHtmlLink":"Drop unused methods in IO::Evented (#14666)"}},{"before":"5aa2160584a8cb325b51739f1358c9541406563a","after":"434b0848245bde3f2706df497830529b3832caba","ref":"refs/heads/master","pushedAt":"2024-06-06T14:51:49.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ysbaddaden","name":"Julien Portalier","path":"/ysbaddaden","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/47380?s=80&v=4"},"commit":{"message":"OpenSSL: don't enable ECDH curves by default (#14656)\n\nDisables the ECDH curve configuration that was limiting the curve selection to less secure curves.\r\n\r\nfollow up to #14655\r\ncloses #9600","shortMessageHtmlLink":"OpenSSL: don't enable ECDH curves by default (#14656)"}},{"before":"239032e3df77fbbf4d31c11d9c712a86841ef6fd","after":"5aa2160584a8cb325b51739f1358c9541406563a","ref":"refs/heads/master","pushedAt":"2024-06-06T07:54:16.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"straight-shoota","name":"Johannes Müller","path":"/straight-shoota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/466378?s=80&v=4"},"commit":{"message":"Remove `OverlappedOperation#synchronous` (#14663)","shortMessageHtmlLink":"Remove OverlappedOperation#synchronous (#14663)"}},{"before":"00b1e790eadc542a95d9f97359cc75235301141b","after":"239032e3df77fbbf4d31c11d9c712a86841ef6fd","ref":"refs/heads/master","pushedAt":"2024-06-05T07:34:01.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"straight-shoota","name":"Johannes Müller","path":"/straight-shoota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/466378?s=80&v=4"},"commit":{"message":"Add `EventLoop::FileDescriptor` module (#14639)","shortMessageHtmlLink":"Add EventLoop::FileDescriptor module (#14639)"}},{"before":"4dce0d5946ad7742896d062a5da0797505b4538c","after":"00b1e790eadc542a95d9f97359cc75235301141b","ref":"refs/heads/master","pushedAt":"2024-06-05T07:29:11.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"straight-shoota","name":"Johannes Müller","path":"/straight-shoota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/466378?s=80&v=4"},"commit":{"message":"Add `Crystal::System::Thread.current_thread?`, `#scheduler?` (#14660)","shortMessageHtmlLink":"Add Crystal::System::Thread.current_thread?, #scheduler? (#14660)"}},{"before":"42545bc005ebd0f961997927e1c0502f19b01ace","after":"4dce0d5946ad7742896d062a5da0797505b4538c","ref":"refs/heads/master","pushedAt":"2024-06-04T20:03:49.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"straight-shoota","name":"Johannes Müller","path":"/straight-shoota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/466378?s=80&v=4"},"commit":{"message":"Harmonize close on exec for `Socket` & `FileDescriptor` on Windows (#14634)\n\nCo-authored-by: Sijawusz Pur Rahnama ","shortMessageHtmlLink":"Harmonize close on exec for Socket & FileDescriptor on Windows (#…"}},{"before":"4bc72027800655257b2d302ee7131b34655c5d4c","after":"42545bc005ebd0f961997927e1c0502f19b01ace","ref":"refs/heads/master","pushedAt":"2024-06-04T15:16:37.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"straight-shoota","name":"Johannes Müller","path":"/straight-shoota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/466378?s=80&v=4"},"commit":{"message":"Don't change OpenSSL default cipher suites (#14655)","shortMessageHtmlLink":"Don't change OpenSSL default cipher suites (#14655)"}},{"before":"135e908b24ef4c7e5292c7972817cebad2c1a371","after":"4bc72027800655257b2d302ee7131b34655c5d4c","ref":"refs/heads/master","pushedAt":"2024-06-04T08:26:15.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"straight-shoota","name":"Johannes Müller","path":"/straight-shoota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/466378?s=80&v=4"},"commit":{"message":"Fix abstract def parameter name in `LibEvent::EventLoop#send_to` (#14658)","shortMessageHtmlLink":"Fix abstract def parameter name in LibEvent::EventLoop#send_to (#14658"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEY7dfTQA","startCursor":null,"endCursor":null}},"title":"Activity · crystal-lang/crystal"}