PrimeIntellect/SWE-rebench-V2 huggingface dataset:
Repository: Materials-Consortia/optimade-python-tools (python)

Issue:
`chemical_formula_anonymous` validator accepts incorrect proportion order if started with 1
As reported by @JPBergsma in https://github.com/Materials-Consortia/optimade-python-tools/pull/1001#issue-1059491669, the `chemical_formula_anonymous` validator has an edge case that allows the wrong order of elements for certain compositions (those with only two different proportions, e.g. 1 and 4), if the first element has proportion 1, e.g. `"AB4"` does not raise an error as it should.

Pull request:
Fixed bug in check_anonymous_formula which caused `chemical_formula_anonymous = AB2` to pass validation.
I noticed that in OQMD structure [4061139](http://oqmd.org/optimade/v1/structures?id=4061139) has an invalid chemical_formula_anonymous. i.e. "ABCD4" for "CsHoS4Si" instead of "A4BCD"
On the Optimade providers list, there was however no error for this wrong behaviour. 
So here I have tried to fix the validator so this wrong formatting no longer passes. 

Closes #1002.

Patch:
diff --git a/optimade/models/structures.py b/optimade/models/structures.py
index 62a39f46..1ef9ae57 100644
--- a/optimade/models/structures.py
+++ b/optimade/models/structures.py
@@ -872,7 +872,8 @@ The properties of the species are found in the property `species`.
             return v
 
         elements = tuple(re.findall(r"[A-Z][a-z]*", v))
-        numbers = [int(n.strip()) for n in re.split(r"[A-Z][a-z]*", v) if n.strip()]
+        numbers = re.split(r"[A-Z][a-z]*", v)[1:]
+        numbers = [int(i) if i else 1 for i in numbers]
 
         expected_labels = ANONYMOUS_ELEMENTS[: len(elements)]
         expected_numbers = sorted(numbers, reverse=True)


Test patch:
diff --git a/tests/models/test_structures.py b/tests/models/test_structures.py
index 09e9a626..e1401e55 100644
--- a/tests/models/test_structures.py
+++ b/tests/models/test_structures.py
@@ -103,8 +103,8 @@ deformities = (
         "'chemical_formula_anonymous' A2B90 has wrong order: elements with highest proportion should appear first: [2, 90] vs expected [90, 2]",
     ),
     (
-        {"chemical_formula_anonymous": "A2B10"},
-        "'chemical_formula_anonymous' A2B10 has wrong order: elements with highest proportion should appear first: [2, 10] vs expected [10, 2]",
+        {"chemical_formula_anonymous": "AB10"},
+        "'chemical_formula_anonymous' AB10 has wrong order: elements with highest proportion should appear first: [1, 10] vs expected [10, 1]",
     ),
     (
         {"chemical_formula_hill": "SiGe"},
Repository: PumasAI/QuartoNotebookRunner.jl (julia)

Issue:
Support truncation of output of large data structures
With QuartoNotebookRunner 0.4.0,

     ```{julia}
     v = rand(10^7)
     ```

produces $10^7$ output lines. IJulia truncates in a way similar to the REPL, see the third cell here:
https://www.math.uni-leipzig.de/~hellmund/juliabook/chapters/numerictypes.html#der-datentyp-bigint

Pull request:
Fixes #57, similar behaviour to IJulia and REPL.

Patch:
diff --git a/src/worker.jl b/src/worker.jl
index 1dbf3d9e..9d00eec3 100644
--- a/src/worker.jl
+++ b/src/worker.jl
@@ -243,6 +243,7 @@ function worker_init(f::File)
                 io,
                 :module => WORKSPACE[],
                 :color => true,
+                :limit => true,
                 # This allows a `show` method implementation to check for
                 # metadata that may be of relevance to it's rendering. For
                 # example, if a `typst` table is rendered with a caption


Test patch:
diff --git a/test/examples/limit_output.qmd b/test/examples/limit_output.qmd
new file mode 100644
index 00000000..544c4111
--- /dev/null
+++ b/test/examples/limit_output.qmd
@@ -0,0 +1,7 @@
+---
+title: Limit output
+---
+
+```{julia}
+ones(1000, 1000)
+```
diff --git a/test/testsets/limit_output.jl b/test/testsets/limit_output.jl
new file mode 100644
index 00000000..a6650fb7
--- /dev/null
+++ b/test/testsets/limit_output.jl
@@ -0,0 +1,9 @@
+include("../utilities/prelude.jl")
+
+test_example(joinpath(@__DIR__, "../examples/limit_output.qmd")) do json
+    cells = json["cells"]
+    text = cells[2]["outputs"][1]["data"]["text/plain"]
+    @test contains(text, "…")
+    @test contains(text, "⋮")
+    @test contains(text, "⋱")
+end
Repository: seratch/notion-sdk-jvm (kotlin)

Issue:
Add support for rollup -> date properties
This is the representation for those kind of properties in the API:

```json
"PropertyName": {"id":"XYZ","type":"rollup","rollup":{"type":"date","date":{"start":"2023-03-09T00:00:00.000+00:00","end":null,"time_zone":null},"function":"latest_date"}}
```

Should be a relatively small change in `PageProperty.Rollup` to include the already present Date type.

Pull request:
Fix #107 adding a new date property to rollup types.

Patch:
diff --git a/core/src/main/kotlin/notion/api/v1/model/pages/PageProperty.kt b/core/src/main/kotlin/notion/api/v1/model/pages/PageProperty.kt
index 23d49b4..d3f1ab5 100644
--- a/core/src/main/kotlin/notion/api/v1/model/pages/PageProperty.kt
+++ b/core/src/main/kotlin/notion/api/v1/model/pages/PageProperty.kt
@@ -106,5 +106,6 @@ constructor(
       val number: Number? = null,
       val array: List<PageProperty>? = null,
       val function: String? = null,
+      val date: Date? = null,
   )
 }


Test patch:
diff --git a/core/src/test/kotlin/tests/model/PagesTest.kt b/core/src/test/kotlin/tests/model/PagesTest.kt
index c74bd66..47a6d93 100644
--- a/core/src/test/kotlin/tests/model/PagesTest.kt
+++ b/core/src/test/kotlin/tests/model/PagesTest.kt
@@ -44,6 +44,19 @@ class PagesTest {
         }
       ]
     },
