diff --git a/pages/custom-query-modules/c/c-api.mdx b/pages/custom-query-modules/c/c-api.mdx index 919708e53..6f314b097 100644 --- a/pages/custom-query-modules/c/c-api.mdx +++ b/pages/custom-query-modules/c/c-api.mdx @@ -200,6 +200,7 @@ Memgraph in order to use them. | enum [mgp_error](#variable-mgp-error) | **[mgp_edge_iter_properties](#function-mgp-edge-iter-properties)**(struct mgp_edge * e, struct mgp_memory * memory, struct mgp_properties_iterator ** result)
Start iterating over properties stored in the given edge. | | enum [mgp_error](#variable-mgp-error) | **[mgp_graph_get_vertex_by_id](#function-mgp-graph-get-vertex-by-id)**(struct mgp_graph * g, struct [mgp_vertex_id](#mgp_vertex_id) id, struct mgp_memory * memory, struct mgp_vertex ** result)
Get the vertex corresponding to given ID, or NULL if no such vertex exists. | | enum [mgp_error](#variable-mgp-error) | **[mgp_graph_is_transactional](#function-mgp-graph-is-transactional)**(struct mgp_graph * graph, int * result)
Result is non-zero if the graph is in transactional storage mode. | +| enum [mgp_error](#variable-mgp-error) | **[mgp_graph_get_start_timestamp](#function-mgp-graph-get-start-timestamp)**(struct mgp_graph * graph, int64_t * result)
Return the transaction's starting timestamp; stays stable across `USING PERIODIC COMMIT` batches. | | enum [mgp_error](#variable-mgp-error) | **[mgp_graph_has_text_index](#function-mgp-graph-has-text-index)**(struct mgp_graph * graph, const char * index_name, int * result)
(Experimental) Result is non-zero if there exists a text index with the given name. | | enum [mgp_error](#variable-mgp-error) | **[mgp_graph_search_text_index](#function-mgp-graph-search-text-index)**(struct mgp_graph * graph, const char * index_name, const char * search_query, enum text_search_mode search_mode, struct mgp_memory * memory, struct mgp_map ** result)
(Experimental) Search over the given text index. The result contains a list of all vertices matching the search query. | | enum [mgp_error](#variable-mgp-error) | **[mgp_graph_aggregate_over_text_index](#function-mgp-graph-aggregate-over-text-index)**(struct mgp_graph * graph, const char * index_name, const char * search_query, const char * aggregation_query, struct mgp_memory * memory, struct mgp_map ** result)
(Experimental) Aggregate over the results of a search over the named text index. | @@ -2494,6 +2495,19 @@ Result is non-zero if the graph can be modified. If a graph is immutable, then vertices cannot be created or deleted, and all of the returned vertices will be immutable also. The same applies for edges. Current implementation always returns without errors. +### mgp_graph_get_start_timestamp [#function-mgp-graph-get-start-timestamp] +```cpp +enum mgp_error mgp_graph_get_start_timestamp( + struct mgp_graph * graph, + int64_t * result +) +``` + +Return the transaction's starting timestamp. The value is assigned when the transaction begins and stays the same for the rest of the query, including when `USING PERIODIC COMMIT` rotates the underlying transaction between batches. + +Procedures can rely on it as a stable per-query identifier (for example, as a key in caches that span procedure calls). The current implementation always returns without errors. + + ### mgp_graph_has_text_index [#function-mgp-graph-has-text-index] ```cpp enum mgp_error mgp_graph_has_text_index( @@ -5043,6 +5057,8 @@ enum mgp_error mgp_graph_get_vertex_by_id(struct mgp_graph *g, struct mgp_vertex enum mgp_error mgp_graph_is_transactional(struct mgp_graph *graph, int *result); +enum mgp_error mgp_graph_get_start_timestamp(struct mgp_graph *graph, int64_t *result); + enum mgp_error mgp_graph_is_mutable(struct mgp_graph *graph, int *result); enum mgp_error mgp_graph_has_text_index(struct mgp_graph *graph, const char *index_name, int *result); diff --git a/pages/custom-query-modules/python/python-api.mdx b/pages/custom-query-modules/python/python-api.mdx index aea6c6c3e..a39e46c7b 100644 --- a/pages/custom-query-modules/python/python-api.mdx +++ b/pages/custom-query-modules/python/python-api.mdx @@ -1458,6 +1458,27 @@ Check if the graph is mutable. Thus it can be used to modify vertices and edges. ```graph.is_mutable()``` +### start\_timestamp + +```python +@property +def start_timestamp() -> int +``` + +Return the transaction's starting timestamp. The value is assigned when the +transaction begins and stays the same for the rest of the query — including +when `USING PERIODIC COMMIT` rotates the underlying transaction between +batches. Procedures can rely on it as a stable per-query identifier (for +example, as a key in caches that span procedure calls). + +**Returns**: + + An `int` representing the transaction's starting timestamp. + +**Examples**: + + ```graph.start_timestamp``` + ### create\_vertex() ```python diff --git a/pages/release-notes.mdx b/pages/release-notes.mdx index 7746ab549..cf86405d7 100644 --- a/pages/release-notes.mdx +++ b/pages/release-notes.mdx @@ -46,6 +46,14 @@ guide. ## 🚀 Latest release +### Memgraph v3.11.0 - June 17th, 2026 + +### Lab v3.11.0 - June 16th, 2026 + + + +## Previous releases + ### Memgraph v3.10.0 - May 13th, 2026 {

⚠️ Breaking changes

} @@ -342,8 +350,6 @@ guide. -## Previous releases - ### Memgraph v3.9.0 {

⚠️ Breaking changes

} diff --git a/skills/new-release-branch/SKILL.md b/skills/new-release-branch/SKILL.md index 111de0317..78a76fa43 100644 --- a/skills/new-release-branch/SKILL.md +++ b/skills/new-release-branch/SKILL.md @@ -96,6 +96,11 @@ The result should look like: **Important:** If there are multiple Memgraph patch releases under Latest (e.g. v3.8.1 and v3.8.0), move *all* of them together with the Lab entry. +**Implementation tip:** Do both changes in one `StrReplace` call by matching +from `## 🚀 Latest release` through `## Previous releases` and rewriting the +entire block at once. This avoids error-prone multi-step edits where +`## Previous releases` can end up in the wrong place. + ## Step 4 — Commit and push ```bash