{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":207206333,"defaultBranch":"master","name":"lol-html","ownerLogin":"cloudflare","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2019-09-09T02:20:32.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/314135?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1726935107.0","currentOid":""},"activityList":{"items":[{"before":"3789fe4056e3132d6858ba0f0a7b2ce8834ea648","after":"2200cbba9165e5b26210c2cf0f852d44f155acd1","ref":"refs/heads/master","pushedAt":"2024-09-25T08:55:33.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"orium","name":"Diogo Sousa","path":"/orium","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4107683?s=80&v=4"},"commit":{"message":"Update semgrep.yml","shortMessageHtmlLink":"Update semgrep.yml"}},{"before":"80bf70bd093392bbac61a264ddc368c1fa1d97f8","after":"b9217fbcc53095ed5a11a7363cb9ce4a2c5ffda2","ref":"refs/heads/hrushikeshdeshpande-updating-semgrep-yml","pushedAt":"2024-09-25T02:05:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hrushikeshdeshpande","name":"Hrushikesh Deshpande","path":"/hrushikeshdeshpande","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/161167942?s=80&v=4"},"commit":{"message":"Update semgrep.yml","shortMessageHtmlLink":"Update semgrep.yml"}},{"before":"3b201858cf73730a38dee67b71fa05181015bfa3","after":"3789fe4056e3132d6858ba0f0a7b2ce8834ea648","ref":"refs/heads/master","pushedAt":"2024-09-24T16:32:34.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"inikulin","name":"Ivan Nikulin","path":"/inikulin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/453071?s=80&v=4"},"commit":{"message":"Send-parameterizable rewriter. (#224)","shortMessageHtmlLink":"Send-parameterizable rewriter. (#224)"}},{"before":null,"after":"80bf70bd093392bbac61a264ddc368c1fa1d97f8","ref":"refs/heads/hrushikeshdeshpande-updating-semgrep-yml","pushedAt":"2024-09-21T16:11:47.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"hrushikeshdeshpande","name":"Hrushikesh Deshpande","path":"/hrushikeshdeshpande","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/161167942?s=80&v=4"},"commit":{"message":"Update semgrep.yml\n\nUpdating Semgrep.yml file - Semgrep is a tool that will be used to scan Cloudflare's public repos for Supply chain, code and secrets. This work is part of Application & Product Security team's initiative to onboard Semgrep onto all of Cloudflare's public repos.\r\n\r\nIn case of any questions, please reach out to \"Hrushikesh Deshpande\" on cf internal chat.","shortMessageHtmlLink":"Update semgrep.yml"}},{"before":"384f61710afd36496dfd72fa7a36e92c31f0cb4e","after":"3b201858cf73730a38dee67b71fa05181015bfa3","ref":"refs/heads/master","pushedAt":"2024-09-20T01:53:58.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hrushikeshdeshpande","name":"Hrushikesh Deshpande","path":"/hrushikeshdeshpande","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/161167942?s=80&v=4"},"commit":{"message":"Adding semgrep yaml file","shortMessageHtmlLink":"Adding semgrep yaml file"}},{"before":"7db3d8d9fa9f3fee6ffe36c3f68f14e160476e07","after":"384f61710afd36496dfd72fa7a36e92c31f0cb4e","ref":"refs/heads/master","pushedAt":"2024-09-16T10:15:11.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"inikulin","name":"Ivan Nikulin","path":"/inikulin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/453071?s=80&v=4"},"commit":{"message":"Attribute buffer is no longer shared, removing one `RefCell`. (#222)","shortMessageHtmlLink":"Attribute buffer is no longer shared, removing one RefCell. (#222)"}},{"before":"fa7a7f751ff73a022562b683ac711ab863f1b511","after":"7db3d8d9fa9f3fee6ffe36c3f68f14e160476e07","ref":"refs/heads/master","pushedAt":"2024-08-26T14:44:06.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Noah-Kennedy","name":"Noah Kennedy","path":"/Noah-Kennedy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9875622?s=80&v=4"},"commit":{"message":"Use internal mutability for `SharedMemoryLimiter`, removing one `RefCell`. (#221)","shortMessageHtmlLink":"Use internal mutability for SharedMemoryLimiter, removing one `RefC…"}},{"before":"38a1b691182e8f93d5f9ab0ae4867117f512befa","after":"fa7a7f751ff73a022562b683ac711ab863f1b511","ref":"refs/heads/master","pushedAt":"2024-08-26T14:43:44.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Noah-Kennedy","name":"Noah Kennedy","path":"/Noah-Kennedy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9875622?s=80&v=4"},"commit":{"message":"Removed RefCells for dispatcher. (#220)\n\nWe now explicitly pass that state around. This will reduce the number of\n`Mutex`es in a `Send` version of the rewriter.","shortMessageHtmlLink":"Removed RefCells for dispatcher. (#220)"}},{"before":"9a62d7b3cb114aa2c1c2416aba488da371f4cfad","after":"38a1b691182e8f93d5f9ab0ae4867117f512befa","ref":"refs/heads/master","pushedAt":"2024-08-22T16:34:36.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"orium","name":"Diogo Sousa","path":"/orium","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4107683?s=80&v=4"},"commit":{"message":"chore: fix some typos\n\nSigned-off-by: hishope ","shortMessageHtmlLink":"chore: fix some typos"}},{"before":"53469c5acf5bf2955cbf3848544028ec835d38a4","after":"9a62d7b3cb114aa2c1c2416aba488da371f4cfad","ref":"refs/heads/master","pushedAt":"2024-08-16T16:58:05.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"orium","name":"Diogo Sousa","path":"/orium","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4107683?s=80&v=4"},"commit":{"message":"Avoid using a `Rc>` in `HtmlRewriteController::handlers_dispatcher()`.","shortMessageHtmlLink":"Avoid using a Rc<RefCell<_>> in `HtmlRewriteController::handlers_di…"}},{"before":"46648923c88ce5d7e852875c1bd1a4bab3706b44","after":null,"ref":"refs/heads/rel-120","pushedAt":"2024-03-11T11:38:19.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"inikulin","name":"Ivan Nikulin","path":"/inikulin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/453071?s=80&v=4"}},{"before":"de0461aca566bbc882081705acfc0d156351789d","after":"53469c5acf5bf2955cbf3848544028ec835d38a4","ref":"refs/heads/master","pushedAt":"2024-03-11T11:38:16.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"inikulin","name":"Ivan Nikulin","path":"/inikulin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/453071?s=80&v=4"},"commit":{"message":"Release v1.2.1 (#211)\n\n* Release 1.2.1\r\n\r\n* chore: Release lol_html version 1.2.1","shortMessageHtmlLink":"Release v1.2.1 (#211)"}},{"before":null,"after":"46648923c88ce5d7e852875c1bd1a4bab3706b44","ref":"refs/heads/rel-120","pushedAt":"2024-03-11T11:10:51.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"inikulin","name":"Ivan Nikulin","path":"/inikulin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/453071?s=80&v=4"},"commit":{"message":"chore: Release lol_html version 1.2.1","shortMessageHtmlLink":"chore: Release lol_html version 1.2.1"}},{"before":"2a0b727da63179888ea3e83b649c68277e204991","after":"de0461aca566bbc882081705acfc0d156351789d","ref":"refs/heads/master","pushedAt":"2024-03-11T11:00:00.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"inikulin","name":"Ivan Nikulin","path":"/inikulin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/453071?s=80&v=4"},"commit":{"message":"replace unmaintained safemem::copy_over with slice::copy_within (#208)\n\n* the `safemem` library is [unmaintained][1]\r\n* both `safemem::copy_over` and `slice::copy_within` use `ptr::copy`\r\n internally, so the performance impact should me minimal.\r\n* `slice::copy_within` was added in rust 1.37.0, but I don't know if\r\n lol-html has an official MSRV\r\n\r\n[1]: https://rustsec.org/advisories/RUSTSEC-2023-0081.html","shortMessageHtmlLink":"replace unmaintained safemem::copy_over with slice::copy_within (#208)"}},{"before":"44a7659d1ce018c27ae1f7e7913884bdedf72d71","after":"2a0b727da63179888ea3e83b649c68277e204991","ref":"refs/heads/master","pushedAt":"2024-03-09T13:58:25.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"inikulin","name":"Ivan Nikulin","path":"/inikulin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/453071?s=80&v=4"},"commit":{"message":"fix clippy error (#210)","shortMessageHtmlLink":"fix clippy error (#210)"}},{"before":"a78ef1a5c1881c6b9d695d25904ea3b8d3371736","after":null,"ref":"refs/heads/docs-120","pushedAt":"2023-09-13T18:40:03.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"inikulin","name":"Ivan Nikulin","path":"/inikulin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/453071?s=80&v=4"}},{"before":"cf82f218d65ac61fe6fd61f9d677dbd578ab706c","after":"44a7659d1ce018c27ae1f7e7913884bdedf72d71","ref":"refs/heads/master","pushedAt":"2023-09-13T18:39:58.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"inikulin","name":"Ivan Nikulin","path":"/inikulin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/453071?s=80&v=4"},"commit":{"message":"Add missing docs + release 1.2.0 (#196)\n\n* Add missing docs for public API.\r\n\r\nMake StartTag::encoding non-public\r\n\r\n* Release 1.2.0","shortMessageHtmlLink":"Add missing docs + release 1.2.0 (#196)"}},{"before":"800307d7a17bd7f4a4924a8c50f8484d42b5cf04","after":"a78ef1a5c1881c6b9d695d25904ea3b8d3371736","ref":"refs/heads/docs-120","pushedAt":"2023-09-13T16:57:42.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"inikulin","name":"Ivan Nikulin","path":"/inikulin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/453071?s=80&v=4"},"commit":{"message":"Release 1.2.0","shortMessageHtmlLink":"Release 1.2.0"}},{"before":null,"after":"800307d7a17bd7f4a4924a8c50f8484d42b5cf04","ref":"refs/heads/docs-120","pushedAt":"2023-09-13T12:54:20.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"inikulin","name":"Ivan Nikulin","path":"/inikulin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/453071?s=80&v=4"},"commit":{"message":"Release 1.2.0","shortMessageHtmlLink":"Release 1.2.0"}},{"before":"8d4c273ded322193d017042d1f48df2766b0f88b","after":"cf82f218d65ac61fe6fd61f9d677dbd578ab706c","ref":"refs/heads/master","pushedAt":"2023-09-13T11:43:59.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"inikulin","name":"Ivan Nikulin","path":"/inikulin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/453071?s=80&v=4"},"commit":{"message":"Make `ElementContentHandlers` and `DocumentContentHandlers` fields public. (#194)\n\n* Fix clippy warnings.\r\n\r\n* Make `ElementContentHandlers` and `DocumentContentHandlers` fields public.\r\n\r\nThis is helpful if you want to patch already created handlers with extra\r\nfunctionality. For instance, if you want to measure the time a handler takes\r\nto run you can do something like:\r\n\r\n```\r\nfn measure_element_time_handler(handlers: ElementContentHandlers<'_>) -> = ElementContentHandlers<'_> {\r\n let element_handler = self.element.take().map(|handler| {\r\n |element| {\r\n // measure start time here.\r\n let result = handler(element);\r\n // measure end time here.\r\n result\r\n }\r\n });\r\n\r\n ElementContentHandlers {\r\n element: element_handler,\r\n comments: self.comments.take(),\r\n text: self.text.take(),\r\n }\r\n}\r\n```\r\n\r\n* Warn on missing documentation on public items. Documented a few items.","shortMessageHtmlLink":"Make ElementContentHandlers and DocumentContentHandlers fields pu…"}},{"before":"8d4c273ded322193d017042d1f48df2766b0f88b","after":"26e059f46693428100eeeda6667275c6a4a9330e","ref":"refs/heads/missing-docs","pushedAt":"2023-09-12T13:06:00.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"inikulin","name":"Ivan Nikulin","path":"/inikulin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/453071?s=80&v=4"},"commit":{"message":"feat: expose is_self_closing & can_have_content in c api","shortMessageHtmlLink":"feat: expose is_self_closing & can_have_content in c api"}},{"before":null,"after":"8d4c273ded322193d017042d1f48df2766b0f88b","ref":"refs/heads/missing-docs","pushedAt":"2023-09-12T13:05:17.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"inikulin","name":"Ivan Nikulin","path":"/inikulin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/453071?s=80&v=4"},"commit":{"message":"feat: expose is_self_closing & can_have_content in c api","shortMessageHtmlLink":"feat: expose is_self_closing & can_have_content in c api"}},{"before":"7967765ff8db27000845ba0a0a9a025ac908a043","after":"8d4c273ded322193d017042d1f48df2766b0f88b","ref":"refs/heads/master","pushedAt":"2023-08-06T13:07:07.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"orium","name":"Diogo Sousa","path":"/orium","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4107683?s=80&v=4"},"commit":{"message":"feat: expose is_self_closing & can_have_content in c api","shortMessageHtmlLink":"feat: expose is_self_closing & can_have_content in c api"}},{"before":"56f17ce98e6923b5dd85392a8b1b12bffb14f67d","after":"7967765ff8db27000845ba0a0a9a025ac908a043","ref":"refs/heads/master","pushedAt":"2023-07-31T18:15:49.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"inikulin","name":"Ivan Nikulin","path":"/inikulin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/453071?s=80&v=4"},"commit":{"message":"Ensure that `TagScanner::is_in_end_tag` resets when changing parsers. (#192)\n\n* Ensure that `TagScanner::is_in_end_tag` resets when changing parsers.\r\n\r\n* Release 1.1.1.","shortMessageHtmlLink":"Ensure that TagScanner::is_in_end_tag resets when changing parsers. ("}},{"before":"8946bfc11021a2be77d653b7e6ca6c71bf6f5a91","after":"56f17ce98e6923b5dd85392a8b1b12bffb14f67d","ref":"refs/heads/master","pushedAt":"2023-07-28T10:44:21.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"inikulin","name":"Ivan Nikulin","path":"/inikulin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/453071?s=80&v=4"},"commit":{"message":"Expose tag and attribute names with the original case. (#190)\n\n* Expose tag and attribute names with the original case.\r\n\r\n* Expose tag and attribute names with the original case through the FFI.\r\n\r\n* Release 1.1.0.","shortMessageHtmlLink":"Expose tag and attribute names with the original case. (#190)"}},{"before":"2681dcf0b3e6907111565199df8c43cc9aab7fe8","after":"8946bfc11021a2be77d653b7e6ca6c71bf6f5a91","ref":"refs/heads/master","pushedAt":"2023-06-16T22:43:58.819Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"inikulin","name":"Ivan Nikulin","path":"/inikulin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/453071?s=80&v=4"},"commit":{"message":"Add kflansburg to CODEOWNERS (#186)\n\n* Add kflansburg to CODEOWNERS\r\n\r\n* Update CODEOWNERS","shortMessageHtmlLink":"Add kflansburg to CODEOWNERS (#186)"}},{"before":"952220ca90a49e20516fb878fa658c1be5f0b155","after":"2681dcf0b3e6907111565199df8c43cc9aab7fe8","ref":"refs/heads/master","pushedAt":"2023-06-07T14:43:35.967Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"orium","name":"Diogo Sousa","path":"/orium","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4107683?s=80&v=4"},"commit":{"message":"Release 1.0.1","shortMessageHtmlLink":"Release 1.0.1"}},{"before":"a0053299f6809c2fa4e3af35a4f64bd8069952ba","after":"952220ca90a49e20516fb878fa658c1be5f0b155","ref":"refs/heads/master","pushedAt":"2023-06-07T14:04:19.504Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"inikulin","name":"Ivan Nikulin","path":"/inikulin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/453071?s=80&v=4"},"commit":{"message":"Fix lol_html_take_last_error() after calling lol_html_element_add_end_tag_handler() on element with no end tag (#187)\n\n* Remove unused \"No end tag\" error\r\n\r\nThis was removed when the on_end_tag() API was switched to end_tag_handlers().\r\n\r\n* Make lol_html_element_add_end_tag_handler() arm lol_html_take_last_error() on no end tag\r\n\r\nPrior to the end_tag_handlers() refactor, calling lol_html_element_on_end_tag() on an element with no end tag would arm lol_html_take_last_error() with a \"No end tag.\" string. The new lol_html_element_add_end_tag_handler() function inherited the previous function's doc comment describing this behavior, but not the actual behavior itself. This commit restores that behavior and adds a regression test.","shortMessageHtmlLink":"Fix lol_html_take_last_error() after calling lol_html_element_add_end…"}},{"before":"9daf9eddf57ed7803945b43218cc6db567b64dcb","after":"a9fdacdb3db5fc9900a2c5551f4cf17b5681cc55","ref":"refs/heads/kflansburg/update-codeowners","pushedAt":"2023-06-02T15:04:35.603Z","pushType":"push","commitsCount":1,"pusher":{"login":"kflansburg","name":"Kevin Flansburg","path":"/kflansburg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6134007?s=80&v=4"},"commit":{"message":"Update CODEOWNERS","shortMessageHtmlLink":"Update CODEOWNERS"}},{"before":null,"after":"9daf9eddf57ed7803945b43218cc6db567b64dcb","ref":"refs/heads/kflansburg/update-codeowners","pushedAt":"2023-06-01T20:44:51.012Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"kflansburg","name":"Kevin Flansburg","path":"/kflansburg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6134007?s=80&v=4"},"commit":{"message":"Add kflansburg to CODEOWNERS","shortMessageHtmlLink":"Add kflansburg to CODEOWNERS"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yNVQwODo1NTozMy4wMDAwMDBazwAAAATAFBf7","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yNVQwODo1NTozMy4wMDAwMDBazwAAAATAFBf7","endCursor":"Y3Vyc29yOnYyOpK7MjAyMy0wNi0wMVQyMDo0NDo1MS4wMTIzNTRazwAAAAM5A4mN"}},"title":"Activity · cloudflare/lol-html"}