PrimeIntellect/SWE-rebench-V2 huggingface dataset:
Repository: microsoft/kiota (csharp)

Issue:
class-name parameter regex validator not catching hyphen
### What are you generating using Kiota, clients or plugins?

API Client/SDK

### In what context or format are you using Kiota?

Linux executable

### Client library/SDK language

TypeScript

### Describe the bug

when running:

`kiota generate -l typescript -d some-openapi-spec.json -c classname-ts -o ./client `

an error does not occur.

### Expected behavior

The string regex validator should catch this as an invalid class name and return the error that this is not valid.

### How to reproduce

`kiota generate -l typescript -d some-openapi-spec.json -c classname-ts -o ./client `

### Open API description file

_No response_

### Kiota Version

1.23.0+e148ba500009faf72a57883f905e1ca922add0e2

### Latest Kiota version known to work for scenario above?(Not required)

_No response_

### Known Workarounds

_No response_

### Configuration

_No response_

### Debug output

<details><summary>Click to expand log</summary>
```


<log output here>

```
</details>


### Other information

_No response_

Pull request:
fixes #6187

Patch:
diff --git a/CHANGELOG.md b/CHANGELOG.md
index f2ea809c88..dd014c303e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -16,6 +16,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
 ### Changed
 
 - Fixed mapping of Binary Types to array buffer in TypeScript. [#6124](https://github.com/microsoft/kiota/issues/6124)
+- Updated kiota generate classname flag validator to prevent invalid class names. [#6187](https://github.com/microsoft/kiota/issues/6187)
 
 ## [1.23.0] - 2025-02-06
 
diff --git a/src/kiota/KiotaHost.cs b/src/kiota/KiotaHost.cs
index a604cf5602..9f50f7502f 100644
--- a/src/kiota/KiotaHost.cs
+++ b/src/kiota/KiotaHost.cs
@@ -346,7 +346,7 @@ private static Option<string> GetManifestOption(string defaultValue)
         manifestOption.AddAlias("-a");
         return manifestOption;
     }
-    [GeneratedRegex(@"^[a-zA-Z_][\w_-]+", RegexOptions.Singleline, 500)]
+    [GeneratedRegex(@"^[a-zA-Z_][\w]*", RegexOptions.Singleline, 500)]
     private static partial Regex classNameRegex();
     [GeneratedRegex(@"^[\w][\w\._-]+", RegexOptions.Singleline, 500)]
     private static partial Regex namespaceNameRegex();


Test patch:
diff --git a/tests/Kiota.Tests/KiotaHostTests.cs b/tests/Kiota.Tests/KiotaHostTests.cs
index d1cf65af65..6af63aa108 100644
--- a/tests/Kiota.Tests/KiotaHostTests.cs
+++ b/tests/Kiota.Tests/KiotaHostTests.cs
@@ -56,6 +56,9 @@ public async Task ThrowsOnInvalidLogLevelAsync()
     public async Task ThrowsOnInvalidClassNameAsync()
     {
         Assert.Equal(1, await KiotaHost.GetRootCommand().InvokeAsync(["generate", "-c", ".Graph"], _console));
+        Assert.Equal(1, await KiotaHost.GetRootCommand().InvokeAsync(["generate", "-c", "Graph-api"], _console));
+        Assert.Equal(1, await KiotaHost.GetRootCommand().InvokeAsync(["generate", "-c", "1Graph"], _console));
+        Assert.Equal(1, await KiotaHost.GetRootCommand().InvokeAsync(["generate", "-c", "Gr@ph"], _console));
     }
     [Fact]
     public async Task AcceptsDeserializersAsync()
Repository: github/issue-metrics (python)

Issue:
feat: Include link to action in the markdown
Something like...

# Issue Metrics

| Overview Table | 

| Issues Table |


_This report was generated with the [Issue Metrics Action](https://github.com/github/issue-metrics)_

Pull request:
Add reference to action in report
fixes #47 

Patch:
diff --git a/.pylintrc b/.pylintrc
index 96c0fce..df959dd 100644
--- a/.pylintrc
+++ b/.pylintrc
@@ -5,4 +5,5 @@ disable=
 	too-few-public-methods,
 	duplicate-code,
 	too-many-locals,
-	too-many-branches,
\ No newline at end of file
+	too-many-branches,
+	line-too-long,
\ No newline at end of file
diff --git a/markdown_writer.py b/markdown_writer.py
index 0904c81..63bad39 100644
--- a/markdown_writer.py
+++ b/markdown_writer.py
@@ -149,6 +149,9 @@ def write_to_markdown(
                     if f"Time spent in {label}" in columns:
                         file.write(f" {issue.label_metrics[label]} |")
             file.write("\n")
+        file.write(
+            "_This report was generated with the [Issue Metrics Action](https://github.com/github/issue-metrics)_\n"
+        )
 
     print("Wrote issue metrics to issue_metrics.md")
 


Test patch:
diff --git a/test_markdown_writer.py b/test_markdown_writer.py
index 31426dd..b0b60fe 100644
--- a/test_markdown_writer.py
+++ b/test_markdown_writer.py
@@ -86,6 +86,7 @@ class TestWriteToMarkdown(unittest.TestCase):
             "2 days, 0:00:00 | 3 days, 0:00:00 | 1 day, 0:00:00 |\n"
             "| Issue 2 | https://github.com/user/repo/issues/2 | 3 days, 0:00:00 | "
             "4 days, 0:00:00 | 5 days, 0:00:00 | 2 days, 0:00:00 |\n"
+            "_This report was generated with the [Issue Metrics Action](https://github.com/github/issue-metrics)_\n"
         )
         self.assertEqual(content, expected_content)
         os.remove("issue_metrics.md")
@@ -158,6 +159,7 @@ class TestWriteToMarkdown(unittest.TestCase):
             "2 days, 0:00:00 | 3 days, 0:00:00 | 1 day, 0:00:00 |\n"
             "| feat&#124; Issue 2 | https://github.com/user/repo/issues/2 | 3 days, 0:00:00 | "
             "4 days, 0:00:00 | 5 days, 0:00:00 | 2 days, 0:00:00 |\n"
+            "_This report was generated with the [Issue Metrics Action](https://github.com/github/issue-metrics)_\n"
         )
         self.assertEqual(content, expected_content)
         os.remove("issue_metrics.md")
@@ -257,6 +259,7 @@ class TestWriteToMarkdownWithEnv(unittest.TestCase):
             "| --- | --- |\n"
             "| Issue 1 | https://github.com/user/repo/issues/1 |\n"
             "| Issue 2 | https://github.com/user/repo/issues/2 |\n"
+            "_This report was generated with the [Issue Metrics Action](https://github.com/github/issue-metrics)_\n"
         )
         self.assertEqual(content, expected_content)
         os.remove("issue_metrics.md")
Repository: preactjs/preact-render-to-string (js)

Issue:
null is being removed when used as value in dangerouslySetInnerHTML html
Printing out `null` as the contents of an HTML text node through `dangerouslySetInnerHTML` activates the async renderer https://github.com/preactjs/preact-render-to-string/pull/333, and is removed from the output.

It used to be `undefined` but switched to `null` after this PR https://github.com/preactjs/preact-render-to-string/pull/339

E.g:

1. Correctly prints as text
```js
<p dangerouslySetInnerHTML={{ __html: undefined }} />
```

2. Activates async renderer indirectly and is removed from the output.
```js
<p dangerouslySetInnerHTML={{ __html: null }} />
```


Pull request:
fix(core): render empty string for null __html
Fixes #346

This also got reported as an issue on Slack

Patch:
diff --git a/.changeset/yellow-ghosts-bow.md b/.changeset/yellow-ghosts-bow.md
new file mode 100644
index 0000000..58d53b5
--- /dev/null
+++ b/.changeset/yellow-ghosts-bow.md
@@ -0,0 +1,5 @@
+---
+'preact-render-to-string': patch
+---
+
+Correctly render `null` as an `__html` value as an empty string
diff --git a/src/index.js b/src/index.js
index 8c4ea39..9dec64a 100644
--- a/src/index.js
+++ b/src/index.js
@@ -55,7 +55,7 @@ export function renderToString(vnode, context, _rendererState) {
 	parent[CHILDREN] = [vnode];
 
 	try {
-		return _renderToString(
+		const rendered = _renderToString(
 			vnode,
 			context || EMPTY_OBJ,
 			false,
@@ -64,6 +64,11 @@ export function renderToString(vnode, context, _rendererState) {
 			false,
 			_rendererState
 		);
+
+		if (Array.isArray(rendered)) {
+			return rendered.join('');
+		}
+		return rendered;
 	} catch (e) {
 		if (e.then) {
 			throw new Error('Use "renderToStringAsync" for suspenseful rendering.');
@@ -682,7 +687,6 @@ function _renderToString(
 
 	if (Array.isArray(html)) return [startTag, ...html, endTag];
 	else if (typeof html !== 'string') return [startTag, html, endTag];
-
 	return startTag + html + endTag;
 }
 


Test patch:
diff --git a/test/render.test.jsx b/test/render.test.jsx
index 05d317a..ffa8a0c 100644
--- a/test/render.test.jsx
+++ b/test/render.test.jsx
@@ -387,6 +387,16 @@ describe('render', () => {
 			);
 		});
 
+		it('should accept nullish __html', () => {
+			const Test = (props) => (
+				<Fragment>
+					<div>hi</div>
+					<div dangerouslySetInnerHTML={{ __html: null }} />
+				</Fragment>
+			);
+			expect(render(<Test />)).to.equal('<div>hi</div><div></div>');
+		});
+
 		it('should apply defaultProps', () => {
 			const Test = (props) => <div {...props} />;
 			Test.defaultProps = {