Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] master from OpenRefine:master #129

Open
wants to merge 2,634 commits into
base: master
Choose a base branch
from
Open

Conversation

pull[bot]
Copy link

@pull pull bot commented Dec 7, 2020

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

Summary by CodeRabbit

Release Notes:

  • Refactor: Updated the codebase with improved formatting, variable naming, and exception handling.
  • New Feature: Added a new method registerDatabase to the inner class DBType.
  • Bug fix: Improved error handling in user authentication and file upload functions.
  • Security: Enhanced password hashing mechanism using bcrypt with higher work factor.

🎉🐇

Hopping through the code, making it neat,

With every refactor, we skip a beat.

New features added, bugs are no more,

Security tightened, like never before!

Celebrate the changes, for they are grand,

Crafted carefully by our coder's hand. 🥕🎉

@pull pull bot added the ⤵️ pull label Dec 7, 2020
// Make sure string options are treated as CSS selectors
target = typeof options.of === "string" ?
$( document ).find( options.of ) :
$( options.of ),

Check warning

Code scanning / CodeQL

Unsafe jQuery plugin

Potential XSS vulnerability in the ['$.fn.position' plugin](1).
},
// contextmenu show dispatcher
contextmenu: function (e) {
var $this = $(this);

Check warning

Code scanning / CodeQL

Unsafe jQuery plugin

Potential XSS vulnerability in the ['$.fn.contextMenu' plugin](1).
if (e.data.items.hasOwnProperty(item)) {
var visible;
if ($.isFunction(e.data.items[item].visible)) {
visible = e.data.items[item].visible.call($(e.currentTarget), item, e.data);

Check warning

Code scanning / CodeQL

Unsafe jQuery plugin

Potential XSS vulnerability in the ['$.fn.contextMenu' plugin](1).
o.context = document;
} else {
// you never know what they throw at you...
$context = $(o.context).first();

Check warning

Code scanning / CodeQL

Unsafe jQuery plugin

Potential XSS vulnerability in the ['$.fn.contextMenu' plugin](1).
// you never know what they throw at you...
$context = $(o.context).first();
o.context = $context.get(0);
_hasContext = !$(o.context).is(document);

Check warning

Code scanning / CodeQL

Unsafe jQuery plugin

Potential XSS vulnerability in the ['$.fn.contextMenu' plugin](1).
}

// Is this menu equest to the context called from
if (!$(context).is(o.selector)) {

Check warning

Code scanning / CodeQL

Unsafe jQuery plugin

Potential XSS vulnerability in the ['$.fn.contextMenu' plugin](1).
Copy link

@github-advanced-security github-advanced-security bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CodeQL found more than 10 potential problems in the proposed changes. Check the Files changed tab for more details.

@coderabbitai
Copy link

coderabbitai bot commented Aug 15, 2023

Important

Auto Review Skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

Share

Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>.
    • Generate unit-tests for this file.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit tests for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai generate interesting stats about this repository from git and render them as a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @coderabbitai read src/utils.ts and generate unit tests.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (invoked as PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger a review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai help to get help.

Additionally, you can add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.

CodeRabbit Configration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • The JSON schema for the configuration file is available here.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/coderabbit-overrides.v2.json

CodeRabbit Discord Community

Join our Discord Community to get help, request features, and share feedback.

Comment on lines +4 to +10
security create-keychain -p gh_actions refine-build.keychain

# Make the custom keychain default, so xcodebuild will use it for signing
security default-keychain -s refine-build.keychain

# Unlock the keychain
security unlock-keychain -p gh_actions refine-build.keychain
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Image description CodeRabbit

The script uses a hardcoded password gh_actions for creating and unlocking the keychain. This could be a potential security risk if this script is part of a public repository. Consider using environment variables or secure files to store sensitive information like passwords.

- security create-keychain -p gh_actions refine-build.keychain
- security unlock-keychain -p gh_actions refine-build.keychain
+ security create-keychain -p $KEYCHAIN_PASSWORD refine-build.keychain
+ security unlock-keychain -p $KEYCHAIN_PASSWORD refine-build.keychain

Comment on lines +82 to +83
run: |
echo "COVERALLS_TOKEN=$(echo eUVUVGRHOFJhQm9GMFJBYTNibjVhcWFEblpac1lmMlE3Cg== | base64 -d)" >> $GITHUB_ENV
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Image description CodeRabbit

The COVERALLS_TOKEN is being decoded from a base64 string and set as an environment variable. This could potentially expose sensitive information if logs are not properly secured. Consider using GitHub Secrets to store sensitive data like tokens.

Comment on lines +62 to +75
### Steering Committee
The steering committee oversees the general direction of the project and initiates connections and collaborations with other organizations and projects.

* Advise the Project’s staff on processes, strategy, and operations;
* Participate in decision making and/or review of roadmaps, as time allows;
* Participate to some Steering Committee meetings, when time allows;
* Help the Project build connections and partnerships by helping project leadership to steward relationships with funders and partners, making strategic introductions for project leadership, reviewing documents when needed, as time allows;
* Act as an advocate for the Project in events and support the project’s communication online, as time allows.

- Help contributors via the [developer discussion list](https://groups.google.com/forum/?fromgroups#!forum/openrefine-dev).
- Merge pull requests submitted by contributors
- Have direct access to the code base
- Nominate and vote for new committers
#### How to be part of the Steering Committee
Steering Committee members are invited by OpenRefine's Advisory Committee

Committers participate in the Project Management Committee (PMC). They engage in strategic planning, release planning, and approving changes to the governance model. The list of committers is available here: https://github.com/orgs/OpenRefine/people
#### Current list of Steering Committee members
There is currently no Steering Committee as the project is looking for a better format. See discussion [Fwd: Steering committee being disbanded?](https://forum.openrefine.org/t/fwd-steering-committee-being-disbanded/430/) and [Proposition to create OpenRefine Ambassador Council](https://forum.openrefine.org/t/proposition-to-create-openrefine-ambassador-council/462)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Image description CodeRabbit

The Steering Committee's role has been clearly defined. However, there seems to be some uncertainty about the current status of the Steering Committee based on the linked discussions. It would be beneficial to resolve this uncertainty and update the governance document accordingly.

Comment on lines +1 to +4
import requests
import os
from lxml import html
import sys
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Image description CodeRabbit

The script imports several modules but does not handle the case where these modules might not be installed. This could lead to a ModuleNotFoundError if the script is run in an environment where any of these modules are not installed. It would be better to wrap these import statements in a try-except block and provide a user-friendly message if any module is not found.

+try:
  import requests
  import os
  from lxml import html
  import sys
  import json
+except ModuleNotFoundError as e:
+  print(f"Required module not found: {e.name}. Please install it before running this script.")
+  sys.exit(1)

Comment on lines +23 to +24
repo = os.environ.get('GITHUB_REPO')
github_token = os.environ.get('GITHUB_TOKEN')
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Image description CodeRabbit

The script retrieves the GitHub repository name and token from environment variables but does not check whether these values are actually provided. If these environment variables are not set, the script will continue with None values, which could lead to unexpected behavior or errors later on. It would be better to check these values right after retrieving them and exit the script with an error message if they are not provided.

  repo = os.environ.get('GITHUB_REPO')
  github_token = os.environ.get('GITHUB_TOKEN')
+if not repo or not github_token:
+    print("Environment variables GITHUB_REPO and GITHUB_TOKEN must be set.")
+    sys.exit(1)

Comment on lines +74 to +75
resp = requests.put(url, headers=headers, data=json.dumps({'labels':new_labels}))
resp.raise_for_status()
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Image description CodeRabbit

The script makes a PUT request to the GitHub API but does not handle potential exceptions that could occur during this operation. For example, the request could fail due to network issues, or the API could return an error response. It would be better to wrap this operation in a try-except block and handle potential requests.exceptions.RequestException exceptions.

+try:
  resp = requests.put(url, headers=headers, data=json.dumps({'labels':new_labels}))
  resp.raise_for_status()
+except requests.exceptions.RequestException as e:
+  print(f"An error occurred while updating labels: {str(e)}")

Comment on lines +4 to +70

<div class="pure-menu pure-menu-scrollable custom-restricted">
<span class="pure-menu-heading" id="savedConnectionSpan">Saved Connections</span>
<ul class="pure-menu-list" bind="menuListUl" id="menuListUl"></ul>
</div>

</div>
</div>
<div class="custom-restricted database-border">
<span id="savedConnectionSpan">Saved connections</span>
<ul bind="menuListUl" id="menuListUl"></ul>
</div>

<div class="connection-div-layout pure-u-4-5">
<div class="connection-div-layout">

<div id = "newConnectionDiv" class="new-connection-div " bind="newConnectionDiv">

<!-- <div class="panel panel-info"> -->
<form class="pure-form pure-form-aligned">
<fieldset class="new-connection-fieldset">
<legend class="new-connection-legend pure-input-1-2" id="new-connection-legend"></legend>
<form>
<fieldset class="new-connection-fieldset database-border">
<legend class="new-connection-legend" id="new-connection-legend"></legend>

<div class="pure-control-group">
<label id="connectionNameLabel" for="name"></label>
<input bind="connectionNameInput" id="connectionName" type="text" placeholder="" value="" class="pure-input-1-3" required>
<div>
<label id="connectionNameLabel" for="connectionName"></label>
<input spellcheck="false" bind="connectionNameInput" id="connectionName" type="text" placeholder="" value="" required>
</div>

<div class="pure-control-group">
<label id="databaseTypeLabel" for="databaseType"></label>
<select name="selection" id="databaseTypeSelect" bind="databaseTypeSelect" class="pure-input-1-3" required>
<div>
<label id="databaseTypeLabel" for="databaseTypeSelect"></label>
<select name="selection" id="databaseTypeSelect" bind="databaseTypeSelect" required>
<option value="postgresql">PostgreSQL</option>
<option value="mysql" selected="selected">MySQL</option>
<option value="mariadb">MariaDB</option>
<option value="sqlite">SQLite</option>
</select>
</div>

<div class="pure-control-group dbtype-options dbt-postgresql dbt-mysql dbt-mariadb">
<div class="dbtype-options dbt-postgresql dbt-mysql dbt-mariadb">
<label id="databaseHostLabel" for="databaseHost"></label>
<input bind="databaseHostInput" id="databaseHost" type="text" placeholder="" value="localhost" class="pure-input-1-3" required>
<input spellcheck="false" bind="databaseHostInput" id="databaseHost" type="text" placeholder="" value="localhost" required>
</div>
<div class="pure-control-group dbtype-options dbt-postgresql dbt-mysql dbt-mariadb">
<div class="dbtype-options dbt-postgresql dbt-mysql dbt-mariadb">
<label id="databasePortLabel" for="databasePort"></label>
<input bind="databasePortInput" id="databasePort" type="text" placeholder="" value="5432" class="pure-input-1-3" required>
<input spellcheck="false" bind="databasePortInput" id="databasePort" type="text" placeholder="" value="5432" required>
</div>
<div class="pure-control-group dbtype-options dbt-postgresql dbt-mysql dbt-mariadb">
<div class="dbtype-options dbt-postgresql dbt-mysql dbt-mariadb">
<label id="databaseUserLabel" for="databaseUser"></label>
<input bind="databaseUserInput" id="databaseUser" type="text" placeholder="" value="postgres" class="pure-input-1-3" required>
<input spellcheck="false" bind="databaseUserInput" id="databaseUser" type="text" placeholder="" value="postgres" required>
</div>
<div class="pure-control-group dbtype-options dbt-postgresql dbt-mysql dbt-mariadb">
<div class="dbtype-options dbt-postgresql dbt-mysql dbt-mariadb">
<label id="databasePasswordLabel" for="databasePassword"></label>
<input bind="databasePasswordInput" id="databasePassword" type="password" placeholder="" class="pure-input-1-3" required>
<input bind="databasePasswordInput" id="databasePassword" type="password" placeholder="" required>
</div>
<div class="pure-control-group dbtype-options dbt-postgresql dbt-mysql dbt-mariadb dbt-sqlite">
<div class=" dbtype-options dbt-postgresql dbt-mysql dbt-mariadb dbt-sqlite">
<label id="databaseNameLabel" for="initialDatabase"></label>
<input bind="initialDatabaseInput" id="initialDatabase" type="text" placeholder="" class="pure-input-1-3" required>
<input spellcheck="false" bind="initialDatabaseInput" id="initialDatabase" type="text" placeholder="" required>
</div>
<div class="pure-control-group dbtype-options">
<div class="dbtype-options">
<label id="databaseSchemaLabel" for="initialSchema"></label>
<input bind="initialSchemaInput" id="initialSchema" type="text" placeholder="" class="pure-input-1-3" required>
<input spellcheck="false" bind="initialSchemaInput" id="initialSchema" type="text" placeholder="" required>
</div>

<div class="pure-controls" id="newConnectionControlDiv">
<button type="button" id="databaseTestButton" bind="testDatabaseButton" class="pure-button pure-button-primary"><span>Test</span></button>
<button type="button" id="databaseSaveButton" bind="saveConnectionButton" class="button-success pure-button">Save</button>
<button type="button" id="databaseConnectButton" bind="databaseConnectButton" class="button-secondary pure-button">Connect</button>
<div id="newConnectionControlDiv">
<button type="button" class="button" id="databaseTestButton" bind="testDatabaseButton"><span>Test</span></button>
<button type="button" class="button" id="databaseSaveButton" bind="saveConnectionButton">Save</button>
<button type="button" class="button" id="databaseConnectButton" bind="databaseConnectButton">Connect</button>
</div>

<div class="pure-controls" id="editConnectionControlDiv" style="display: none;">
<button type="button" id="connectionEditButton" bind="editConnectionButton" class="pure-button pure-button-primary"><span>Edit</span></button>
<button type="button" id="connectionEditCancelButton" bind="cancelEditConnectionButton" class="pure-button">Cancel</button>
<div id="editConnectionControlDiv" style="display: none;">
<button type="button" class="button" id="connectionEditButton" bind="editConnectionButton"><span>Edit</span></button>
<button type="button" class="button" id="connectionEditCancelButton" bind="cancelEditConnectionButton">Cancel</button>
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Image description CodeRabbit

The form elements in the new connection form have been updated with spellcheck="false" attribute. This is a good practice to prevent browsers from checking spelling in input fields where it's not necessary, such as database names, usernames, etc. However, the password field (line 51) does not have this attribute. It would be beneficial to add spellcheck="false" to the password field as well to prevent unnecessary spell checks.

- <input bind="databasePasswordInput" id="databasePassword" type="password" placeholder="" required>
+ <input spellcheck="false" bind="databasePasswordInput" id="databasePassword" type="password" placeholder="" required>

Comment on lines 133 to 135


</div><!-- End databaseContainer -->
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Image description CodeRabbit

Note: This review was outside of the patch, so it was mapped to the patch with the greatest overlap. Original lines [133-136]

There is no newline at the end of the file. While this won't cause any issues in HTML, it's generally a good practice to end files with a newline. This is because some Unix-based tools require a newline at the end of files to function properly. Consider adding a newline at the end of the file.

- </div><!-- End databaseContainer -->
+ </div><!-- End databaseContainer -->
+

Comment on lines +174 to +177
$(window).on('resize',this._parsingPanelResizer);
this._parsingPanelResizer();

this._parsingPanelElmts.startOverButton.click(function() {
this._parsingPanelElmts.startOverButton.on('click',function() {
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Image description CodeRabbit

The jQuery .on() method is used instead of .resize(), which is a good practice as it provides a unified way to handle different types of events. However, please ensure that the this._parsingPanelResizer function is correctly bound to the window resize event and works as expected.

Comment on lines +187 to +188
this._parsingPanelElmts.createProjectButton.on('click',function() { self._createProject(); });
this._parsingPanelElmts.previewButton.on('click',function() { self._updatePreview(); });
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Image description CodeRabbit

The jQuery .on() method is used instead of .click(), which is a good practice as it provides a unified way to handle different types of events. However, please ensure that the click handlers for createProjectButton and previewButton work as expected.

Comment on lines +209 to +221
if (this._options.disableAutoPreview) {
this._parsingPanelElmts.disableAutoPreviewCheckbox.prop('checked', true);
}

// If disableAutoPreviewCheckbox is not checked, we will schedule an automatic update
var onChange = function() {
self._scheduleUpdatePreview();
if (!self._parsingPanelElmts.disableAutoPreviewCheckbox[0].checked)
{
self._scheduleUpdatePreview();
}
};
this._parsingPanel.find("input").bind("change", onChange);
this._parsingPanel.find("select").bind("change", onChange);
this._parsingPanel.find("input").on("change", onChange);
this._parsingPanel.find("select").on("change", onChange);
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Image description CodeRabbit

The onChange function now checks if the disableAutoPreviewCheckbox is checked before scheduling an update preview. This is a good change as it prevents unnecessary preview updates when auto preview is disabled. However, please ensure that this new behavior doesn't introduce any unexpected side effects in the UI or elsewhere in the code.

@@ -268,7 +262,7 @@ Refine.DatabaseImportController.prototype._updatePreview = function() {
self._parsingPanelElmts.progressPanel.hide();
self._parsingPanelElmts.dataPanel.show();

new Refine.PreviewTable(projectData, self._parsingPanelElmts.dataPanel.unbind().empty());
new Refine.PreviewTable(projectData, self._parsingPanelElmts.dataPanel.off().empty());
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Image description CodeRabbit

The jQuery .off() method is used instead of .unbind(), which is a good practice as it provides a unified way to remove event handlers. However, please ensure that all previous event handlers are correctly removed from dataPanel before it's emptied and filled with new content.

Comment on lines 27 to 33
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/

//Internationalization init
var lang = navigator.language.split("-")[0]
|| navigator.userLanguage.split("-")[0];
var dictionary = "";
$.ajax({
url : "command/core/load-language?",
type : "POST",
async : false,
data : {
module : "database",
},
success : function(data) {
dictionary = data['dictionary'];
lang = data['lang'];
}
});
$.i18n().load(dictionary, lang);
// End internationalization
I18NUtil.init("database");

Refine.DatabaseImportController = function(createProjectUI) {
this._createProjectUI = createProjectUI;
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Image description CodeRabbit

Note: This review was outside of the patch, but no patch was found that overlapped with it. Original lines [383-383]

There's no newline at the end of the file. While this won't cause any issues in JavaScript, it's a common convention to end files with a newline. This helps with displaying the file correctly in certain text editors and command line tools.

- };
+ };
+ 

elebitzero and others added 13 commits December 18, 2023 07:54
Bumps [eslint](https://github.com/eslint/eslint) from 8.55.0 to 8.56.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](eslint/eslint@v8.55.0...v8.56.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Catalan)

Currently translated at 100.0% (12 of 12 strings)

Translated using Weblate (Catalan)

Currently translated at 100.0% (79 of 79 strings)

Translated using Weblate (Catalan)

Currently translated at 100.0% (62 of 62 strings)

Translated using Weblate (Catalan)

Currently translated at 49.1% (171 of 348 strings)

Translated using Weblate (Catalan)

Currently translated at 45.6% (393 of 861 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Robert Garrigós <robert@garrigos.cat>
Translate-URL: https://hosted.weblate.org/projects/openrefine/gdata/ca/
Translate-URL: https://hosted.weblate.org/projects/openrefine/openrefine-control-evaluation-errors/ca/
Translate-URL: https://hosted.weblate.org/projects/openrefine/openrefine-evaluation-errors/ca/
Translate-URL: https://hosted.weblate.org/projects/openrefine/openrefine-operation-descriptions/ca/
Translate-URL: https://hosted.weblate.org/projects/openrefine/translations/ca/
Translate-URL: https://hosted.weblate.org/projects/openrefine/wikidata/ca/
Translation: OpenRefine/OpenRefine Control Evaluation Errors
Translation: OpenRefine/OpenRefine Evaluation Errors
Translation: OpenRefine/OpenRefine Operation Descriptions
Translation: OpenRefine/Translations
Translation: OpenRefine/gdata
Translation: OpenRefine/wikibase
Currently translated at 85.9% (740 of 861 strings)

Co-authored-by: Robert Garrigós <robert@garrigos.cat>
Translate-URL: https://hosted.weblate.org/projects/openrefine/translations/ca/
Translation: OpenRefine/Translations
Currently translated at 60.6% (211 of 348 strings)

Co-authored-by: Robert Garrigós <robert@garrigos.cat>
Translate-URL: https://hosted.weblate.org/projects/openrefine/wikidata/ca/
Translation: OpenRefine/wikibase
Bumps [org.testng:testng](https://github.com/testng-team/testng) from 7.8.0 to 7.9.0.
- [Release notes](https://github.com/testng-team/testng/releases)
- [Changelog](https://github.com/testng-team/testng/blob/master/CHANGES.txt)
- [Commits](testng-team/testng@7.8.0...7.9.0)

---
updated-dependencies:
- dependency-name: org.testng:testng
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps `jackson.version` from 2.16.0 to 2.16.1.

Updates `com.fasterxml.jackson.core:jackson-databind` from 2.16.0 to 2.16.1
- [Commits](https://github.com/FasterXML/jackson/commits)

Updates `com.fasterxml.jackson.core:jackson-annotations` from 2.16.0 to 2.16.1
- [Commits](https://github.com/FasterXML/jackson/commits)

Updates `com.fasterxml.jackson.core:jackson-core` from 2.16.0 to 2.16.1
- [Release notes](https://github.com/FasterXML/jackson-core/releases)
- [Commits](FasterXML/jackson-core@jackson-core-2.16.0...jackson-core-2.16.1)

---
updated-dependencies:
- dependency-name: com.fasterxml.jackson.core:jackson-databind
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: com.fasterxml.jackson.core:jackson-annotations
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: com.fasterxml.jackson.core:jackson-core
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [org.codehaus.plexus:plexus-archiver](https://github.com/codehaus-plexus/plexus-archiver) from 4.9.0 to 4.9.1.
- [Release notes](https://github.com/codehaus-plexus/plexus-archiver/releases)
- [Changelog](https://github.com/codehaus-plexus/plexus-archiver/blob/master/ReleaseNotes.md)
- [Commits](codehaus-plexus/plexus-archiver@plexus-archiver-4.9.0...plexus-archiver-4.9.1)

---
updated-dependencies:
- dependency-name: org.codehaus.plexus:plexus-archiver
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [com.google.guava:guava](https://github.com/google/guava) from 32.1.3-jre to 33.0.0-jre.
- [Release notes](https://github.com/google/guava/releases)
- [Commits](https://github.com/google/guava/commits)

---
updated-dependencies:
- dependency-name: com.google.guava:guava
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps `log4j.version` from 2.22.0 to 2.22.1.

Updates `org.apache.logging.log4j:log4j-core` from 2.22.0 to 2.22.1

Updates `org.apache.logging.log4j:log4j-slf4j2-impl` from 2.22.0 to 2.22.1

Updates `org.apache.logging.log4j:log4j-1.2-api` from 2.22.0 to 2.22.1

Updates `org.apache.logging.log4j:log4j-slf4j-impl` from 2.22.0 to 2.22.1

---
updated-dependencies:
- dependency-name: org.apache.logging.log4j:log4j-core
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.apache.logging.log4j:log4j-slf4j2-impl
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.apache.logging.log4j:log4j-1.2-api
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.apache.logging.log4j:log4j-slf4j-impl
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [cypress](https://github.com/cypress-io/cypress) from 13.5.1 to 13.6.2.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](cypress-io/cypress@v13.5.1...v13.6.2)

---
updated-dependencies:
- dependency-name: cypress
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
dependabot bot and others added 30 commits May 9, 2024 23:03
Bumps [eslint](https://github.com/eslint/eslint) from 9.1.1 to 9.2.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](eslint/eslint@v9.1.1...v9.2.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
#6589)

Bumps [eslint-plugin-cypress](https://github.com/cypress-io/eslint-plugin-cypress) from 2.15.2 to 3.2.0.
- [Release notes](https://github.com/cypress-io/eslint-plugin-cypress/releases)
- [Commits](cypress-io/eslint-plugin-cypress@v2.15.2...v3.2.0)

---
updated-dependencies:
- dependency-name: eslint-plugin-cypress
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [cypress](https://github.com/cypress-io/cypress) from 13.8.1 to 13.9.0.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](cypress-io/cypress@v13.8.1...v13.9.0)

---
updated-dependencies:
- dependency-name: cypress
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
)

Moves two test cases implemented in StandardReconConfigTests which
are actually testing ReconOperation to ReconOperationTests.
- excludes oro dependency for license download (since it fails)
* Refactor InputStreamReader handling

DRY up handling of null encoding and our special UTF-8-BOM encoding

* Fix user override of encoding guessing

* Fix encoding guess for UTF-16LE & UTF-16BE with BOM. Fixes #6595

- Don't skip BOM for non-UTF-8 cases so that it is still available for character encoding guesser
- Add tests for UTF-16LE and UTF-16BE with BOMs
- Refactor encoding guesser so that it can be used for a single file
- Enhanced format guessing tests to not assume UTF-8 and instead guess encoding
  using refactored encoding guesser

* Use UTF-8 instead of US-ASCII for test fixtures
* Decouple expression languages from core infrastructure

Migrates the registration of expression languages provided by default
to the controller.js. and removes references to GREL from functionally
independent areas.

* Switch to supporting only ISO dates in data extension
Bumps [org.mockito:mockito-core](https://github.com/mockito/mockito) from 5.11.0 to 5.12.0.
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](mockito/mockito@v5.11.0...v5.12.0)

---
updated-dependencies:
- dependency-name: org.mockito:mockito-core
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Handle empty first element correctly. Fixes #3290

* Add tests for join() of JSON array

* Lint

* Fix NullPointerException in forEachIndex with nulls. Fixes #6598

- forEachIndex([], k, v, v) should return original array no matter
what the contents of the array.
- fix tests to not rely on join() since its null handling is broken.
… in array (#6605)

* Handle empty first element correctly. Fixes #3290

* Add tests for join() of JSON array

* Lint
* Introduce dedicated base class for GREL tests

* Move tests from EvalErrorTests to the functions they actually test
Caused by merging #6571 which was already a bit old
Bumps [com.google.http-client:google-http-client-jackson2](https://github.com/googleapis/google-http-java-client) from 1.44.1 to 1.44.2.
- [Release notes](https://github.com/googleapis/google-http-java-client/releases)
- [Changelog](https://github.com/googleapis/google-http-java-client/blob/main/CHANGELOG.md)
- [Commits](googleapis/google-http-java-client@v1.44.1...v1.44.2)

---
updated-dependencies:
- dependency-name: com.google.http-client:google-http-client-jackson2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…6617)

updated-dependencies:
- dependency-name: org.codehaus.mojo:build-helper-maven-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
updated-dependencies:
- dependency-name: com.google.apis:google-api-services-drive
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
updated-dependencies:
- dependency-name: org.mariadb.jdbc:mariadb-java-client
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Add it to each test that requires it instead.
Simplified the opening of tar archives by removing unnecessary check for the
first entry and directly returning the `TarArchiveInputStream` in the `tryOpenAsArchive`
method. Also updated the usage of deprecated `getNextTarEntry` to `getNextEntry` in
ImportingUtilities.java.
Bumps com.google.apis:google-api-services-sheets from v4-rev20240423-2.0.0 to v4-rev20240514-2.0.0.

---
updated-dependencies:
- dependency-name: com.google.apis:google-api-services-sheets
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [org.codehaus.mojo:exec-maven-plugin](https://github.com/mojohaus/exec-maven-plugin) from 3.2.0 to 3.3.0.
- [Release notes](https://github.com/mojohaus/exec-maven-plugin/releases)
- [Commits](mojohaus/exec-maven-plugin@3.2.0...3.3.0)

---
updated-dependencies:
- dependency-name: org.codehaus.mojo:exec-maven-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [cypress](https://github.com/cypress-io/cypress) from 13.9.0 to 13.10.0.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](cypress-io/cypress@v13.9.0...v13.10.0)

---
updated-dependencies:
- dependency-name: cypress
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps org.apache.commons:commons-compress from 1.26.1 to 1.26.2.

---
updated-dependencies:
- dependency-name: org.apache.commons:commons-compress
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet