{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":33945,"defaultBranch":"main","name":"nokogiri","ownerLogin":"sparklemotion","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2008-07-14T15:34:32.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/1851072?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1716584375.0","currentOid":""},"activityList":{"items":[{"before":"d3a60cb5a28e5cda3d1a88fb2b1ae08f2d1bcf91","after":null,"ref":"refs/heads/3193-ncname-pseudoclass","pushedAt":"2024-05-24T20:59:35.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"flavorjones","name":"Mike Dalessio","path":"/flavorjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8207?s=80&v=4"}},{"before":"fab511c54325b45291e7f14207ae3394c5fee051","after":"1c50ff80ab531dfcaecfe40a4ab640bee5dc778f","ref":"refs/heads/main","pushedAt":"2024-05-24T20:59:34.000Z","pushType":"pr_merge","commitsCount":4,"pusher":{"login":"flavorjones","name":"Mike Dalessio","path":"/flavorjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8207?s=80&v=4"},"commit":{"message":"fix: CSS queries with xpath-incompatible pseudo-classes raise an exception at query parse time (#3197)\n\n**What problem is this PR intended to solve?**\r\n\r\nfix: raise CSS::SyntaxError if a pseudo-class is not an XPath Name\r\n\r\nSome pseudo-classes cannot be converted into an XPath function name, and\r\nlibxml2 will raise an Nokogiri::XML::XPath::SyntaxError at query-time:\r\n\r\n```\r\nnokogiri/xml/searchable.rb:238:in `evaluate': ERROR: Invalid expression: //*:div[nokogiri:-moz-drag-over(.)] (Nokogiri::XML::XPath::SyntaxError)\r\n```\r\n\r\nThis change moves the error from query-time to parse-time, in the hopes\r\nthat this is more rescuable (and the error is more descriptive):\r\n\r\n```\r\nnokogiri/css/parser_extras.rb:86:in `on_error': unexpected '-' after ':' (Nokogiri::CSS::SyntaxError)\r\n```\r\n\r\nCloses #3193\r\n\r\n\r\n**Have you included adequate test coverage?**\r\n\r\nYes.\r\n\r\n\r\n**Does this change affect the behavior of either the C or the Java\r\nimplementations?**\r\n\r\nN/A","shortMessageHtmlLink":"fix: CSS queries with xpath-incompatible pseudo-classes raise an exce…"}},{"before":"e53ea292fd048eb6254a50a046a8235fbeaa0fa4","after":null,"ref":"refs/heads/flavorjones-use-kwargs-html5-methods","pushedAt":"2024-05-24T20:27:15.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"flavorjones","name":"Mike Dalessio","path":"/flavorjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8207?s=80&v=4"}},{"before":"65dee109e32a827f96a2e2d21fd8963cff88e3ef","after":"fab511c54325b45291e7f14207ae3394c5fee051","ref":"refs/heads/main","pushedAt":"2024-05-24T20:27:14.000Z","pushType":"pr_merge","commitsCount":7,"pusher":{"login":"flavorjones","name":"Mike Dalessio","path":"/flavorjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8207?s=80&v=4"},"commit":{"message":"refactor: `Gumbo.parse` and `.fragment` now use keyword arguments (#3199)\n\n**What problem is this PR intended to solve?**\r\n\r\nRefactor `Gumbo.parse` and `Gumbo.fragment` to use keyword arguments for\r\nparse options (instead of positional arguments).\r\n\r\nThese methods are internal and not part of the public API, so this isn't\r\nconsidered a breaking change. We're changing them to be more extensible\r\ngoing forward.\r\n\r\nSee comments at #3178 for context\r\n\r\nThis PR also\r\n\r\n- introduces checking for the Gumbo options passed in\r\n- takes care to delete deprecated kwarg `max_parse_errors`\r\n- cleans up options passed around in tests\r\n\r\n\r\n**Have you included adequate test coverage?**\r\n\r\nIt's a refactor, existing test coverage should be sufficient.\r\n\r\n\r\n**Does this change affect the behavior of either the C or the Java\r\nimplementations?**\r\n\r\nNo behavior changes, but the HTML5 parser is only available in CRuby.","shortMessageHtmlLink":"refactor: Gumbo.parse and .fragment now use keyword arguments (#3199"}},{"before":"e2f2905c220711d0adc15aadc9c3287721c0be0d","after":"d3a60cb5a28e5cda3d1a88fb2b1ae08f2d1bcf91","ref":"refs/heads/3193-ncname-pseudoclass","pushedAt":"2024-05-24T20:20:19.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"flavorjones","name":"Mike Dalessio","path":"/flavorjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8207?s=80&v=4"},"commit":{"message":"fix: raise CSS::SyntaxError if a pseudo-class is not an XPath Name\n\nSome pseudo-classes cannot be converted into an XPath function name,\nand libxml2 will raise an Nokogiri::XML::XPath::SyntaxError at\nquery-time:\n\n nokogiri/xml/searchable.rb:238:in `evaluate': ERROR: Invalid expression: //*:div[nokogiri:-moz-drag-over(.)] (Nokogiri::XML::XPath::SyntaxError)\n\nThis change moves the error from query-time to parse-time, in the\nhopes that this is more rescuable (and the error is more descriptive):\n\n nokogiri/css/parser_extras.rb:86:in `on_error': unexpected '-' after ':' (Nokogiri::CSS::SyntaxError)\n\nCloses #3193","shortMessageHtmlLink":"fix: raise CSS::SyntaxError if a pseudo-class is not an XPath Name"}},{"before":"6542b1819a2e58e13416285b4a6d02c1d1fde31d","after":null,"ref":"refs/heads/flavorjones-remove-old-ruby-support","pushedAt":"2024-05-24T20:05:05.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"flavorjones","name":"Mike Dalessio","path":"/flavorjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8207?s=80&v=4"}},{"before":"880f6c3a43eaa6f1998c155e0ea16db415e9ab5d","after":"65dee109e32a827f96a2e2d21fd8963cff88e3ef","ref":"refs/heads/main","pushedAt":"2024-05-24T20:05:04.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"flavorjones","name":"Mike Dalessio","path":"/flavorjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8207?s=80&v=4"},"commit":{"message":"dev: remove compatibility code for ancient rubies (#3206)\n\n**What problem is this PR intended to solve?**\r\n\r\nRemove unneeded code for compatibility with Ruby < 2.1","shortMessageHtmlLink":"dev: remove compatibility code for ancient rubies (#3206)"}},{"before":"b924b4b66c23ccb96f9d589c1a386de0ac3ed046","after":"e53ea292fd048eb6254a50a046a8235fbeaa0fa4","ref":"refs/heads/flavorjones-use-kwargs-html5-methods","pushedAt":"2024-05-24T20:02:29.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"flavorjones","name":"Mike Dalessio","path":"/flavorjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8207?s=80&v=4"},"commit":{"message":"test: add coverage for rejection of additional kwargs to gumbo","shortMessageHtmlLink":"test: add coverage for rejection of additional kwargs to gumbo"}},{"before":null,"after":"6542b1819a2e58e13416285b4a6d02c1d1fde31d","ref":"refs/heads/flavorjones-remove-old-ruby-support","pushedAt":"2024-05-24T19:04:18.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"flavorjones","name":"Mike Dalessio","path":"/flavorjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8207?s=80&v=4"},"commit":{"message":"dev: remove compatibility code for ancient rubies","shortMessageHtmlLink":"dev: remove compatibility code for ancient rubies"}},{"before":"0d2b63502267d5920c014d12513c4a348cb7c79b","after":"b924b4b66c23ccb96f9d589c1a386de0ac3ed046","ref":"refs/heads/flavorjones-use-kwargs-html5-methods","pushedAt":"2024-05-24T19:00:42.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"flavorjones","name":"Mike Dalessio","path":"/flavorjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8207?s=80&v=4"},"commit":{"message":"test: add coverage for rejection of additional kwargs to gumbo","shortMessageHtmlLink":"test: add coverage for rejection of additional kwargs to gumbo"}},{"before":"bb8bc2b2d5200bea41316bb410ea2e5487644422","after":"0d2b63502267d5920c014d12513c4a348cb7c79b","ref":"refs/heads/flavorjones-use-kwargs-html5-methods","pushedAt":"2024-05-24T18:14:42.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"flavorjones","name":"Mike Dalessio","path":"/flavorjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8207?s=80&v=4"},"commit":{"message":"test: add coverage for rejection of additional kwargs to gumbo","shortMessageHtmlLink":"test: add coverage for rejection of additional kwargs to gumbo"}},{"before":"9fab4cb26b57eab93aa4c27c87503077158546d2","after":null,"ref":"refs/heads/gumbo-common-options","pushedAt":"2024-05-24T17:54:32.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"flavorjones","name":"Mike Dalessio","path":"/flavorjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8207?s=80&v=4"}},{"before":"926b0b907d6402a8a8331786b1601e9bb1d3332d","after":"bb8bc2b2d5200bea41316bb410ea2e5487644422","ref":"refs/heads/flavorjones-use-kwargs-html5-methods","pushedAt":"2024-05-24T17:54:31.000Z","pushType":"pr_merge","commitsCount":5,"pusher":{"login":"flavorjones","name":"Mike Dalessio","path":"/flavorjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8207?s=80&v=4"},"commit":{"message":"Gumbo common options (#3205)\n\n**What problem is this PR intended to solve?**\r\n\r\nSee discussion at #3199 \r\n\r\ncc @stevecheckoway \r\n\r\n(Recreation of #3204 with additional commits)","shortMessageHtmlLink":"Gumbo common options (#3205)"}},{"before":null,"after":"9fab4cb26b57eab93aa4c27c87503077158546d2","ref":"refs/heads/gumbo-common-options","pushedAt":"2024-05-24T17:28:17.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"flavorjones","name":"Mike Dalessio","path":"/flavorjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8207?s=80&v=4"},"commit":{"message":"Avoid integer sign conversion issue with max_tree_depth","shortMessageHtmlLink":"Avoid integer sign conversion issue with max_tree_depth"}},{"before":"14e2000806b9f74cf9e6191ac433aa17fb7fdecc","after":"880f6c3a43eaa6f1998c155e0ea16db415e9ab5d","ref":"refs/heads/main","pushedAt":"2024-05-22T20:00:46.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"stevecheckoway","name":"Stephen Checkoway","path":"/stevecheckoway","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1239089?s=80&v=4"},"commit":{"message":"libgumbo test: Don't print expected errors\n\nDon't clear the error is expected flag when the next call to the\ntokenizer does not expect there to be any errors.\n\nThis prevents the expected error messages from being printed during\ntesting.","shortMessageHtmlLink":"libgumbo test: Don't print expected errors"}},{"before":"9f28f5c2c7d278a89c8bda104d1d3960583255fa","after":null,"ref":"refs/heads/flavorjones-try-new-keys","pushedAt":"2024-05-21T20:20:46.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"flavorjones","name":"Mike Dalessio","path":"/flavorjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8207?s=80&v=4"}},{"before":null,"after":"9f28f5c2c7d278a89c8bda104d1d3960583255fa","ref":"refs/heads/flavorjones-try-new-keys","pushedAt":"2024-05-21T20:20:00.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"flavorjones","name":"Mike Dalessio","path":"/flavorjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8207?s=80&v=4"},"commit":{"message":"test","shortMessageHtmlLink":"test"}},{"before":"38935d09a06e35df88dd851f0caa935710fb761e","after":"926b0b907d6402a8a8331786b1601e9bb1d3332d","ref":"refs/heads/flavorjones-use-kwargs-html5-methods","pushedAt":"2024-05-21T15:14:58.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"flavorjones","name":"Mike Dalessio","path":"/flavorjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8207?s=80&v=4"},"commit":{"message":"refactor: Gumbo.parse and .fragment now use keyword arguments\n\nThese methods are internal and not part of the public API, so this\nisn't considered a breaking change. We're changing them to be more\nextensible going forward.","shortMessageHtmlLink":"refactor: Gumbo.parse and .fragment now use keyword arguments"}},{"before":"0c3ecbeba4ca0d8c50525814730a9df4776fce54","after":"38935d09a06e35df88dd851f0caa935710fb761e","ref":"refs/heads/flavorjones-use-kwargs-html5-methods","pushedAt":"2024-05-21T13:00:59.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"flavorjones","name":"Mike Dalessio","path":"/flavorjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8207?s=80&v=4"},"commit":{"message":"refactor: Gumbo.parse and .fragment now use keyword arguments\n\nThese methods are internal and not part of the public API, so this\nisn't considered a breaking change. We're changing them to be more\nextensible going forward.","shortMessageHtmlLink":"refactor: Gumbo.parse and .fragment now use keyword arguments"}},{"before":"911ff094facae840549e3650d37ba16c621a4140","after":null,"ref":"refs/heads/dependabot/bundler/minitest-5.23.0","pushedAt":"2024-05-21T02:02:22.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"flavorjones","name":"Mike Dalessio","path":"/flavorjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8207?s=80&v=4"}},{"before":"65f1fb7104d4e27583e340c6f81cb42362ed854d","after":"14e2000806b9f74cf9e6191ac433aa17fb7fdecc","ref":"refs/heads/main","pushedAt":"2024-05-21T02:02:22.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"flavorjones","name":"Mike Dalessio","path":"/flavorjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8207?s=80&v=4"},"commit":{"message":"build(deps-dev): update minitest requirement from 5.22.3 to 5.23.0 (#3196)","shortMessageHtmlLink":"build(deps-dev): update minitest requirement from 5.22.3 to 5.23.0 (#…"}},{"before":null,"after":"0c3ecbeba4ca0d8c50525814730a9df4776fce54","ref":"refs/heads/flavorjones-use-kwargs-html5-methods","pushedAt":"2024-05-21T01:30:43.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"flavorjones","name":"Mike Dalessio","path":"/flavorjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8207?s=80&v=4"},"commit":{"message":"refactor: Gumbo.parse and .fragment now use keyword arguments\n\nThese methods are internal and not part of the public API, so this\nisn't considered a breaking change. We're changing them to be more\nextensible going forward.","shortMessageHtmlLink":"refactor: Gumbo.parse and .fragment now use keyword arguments"}},{"before":null,"after":"e2f2905c220711d0adc15aadc9c3287721c0be0d","ref":"refs/heads/3193-ncname-pseudoclass","pushedAt":"2024-05-20T20:40:18.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"flavorjones","name":"Mike Dalessio","path":"/flavorjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8207?s=80&v=4"},"commit":{"message":"fix: raise CSS::SyntaxError if a pseudo-class is not an XPath Name\n\nSome pseudo-classes cannot be converted into an XPath function name,\nand libxml2 will raise an Nokogiri::XML::XPath::SyntaxError at\nquery-time:\n\n nokogiri/xml/searchable.rb:238:in `evaluate': ERROR: Invalid expression: //*:div[nokogiri:-moz-drag-over(.)] (Nokogiri::XML::XPath::SyntaxError)\n\nThis change moves the error from query-time to parse-time, in the\nhopes that this is more rescuable (and the error is more descriptive):\n\n nokogiri/css/parser_extras.rb:86:in `on_error': unexpected '-' after ':' (Nokogiri::CSS::SyntaxError)\n\nCloses #3193","shortMessageHtmlLink":"fix: raise CSS::SyntaxError if a pseudo-class is not an XPath Name"}},{"before":null,"after":"911ff094facae840549e3650d37ba16c621a4140","ref":"refs/heads/dependabot/bundler/minitest-5.23.0","pushedAt":"2024-05-20T06:23:35.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"build(deps-dev): update minitest requirement from 5.22.3 to 5.23.0\n\nUpdates the requirements on [minitest](https://github.com/minitest/minitest) to permit the latest version.\n- [Changelog](https://github.com/minitest/minitest/blob/master/History.rdoc)\n- [Commits](https://github.com/minitest/minitest/compare/v5.22.3...v5.23.0)\n\n---\nupdated-dependencies:\n- dependency-name: minitest\n dependency-type: direct:development\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"build(deps-dev): update minitest requirement from 5.22.3 to 5.23.0"}},{"before":"23804bf20776874bc697790f9779720c0c2abfbf","after":null,"ref":"refs/heads/flavorjones-upstream-libxml-20240517","pushedAt":"2024-05-17T16:41:47.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"flavorjones","name":"Mike Dalessio","path":"/flavorjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8207?s=80&v=4"}},{"before":"141568888242f801a1afd1dcf22adb6846eff8a1","after":"65f1fb7104d4e27583e340c6f81cb42362ed854d","ref":"refs/heads/main","pushedAt":"2024-05-17T16:41:46.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"flavorjones","name":"Mike Dalessio","path":"/flavorjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8207?s=80&v=4"},"commit":{"message":"test: update tests to handle upstream libxml2 (#3195)\n\n**What problem is this PR intended to solve?**\r\n\r\nupstream integration testing with libxml2, see gnome/libxml2@4fefba4c","shortMessageHtmlLink":"test: update tests to handle upstream libxml2 (#3195)"}},{"before":null,"after":"23804bf20776874bc697790f9779720c0c2abfbf","ref":"refs/heads/flavorjones-upstream-libxml-20240517","pushedAt":"2024-05-17T15:38:08.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"flavorjones","name":"Mike Dalessio","path":"/flavorjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8207?s=80&v=4"},"commit":{"message":"test: update tests to handle upstream libxml2\n\nsee gnome/libxml2@4fefba4c","shortMessageHtmlLink":"test: update tests to handle upstream libxml2"}},{"before":"b97b4588d2f5b3e0b499539e1f13ff5941838c62","after":"141568888242f801a1afd1dcf22adb6846eff8a1","ref":"refs/heads/main","pushedAt":"2024-05-16T20:02:43.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"flavorjones","name":"Mike Dalessio","path":"/flavorjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8207?s=80&v=4"},"commit":{"message":"Typo fixes (#3194)\n\n\r\n**What problem is this PR intended to solve?**\r\n\r\nFix various typos - some found via `codespell` and `typos` CLI (h/t\r\n@kianmeng with PR #3166)\r\n\r\n**Have you included adequate test coverage?**\r\n\r\nThis PR does not change test coverage - existing tests should suffice.\r\n\r\n**Does this change affect the behavior of either the C or the Java\r\nimplementations?**\r\n\r\nThis PR does not introduce any changes in behavior.","shortMessageHtmlLink":"Typo fixes (#3194)"}},{"before":"b8f6259265d66910ca81085289d0009d405f4925","after":null,"ref":"refs/heads/dependabot/bundler/rubocop-1.63.5","pushedAt":"2024-05-13T14:52:14.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"flavorjones","name":"Mike Dalessio","path":"/flavorjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8207?s=80&v=4"}},{"before":"6a616448eaa2190684a0382e62f5c482b24e1c70","after":"b97b4588d2f5b3e0b499539e1f13ff5941838c62","ref":"refs/heads/main","pushedAt":"2024-05-13T14:52:13.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"flavorjones","name":"Mike Dalessio","path":"/flavorjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8207?s=80&v=4"},"commit":{"message":"build(deps-dev): update rubocop requirement from 1.63.4 to 1.63.5 (#3190)","shortMessageHtmlLink":"build(deps-dev): update rubocop requirement from 1.63.4 to 1.63.5 (#3190"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEU2a_WQA","startCursor":null,"endCursor":null}},"title":"Activity · sparklemotion/nokogiri"}