Skip to content

Commit 179bb8d

Browse files
committed
Merge branch 'dev' into 5.x
2 parents 4b5a47f + 2aaad03 commit 179bb8d

File tree

8 files changed

+419
-302
lines changed

8 files changed

+419
-302
lines changed

.github/CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
./.github/ @recrwplay

.github/dependabot.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# To get started with Dependabot version updates, you'll need to specify which
2+
# package ecosystems to update and where the package manifests are located.
3+
# Please see the documentation for all configuration options:
4+
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
5+
6+
version: 2
7+
updates:
8+
- package-ecosystem: "npm" # See documentation for possible values
9+
directory: "/" # Location of package manifests
10+
schedule:
11+
interval: "weekly"
12+
groups:
13+
prod-dependencies:
14+
dependency-type: "production"
15+
dev-dependencies:
16+
dependency-type: "development"
17+
ignore:
18+
- dependency-name: "*"
19+
update-types: ["version-update:semver-patch"]

README.adoc

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,44 @@ It could be omitted as the title already says that it is an experimental feature
6464
* Avoid the phrase “It is recommended to” when proposing a solution.
6565
* Capitalize all Cypher keywords, i.e., `MATCH` rather than `match` or `Match`.
6666

67+
[[security-guidelines]]
68+
=== Security guidelines for writing error messages
69+
70+
* Be informative but not too revealing.
71+
Error messages should provide enough information for users to understand what went wrong and possibly how to correct it, but they should not disclose sensitive information that could aid an attacker.
72+
For instance, instead of saying "Invalid username," use "Invalid username or password."
73+
74+
* Avoid technical jargon.
75+
Use plain language that is easily understandable by all users.
76+
Avoid technical terms that could confuse users or reveal too much about the underlying architecture.
77+
78+
* Use generic responses for security-related errors.
79+
For login errors, password validations, or any security-related processes, use generic error messages.
80+
For example, use "Login failed" instead of specifying whether the username or password was incorrect.
81+
82+
* Do not expose internal information.
83+
Never reveal information about the internal state of the application, like file paths, database information, or stack traces, as these can provide attackers with clues about potential vulnerabilities.
84+
Stack traces are safe to have in debug.log but nowhere else.
85+
86+
* Do not use error messages from underlying libraries/dependencies (e.g. Java runtime errors) but always catch the error and throw your own error message. It is safe to reuse error messages only if they are coming from Neo4j, i.e. have a Neo4j status code.
87+
88+
* Guide users towards resolution.
89+
Where appropriate, guide users on how to rectify the error.
90+
For instance, if a user inputs an invalid format in a form, the error message should indicate the expected format.
91+
92+
* Log detailed errors for internal use.
93+
While showing generic error messages to users, log detailed error information internally.
94+
This will help developers to debug issues without exposing sensitive information to users.
95+
96+
* Regularly review and update error messages to ensure they remain relevant, accurate, and secure.
97+
98+
.Optional further reading
99+
[TIP]
100+
====
101+
* link:https://cheatsheetseries.owasp.org/cheatsheets/Logging_Vocabulary_Cheat_Sheet.html[OWASP Cheat Sheet Series: Application Logging Vocabulary Cheat Sheet]
102+
* link:https://cheatsheetseries.owasp.org/cheatsheets/Logging_Cheat_Sheet.html[OWASP Cheat Sheet Series: Logging Cheat Sheet]
103+
====
104+
67105
[[error-notification-components]]
68106
=== Error and notification components
69107

antora.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@ nav:
77
asciidoc:
88
attributes:
99
page-origin-private: false
10-
neo4j-version: '5.20'
11-
neo4j-version-exact: '5.20.0'
12-
neo4j-buildnumber: '5.20'
10+
neo4j-version: '5.21'
11+
neo4j-version-exact: '5.21.0'
12+
neo4j-buildnumber: '5.21'

modules/ROOT/pages/changelogs.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ Neo.ClientNotification.Cluster.CordonedServersExistedDuringAllocation
2828
[source, status codes, role="noheader"]
2929
-----
3030
Neo.ClientNotification.Cluster.NoDatabasesReallocated
31+
Neo.ClientNotification.Statement.SideEffectVisibility
3132
-----
3233

3334
== Neo4j 5.13

modules/ROOT/pages/notifications/all-notifications.adoc

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1300,7 +1300,7 @@ m|INFORMATION
13001300
m|TOPOLOGY
13011301
|===
13021302

1303-
.Reallocating databases resulted in no allocation changes
1303+
.Reallocating databases resulted in no allocation changes
13041304
====
13051305
Command::
13061306
+
@@ -1310,15 +1310,15 @@ REALLOCATE DATABASES
13101310
----
13111311
13121312
Description of the returned code::
1313-
No databases were reallocated. No better allocation is currently possible.
1313+
No databases were reallocated. No better allocation is currently possible.
13141314
13151315
13161316
Example scenarios::
1317-
**Scenario 1:** The cluster is already balanced.
1317+
**Scenario 1:** The cluster is already balanced.
13181318
For example, when there are three servers, each hosting databases `foo` and `bar`, meaning all databases are allocated to all servers.
13191319
+
13201320
1321-
**Scenario 2:** The cluster appears unbalanced, but server constraints prevent you from moving to a better, more balanced, allocation.
1321+
**Scenario 2:** The cluster appears unbalanced, but server constraints prevent you from moving to a better, more balanced, allocation.
13221322
For example, assuming server 1 hosts databases `foo` and `bar`, server 2 hosts only `foo`, and server 3 hosts no databases.
13231323
Then, a better allocation would move `foo` from server 1 to server 3, but if server 3 has the constraint `deniedDatabases:['foo']}`, then the cluster is already balanced subject to this constraint.
13241324
====
@@ -1339,9 +1339,9 @@ m|INFORMATION
13391339
m|TOPOLOGY
13401340
|===
13411341

1342-
.Requested topology matched current topology
1342+
.Requested topology matched current topology
13431343
====
1344-
The example assumes that you have a cluster with three servers and a database `foo` with a topology of two primaries and one secondary.
1344+
The example assumes that you have a cluster with three servers and a database `foo` with a topology of two primaries and one secondary.
13451345
13461346
Command::
13471347
+
@@ -1705,7 +1705,9 @@ Relationship type expression cannot possibly be satisfied. (`R1&R2` can never be
17051705
====
17061706

17071707
[#_neo_clientnotification_statement_repeatedrelationshipreference]
1708-
=== Neo.ClientNotification.Statement.RepeatedRelationshipReference
1708+
=== RepeatedRelationshipReference
1709+
1710+
label:introduced-in-Neo4j-5.5[Introduced in Neo4j 5.5]
17091711

17101712
.Notification category details
17111713
[cols="<1s,<4"]
@@ -1720,7 +1722,7 @@ m|WARNING
17201722
m|GENERIC
17211723
|===
17221724

1723-
.Binding a relationship variable more than once (when run on version 5.5 or newer)
1725+
.Binding a relationship variable more than once
17241726
====
17251727
Query::
17261728
+

0 commit comments

Comments
 (0)