{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":35100117,"defaultBranch":"5.0","name":"neo4j-python-driver","ownerLogin":"neo4j","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2015-05-05T13:08:20.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/201120?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1714135203.0","currentOid":""},"activityList":{"items":[{"before":"13bd8047650f7401371f884e2698aabeaaebca1a","after":"9b47011346f4954251756bbd549a81b3526a0221","ref":"refs/heads/5.0","pushedAt":"2024-05-15T09:50:28.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"robsdedude","name":"Robsdedude","path":"/robsdedude","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4061254?s=80&v=4"},"commit":{"message":"Convenient handling of DBMS notifications (#1059)\n\nThis PR introduces support for a more convenient way of consuming notifications\r\nreceived from the DBMS server.\r\n\r\nThis feature is still in **PREVIEW**.\r\nIt might be changed without following the deprecation policy.\r\n\r\n## Logging\r\nA new sub-logger `neo4j.notifications` is introduced.\r\nEvery notification received will be logged through this logger.\r\nThe log-level is determined by the notification's severity.\r\n\r\nIf logging is not configured explicitly, warnings are logged to stderr.\r\nThis means that, by default, warnings like deprecations received from the DBMS\r\nwill appear on stderr.\r\n\r\n## Warnings\r\nA new driver-level configuration `warn_notification_severity` is introduced.\r\nIt can be used to configure from which notification severity level upward the\r\ndriver should emit a warning (i.e., call `warnings.warn`).\r\n\r\nBy default (`None`), it will be set to `OFF` (never emitting warnings on\r\nnotifications), unless Python runs in development mode or the environment\r\nvariable `PYTHONNEO4JDEBUG` is set, in which case the driver will emit a\r\nwarning on every notification.\r\n\r\n## Usage\r\nThis functionality if mainly meant for developing and debugging.\r\nTherefore, no emphasis is put on efficiency.\r\nHowever, it's impact is capt to a minimum when disabled.\r\nIt's assumed that in productions environments this feature is either disabled\r\nexplicitly\r\n\r\n```python\r\nneo4j.GraphDatabase.driver(\r\n ...,\r\n warn_notification_severity=neo4j.NotificationMinimumSeverity.OFF,\r\n ...,\r\n)\r\n```\r\n\r\nor default behavior (see above) is used by not running Python in development mode.\r\n\r\n## Example\r\n```python\r\n# example.py\r\nimport neo4j\r\n\r\n\r\nURL = \"neo4j://localhost:7687\"\r\nAUTH = (\"neo4j\", \"pass\")\r\nDB = \"neo4j\"\r\n\r\n\r\nwith neo4j.GraphDatabase.driver(\r\n URL,\r\n auth=AUTH,\r\n warn_notification_severity=neo4j.NotificationMinimumSeverity.INFORMATION,\r\n) as driver:\r\n driver.execute_query(\r\n \"MERGE (:Test {name: 'foo'})\",\r\n database_=DB,\r\n )\r\n driver.execute_query(\r\n \"MATCH (n:Test {name: 'baz'}), (m:Test1 {name: 'bar'}) \"\r\n \"RETURN n, m\",\r\n database_=DB,\r\n routing_=\"r\",\r\n )\r\n```\r\n\r\nOn an empty database, this leads to the following output:\r\n\r\n```\r\n$ python example.py\r\n/path/to/example.py:10: PreviewWarning: notification warnings are a preview feature. It might be changed without following the deprecation policy. See also https://github.com/neo4j/neo4j-python-driver/wiki/preview-features.\r\n with neo4j.GraphDatabase.driver(\r\n/path/to/example.py:19: Neo4jWarning: {severity: INFORMATION} {code: Neo.ClientNotification.Statement.CartesianProduct} {category: PERFORMANCE} {title: This query builds a cartesian product between disconnected patterns.} {description: If a part of a query contains multiple disconnected patterns, this will build a cartesian product between all those parts. This may produce a large amount of data and slow down query processing. While occasionally intended, it may often be possible to reformulate the query that avoids the use of this cross product, perhaps by adding a relationship between the different parts or by using OPTIONAL MATCH (identifier is: (m))} {position: line: 1, column: 1, offset: 0} for query:\r\nMATCH (n:Test {name: 'baz'}), (m:Test1 {name: 'bar'}) RETURN n, m\r\n^\r\n driver.execute_query(\r\nReceived notification from DBMS server: {severity: WARNING} {code: Neo.ClientNotification.Statement.UnknownLabelWarning} {category: UNRECOGNIZED} {title: The provided label is not in the database.} {description: One of the labels in your query is not available in the database, make sure you didn't misspell it or that the label is available when you run this statement in your application (the missing label name is: Test1)} {position: line: 1, column: 34, offset: 33} for query: \"MATCH (n:Test {name: 'baz'}), (m:Test1 {name: 'bar'}) RETURN n, m\"\r\n/path/to/example.py:19: Neo4jWarning: {severity: WARNING} {code: Neo.ClientNotification.Statement.UnknownLabelWarning} {category: UNRECOGNIZED} {title: The provided label is not in the database.} {description: One of the labels in your query is not available in the database, make sure you didn't misspell it or that the label is available when you run this statement in your application (the missing label name is: Test1)} {position: line: 1, column: 34, offset: 33} for query:\r\nMATCH (n:Test {name: 'baz'}), (m:Test1 {name: 'bar'}) RETURN n, m\r\n ^\r\n driver.execute_query(\r\n```","shortMessageHtmlLink":"Convenient handling of DBMS notifications (#1059)"}},{"before":"6860f906b2451a168d353f7e86d0dcb8f4255447","after":"13bd8047650f7401371f884e2698aabeaaebca1a","ref":"refs/heads/5.0","pushedAt":"2024-05-03T08:45:57.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"robsdedude","name":"Robsdedude","path":"/robsdedude","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4061254?s=80&v=4"},"commit":{"message":"Tiny refactor (#1058)","shortMessageHtmlLink":"Tiny refactor (#1058)"}},{"before":"25515b526f7c623b7086b6ac75e9171e830d2871","after":"6860f906b2451a168d353f7e86d0dcb8f4255447","ref":"refs/heads/5.0","pushedAt":"2024-05-02T15:05:51.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"robsdedude","name":"Robsdedude","path":"/robsdedude","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4061254?s=80&v=4"},"commit":{"message":"Docs: Fix typos, add details in auth management features (#1054)\n\n * Fix typos.\r\n * Improved cross references.\r\n * Completed version history of stabilized auth manager APIs.\r\n * Amend preview remark to some mTLS APIs that already emitted an preview\r\n warning, but weren't clearly marked as preview in the API docs.\r\n * Extend details around the static and basic auth provider implementations.","shortMessageHtmlLink":"Docs: Fix typos, add details in auth management features (#1054)"}},{"before":"b2d0bb787ba819531ece4de8eafc35e02ba0f0c9","after":"52485565520fb7ba0babc9fc317e0fa91a1f173e","ref":"refs/heads/4.4","pushedAt":"2024-04-26T10:56:32.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"robsdedude","name":"Robsdedude","path":"/robsdedude","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4061254?s=80&v=4"},"commit":{"message":"CI: further fix release scripts to work with PEP 625 (#1053)\n\nContinuation of https://github.com/neo4j/neo4j-python-driver/pull/1051","shortMessageHtmlLink":"CI: further fix release scripts to work with PEP 625 (#1053)"}},{"before":"faf7366718e1aa30dcfeaa76f0f0c06fe000a772","after":"25515b526f7c623b7086b6ac75e9171e830d2871","ref":"refs/heads/5.0","pushedAt":"2024-04-26T09:04:31.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"robsdedude","name":"Robsdedude","path":"/robsdedude","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4061254?s=80&v=4"},"commit":{"message":"CI: further fix release scripts to work with PEP 625 (#1052)\n\nContinuation of https://github.com/neo4j/neo4j-python-driver/pull/1050","shortMessageHtmlLink":"CI: further fix release scripts to work with PEP 625 (#1052)"}},{"before":"e2ddcced70e455f2947b0b642be441edfc1bdac8","after":"b2d0bb787ba819531ece4de8eafc35e02ba0f0c9","ref":"refs/heads/4.4","pushedAt":"2024-04-25T17:15:17.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"robsdedude","name":"Robsdedude","path":"/robsdedude","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4061254?s=80&v=4"},"commit":{"message":"CI: fix release scripts to work with PEP 625 (#1051)\n\nWith version 69.3.0, setuptools started naming dist archives according to\r\nPEP 625. This broke our release scripts.\r\n\r\nSigned-off-by: Grant Lodge <6323995+thelonelyvulpes@users.noreply.github.com>","shortMessageHtmlLink":"CI: fix release scripts to work with PEP 625 (#1051)"}},{"before":"903755b36b88638593a7c071c50c66a32f453a5f","after":"faf7366718e1aa30dcfeaa76f0f0c06fe000a772","ref":"refs/heads/5.0","pushedAt":"2024-04-25T16:40:10.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"robsdedude","name":"Robsdedude","path":"/robsdedude","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4061254?s=80&v=4"},"commit":{"message":"CI: fix release scripts to work with PEP 625 (#1050)\n\nWith version 69.3.0, setuptools started naming dist archives according to\r\nPEP 625. This broke our release scripts.\r\n\r\nSigned-off-by: Grant Lodge <6323995+thelonelyvulpes@users.noreply.github.com>","shortMessageHtmlLink":"CI: fix release scripts to work with PEP 625 (#1050)"}},{"before":"f41a7e35d4f3171097b7ca4622bc8585d06f3a53","after":"903755b36b88638593a7c071c50c66a32f453a5f","ref":"refs/heads/5.0","pushedAt":"2024-04-25T12:08:06.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"robsdedude","name":"Robsdedude","path":"/robsdedude","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4061254?s=80&v=4"},"commit":{"message":"Fix type hints (#1049)","shortMessageHtmlLink":"Fix type hints (#1049)"}},{"before":"ca265316596257288bf2ac12ab90bd95a1c087c7","after":"f41a7e35d4f3171097b7ca4622bc8585d06f3a53","ref":"refs/heads/5.0","pushedAt":"2024-04-25T10:08:45.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"robsdedude","name":"Robsdedude","path":"/robsdedude","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4061254?s=80&v=4"},"commit":{"message":"Bump version to 5.20 (#1048)","shortMessageHtmlLink":"Bump version to 5.20 (#1048)"}},{"before":"85404f321b27a0c0b3a02076d561cddec50044f0","after":"e2ddcced70e455f2947b0b642be441edfc1bdac8","ref":"refs/heads/4.4","pushedAt":"2024-04-24T21:03:24.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"robsdedude","name":"Robsdedude","path":"/robsdedude","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4061254?s=80&v=4"},"commit":{"message":"Improve performance of `from_ordinal` of temporal types. (#1047)\n\nSpeeds up the function by about a factor of 100\r\n(depending on the exact ordinal chose).\r\n\r\nSigned-off-by: Grant Lodge <6323995+thelonelyvulpes@users.noreply.github.com>","shortMessageHtmlLink":"Improve performance of from_ordinal of temporal types. (#1047)"}},{"before":"638c05fcb6a136e62278dcc0ca7fcc8fd620b291","after":"ca265316596257288bf2ac12ab90bd95a1c087c7","ref":"refs/heads/5.0","pushedAt":"2024-04-24T21:03:14.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"robsdedude","name":"Robsdedude","path":"/robsdedude","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4061254?s=80&v=4"},"commit":{"message":"Improve performance of `from_ordinal` of temporal types. (#1046)\n\nSpeeds up the function by about a factor of 100\r\n(depending on the exact ordinal chose).\r\n\r\nSigned-off-by: Grant Lodge <6323995+thelonelyvulpes@users.noreply.github.com>","shortMessageHtmlLink":"Improve performance of from_ordinal of temporal types. (#1046)"}},{"before":"249c10ba9bd8feccc6a2428de1bf6e2adc4e52a7","after":"85404f321b27a0c0b3a02076d561cddec50044f0","ref":"refs/heads/4.4","pushedAt":"2024-04-19T09:31:08.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"robsdedude","name":"Robsdedude","path":"/robsdedude","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4061254?s=80&v=4"},"commit":{"message":"Fix: use cached port for logging (#1045)\n\nEspecially in the error handler, it's worth using the cached port as the\r\nunderlying socket might already have been close which can lead to errors masking\r\nthe actual exception that should be surfaced to the user instead.","shortMessageHtmlLink":"Fix: use cached port for logging (#1045)"}},{"before":"08236552155407c6b543aa7a1741dd123dc8eab0","after":"249c10ba9bd8feccc6a2428de1bf6e2adc4e52a7","ref":"refs/heads/4.4","pushedAt":"2024-04-12T14:32:22.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"robsdedude","name":"Robsdedude","path":"/robsdedude","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4061254?s=80&v=4"},"commit":{"message":"[4.4] Fix pool closing connections too aggressively (#1038)\n\nWhenever a new routing table was fetched, the pool would close all connections\r\nto servers that were not part of the routing table. However, it might well be,\r\nthat a missing server is present still in the routing table for another\r\ndatabase. Hence, the pool now checks the routing tables for all databases before\r\ndeciding which connections are no longer needed.g","shortMessageHtmlLink":"[4.4] Fix pool closing connections too aggressively (#1038)"}},{"before":"3c19e0bd3e6b746e7c4fa7078ac6ce2271de1fc4","after":null,"ref":"refs/heads/ci/test-4.4","pushedAt":"2024-04-12T13:41:32.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"robsdedude","name":"Robsdedude","path":"/robsdedude","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4061254?s=80&v=4"}},{"before":"b7272af4ca532a3581df1b626a1cf9565a82a3d8","after":"638c05fcb6a136e62278dcc0ca7fcc8fd620b291","ref":"refs/heads/5.0","pushedAt":"2024-04-12T13:24:06.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"robsdedude","name":"Robsdedude","path":"/robsdedude","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4061254?s=80&v=4"},"commit":{"message":"Mitigate errors during resource warning on interpreter shutdown (#1037)","shortMessageHtmlLink":"Mitigate errors during resource warning on interpreter shutdown (#1037)"}},{"before":"9f5c4952b9e2bc63e4ed53fbe15b169c29cf5e57","after":"08236552155407c6b543aa7a1741dd123dc8eab0","ref":"refs/heads/4.4","pushedAt":"2024-04-12T11:20:56.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"robsdedude","name":"Robsdedude","path":"/robsdedude","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4061254?s=80&v=4"},"commit":{"message":"[4.4] Invalidate writers per database (#1039)\n\n* Invalidate writers per database\r\n\r\nThis should improve the performance of the driver in multi database use-cases.\r\nThe driver now only removes a server as a writer for a single database (before\r\nfor all databases) if that server returns an error that notifies the driver that\r\nthe server is no longer a writer (`Neo.ClientError.Cluster.NotALeader` or\r\n`Neo.ClientError.General.ForbiddenOnReadOnlyDatabase`).\r\n\r\n* Minor code clean-up\r\n\r\nCo-authored-by: Antonio Barcélos ","shortMessageHtmlLink":"[4.4] Invalidate writers per database (#1039)"}},{"before":"356c829dc8254de4fe1938be254b55805cb16d14","after":"9f5c4952b9e2bc63e4ed53fbe15b169c29cf5e57","ref":"refs/heads/4.4","pushedAt":"2024-04-12T10:22:31.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"robsdedude","name":"Robsdedude","path":"/robsdedude","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4061254?s=80&v=4"},"commit":{"message":"Improve TestKit backend performance (#1043)","shortMessageHtmlLink":"Improve TestKit backend performance (#1043)"}},{"before":"dcb337c56fe706185261c77ad5110c963b293549","after":"356c829dc8254de4fe1938be254b55805cb16d14","ref":"refs/heads/4.4","pushedAt":"2024-04-12T10:22:18.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"robsdedude","name":"Robsdedude","path":"/robsdedude","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4061254?s=80&v=4"},"commit":{"message":"Harden driver against unexpected RESET responses (#1042)\n\nThe server has been observed to reply with `FAILURE` and `IGNORED` to `RESET`\r\nrequests. The former is according to spec and the driver should drop the\r\nconnection (which it didn't), the latter isn't.\r\n\r\nThe right combination of those two unexpected responses at the right time could\r\nget the driver stuck in an infinite loop.\r\n\r\nThis change makes the driver drop the connection in either case to gracefully\r\nhandle the situation.","shortMessageHtmlLink":"Harden driver against unexpected RESET responses (#1042)"}},{"before":"5da08ae224781ae877abb2b50843267fa3a0ba52","after":"dcb337c56fe706185261c77ad5110c963b293549","ref":"refs/heads/4.4","pushedAt":"2024-04-12T10:21:48.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"robsdedude","name":"Robsdedude","path":"/robsdedude","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4061254?s=80&v=4"},"commit":{"message":"Fix Duration export in `Result.data` and `Record.data` (#1041)","shortMessageHtmlLink":"Fix Duration export in Result.data and Record.data (#1041)"}},{"before":"06f356b165cd809f1bcd28876630ec804793f371","after":"5da08ae224781ae877abb2b50843267fa3a0ba52","ref":"refs/heads/4.4","pushedAt":"2024-04-12T10:16:44.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"robsdedude","name":"Robsdedude","path":"/robsdedude","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4061254?s=80&v=4"},"commit":{"message":"Fix suppression of warnings for internal API usage (#1040)\n\nUsing `warnings.catch_warning` for suppressing warnings when using APIs\r\ninternally that are preview/experimental/deprecated is a bad idea because the\r\n`warnings` module stores the configuration globally per module. This is not\r\nthread-safe. Therefore, the code was restructured to not rely of the `warnings`\r\nmodule to suppress those warnings. Instead, warning-free internal APIs are being\r\nused.","shortMessageHtmlLink":"Fix suppression of warnings for internal API usage (#1040)"}},{"before":"16e346dff6e7758d779abf97ec08611b97ed1f43","after":"06f356b165cd809f1bcd28876630ec804793f371","ref":"refs/heads/4.4","pushedAt":"2024-04-12T10:16:26.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"robsdedude","name":"Robsdedude","path":"/robsdedude","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4061254?s=80&v=4"},"commit":{"message":"Fix tox not picking up Python 3.6 (#1035)","shortMessageHtmlLink":"Fix tox not picking up Python 3.6 (#1035)"}},{"before":"ba18132e5f0b47d9a9ebc7c276603521e54d231f","after":"16e346dff6e7758d779abf97ec08611b97ed1f43","ref":"refs/heads/4.4","pushedAt":"2024-04-12T07:48:58.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"robsdedude","name":"Robsdedude","path":"/robsdedude","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4061254?s=80&v=4"},"commit":{"message":"Improve logging helper `neo4j.debug.watch()` (#1032)\n\nThe helper did not handle logging level correctly. For example\r\n\r\n```\r\nneo4j.debug.watch(\"neo4j\", out=sys.stdout)\r\nneo4j.debug.watch(\"neo4j\", out=sys.stderr, level=logging.WARNING)\r\n```\r\n\r\nwould've caused the logging level of the \"neo4j\" logger to end up being\r\n`WARNING` even though the first call (implicitly) requested `DEBUG`.\r\n\r\nThe fix will make sure to set the logger's level to the most verbose requested\r\nlevel and use a level filter on the Handlers registered for each call to filter\r\non the level accordingly.\r\n\r\nBackport of https://github.com/neo4j/neo4j-python-driver/pull/946","shortMessageHtmlLink":"Improve logging helper neo4j.debug.watch() (#1032)"}},{"before":"c4e39577f03ba5f2e5065f66bae063318b5e903f","after":"ba18132e5f0b47d9a9ebc7c276603521e54d231f","ref":"refs/heads/4.4","pushedAt":"2024-04-11T15:15:51.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"robsdedude","name":"Robsdedude","path":"/robsdedude","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4061254?s=80&v=4"},"commit":{"message":"[4.4] Fix handling of sub-ms transaction timeouts (#1034)\n\nTransaction timeouts are specified in seconds as float.\r\nHowever, the server expects it in milliseconds as int. This would lead to\r\n\r\n 1) rounding issues: previously, the driver would multiply by 1000 and\r\n then truncate to int. E.g., 256.4 seconds would be turned into 256399 ms\r\n because of float imprecision.\r\n Therefore, the built-in `round` is now used instead.\r\n 2) values below 1 ms (e.g., 0.0001) would be rounded down to 0. However, 0 is\r\n a special value that instructs the server to not apply any timeout. This\r\n is likely to surprise the user which specified a non-zero timeout. In this\r\n special case, the driver now rounds up to 1 ms.\r\n\r\nBackport of: https://github.com/neo4j/neo4j-python-driver/pull/940\r\n\r\nBackport adjustment:\r\nFor better backwards compatibility, we're sending negative timeouts to the\r\nDBMS as the 4.4 driver did before (even though those values might not have the\r\nintuitive effect, we don't want to change the behavior of the driver too much in\r\na patch release).","shortMessageHtmlLink":"[4.4] Fix handling of sub-ms transaction timeouts (#1034)"}},{"before":"b8b9e169d6095bff77539dfa63815242d7658912","after":"c4e39577f03ba5f2e5065f66bae063318b5e903f","ref":"refs/heads/4.4","pushedAt":"2024-04-11T08:54:18.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"robsdedude","name":"Robsdedude","path":"/robsdedude","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4061254?s=80&v=4"},"commit":{"message":"Fix internal usage of deprecated and imprecise Duration constructor (#1033)","shortMessageHtmlLink":"Fix internal usage of deprecated and imprecise Duration constructor (#…"}},{"before":"9346ce8b24ae03fad03202f20876094584ffbf89","after":"b8b9e169d6095bff77539dfa63815242d7658912","ref":"refs/heads/4.4","pushedAt":"2024-04-10T15:49:41.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"robsdedude","name":"Robsdedude","path":"/robsdedude","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4061254?s=80&v=4"},"commit":{"message":"Fix ITs in TeamCity (#1036)\n\nFor god know what reason (couldn't reproduce locally, tried every trick in\r\nthe book), boltkit shutting down Neo4j after the ITs would timeout consistently\r\nin TeamCity. Since the service is (at least currently) started and stopped for\r\nthe whole test session, not per test, there's little risk in just killing it\r\ninstead of gracefully shutting it down.","shortMessageHtmlLink":"Fix ITs in TeamCity (#1036)"}},{"before":"ed4ec91f8f3460ecc9ff163ade60a95340085659","after":"3c19e0bd3e6b746e7c4fa7078ac6ce2271de1fc4","ref":"refs/heads/ci/test-4.4","pushedAt":"2024-04-10T14:55:18.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"robsdedude","name":"Robsdedude","path":"/robsdedude","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4061254?s=80&v=4"},"commit":{"message":"WIP","shortMessageHtmlLink":"WIP"}},{"before":"df2882415a02be792e25cf50638cac9279667383","after":"ed4ec91f8f3460ecc9ff163ade60a95340085659","ref":"refs/heads/ci/test-4.4","pushedAt":"2024-04-10T14:41:27.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"robsdedude","name":"Robsdedude","path":"/robsdedude","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4061254?s=80&v=4"},"commit":{"message":"WIP","shortMessageHtmlLink":"WIP"}},{"before":"15f04a7146ee20178063f5987bc97618b1fc2bf6","after":"df2882415a02be792e25cf50638cac9279667383","ref":"refs/heads/ci/test-4.4","pushedAt":"2024-04-10T13:53:28.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"robsdedude","name":"Robsdedude","path":"/robsdedude","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4061254?s=80&v=4"},"commit":{"message":"WIP","shortMessageHtmlLink":"WIP"}},{"before":"810071d10b394d5410cdc9ddaca3e4458d706e04","after":"15f04a7146ee20178063f5987bc97618b1fc2bf6","ref":"refs/heads/ci/test-4.4","pushedAt":"2024-04-03T13:43:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"robsdedude","name":"Robsdedude","path":"/robsdedude","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4061254?s=80&v=4"},"commit":{"message":"WIP","shortMessageHtmlLink":"WIP"}},{"before":null,"after":"810071d10b394d5410cdc9ddaca3e4458d706e04","ref":"refs/heads/ci/test-4.4","pushedAt":"2024-04-03T12:40:29.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"robsdedude","name":"Robsdedude","path":"/robsdedude","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4061254?s=80&v=4"},"commit":{"message":"Merge branches 'fix-tx-timeout-rounding-4.4', 'improve-logging-helper-4.4' and 'fix/internal-usage-of-deprecated-api' into ci/test-4.4","shortMessageHtmlLink":"Merge branches 'fix-tx-timeout-rounding-4.4', 'improve-logging-helper…"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAESl8EWAA","startCursor":null,"endCursor":null}},"title":"Activity · neo4j/neo4j-python-driver"}