* feature(MongoDB): Initial implementation of support for replica sets.
* enh(MongoDB): Add parsing of mongodb replica set URI.
* enh(MongoDB): Treat single-server as primary, fix parsing of URI.
* fix(MongoDB): Add missing example for parsing the URI.
* enh(MongoDB): simplified and modernised code.
* fix(MongoDB): Fixes based on static analysis report.
* enh(MongoDB): Remove unused includes.
* fix(MongoDB): ReplicaSetMonitor: handle wrong arguments more gracefully.
* enh(MongoDB) Use string literals and char constants where possible.
* enh(MongoDB) More tests.
* fix(MongoDB): Prevent duplicate entries in MongoDB::Document.
* enh(MongoDB): Update RS tests, remove support for pre 5.1 MongoDB.
* enh(MongoDB): Use C++ std mutex primitives instead of Poco.
* fix(MongoDB): correct replica set compile errors.
* fix(MongoDB): fix replica set tests to work with IPv6 addresses.
* enh(MongoDB): Remove confusing hosts from ServerDescription and use hosts from "hello" only to discover replica set hosts.
* enh(MongoDB): fix unused variables in tests.
* enh(MongoDB): Add read-preference validation to replica set connection and pool.
* chore(MongoDB): Add reserve to Document.
* enh(MongoDB): connect to server in pool activateObject.
* chore(MongoDB): use tried servers set only locally inside executeWithRetry.
* enh(MongoDB): Add support for ReplicaSetConnection to OpMsgCursor.
* enh(MongoDB): Replica set: More robust retry of failed MongoDB commands.
* enh(MongoDB): ReplicaSet remove redundant function, update documentation.
* enh(MongoDB): Update handling of URL parameters.
* enh(MongoDB): Updates to use SSL socket factory.
* enh(MongoDB): Log topology change when detected.
* enh(MongoDB): Move function to wait for the server availability to ReplicaSet.
* enh(MongoDB): Replica set: send notification on topology change.
* enh(MongoDB): Replica set: Remove internal logger for
* enh(MongoDB): Replica set: Remove internal logger for topology change. Use notification instead.
* enh(MongoDB): Update samples and replica set readme.
* enh(MongoDB): Fix parsing replica set URI.
* enh(MongoDB): Introduce ReplicaSetURI for handling custom URI.
* fix(MongoDB): heartbeatFrequency --> heartbeatFrequencyMS to match standard URL
* enh(MongoDB): Introduce constants in ReplicaSetURI.
* chore(MongoDB): Minor enhancements.
* enh(MongoDB): Correct logic to determine replica set topology from discovered servers.
* enh(MongoDB): Remove redundant code when parsing hello response.
* enh(MongoDB): Prevent servers from different replica set to be used in the topology.
* enh(MongoDB): Mark topology with incompatible servers as Unknown.
* enh(CI): Speed-up build by using cmake --build --parallel 4
* enh(CI): Upgrade codeql from v3 to v4
https://github.blog/changelog/2025-10-28-upcoming-deprecation-of-codeql-action-v3/
* enh(modules): Update MongoDB module to reflect latest state.
enh(MongoDB): Remove dead code and mark Message as implementation detail.
enh(CI): Fix build of C++ modules
* fix(C++ modules): Use C++20 features in samples, not C++23.
* docs(MongoDB): Clarify RTT limitation in Nearest read preference
* feat(ci): run pull request runs only on pull request open #4205
* feat(ci): add retry action for tsan #4205
* feat(ci): use local action for retrying tsan #4205
* fix(ci): use correct version of retry action #4205
* fix: make POSIX event thread safe
* feat(ci): add info on retry action to ci.yml header #4205
* feat(ci): add linux mysql test #4205
* feat(ci): remove unused mysql containers from tests#4205
* feat(ci): add linux postgre test #4205
* feat(ci): add linux redis test #4205
* feat(ci): add linux mongodb tests #4205
* feat(ci): add mysql odbc test #4205
* chore(ci): rename tests #4205
* chore(ci): pin postgres and mysql versions #4205
* feat(ci): add odbc postgres tests #4205
* chore(ci): mysql odbc comment #4205
* chore(ci): disable windows 2019 job #4205
* feat(ci): add linux oracle tests #4205
* chore(ci): disable oracle tests #4205
* feat(ci): add sql server tests #4205
* chore(ci): disable postgres tests #4205
* chore(ci): add logging for task test #4205
* feat(ci): add local retry action #4205
* feat(ci): ignore process kill failure in action #4205
* feat(ci): send SIGKILL instead of SIGTERM in action #4205
* chore(ci): add updated action #4205
* chore(ci): reduce tsan timeout #4205
* feat(ci): kill process without children #4205
* feat(ci): send SIGTERM to child in action #4205
* feat(ci): prolong tsan timeout #4205
* chore(ci): add missing newlines #4205
* fix(ci): revert sql server test FreeTDS version #4205
* feat(ci): add retry to all jobs #4205
* feat(ci): setup python for codeQL #4205
* chore(ci): disable throwing on codeql error #4205
Add CodeQL Workflow for Code Security Analysis
This pull request introduces a CodeQL workflow to enhance the security analysis of our repository. CodeQL is a powerful static analysis tool that helps identify and mitigate security vulnerabilities in our codebase. By integrating this workflow into our GitHub Actions, we can proactively identify and address potential issues before they become security threats.
We added a new CodeQL workflow file (.github/workflows/codeql.yml) that
- Runs on every pull request (functionality to run on every push to main branches is included as a comment for convenience).
- Runs daily.
- Excludes queries with a high false positive rate or low-severity findings.
- Does not display results for git submodules, focusing only on our own codebase.
Testing:
To validate the functionality of this workflow, we have run several test scans on the codebase and reviewed the results. The workflow successfully compiles the project, identifies issues, and provides actionable insights while reducing noise by excluding certain queries and third-party code.
Deployment:
Once this pull request is merged, the CodeQL workflow will be active and automatically run on every push and pull request to the main branch. To view the results of these code scans, please follow these steps:
1. Under the repository name, click on the Security tab.
2. In the left sidebar, click Code scanning alerts.
Additional Information:
- You can further customize the workflow to adapt to your specific needs by modifying the workflow file.
- For more information on CodeQL and how to interpret its results, refer to the GitHub documentation and the CodeQL documentation (https://codeql.github.com/ and https://codeql.github.com/docs/).
Signed-off-by: Brian <bayuan@purdue.edu>
Add CodeQL Workflow for Code Security Analysis
This pull request introduces a CodeQL workflow to enhance the security analysis of our repository. CodeQL is a powerful static analysis tool that helps identify and mitigate security vulnerabilities in our codebase. By integrating this workflow into our GitHub Actions, we can proactively identify and address potential issues before they become security threats.
We added a new CodeQL workflow file (.github/workflows/codeql.yml) that
- Runs on every push and pull request to the main branch.
- Excludes queries with a high false positive rate or low-severity findings.
- Does not display results for third-party code, focusing only on our own codebase.
Testing:
To validate the functionality of this workflow, we have run several test scans on the codebase and reviewed the results. The workflow successfully compiles the project, identifies issues, and provides actionable insights while reducing noise by excluding certain queries and third-party code.
Deployment:
Once this pull request is merged, the CodeQL workflow will be active and automatically run on every push and pull request to the main branch. To view the results of these code scans, please follow these steps:
1. Under the repository name, click on the Security tab.
2. In the left sidebar, click Code scanning alerts.
Additional Information:
- You can further customize the workflow to adapt to your specific needs by modifying the workflow file.
- For more information on CodeQL and how to interpret its results, refer to the GitHub documentation and the CodeQL documentation.
Signed-off-by: Brian <bayuan@purdue.edu>