+    "Rollup Property": {
+      "id": "da010d01-6406-43d1-ae03-4b4b6989bbd9",
+      "type": "rollup",
+      "rollup": {
+        "type": "date",
+        "function": "opaque_value",
+        "date": {
+          "start": "2023-03-09T00:00:00.000+00:00",
+          "end": null,
+          "time_zone": null
+        }
+      }
+    },
     "Due": {
       "id": "da010d01-6406-43d1-ae03-4b4b6989bbd8",
       "date": {
Repository: validatorjs/validator.js (js)

Issue:
Non breaking space bypass email validation
"test test@test.com" won't pass since it's a regular space (0x0020), but "test test@test.com" will pass since it's a non breaking space (0x00A0).

In fact, /\s/ regex pattern is not checking for non breaking spaces.

Here is a thread about it: https://stackoverflow.com/questions/31790440/regex-to-replace-no-break-space

Pull request:
isEmail: do not allow non-breaking space in user part
# bug(isEmail) Do not allow non-breaking space in user part

> Fixes #2218 

- Excluded non-breaking space character from range of acceptable UTF8 characters in the user part of email address

- Added test cases to confirm fix

## Checklist

- [X] PR contains only changes related; no stray files, etc.
- [X] README updated (where applicable)
- [X] Tests written (where applicable)
- [X] References provided in PR (where applicable)


Patch:
diff --git a/src/lib/isEmail.js b/src/lib/isEmail.js
index d1c35bd..34fb239 100644
--- a/src/lib/isEmail.js
+++ b/src/lib/isEmail.js
@@ -22,7 +22,7 @@ const splitNameAddress = /^([^\x00-\x1F\x7F-\x9F\cX]+)</i;
 const emailUserPart = /^[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~]+$/i;
 const gmailUserPart = /^[a-z\d]+$/;
 const quotedEmailUser = /^([\s\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e]|(\\[\x01-\x09\x0b\x0c\x0d-\x7f]))*$/i;
-const emailUserUtf8Part = /^[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+$/i;
+const emailUserUtf8Part = /^[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~\u00A1-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+$/i;
 const quotedEmailUserUtf8 = /^([\s\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|(\\[\x01-\x09\x0b\x0c\x0d-\x7f\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))*$/i;
 const defaultMaxEmailLength = 254;
 /* eslint-enable max-len */


Test patch:
diff --git a/test/validators.test.js b/test/validators.test.js
index d0753de..bb70579 100644
--- a/test/validators.test.js
+++ b/test/validators.test.js
@@ -66,6 +66,9 @@ describe('Validators', () => {
         '"wrong()[]",:;<>@@gmail.com',
         'username@domain.com�',
         'username@domain.com©',
+        'nbsp test@test.com',
+        'nbsp_test@te st.com',
+        'nbsp_test@test.co m',
       ],
     });
   });
@@ -117,6 +120,7 @@ describe('Validators', () => {
         'hans.m端ller@test.com',
         'z@co.c',
         'tüst@invalid.com',
+        'nbsp test@test.com',
       ],
     });
   });