Grimoirelab

Latest version: v1.9.2

Safety actively analyzes 724206 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 6 of 6

0.7.4

**New components:**

* sortinghat 0.8.1
* perceval 0.21.3
* perceval-mozilla 0.3.7
* perceval-opnfv 0.2.7
* perceval-puppet 0.2.7
* perceval-weblate 0.2.7
* graal 0.4.4
* grimoire-elk 0.104.2
* sirmordred 0.6.1

The following list describes the changes by component:

sortinghat

* Update Poetry's package dependencies

perceval

* Update Poetry's package dependencies

perceval-mozilla

* Update Poetry's package dependencies

perceval-opnfv

* Update Poetry's package dependencies

perceval-puppet

* Update Poetry's package dependencies

perceval-weblate

* Update Poetry's package dependencies

graal

* Update Poetry's package dependencies

grimoire-elk

* Update Poetry's package dependencies

sirmordred

* Update Poetry's package dependencies

0.7.3

**New components:**

* grimoire-elk 0.104.1
* sirmordred 0.6.0

The following list describes the changes by component:

grimoire-elk

* Update Poetry's package dependencies

sirmordred

**Bug fixes:**

* SortingHat mandatory parameters\
Include SortingHat 0.8.x mandatory parameters. Now `sh_port`,
`sh_path`, `sh_ssl` are available to configure SortingHat.

**Breaking changes:**

* Support of SortingHat 0.8\
GrimoireLab starts using a new version of SortingHat. SortingHat is
now a web service that provides an API to manage identities and
organizations. SirMordred now connects to the new SortingHat database
using GraphQL. The previous version of SortingHat is now deprecated.

0.7.1

**New components:**

* sortinghat 0.7.23
* cereslib 0.3.5
* perceval 0.21.1
* perceval-mozilla 0.3.5
* perceval-opnfv 0.2.5
* perceval-puppet 0.2.5
* perceval-weblate 0.2.5
* kingarthur 0.2.5
* graal 0.4.2
* grimoire-elk 0.103.3
* sirmordred 0.5.1

The following list describes the changes by component:

sortinghat

* Update Poetry's package dependencies

cereslib

* Update Poetry's package dependencies

perceval

**Bug fixes:**

* Mbox to-date argument fixed\
It fixes the `--to-date` argument. This parameter was added to fetch
data until a specific date.

perceval-mozilla

* Update Poetry's package dependencies

perceval-opnfv

* Update Poetry's package dependencies

perceval-puppet

* Update Poetry's package dependencies

perceval-weblate

* Update Poetry's package dependencies

kingarthur

* Update Poetry's package dependencies

graal

* Update Poetry's package dependencies

grimoire-elk

**Bug fixes:**

* Demographic study on Weblate fixed\
Weblate demographic study is now updated to allow passing the study
alias name by parameter.

sirmordred

* Update Poetry's package dependencies

0.7.0

**New components:**

* grimoirelab-toolkit 0.3.2
* kidash 0.5.2
* sortinghat 0.7.22
* cereslib 0.3.4
* perceval 0.21.0
* perceval-mozilla 0.3.4
* perceval-opnfv 0.2.4
* perceval-puppet 0.2.4
* perceval-weblate 0.2.4
* kingarthur 0.2.4
* graal 0.4.1
* grimoire-elk 0.103.2
* sirmordred 0.5.0

The following list describes the changes by component:

grimoirelab-toolkit

* Update Poetry's package dependencies

kidash

* Update Poetry's package dependencies

sortinghat

* Update Poetry's package dependencies

cereslib

* Update Poetry's package dependencies

perceval

**New features:**

* [gitlab] Alias `--url` for `--enterprise-url` argument (801)\
The argument `--enterprise-url` for Gitlab backend has the new alias
`--url`. With this argument, users can define the GitLab instance from
items will be fetched. This can be set to the SaaS GitLab
(`gitlab.com`) or to a self-managed instance (e.g.
`gitlab.example.com`). By default, this parameter points to
`https://gitlab.com`.
* [hyperkitty/mbox] Option `to-date` to fetch until that date\
This parameter allows fetching data until a specific date. By default,
this value is `2100-01-01`, but this can be changed adding `--to-
date`.

perceval-mozilla

* Update Poetry's package dependencies

perceval-opnfv

* Update Poetry's package dependencies

perceval-puppet

* Update Poetry's package dependencies

perceval-weblate

* Update Poetry's package dependencies

kingarthur

* Update Poetry's package dependencies

graal

* Update Poetry's package dependencies

grimoire-elk

**New features:**

* Development and reviewing contributors fields for Git items\
New information about the participants during the development and the
reviewing processes are available in `Git` items. The Git backend
extracts these data from `Approved-by`, `Co-authored-by`, and
`Merged-by` trailers that some commit messages might include. For each
one of these trailers, new fields will be available with the suffixes:
`_bots`, `_domains`, `_names`, `_org_names`, and `_uuids`. Also for
each one of these suffixes, there will be extra fields with the prefix
`non_authored_`. This is an example of the fields available for the
the trailer `Merged-by`: - merged_by_multi_bots -
merged_by_multi_domains - merged_by_multi_names -
merged_by_multi_org_names - merged_by_multi_uuids -
non_authored_merged_by_multi_bots -
non_authored_merged_by_multi_domains -
non_authored_merged_by_multi_names -
non_authored_merged_by_multi_org_names
* Option 'to-date' on the backend sections\
The option `to-date` on the `setup.cfg` allows fetching data until a
specific date. By default, this value is `2100-01-01`.

**Bug fixes:**

* Onion study on Github pull requests fixed\
Github pull requests onion study is now updated to allow passing the
study alias name by parameter.
* Onion study on Gitlab fixed\
Gitlab onion study is now updated to allow passing the study alias
name by parameter.

**Dependencies updateds:**

* New Pandas version\
Update Pandas to the newest version compatible with Python 3.7+.

sirmordred

**New features:**

* New default GitHub pull requests alias names\
GitHub pull_request category (github:pull) has its own aliases now:
`github_pull_requests` and `github_pull_requests-raw`. This category
used to share the default aliases for GitHub: `github` and `github-
raw`.

0.4.0

**New components:**

* grimoirelab-toolkit 0.3.1
* perceval 0.19.1
* perceval-mozilla 0.3.1
* perceval-puppet 0.2.1
* perceval-opnfv 0.2.1
* perceval-weblate 0.2.1
* kingarthur 0.3.1
* graal 0.3.1
* elk 0.102.0
* sirmordred 0.3.1

Perceval

**New features:**

* [confluence] Option `max_contents` to limit the number of requested contents\
This parameter sets the maximum number of contents requested per
query. By default, this number is 200, but this can be changed by
adding the `--max-contents` argument. This will help to bypass those
instances where the maximum limit is lower than Perceval's default
value.

**Bug fixes:**

* [confluence] KeyError exception when arguments not passed to 'fetch_items'\
Required arguments that weren't passed to 'fetch_items' made the code
fail with a KeyError exception.
* [bugzillarest] Failback when checking custom instances\
Some Bugzilla instances return a HTTP 400 error when checking if their
are custom instances or not. On those cases, the backend will capture
the error and consider the version of that Bugzilla instance as
custom.
* [slack] Slack identifier extraction fixed\
Extract the identifier without user information when the user was
deleted.

0.3.0

**Feature removals:**

* Drop Python 3.6 support\
Python 3.6 has reached the end of life in Dec 2021. This means it
won't receive any further patches to fix the secutiry issues. So,
dropping the support of 3.6 and it now supports Python>=3.7 version
only.

**New components:**

* grimoirelab-toolkit 0.3.0
* perceval 0.18.0
* perceval-mozilla 0.3.0
* perceval-opnfv 0.2.0
* perceval-puppet 0.2.0
* perceval-weblate 0.2.0
* graal 0.3.0
* kingarthur 0.2.0
* sortinghat 0.7.20
* cereslib 0.3.0
* grimoire-elk 0.101.1
* sigils 0.1.0
* sirmordred 0.3.0
* kidash 0.5.0

The following list describes the changes by component:

Perceval

**New features:**

* [bugzillarest] API Key authentication\
A new authentication is available in the `bugzillarest` backend using
an API Key. This can be provided using the parameter `--api-key` on
the command line. Note that this parameter will invalidate `--backend-
user` `--backend-password`, and `--api-token` parameters. For
developers, this parameter is also available during the initialization
of the class `BugzillaRESTClient` under the name `api_key`.
* Confluence supports fetch by spaces\
This allows fetching confluence by specific spaces. By default it will
fetch the entire instance, but adding the `--spaces` argument will
fetch only these spaces.

Graal

**Bug fixes:**

* Fix error in update worktree\
Graal wasn't working with the latest version of Git 2.35.1 because it
protects braches checked out in all worktrees. This change renames the
branch created when creating a worktree to fix the issue.

Sorting Hat

**Bug fixes:**

* [gitdm] Skip invalid format lines\
Gitdm parser won't fail reading files with an invalid format. Instead,
it will ignore invalid content.

GrimoireELK

**New features:**

* Anonymize parameters\
A new API function `anonymize_params(params)` allows to anonymize a
list of parameters that developers might consider secrets. It will
only take effect for those parameters which their names are defined on
`SECRET_PARAMETERS` constant.
* Dependencies file for development\
Include a new requirements.txt file to install the development version
from the repositories.
* Support to add identities to SortingHat from Enrich class\
New methods `add_identities` and `add_identity` are available on
`Enrich` class to add new identities to a `SortingHat` database.
Libraries using `elk` won't need to use `sortinghat` library to store
new identities while enriching items.
* Collect and enrich confluence by spaces\
Users can collect and enrich Confluence data from specific spaces
only, adding the option `--spaces=[SPACE1, SPACE2, ...]` to their
`projects.json`. The following example shows how to collect and to
enrich data from only the `DEV` and `SUPP` spaces only. {
"project": { "confluence": [ "http://example.com
--spaces=[DEV, SUPP]" ] } }
* Add demographic study to mattermost\
Add the demographic study to the mattermost data source.

**Bug fixes:**

* Skip sources with wrong arguments\
Sources won't interrupt collection or enrichment processes when any of
their arguments are invalid. Instead, they will be skipped.
* Git fix 'is_git_commit_multi_author'\
This fixes the `is_git_commit_multi_author` field when the commit has
more than one author and `pair-programming` is enabled. This is
important for calculating `pair_programming_*` values.
* SortingHat as a required package\
SortingHat is required for running grimoireelk but it was set as an
extra dependency. From now on sortinghat is always installed with
grimoireelk.
* Confluence credentials not stored in raw indexes\
Credentials for Confluence datasource were stored in raw indices as
part of the URL. For now on, credentials that are part of URLs are
removed before any data is stored.
* Pair programming regular expression improvement\
The regular expression to detect pair programming authors in git
datasource has been improved adding more connectors. The following
list shows the current connectors: - `[aA][nN][dD]` - `&` - `+`
* Fix fetching authors with min and max dates\
The old query only returns 10000 items due to ElasticSearch and
OpenSearch now use `composite` aggregation to paginate all buckets.

Sir Mordred

**New features:**

* Add extract spaces\
Extract spaces from the URL. By default it will extract labels but
adding `tag_type="spaces"` it will extract spaces.

**Bug fixes:**

* Studies aliases relocated\
Relocate studies aliases so they are not created automatically by
Mordred.
* Add pair-programming in '_get_enrich_backend' method\
Add the `pair-programming` to the `_get_enrich_backend` method if it
exists in the setup.cfg file.

**Feature removals:**

* FINOS Meeting backend removed\
FINOS Meeting backend is not supported anymore. The Perceval backend
was archived in Bitergia repository so it shouldn't be part of the
core anymore because it's software not maintained.

**Others:**

* Add studies to the alias file\
Add onion, areas of code, and demographics studies to the file
aliases.json. This is needed to keep this file updated with the
aliases we use in the dashboards by adding them to the appropiate data
sources. The included aliases: - all_onion - git_areas_of_code -
demographics


Releases

sortinghat 1.6.2 - (2025-01-16)

**Dependencies updateds:**

* Package dependencies updated\
Update the version of django-cors-headers package to the latest
version available.


sortinghat 1.6.1 - (2025-01-15)

* Update Poetry's package dependencies

sortinghat 1.6.0 - (2024-12-11)

**New features:**

* Skip recommendations (937)\
Users can now skip a recommendation and review the next one if they
are unsure of whether to apply it or dismiss it.
* Sort organizations by number of enrollments (940)\
Organizations are now sorted by the number of enrollments they have by
default. Clicking on a column header sorts the table results by that
field.


sortinghat 1.5.1 - (2024-11-13)

* Update Poetry's package dependencies

sortinghat 1.5.0 - (2024-10-15)

**New features:**

* Mark individuals as reviewed\
Individuals can now be marked as reviewed to keep track of which
profiles have already been checked and when. A profile can be marked
as reviewed more than once, it will show the date of the last review.
If there have been any changes to the profile data since the last
review, the review button displays a warning icon. The list of
individuals can be filtered by whether they have been reviewed and by
their review date. The list can also be ordered by review date.

**Bug fixes:**

* Wrong arrong direction when merging recommendations (934)\
When recommendations were merged, the arrow showing the direction of
the merge was wrong. It showed `foo → bar` but the resulting identity
will be named `foo` instead of `bar`. The arrow now points in the
other direction showing that `bar` will be merged on `foo`.


sortinghat 1.4.0 - (2024-09-23)

**New features:**

* Less distracting main identity indicator (920)\
The star icon that marked an individual's main identity was
distracting and potentially misleading for users. It has changed to a
more subtle indicator since it is not relevant for most users.
* Redirect to the original URL after log in (925)\
Users are now redirected to the page they originally requested after
they log in.
* Merge organizations when adding an alias\
Users now have the option to merge the organizations when adding an
alias that already exists on the "Edit organization" dialog. That
option was only previously available at the organization's detail
page.
* Customizable trusted sources for username matching\
Enable customization of trusted sources for username matching in
settings. This feature allows to define and manage the trusted data
sources for username matching from the configuration.

**Bug fixes:**

* Users permissions migrated (849)\
User permissions are stored in a separate table within the database.
These permissions will be automatically migrated when running
`sortinghat-admin upgrade`.
* Update workspace when identities are split (919)\
When an individual's identities are split, they are shown in the
workspace, but they were only shown the first time. The workspace is
now updated with the new individuals every time.

**Dependencies updateds:**

* Python minimum version updated\
Python 3.8 will reach its end of life in October 2024. Python 3.9 is
the minimum version required by the project. Update the Docker images
to use Python 3.9.


sortinghat 1.3.0 - (2024-08-30)

**New features:**

* Remove merge recommendations (883)\
Recommendations can now be deleted from the database and not just
dismissed. This is useful in case there are too many recommendations
to handle manually.
* Merge organizations when adding an alias (913)\
When adding an alias on an organization's page, if the new alias is an
existing organization, users now have the option to merge them. This
is useful in cases where organizations can't be merged using drag and
drop.
* User permissions per tenant\
Update the permissions system to allow assigning permissions to users
based on the tenant they are accessing. The command `sortinghat-admin
set-group` has been renamed to `sortinghat.-admin set-permissions`.

**Bug fixes:**

* Duplicated GitHub links (912)\
The link to an individual's GitHub profile no longer appears several
times when there is more than one GitHub identity.
* Connection closed when job is executed\
RQ workers create a fork to run the jobs. The issue arises when, after
completing the job, the MariaDB logs display the warning: `Aborted
connection to db. Got an error reading communication packets`. This
change ensures the database connection is closed before the fork ends,
preventing the warning from appearing.


sortinghat 1.2.1 - (2024-08-13)

* Update Poetry's package dependencies

sortinghat 1.2.0 - (2024-08-09)

**New features:**

* Improve loading and error indicators (866)\
Added error and loading messages to improve the user experience when
the data takes time to load.

**Bug fixes:**

* Job results in SortingHat\
Fixed a bug that caused jobs to be missing in SortingHat. Job results
will be kept in SortingHat for one week.


sortinghat 1.1.0 - (2024-08-02)

**New features:**

* Save URL to an individual's LinkedIn profile (817)\
Users can add a link to a LinkedIn profile on the individual's page.
This helps speed up the lookup of a contributor's information.
* Link to GitHub profile (817)\
Individuals' GitHub usernames now link to their profile.
* Assign users to permission groups (849)\
Users can be assigned to a permission group using the command `$
sortinghat-admin set-user-group username group`. A user in a group
automatically has the permissions granted to that group.
* Configuration for regular expressions in CORS\
Include in the configuration `SORTINGHAT_CORS_ALLOWED_ORIGIN_REGEXES`
environment variable that contains a list of regular expressions that
matches origins authorized to make cross-site HTTP requests.

**Bug fixes:**

* Consistent date format (901)\
All the job execution dates are now in YYYY-MM-DD hh:mm format on the
user interface.


sortinghat 1.0.2 - (2024-06-21)

**Bug fixes:**

* Match source parameter fixed in recommendations (875)\
Resolve an issue where the "match source" option in unify and
recommendation jobs was being applied to both emails and names. With
this update, this option will now only apply to usernames.
Additionally, users can utilize name and email simultaneously without
the constraint of applying the "match source" option across all
parameters.
* Organizations aliases in Python client\
Include the aliases field in the organizations query that was missing
in the SortingHat client schema.


sortinghat 1.0.1 - (2024-05-09)

* Update Poetry's package dependencies

sortinghat 1.0.0 - (2024-04-13)

**New features:**

* First major release\
GrimoireLab reached a stable status. This is our first major release.

**Bug fixes:**

* Change password form fixed\
An unused header in the UI made the attempts to change the password
fail. It tried to guess the user from an invalid JWT token when
multitenancy was enabled.

**Dependencies updateds:**

* Django version updated\
Upgrade the Django version from 3.2 to 4.2. Support for Django 3.2
ended at April 1, 2024. This change ensures compability with the
latests features and an extended support.


sortinghat 0.21.2 - (2024-03-27)

**Bug fixes:**

* Refetch general settings after they are changed\
The "unify" and "affiliate" switches on the general settings page
sometimes reflected outdated information. The page now reloads the
data everytime it is visited to keep it updated.

**Dependencies updateds:**

* Migration to Vue 3\
Vue 2 reached end of life on December 2023 and is no longer mantained.


sortinghat 0.21.1 - (2024-03-12)

**Bug fixes:**

* Profile view displays correct recommendations (864)\
The profile view now correctly displays all recommendations for an
individual, excluding those that have been dismissed.


sortinghat 0.21.0 - (2024-03-01)

**New features:**

* Dedicated queues in multi-tenancy\
This new feature allows to run jobs in dedicated queues when multi-
tenancy is active. Therefore, tenants that require more computing
time, can run in a separate environment without taking the resources
of others. This new feature changes the format of the `tenants.json`
file, so please update it before you install this new version. You can
find more info about how to configure it in the `README.md` file.

**Bug fixes:**

* Match recommendations job fixed\
Fix the bug in recommend matches jobs that was causing it not to
recommend any matches.

**Dependencies updateds:**

* Drop support of Node.js <18\
Versions 14 to 16 of Node.js are no longer mantained. The current
supported versions are 18 to 20.


sortinghat 0.20.0 - (2024-02-19)

**New features:**

* Organization aliases (857)\
Organizations can be known by different names. To avoid duplicates,
organizations can have aliases. Searching for an organization using
one of its aliases returns the organization. When an organization is
merged into another, its name becomes an alias of the target
organization. If a name exists as an alias, no organization can be
created with that name and viceversa. An organization's aliases can be
added and deleted both on the organizations table and the single
organization view.


sortinghat 0.19.2 - (2024-02-08)

* Update Poetry's package dependencies

sortinghat 0.19.1 - (2024-02-01)

**Bug fixes:**

* Fix "Table 'django_session' doesn't exist" error\
Fixes the "Table 'django_session' doesn't exist" error for new
installs. For existing databases, run the following commands to create
the table: django-admin migrate --fake sessions zero django-admin
migrate


sortinghat 0.19.0 - (2024-01-30)

**New features:**

* Unify identities with same source\
Include a new option to only recommend or unify identities from
trusted sources like GitHub or GitLab that have the same username and
backend.

**Bug fixes:**

* Use correct base URL for login and change password API calls (851)\
The URLs called to login and change password now use the public path
found in vue.config.js if no API URL is specified.
* Authentication required fixed\
When the AUTHENTICATION_REQUIRED setting is set to False, any query to
the API is allowed.
* Display individual's most recent organization\
The individual's current affiliation is now the most recent one
instead of the oldest.
* CSRF token is only required on web requests\
The GraphQL API required the 'X-CSRFToken' header, but the token could
only be retrieved by making a GET request. Now, requests authenticated
using JWT don't need to provide the CSRF token and only the user
interface, which is vulnerable to CSRF attacks and uses a different
authentication, requires it.

**Performance improvements:**

* Performance of organizations query\
Improve organization query for the table by avoiding individual
queries.


sortinghat 0.18.0 - (2023-12-19)

**New features:**

* Link to profile in individual cards (837)\
The name on the individuals cards now links to the member's profile.
* Open calendar to the side of the date input (838)\
The date picker calendar that is used to edit affiliation dates now
opens to the right side of the text field to avoid covering it.
* Improved readability of job settings\
The options for the "unify" and "recommend matches" jobs are now
displayed in a clearer way.
* Improved loading time when looking for organizations\
The autocomplete field that is used to affiliate individuals to
organizations now makes fewer and lighter requests to find them,
resulting in faster loading times.

**Performance improvements:**

* Performance on affiliation recommendations improved\
We have improved the affiliation performance by one order of magnitude
removing unnecessary queries to the database.


sortinghat 0.17.0 - (2023-11-28)

**New features:**

* Gitdm identities importer\
New SortingHat identities importer for Gitdm format. This backend is
configured with three parameters: a URL pointing to the file that
matches emails with organizations, an optional URL for an aliases file
that associates emails, and a flag for email validation to verify the
validity of the provided email addresses.


sortinghat 0.16.0 - (2023-11-17)

**Bug fixes:**

* Fix individual page not loading\
The individual's view was not loading when the workspace had not been
used before or the cache was cleared.

**Performance improvements:**

* Recommendations performance improved\
Improve the recommendations performance by reducing the number of
queries to the database and only generating recommendations between
individuals that are directly related.


sortinghat 0.15.0 - (2023-11-03)

**New features:**

* Recommendations for individuals modified after a given date (813)\
Users can generate merge and affiliation recommendations for
individuals that have been created or modified after a date specified
with the `last_modified` parameter.
* Add individual to workspace from their profile page (816)\
A new button on the individual's profile page allows users to save the
identity in the workspace to continue working with it later on the
dashboard.
* Cache individuals table data (821)\
Using cached queries prevents the table from refetching all the data
from the server everytime any information is edited. This is
particularly helpful if there is a huge number of identities, where
reloading the table is very slow. However, there are some cases when
the queries need to be refetched, eg. when identities are merged or
split.


sortinghat 0.14.0 - (2023-10-20)

**New features:**

* Strict criteria for merge recommendations (812)\
The merge recommendations filter out invalid email adresses and names
that don't have at least a first and last name when looking for
matches. To disable this behavior, set the `strict` parameter on
`recommendMatches` or `unify` to `false`.
* Text field to update enrollment dates (819)\
Users have the option to enter the dates on a text field when editing
affiliations.
* Improved organization selector (820)\
The organization selector that is used to affiliate individuals now
has the option to create an organization if the desired one is not
found. Its size is also increased to improve the readability of longer
names.
* API method to create a scheduled task\
The `add_scheduled_task` API method adds a new scheduled task to the
registry.
* Manage app settings from the user interface\
Users can configure automatic affiliations, profile unification and
identity data synchronization from the new `Settings` section on the
user interface.

**Bug fixes:**

* Remove tasks that fail to be scheduled\
When there was an issue with the Redis connection when a task was
created, the task was added to the database but there was not
scheduled job linked to it. Tasks are now removed from the database
and an error is raised in this case.

**Dependencies updateds:**

* Add Python 3.9 and drop 3.7 support\
Python 3.7 reached the end of life phase on June 27 2023 and is no
longer supported.


sortinghat 0.13.0 - (2023-08-06)

**Bug fixes:**

* Sub-domain affiliation error (805)\
The `affiliate` and `recommend affiliations` jobs no longer recommend
matches based on a domain's sub-domains if it is not marked as
`top_domain`.

**New deprecations:**

* Use the task scheduler to import identities\
Manage periodic tasks to import identities with the `scheduleTask`,
`updateScheduledTask` and `deleteScheduledTask` GraphQL mutations. The
tasks that were already scheduled using the `addImportIdentitiesTask`
mutation are kept when the migrations are applied.


sortinghat 0.12.0 - (2023-07-23)

**New features:**

* Job scheduler\
This new feature allows users to schedule jobs, such as `affiliate` or
`unify`, to run periodically. The tasks can be configured, updated and
deleted using the GraphQL API.


sortinghat 0.11.1 - (2023-07-11)

**Bug fixes:**

* Show an organization's members\
Repeatedly clicking on the button to see the members of an
organization or team on the table sometimes showed the full
individuals list.


sortinghat 0.11.0 - (2023-06-28)

**New features:**

* Merge organizations (571)\
Merging organizations automatically moves all the domains, teams and
enrollments to the target organization. This is helpful in case an
organization has duplicates or if an organization absorbs another one.
Organizations can be merged using drag and drop on the user interface.
* Recommendations by individual (779)\
Users can generate matching recommendations for a specific individual
by clicking on the drop down menu on each individual or on the
individual's profile.

**Bug fixes:**

* Show hidden buttons when the mouse is over the table row (787)\
The buttons to lock an individual or mark it as a bot were only
visible when the mouse wass over the individual's name, which made it
hard to find them. Now they appear when the mouse is over the table
row.
* Email affiliation error (793)\
Fix an error when the email domain ends with a dot, causing the
affiliation process to stop.
* ADD button doesn't affiliate individuals to organizations\
Affiliating an individual to an organization using the "+ ADD" button
on the table expanded view failed.
* Enrollment filter on organizations view\
Filtering individuals by their affiliation to an organization also
returned results of organizations that contained that name. The filter
now only returns organizations that match the exact name.


sortinghat 0.10.0 - (2023-05-17)

**New features:**

* Show when tables are loading (772)\
The individuals and organizations tables now show a progress bar to
indicate that the items are loading.
* Organization profiles\
Each organization's full profile is available by clicking its name on
the table or at `/organization/<organization name>`. This view shows
the organization's teams, members and domains.

**Bug fixes:**

* Sort jobs from newest to oldest (769)\
The jobs page now sorts the list from newest to oldest to show running
jobs first.
* Unreadable large numbers in pagination (770)\
Large page numbers were not fully visible in the tables pagination.
* Edit a profile name with the pencil button (773)\
Clicking on an invidual's name no longer activates the edition mode.
The name can now be edited with the pencil button.
* Fix enrollment in individual's profile\
In the individual's profile, the button to add an organization was not
working.
* Job timeouts\
Jobs failed because they exceeded the default timeout while running
tasks involving numerous identities. To ensure successful completion,
we adjusted the timeout setting to an infinite duration, allowing jobs
to finish without interruptions.

**Breaking changes:**

* Multi-tenancy using headers\
Tenants are now selected using the `sortinghat-tenant` header instead
of the host. Proxies and clients using multi-tenancy should include
that header.

**Performance improvements:**

* Performance improved for recommendations and merging jobs\
The performance of the matching and merging algorithms that are used
on these jobs have been considerably improved. These jobs will be 4
times faster than on the previous version.
* uWSGI threads and workers\
Include two new environments variables to define the number of threads
and workers for uWSGI. These new variables are
`SORTINGHAT_UWSGI_WORKERS` and `SORTINGHAT_UWSGI_THREADS`
* SortingHat database performance\
Improve SortingHat performance when there are a lot of individuals in
the database.

**Dependencies updateds:**

* Update dependencies\
Include google-auth as a dependency to fix release issues.


sortinghat 0.9.3 - (2023-04-28)

**Bug fixes:**

* Tenant selection in job fixed\
Tenant selection raised an error when the job context was defined as
keyword argument.


sortinghat 0.9.2 - (2023-04-27)

**Bug fixes:**

* Static files not included in wheel package\
SortingHat static files were not included in the Python package. The
problem was in the GitHub action.


sortinghat 0.9.1 - (2023-04-26)

**Bug fixes:**

* Static files not included in wheel package\
SortingHat static files were not included in the Python package.


sortinghat 0.9.0 - (2023-04-21)

**New features:**

* Set top domain from UI (729)\
Add the option to set an organization's domain as top domain from the
UI.
* Order individuals by indentities (732)\
Adds the option to order the individuals by the number of identities
they have.
* Import identities automatically (746)\
Create a schema to import identities to SortingHat automatically using
custom backends. The jobs will be executed periodically, at the given
interval. The tasks can be configured using the GraphQL API. To
create a custom importer you need to extend `IdentitiesImporter`,
define a `NAME` for your importer (that will be used in the UI), and
implement `get_identities` method that returns a list of individuals
with the related identities that will be imported into SortingHat. If
your importer requires extra parameters, you must extend the
`__init__` method with the required parameters. Those parameters can
be defined using the API.
* Create account command\
Include a new command to create users in SortingHat. The command can
be executed as `sortinghat-admin create-user`.
* Drag and drop to enroll in teams\
Expanding an organization on the table now shows the full list of
teams. Individuals can be dragged and dropped into a team and
viceversa to affiliate them. The buttons to add, edit and delete
organization and team information are reorganized into a dropdown menu
to simplify the interface.
* Multi-tenancy mode\
SortingHat allows hosting multiple instances with a single service
having each instance's data isolated in different databases. To enable
this feature follow these guidelines: - Set `MULTI_TENANT` settings to
`True`. - Define the tenants in `sortinghat/config/tenants.json`. -
Assign users to tenants with `sortinghat-admin set-user-tenant`
command.
* Verify SSL option for client\
Include an option for the client to verify if the certificate is
valid. By default it is verified.

**Bug fixes:**

* Fix outdated recommendation count (733)\
The number of remaining recommendations on the UI was wrong each time
a recommendation was applied or dismissed.
* Fix search syntax link (735)\
Fixes the link to the search syntax page on the search bar.

**Feature removals:**

* Groups table removed from the UI\
Groups and organizations are very similar, and having both tables in
the dashboard can be confusing to users. To simplify the view, the
table is removed from the user interface, but groups remain available
through the API.


sortinghat 0.8.1 - (2023-02-03)

* Update Poetry's package dependencies

sortinghat 0.8.0 - (2023-02-01)

**New features:**

* Migration command for SortingHat 0.7 (726)\
Include a new command to migrate SortingHat 0.7 database schema to
0.8. The command can be executed as `sortinghat-admin migrate-old-
database`. It will migrate all the data from the old version.

**Bug fixes:**

* GraphQL client headers updated\
SortingHat client headers are updated adding `Referer` and `Host` to
fix the CSRF token issue.

**Breaking changes:**

* SortingHat as a service\
SortingHat started as a command line tool but, after some years, we
saw its potential and we decided to create a new version of it. Now,
it works as an individual service. This new version provides a new
GraphQL API to operate with the server and a UI web-based app, that
replaces Hatstall, the old UI for SortingHat. Moreover, the new
version adds some features requested long time ago, such as
groups/teams management, recommendations of affiliations and
individuals, or a totally renwed user interface.


sortinghat 0.7.23 - (2022-11-07)

* Update Poetry's package dependencies

sortinghat 0.7.22 - (2022-10-31)

* Update Poetry's package dependencies

sortinghat 0.7.21 - (2022-09-26)

**Others:**

* Update package dependencies\
Update jinja2 package and dev-dependencies.


sortinghat 0.7.21-rc.6 - (2022-09-26)

**Others:**

* Update package dependencies\
Update jinja2 package and dev-dependencies.


sortinghat 0.7.21-rc.5 - (2022-09-26)

**Others:**

* Update package dependencies\
Update jinja2 package and dev-dependencies.


sortinghat 0.7.21-rc.4 - (2022-09-26)

**Others:**

* Update package dependencies\
Update jinja2 package and dev-dependencies.


Sorting Hat 0.7.20 - (2022-06-02)

**Bug fixes:**

* [gitdm] Skip invalid format lines\
Gitdm parser won't fail reading files with an invalid format. Instead,
it will ignore invalid content.


Sorting Hat 0.7 - (2018-10-02)

**NOTICE: Database schema generated by SortingHat < 0.7.0 is still
compatible but older versions can have problems inserting UTF-8
characters of 4 bytes.

Python 2.7 is no longer supported.

Please check "Compatibility between versions" section from README.md file.
**

** New features and improvements: **

* Python 2.7 not longer supported

As Python 2.x will not be maintained after 2020, SortingHat is only
compatible with Python >= 3.4.

* Low level API

This API is able to execute basic operations over the database, such
as adding or removing identities or finding entities. All these operations
work within a session. Nothing is stored in the database until the
session is closed. Thus, these functions can be considered as "bricks",
that combined can create high-level functions.

* Storage of UTF-8 4-bytes characters

The default charset of UTF-8 (utf8) in MySQL/MariaDB does not support,
even when they are part of the standard, 4-bytes long characters.
This means characters like emojis or certain chinese characters cannot
be inserted. Usually, identities names or usernames have these types of
characters.

The charset that fully supports UTF-8 is `utf8mb4` using the collation
`utf8mb4_unicode_520_ci`. This collation implements the suggested Unicode
Collation Algorithm (v5.2).

Using `utf8mb4` also implies that the maximum size of char (VARCHAR and
so on) columns is 191. Indexes cannot be larger than that when using
InnoDB engine.

Starting on 0.7 series, SortingHat is using this charset.

* Handle disconnection using pessimistic mode

SQLAlchemy offers a pessimistic mode to handle database disconnection.
Setting `pool_pre_ping` parameter on the database engine will check if
the database connection is still active when a session of the connection
pool is reused. This causes a small hit in the performance but it's worth
it.

* Use a optimistic approach when inserting data

With this optimistic approach, no more queries to check whether an entity
exists on the database are run prior to its insertion.


Sorting Hat 0.6 - (2018-03-05)

**NOTICE: Database schema generated by SortingHat < 0.6.0 are no longer
compatible. Please check "Compatibility between versions" section from
README.md file**

** New features and improvements: **

* Gender.

Unique identities gender can be set in the profile using the command
`profile` and data will be stored in the table of the same name. This table
adds two new fields: `gender`, a free text field to set the gender
value, and `gender_acc`, to set the accuracy of the gender - in a range
of 1 to 100 - when it is set using automatic options.

The new command `autogender` has also been added. It assigns a gender
to each unique identity using the name of the profile and the information
provided by `http://genderize.io`. Possible values are *male* or *female*.

* Option for reusing a database.

An existing database can be reused when `init` command is called. So far,
when the database was already created, this command raised an exception.

* Version option.

Calling `sortinghat` with the option `-v | --version` prints the version
of `sortinghat` running on the system.

* Tests improvements.

Some minor changes were done in the testing area. The main ones were to
support MariaDB engine and to use a remote testing database.


Sorting Hat 0.5 - (2017-12-21)

**NOTICE: Database schema generated by SortingHat < 0.5.0 are no longer
compatible. Please check "Compatibility between versions" section from
README.md file**

** New features and improvements: **

* Last modification.

Unique identities and identities log the last time they were modified
by adding, deleting, moving, merging, updating the profile, adding
or removing enrollments operations.

The new `search_last_modified_identities` API function allows to search
for the UUIDs of those identities modified on or after a given date.

* No strict matching option.

This option allows to avoid a rigorous validation of values while
matching identities, for instance, with well formed email addresses
or names with first name and last name. This option is available on
`load` and `unify` commands.

* Reset option while loading.

Before loading any data, if `reset` option is set, all the relationships
between identities and their enrollments will be removed from the
database.

* GrimoireLab support.

GrimoireLab identities and organizations YAML files can be converted
to Sorting Hat JSON format using the script `grimoirelab2sh`.

** Bugs fixed: **

* Fix tables created with invalid collation. In some random situations
Sorting Hat tables appear with an invalid collation. This is related
to a wrong generation of the DDL table statement by SQLAlchemy, which
may randomly prepend the collation information (`MYSQL_COLLATE`) to
the charset one (`MYSQL_CHARSET`), causing the former to be ignored.
Changing `MYSQL_CHARSET` to `MYSQL_DEFAULT_CHARSET` fixed the problem.

* Remove trailing whitespaces in exported JSON files. This error is only
found in Python 2.7 due to a bug in the standard library with
`json.dump()` and `indent` parameter. (103)

* Update profile information when loading identities. So far, profile
information was set only the first time a unique identity was loaded.
With this change, it will be updated always, except when the given
profile is empty


Sorting Hat 0.4 - (2017-07-17)

** New features and improvements: **

* Mailmap and StackAlytics support.

Mailmap and StackAlytics files can be converted to Sorting Hat JSON
format using the new scripts `mailmap2sh` and `stackalytics2sh`.

* Unify by sources.

Giving a list of sources, this option allows to `unify` command to
merge only those unique identities which belong to any of the given
sources.

** Bugs fixed: **

* Encoding error generating UUIDs in Python 3. Some special characters
cannot be encoded in Python3. This caused function `uuid()` to fail
when converting those characters. 'surrogateescape' handler was
added to fix that problem.

* Force `utf8_unicode_ci` collation on MySQL tables to fix integrity errors.
MySQL considers chars like `β` and `b` or `ı` and `i` the same, when
some collation values are set (i.e `utf8_general_ci`). This can raise
integrity errors when Sorting Hat tries to add similar identities with
these pairs of characters.

For instance, if the identity:

('scm', 'βart', 'bartexample.com', 'bart)

is stored in the database, the insertion of:

('scm', 'bart', 'bartexample.com', 'bart)

will raise an error, even when these identities have different UUIDs.
Forcing MySQL to use `utf8_unicode_ci` fixes this error, allowing
to insert both identities.


Sorting Hat 0.3 - (2017-03-21)

**NOTICE: UUIDs generated by SortingHat < 0.3.0 are no longer compatible.
Please check "Compatibility between versions" section from README.md file**

** New features and improvements: **

* New algorithm to genere UUIDs.

UUIDs were generated using case and accent sensitive values with the seed
`(source:email:name:username)`. This means that for any identity with the
same values in lower or upper case (i.e: `jsmithexample.com` and `JSMITHexample.com`)
or with the same values accent or unaccent (i.e: `John Smith` or `Jöhn Smith`)
would have different UUIDs for any of these combinations.

The new algorithm changes upper to lower case characters and converts accent
characters to their canonical form before the UUIDs is generated.

This change is caused by the behaviour of MySQL with case configurations
and accent and unaccent characters. MySQL considers those characters the same,
raising `IntegrityError` exceptions when similar tuple values are inserted
into the database. Generating the same UUID for these cases will prevent the
error.

Take into account that previous UUIDs are no longer compatible with this
version of SortingHat. You should regenerate the UUIDs following the steps
described in section *Compatibility between versions* from `README.md` file.

** Bugs fixed: **

* Any non-empty value in email field was used during the affiliation. This
caused some errors for non valid email addresses like with 'email' cases,
which raised a `IndexError` exception. This bug has been fixed using valid
email addresses only during the affiliation.

* Invalid database names were allowed in `init` command.


Sorting Hat 0.2 - (2017-02-01)

** New features and improvements: **

* Auto complete profile information with `autoprofile` command.

This command autocompletes the profiles information related to a set of unique
identities. To update the profile, the command uses a list of sources ordered
by priority. Only those unique identities which have one or more identities
from any of these sources will be updated. The name of the profile will be
filled using the best name possible, normally the longest one.

* GiHub identities matching method.

This new method tries to find equal identities using those identities from
GitHub sources. The identities must come from a source starting with a `github`
label and the usernames must be equal.

** Bugs fixed: **

* The parser for Gitdm files only accepted email addresses as valid aliases.
This has been modified to accept any type of aliases. Thus, the input file
passed to `gidm2sh` script will be a list of valid aliases instead of email
aliases.





Releases

grimoirelab-toolkit 1.0.9 - (2025-01-15)

* Update Poetry's package dependencies

grimoirelab-toolkit 1.0.8 - (2024-12-11)

* Update Poetry's package dependencies

grimoirelab-toolkit 1.0.7 - (2024-11-13)

* Update Poetry's package dependencies

grimoirelab-toolkit 1.0.6 - (2024-10-15)

* Update Poetry's package dependencies

grimoirelab-toolkit 1.0.5 - (2024-09-23)

**Dependencies updateds:**

* Python minimum version updated\
Python 3.8 will reach its end of life in October 2024. Python 3.9 is
the minimum version required by the project.


grimoirelab-toolkit 1.0.4 - (2024-08-09)

* Update Poetry's package dependencies

grimoirelab-toolkit 1.0.3 - (2024-08-02)

* Update Poetry's package dependencies

grimoirelab-toolkit 1.0.2 - (2024-06-21)

* Update Poetry's package dependencies

grimoirelab-toolkit 1.0.1 - (2024-05-09)

* Update Poetry's package dependencies

grimoirelab-toolkit 1.0.0 - (2024-04-13)

**New features:**

* First major release\
GrimoireLab reached a stable status. This is our first major release.


grimoirelab-toolkit 1.0.0-rc.1 - (2024-04-09)

**New features:**

* First major release\
GrimoireLab reached a stable status. This is our first major release.


grimoirelab-toolkit 0.4.5 - (2024-03-27)

* Update Poetry's package dependencies

grimoirelab-toolkit 0.4.4 - (2024-03-12)

* Update Poetry's package dependencies

grimoirelab-toolkit 0.4.3 - (2024-03-01)

* Update Poetry's package dependencies

grimoirelab-toolkit 0.4.2 - (2024-01-30)

* Update Poetry's package dependencies

grimoirelab-toolkit 0.4.1 - (2023-12-19)

* Update Poetry's package dependencies

grimoirelab-toolkit 0.4.0 - (2023-10-20)

**Feature removals:**

* Drop Python 3.7 support\
Python 3.7 reaches the end of life in June 2023. This means it won't
receive new updates or patches to fix security issues. Therefore, this
package only works with Python >= 3.8 from now on.


grimoirelab-toolkit 0.3.6 - (2023-07-11)

* Update Poetry's package dependencies

grimoirelab-toolkit 0.3.5 - (2023-06-28)

* Update Poetry's package dependencies

grimoirelab-toolkit 0.3.4 - (2023-04-21)

* Update Poetry's package dependencies

grimoirelab-toolkit 0.3.3 - (2023-02-01)

* Update Poetry's package dependencies

grimoirelab-toolkit 0.3.2 - (2022-10-31)

* Update Poetry's package dependencies

grimoirelab-toolkit 0.3.0 - (2022-05-31)

**Feature removals:**

* Drop Python 3.6 support\
Python 3.6 has reached the end of life in Dec 2021. This means it
won't receive any further patches to fix the secutiry issues. So,
dropping the support of 3.6 and it now supports Python>=3.7 version
only.


grimoirelab-toolkit 0.2.0 - (2021-04-20)

**Security fixes:**

* Drop Python < 3.6 support \
Python versions previous to 3.6 ended their security support life in
September 2020. This new release drops its support too.


grimoirelab-toolkit 0.1.0 - (2017-05-15)

** New features and improvements: **

* This first release contains common functions used across other
GrimoireLab projects. These functions handle datetime objects,
URIs/URLs and high-level introspection tools.



Releases

kidash 1.0.10 - (2025-01-15)

* Update Poetry's package dependencies

kidash 1.0.9 - (2024-12-11)

* Update Poetry's package dependencies

kidash 1.0.8 - (2024-11-13)

* Update Poetry's package dependencies

kidash 1.0.7 - (2024-10-15)

* Update Poetry's package dependencies

kidash 1.0.6 - (2024-09-23)

**Dependencies updateds:**

* Python minimum version updated\
Python 3.8 will reach its end of life in October 2024. Python 3.9 is
the minimum version required by the project.


kidash 1.0.5 - (2024-08-30)

* Update Poetry's package dependencies

kidash 1.0.4 - (2024-08-09)

* Update Poetry's package dependencies

kidash 1.0.3 - (2024-08-02)

* Update Poetry's package dependencies

kidash 1.0.2 - (2024-06-21)

* Update Poetry's package dependencies

kidash 1.0.1 - (2024-05-09)

* Update Poetry's package dependencies

kidash 1.0.0 - (2024-04-13)

**New features:**

* First major release\
GrimoireLab reached a stable status. This is our first major release.


kidash 0.6.9 - (2024-03-27)

* Update Poetry's package dependencies

kidash 0.6.8 - (2024-03-12)

* Update Poetry's package dependencies

kidash 0.6.7 - (2024-03-01)

* Update Poetry's package dependencies

kidash 0.6.6 - (2024-02-08)

* Update Poetry's package dependencies

kidash 0.6.5 - (2024-01-30)

* Update Poetry's package dependencies

kidash 0.6.4 - (2023-12-19)

**Dependencies updateds:**

* Downgrade urllib3 from ^2.0.7 to ^1.26\
Downgrade the version of urllib3 to match Perceval version.


kidash 0.6.3 - (2023-11-28)

* Update Poetry's package dependencies

kidash 0.6.2 - (2023-11-14)

* Update Poetry's package dependencies

kidash 0.6.1 - (2023-11-03)

* Update Poetry's package dependencies

kidash 0.6.0 - (2023-10-20)

**Feature removals:**

* Drop Python 3.7 support\
Python 3.7 reaches the end of life in June 2023. This means it won't
receive new updates or patches to fix security issues. Therefore, this
package only works with Python >= 3.8 from now on.

**Dependencies updateds:**

* Bump urllib3 version\
Bump urllib3 from ^1.26 to ^2.0.7


kidash 0.5.9 - (2023-07-23)

* Update Poetry's package dependencies

kidash 0.5.8 - (2023-07-11)

* Update Poetry's package dependencies

kidash 0.5.7 - (2023-06-28)

* Update Poetry's package dependencies

kidash 0.5.6 - (2023-05-17)

* Update Poetry's package dependencies

kidash 0.5.5 - (2023-04-27)

* Update Poetry's package dependencies

kidash 0.5.4 - (2023-04-21)

* Update Poetry's package dependencies

kidash 0.5.3 - (2023-02-01)

* Update Poetry's package dependencies

kidash 0.5.2 - (2022-10-31)

* Update Poetry's package dependencies

kidash 0.5.1 - (2022-09-26)

**Others:**

* Update Poetry dependencies\
Update package dependencies for the new release.


kidash 0.5.1-rc.7 - (2022-09-26)

**Others:**

* Update Poetry dependencies\
Update package dependencies for the new release.


kidash 0.5.1-rc.6 - (2022-09-26)

**Others:**

* Update Poetry dependencies\
Update package dependencies for the new release.


kidash 0.5.1-rc.5 - (2022-09-26)

**Others:**

* Update Poetry dependencies\
Update package dependencies for the new release.


kidash 0.5.1-rc.4 - (2022-09-23)

**Others:**

* Update Poetry dependencies\
Update package dependencies for the new release.


kidash 0.5.0 - (2022-06-02)

**Feature removals:**

* Drop Python 3.6 support\
Python 3.6 reached the end of life at the end of 2021. This means it
won't receive new updates or patches to fix security issues.
Therefore, this package will only work with Python >= 3.7 from now on.



Releases

grimoire-elk 1.3.4 - (2025-01-16)

* Update Poetry's package dependencies

grimoire-elk 1.3.3 - (2025-01-15)

* Update Poetry's package dependencies

grimoire-elk 1.3.2 - (2024-12-11)

* Update Poetry's package dependencies

grimoire-elk 1.3.1 - (2024-11-13)

* Update Poetry's package dependencies

grimoire-elk 1.3.0 - (2024-10-15)

**New features:**

* Keywords data on enriched items\
Keywords field is included now on the enriched items of bugzilla and
bugzillarest indices.
* New reponse times on bugzilla items\
The Bugzilla enriched items include two new fields to track response
times on these type of repositories. The field
`time_to_first_attention` is the the time expressed in days between
the ticket creation and the first comment from a contributor different
from the author creating the bug. The field `last_comment_date` is the
date of the last comment posted in the bug.

**Bug fixes:**

* All references processed for the reference analysis study\
The `enrich_reference_analysis` study analyzes the cross-references
between "issues" and "pull request". When we use an aggregations
query, it returns only the first 10 items (ElasticSearch/OpenSearch by
default). By using 'composite aggregations', we can paginate the
result and thus, obtain all the references.


grimoire-elk 1.2.0 - (2024-09-23)

**New features:**

* Status in SUMO enriched index\
Add the missing status in the SUMO backend. The status could be
`solved`, `archived`, `locked` or `open`.

**Bug fixes:**

* Avoid UNDEFINED values in author fields\
Avoid `-- UNDEFINED --` values for all SortingHat fields when Mordred
loses connection to the SortingHat server during the enrichment or
autorefresh execution. It will keep the values of the `name`, `email`,
`id` and `uuid` fields.
* Handle OpenSearch page info on pagination\
In OpenSearch and ElasticSearch < 7.x the page info on pagination is
different. This will handle both of them.

**Dependencies updateds:**

* Python minimum version updated\
Python 3.8 will reach its end of life in October 2024. Python 3.9 is
the minimum version required by the project.


grimoire-elk 1.1.5 - (2024-08-30)

**Bug fixes:**

* Git branches study improved\
Previously, while the branches study was running, the `branches` field
remained empty or partially filled until the study was completed,
leading to incorrect data being displayed on the dashboard. With this
change, the branches field is updated only after the study has
finished.


grimoire-elk 1.1.4 - (2024-08-13)

**Bug fixes:**

* Roles attribute not available on some enrichers\
The 'roles' attribute wasn't available for all the enrichers. The
attribute has been added to the main class 'Enrich' so subclasses will
have it available even when they don't use it.


grimoire-elk 1.1.3 - (2024-08-09)

**Bug fixes:**

* GitHub URL ending with slash failed (1159)\
GrimoireLab failed to run with GitHub URLs ending in a slash
* Identity refresh bug for some items (1161)\
Update the filter construction to correctly match UUIDs in OpenSearch,
addressing a bug in Mordred that prevented role identities from being
refreshed.


grimoire-elk 1.1.2 - (2024-08-02)

**Bug fixes:**

* Git branches study fixed\
Git branches study was assigning branches to wrong commits.


grimoire-elk 1.1.1 - (2024-06-21)

**Bug fixes:**

* Kitsune mapping updated\
Kitsune raw mapping was incorrectly defined with `dynamic: false` in
the data attribute.


grimoire-elk 1.1.0 - (2024-05-09)

**New features:**

* Kitsune fields updated\
Include new fields in Kitsune backend enriched index. Include
`product` and `url` fields in answers, and
`is_kitsune_question_solved`, `time_to_first_reply` and `url` in
questions.


grimoire-elk 1.0.0 - (2024-04-13)

**New features:**

* First major release\
GrimoireLab reached a stable status. This is our first major release.

**Bug fixes:**

* MBOX origin URL anonymized\
Remove credentials from MBOX origin URL and tag fields.


grimoire-elk 0.111.1 - (2024-03-27)

**Bug fixes:**

* Kitsune inmerse terms error\
Update raw mapping of Kitsune indexes to handle immense terms found in
`data.answers_data.content`, and `data.content`.


grimoire-elk 0.111.0 - (2024-03-12)

**New features:**

* Kitsune demography study\
Include demography study in Kitsune (SUMO). And update the index to
include standard fields such as a unique identifier (`id`) and some
missing fields like `origin` or `uuid`.


grimoire-elk 0.110.0 - (2024-03-01)

**New features:**

* Kitsune raw mapping updated\
Update the mapping for Kitsune backend to fix an error inserting
Perceval items in the raw index when the field 'data.metadata.value'
is too big.


grimoire-elk 0.109.8 - (2024-02-19)

* Update Poetry's package dependencies

grimoire-elk 0.109.7 - (2024-02-08)

**Bug fixes:**

* Bug on some backends enrichment\
Mediawiki, Meetup are Jira were failing to retrieve the enrollment for
an identity.


grimoire-elk 0.109.6 - (2024-02-01)

* Update Poetry's package dependencies

grimoire-elk 0.109.5 - (2024-01-30)

* Update Poetry's package dependencies

grimoire-elk 0.109.4 - (2023-12-19)

* Update Poetry's package dependencies

grimoire-elk 0.109.3 - (2023-11-28)

* Update Poetry's package dependencies

grimoire-elk 0.109.2 - (2023-11-17)

* Update Poetry's package dependencies

grimoire-elk 0.109.1 - (2023-11-03)

* Update Poetry's package dependencies

grimoire-elk 0.109.0 - (2023-10-20)

**New features:**

* Anonymize repository URLs in graal backend\
The raw data generated by the graal backend had non-anonymized URLs on
the meta fields 'origin' and 'tag'. This was necessary to generate
enriched data for non-public repositories.
* Bug description in Bugzilla\
Include the description of the bugs in Bugzilla. The new fields are
'description' and 'description_analyzed'. The second allows to query
any of the words of the description.
* SortingHat backend name per data source\
Allow to define the name of the backend for the identities stored in
SortingHat. From now on github2 is renamed as github in SortingHat
identities.

**Bug fixes:**

* Individual `id` incorrectly assigned\
Correct a bug that results in enriched items using the individual ID
as the identity ID, and vice versa.
* Error in OpenSearch response stops demography study\
Fix an issue that stops demography study when OpenSearch occasionally
provides a response without some expected fields.
* Undefined identities in GitHub comments\
Fix a bug that causes certain identities from commentaries to not be
imported into SortingHat, resulting in them appearing as UNDEFINED in
OpenSearch.

**Dependencies updateds:**

* Add Python 3.9 and 3.10 and drop 3.7 support\
Python 3.7 reached the end of life phase on June 27 2023 and is no
longer supported.
* Bump urllib3 version\
Bump urllib3 from ^1.26 to ^2.0.7
* Remove Python pymsql dependency\
Remove the dependency with PyMySQL because it is not used anymore.


grimoire-elk 0.108.1 - (2023-08-06)

* Update Poetry's package dependencies

grimoire-elk 0.108.0 - (2023-07-23)

**Bug fixes:**

* Enrich items with multiple enrollments\
The `date` field must be a string since improved performance by
decreasing calls to the `str_to_datetime` method.

**Performance improvements:**

* Load identities performance\
Improve the load identities process performance by reducing the number
of queries to SortingHat.


grimoire-elk 0.107.0 - (2023-07-11)

**Performance improvements:**

* Enrichment processing time reduced by 50%\
The general performance was improved reducing the number of calls to
the identities manager (i.g. `SortingHat`). There were some deprecated
calls that weren't needed any longer and also, we increased the cache
of individuals in ELKs. We were also able to reduce the processing
time of the Git backend by converting commit dates only once.


grimoire-elk 0.106.0 - (2023-06-28)

**Performance improvements:**

* Refreshing identities performance\
Decrease the time required to execute the autorefresh process by
reducing the number of queries to SortingHat.


grimoire-elk 0.105.0 - (2023-05-17)

**Breaking changes:**

* SortingHat configuration\
When SortingHat's multi-tenancy is enabled, the tenant is included in
all clients during execution.


grimoire-elk 0.104.6 - (2023-04-28)

* Update Poetry's package dependencies

grimoire-elk 0.104.5 - (2023-04-27)

* Update Poetry's package dependencies

grimoire-elk 0.104.4 - (2023-04-26)

* Update Poetry's package dependencies

grimoire-elk 0.104.3 - (2023-04-21)

**Bug fixes:**

* Fix typo in SortingHat fields\
Some fields were not updated from the old version of SortingHat. Now
the API returns 'isBot' and 'genderAcc' instead of 'is_bot' and
'gender_acc'.

**Breaking changes:**

* Define date format for Git documents\
Git by default uses a custom date format that is not recognized by
Elastic/OpenSearch. Specify the format for the AuthorDate and
CommitDate fields in Git documents to support the formats usually
returned by `git log`. This allows us to do proper filtering on these
fields such as "all documents with CommitDate before 2020".
* Update support for ES/OS versions > 7.X/1.X\
Currently the support for ES/OS versions > 7.X/1.X is broken due to a
faulty version check. Add a static method to the Elasticsearch object
that correctly checks whether the version is 'legacy' (defined as ES
6.X or OS 0.X) and adds this check to various places in the codebase.
Additionally, fixes an instance where `interval` is used instead of
`fixed_interval`. `interval` was deprecated in ES7.


grimoire-elk 0.104.2 - (2023-02-03)

* Update Poetry's package dependencies

grimoire-elk 0.104.1 - (2023-02-01)

* Update Poetry's package dependencies

grimoire-elk 0.104.0 - (2023-02-01)

**Bug fixes:**

* SortingHatClientError exception fixed\
Exception raised with SortingHatClientError has been fixed in
add_identity method.
* SortingHat mandatory parameters\
Include SortingHat 0.8.x mandatory parameters. Now `sh_port`,
`sh_path`, `sh_ssl` are required.

**Breaking changes:**

* Support of SortingHat 0.8\
GrimoireLab starts using a new version of SortingHat. SortingHat is
now a web service that provides an API to manage identities and
organizations. GrimoireELK now connects to the new SortingHat database
using GraphQL. The previous version of SortingHat is now deprecated.


grimoire-elk 0.103.3 - (2022-11-07)

**Bug fixes:**

* Demographic study on Weblate fixed\
Weblate demographic study is now updated to allow passing the study
alias name by parameter.


grimoire-elk 0.103.2 - (2022-10-31)

**New features:**

* Development and reviewing contributors fields for Git items\
New information about the participants during the development and the
reviewing processes are available in `Git` items. The Git backend
extracts these data from `Approved-by`, `Co-authored-by`, and
`Merged-by` trailers that some commit messages might include. For each
one of these trailers, new fields will be available with the suffixes:
`_bots`, `_domains`, `_names`, `_org_names`, and `_uuids`. Also for
each one of these suffixes, there will be extra fields with the prefix
`non_authored_`. This is an example of the fields available for the
the trailer `Merged-by`: - merged_by_multi_bots -
merged_by_multi_domains - merged_by_multi_names -
merged_by_multi_org_names - merged_by_multi_uuids -
non_authored_merged_by_multi_bots -
non_authored_merged_by_multi_domains -
non_authored_merged_by_multi_names -
non_authored_merged_by_multi_org_names
* Option 'to-date' on the backend sections\
The option `to-date` on the `setup.cfg` allows fetching data until a
specific date. By default, this value is `2100-01-01`.

**Bug fixes:**

* Onion study on Github pull requests fixed\
Github pull requests onion study is now updated to allow passing the
study alias name by parameter.
* Onion study on Gitlab fixed\
Gitlab onion study is now updated to allow passing the study alias
name by parameter.

**Dependencies updateds:**

* New Pandas version\
Update Pandas to the newest version compatible with Python 3.7+.


grimoire-elk 0.103.0 - (2022-09-26)

**New features:**

* git-branches study skip uncloned repo\
The git-branches study skips the repository when it is not cloned and
continues with the next one.
* Configurable study aliases\
Before this fix, the name of the study aliases was hard coded. From
now on, these values can be configured by passing them as parameters.
* Entry points to support enriching plugin mechanism\
This plugin mechanism allows ELK to use third-party enriching
backends. Developers only need to include the next snippet in their
package configuration and ELK will import them as any other core
backend. entry_points={"grimoire_elk": "mybackend =
package.subpackage:get_connectors"}, **NOTE**: In the previous
example, `get_connectors` is a function that returns the backend
classes needed to enrich a datasource. Take the next snipped as an
example: def get_connectors(): return {"backend": [MyBackend,
MyBackendOcean, MyBackendEnrich, MyBackendCommand]}

**Bug fixes:**

* [raw/slack] Handle fields in "data.file"\
Avoid the 'Failed to insert data to ES' error when a document contains
at least one immense term in 'data.file' (whose UTF8 encoding is
longer than the max length 32766).


grimoire-elk 0.103.0-rc.10 - (2022-09-26)

**New features:**

* git-branches study skip uncloned repo\
The git-branches study skips the repository when it is not cloned and
continues with the next one.
* Configurable study aliases\
Before this fix, the name of the study aliases was hard coded. From
now on, these values can be configured by passing them as parameters.
* Entry points to support enriching plugin mechanism\
This plugin mechanism allows ELK to use third-party enriching
backends. Developers only need to include the next snippet in their
package configuration and ELK will import them as any other core
backend. entry_points={"grimoire_elk": "mybackend =
package.subpackage:get_connectors"}, **NOTE**: In the previous
example, `get_connectors` is a function that returns the backend
classes needed to enrich a datasource. Take the next snipped as an
example: def get_connectors(): return {"backend": [MyBackend,
MyBackendOcean, MyBackendEnrich, MyBackendCommand]}

**Bug fixes:**

* [raw/slack] Handle fields in "data.file"\
Avoid the 'Failed to insert data to ES' error when a document contains
at least one immense term in 'data.file' (whose UTF8 encoding is
longer than the max length 32766).


grimoire-elk 0.103.0-rc.9 - (2022-09-26)

**New features:**

* Configurable study aliases\
Before this fix, the name of the study aliases was hard coded. From
now on, these values can be configured by passing them as parameters.
* git-branches study skip uncloned repo\
The git-branches study skips the repository when it is not cloned and
continues with the next one.
* Entry points to support enriching plugin mechanism\
This plugin mechanism allows ELK to use third-party enriching
backends. Developers only need to include the next snippet in their
package configuration and ELK will import them as any other core
backend. entry_points={"grimoire_elk": "mybackend =
package.subpackage:get_connectors"}, **NOTE**: In the previous
example, `get_connectors` is a function that returns the backend
classes needed to enrich a datasource. Take the next snipped as an
example: def get_connectors(): return {"backend": [MyBackend,
MyBackendOcean, MyBackendEnrich, MyBackendCommand]}

**Bug fixes:**

* [raw/slack] Handle fields in "data.file"\
Avoid the 'Failed to insert data to ES' error when a document contains
at least one immense term in 'data.file' (whose UTF8 encoding is
longer than the max length 32766).


grimoire-elk 0.103.0-rc.8 - (2022-09-26)

**New features:**

* git-branches study skip uncloned repo\
The git-branches study skips the repository when it is not cloned and
continues with the next one.
* Configurable study aliases\
Before this fix, the name of the study aliases was hard coded. From
now on, these values can be configured by passing them as parameters.
* Entry points to support enriching plugin mechanism\
This plugin mechanism allows ELK to use third-party enriching
backends. Developers only need to include the next snippet in their
package configuration and ELK will import them as any other core
backend. entry_points={"grimoire_elk": "mybackend =
package.subpackage:get_connectors"}, **NOTE**: In the previous
example, `get_connectors` is a function that returns the backend
classes needed to enrich a datasource. Take the next snipped as an
example: def get_connectors(): return {"backend": [MyBackend,
MyBackendOcean, MyBackendEnrich, MyBackendCommand]}

**Bug fixes:**

* [raw/slack] Handle fields in "data.file"\
Avoid the 'Failed to insert data to ES' error when a document contains
at least one immense term in 'data.file' (whose UTF8 encoding is
longer than the max length 32766).


grimoire-elk 0.103.0-rc.7 - (2022-09-23)

**New features:**

* Configurable study aliases\
Before this fix, the name of the study aliases was hard coded. From
now on, these values can be configured by passing them as parameters.
* git-branches study skip uncloned repo\
The git-branches study skips the repository when it is not cloned and
continues with the next one.
* Entry points to support enriching plugin mechanism\
This plugin mechanism allows ELK to use third-party enriching
backends. Developers only need to include the next snippet in their
package configuration and ELK will import them as any other core
backend. entry_points={"grimoire_elk": "mybackend =
package.subpackage:get_connectors"}, **NOTE**: In the previous
example, `get_connectors` is a function that returns the backend
classes needed to enrich a datasource. Take the next snipped as an
example: def get_connectors(): return {"backend": [MyBackend,
MyBackendOcean, MyBackendEnrich, MyBackendCommand]}

**Bug fixes:**

* [raw/slack] Handle fields in "data.file"\
Avoid the 'Failed to insert data to ES' error when a document contains
at least one immense term in 'data.file' (whose UTF8 encoding is
longer than the max length 32766).


grimoire-elk 0.103.0-rc.6 - (2022-09-23)

**New features:**

* Configurable study aliases\
Before this fix, the name of the study aliases was hard coded. From
now on, these values can be configured by passing them as parameters.
* git-branches study skip uncloned repo\
The git-branches study skips the repository when it is not cloned and
continues with the next one.
* Entry points to support enriching plugin mechanism\
This plugin mechanism allows ELK to use third-party enriching
backends. Developers only need to include the next snippet in their
package configuration and ELK will import them as any other core
backend. entry_points={"grimoire_elk": "mybackend =
package.subpackage:get_connectors"}, **NOTE**: In the previous
example, `get_connectors` is a function that returns the backend
classes needed to enrich a datasource. Take the next snipped as an
example: def get_connectors(): return {"backend": [MyBackend,
MyBackendOcean, MyBackendEnrich, MyBackendCommand]}

**Bug fixes:**

* [raw/slack] Handle fields in "data.file"\
Avoid the 'Failed to insert data to ES' error when a document contains
at least one immense term in 'data.file' (whose UTF8 encoding is
longer than the max length 32766).


grimoire-elk 0.103.0-rc.5 - (2022-09-23)

**New features:**

* Configurable study aliases\
Before this fix, the name of the study aliases was hard coded. From
now on, these values can be configured by passing them as parameters.
* git-branches study skip uncloned repo\
The git-branches study skips the repository when it is not cloned and
continues with the next one.
* Entry points to support enriching plugin mechanism\
This plugin mechanism allows ELK to use third-party enriching
backends. Developers only need to include the next snippet in their
package configuration and ELK will import them as any other core
backend. entry_points={"grimoire_elk": "mybackend =
package.subpackage:get_connectors"}, **NOTE**: In the previous
example, `get_connectors` is a function that returns the backend
classes needed to enrich a datasource. Take the next snipped as an
example: def get_connectors(): return {"backend": [MyBackend,
MyBackendOcean, MyBackendEnrich, MyBackendCommand]}

**Bug fixes:**

* [raw/slack] Handle fields in "data.file"\
Avoid the 'Failed to insert data to ES' error when a document contains
at least one immense term in 'data.file' (whose UTF8 encoding is
longer than the max length 32766).


grimoire-elk 0.103.0-rc.4 - (2022-09-07)

**New features:**

* Configurable study aliases\
Before this fix, the name of the study aliases was hard coded. From
now on, these values can be configured by passing them as parameters.
* git-branches study skip uncloned repo\
The git-branches study skips the repository when it is not cloned and
continues with the next one.
* Entry points to support enriching plugin mechanism\
This plugin mechanism allows ELK to use third-party enriching
backends. Developers only need to include the next snippet in their
package configuration and ELK will import them as any other core
backend. entry_points={"grimoire_elk": "mybackend =
package.subpackage:get_connectors"}, **NOTE**: In the previous
example, `get_connectors` is a function that returns the backend
classes needed to enrich a datasource. Take the next snipped as an
example: def get_connectors(): return {"backend": [MyBackend,
MyBackendOcean, MyBackendEnrich, MyBackendCommand]}

**Bug fixes:**

* [raw/slack] Handle fields in "data.file"\
Avoid the 'Failed to insert data to ES' error when a document contains
at least one immense term in 'data.file' (whose UTF8 encoding is
longer than the max length 32766).


grimoire-elk 0.103.0-rc.3 - (2022-08-23)

**New features:**

* Configurable study aliases\
Before this fix, the name of the study aliases was hard coded. From
now on, these values can be configured by passing them as parameters.
* Entry points to support enriching plugin mechanism\
This plugin mechanism allows ELK to use third-party enriching
backends. Developers only need to include the next snippet in their
package configuration and ELK will import them as any other core
backend. entry_points={"grimoire_elk": "mybackend =
package.subpackage:get_connectors"}, **NOTE**: In the previous
example, `get_connectors` is a function that returns the backend
classes needed to enrich a datasource. Take the next snipped as an
example: def get_connectors(): return {"backend": [MyBackend,
MyBackendOcean, MyBackendEnrich, MyBackendCommand]}

**Bug fixes:**

* [raw/slack] Handle fields in "data.file"\
Avoid the 'Failed to insert data to ES' error when a document contains
at least one immense term in 'data.file' (whose UTF8 encoding is
longer than the max length 32766).


grimoire-elk 0.103.0-rc.2 - (2022-07-22)

**New features:**

* Entry points to support enriching plugin mechanism\
This plugin mechanism allows ELK to use third-party enriching
backends. Developers only need to include the next snippet in their
package configuration and ELK will import them as any other core
backend. entry_points={"grimoire_elk": "mybackend =
package.subpackage:get_connectors"}, **NOTE**: In the previous
example, `get_connectors` is a function that returns the backend
classes needed to enrich a datasource. Take the next snipped as an
example: def get_connectors(): return {"backend": [MyBackend,
MyBackendOcean, MyBackendEnrich, MyBackendCommand]}
* Configurable study aliases\
Before this fix, the name of the study aliases was hard coded. From
now on, these values can be configured by passing them as parameters.

**Bug fixes:**

* [raw/slack] Handle fields in "data.file"\
Avoid the 'Failed to insert data to ES' error when a document contains
at least one immense term in 'data.file' (whose UTF8 encoding is
longer than the max length 32766).


grimoire-elk 0.103.0-rc.1 - (2022-07-21)

**New features:**

* Entry points to support enriching plugin mechanism\
This plugin mechanism allows ELK to use third-party enriching
backends. Developers only need to include the next snippet in their
package configuration and ELK will import them as any other core
backend. entry_points={"grimoire_elk": "mybackend =
package.subpackage:get_connectors"}, **NOTE**: In the previous
example, `get_connectors` is a function that returns the backend
classes needed to enrich a datasource. Take the next snipped as an
example: def get_connectors(): return {"backend": [MyBackend,
MyBackendOcean, MyBackendEnrich, MyBackendCommand]}
* Configurable study aliases\
Before this fix, the name of the study aliases was hard coded. From
now on, these values can be configured by passing them as parameters.

**Bug fixes:**

* [raw/slack] Handle fields in "data.file"\
Avoid the 'Failed to insert data to ES' error when a document contains
at least one immense term in 'data.file' (whose UTF8 encoding is
longer than the max length 32766).


GrimoireELK 0.102.0 - (2022-06-24)

**Bug fixes:**

* Poetry build version updated\
The current version of the `poetry` builder was old and caused some
problems when installing packages in developer mode. With this new
version, it's possible to install ELK in developer or editable mode
without using `setuptools` files (i.e. `setup.cfg` and `setup.py`).

**Others:**

* GrimoireLab dependencies update\
Dependencies have been updated to use the latest versions of
GrimoireLab packages:
- grimoirelab-toolkit >= 0.3
- perceval >= 0.19
- perceval-mozilla >= 0.3
- perceval-opnfv >=0.2
- perceval-puppet >= 0.2
- perceval-weblate >= 0.2
- graal >= 0.3
- cereslib >= 0.3


GrimoireELK 0.101.1 - (2022-06-03)

**Bug fixes:**

* Pair programming regular expression improvement\
The regular expression to detect pair programming authors in git
datasource has been improved adding more connectors. The following
list shows the current connectors: - `[aA][nN][dD]` - `&` - `+`
* Fix fetching authors with min and max dates\
The old query only returns 10000 items due to ElasticSearch and
OpenSearch now use `composite` aggregation to paginate all buckets.


GrimoireELK 0.101.0 - (2022-06-03)

**New features:**

* Anonymize parameters\
A new API function `anonymize_params(params)` allows to anonymize a
list of parameters that developers might consider secrets. It will
only take effect for those parameters which their names are defined on
`SECRET_PARAMETERS` constant.
* Dependencies file for development\
Include a new requirements.txt file to install the development version
from the repositories.
* Support to add identities to SortingHat from Enrich class\
New methods `add_identities` and `add_identity` are available on
`Enrich` class to add new identities to a `SortingHat` database.
Libraries using `elk` won't need to use `sortinghat` library to store
new identities while enriching items.
* Collect and enrich confluence by spaces\
Users can collect and enrich Confluence data from specific spaces
only, adding the option `--spaces=[SPACE1, SPACE2, ...]` to their
`projects.json`. The following example shows how to collect and to
enrich data from only the `DEV` and `SUPP` spaces only. {
"project": { "confluence": [ "http://example.com
--spaces=[DEV, SUPP]" ] } }
* Add demographic study to mattermost\
Add the demographic study to the mattermost data source.

**Bug fixes:**

* Skip sources with wrong arguments\
Sources won't interrupt collection or enrichment processes when any of
their arguments are invalid. Instead, they will be skipped.
* Git fix 'is_git_commit_multi_author'\
This fixes the `is_git_commit_multi_author` field when the commit has
more than one author and `pair-programming` is enabled. This is
important for calculating `pair_programming_*` values.
* SortingHat as a required package\
SortingHat is required for running grimoireelk but it was set as an
extra dependency. From now on sortinghat is always installed with
grimoireelk.
* Confluence credentials not stored in raw indexes\
Credentials for Confluence datasource were stored in raw indices as
part of the URL. For now on, credentials that are part of URLs are
removed before any data is stored.

**Feature removals:**

* Drop Python 3.6 support\
Python 3.6 reached the end of life at the end of 2021. This means it
won't receive new updates or patches to fix security issues.
Therefore, this package will only work with Python >= 3.7 from now on.
* FINOS Meeting backend removed\
FINOS Meeting backend is not supported anymore. The Perceval backend
was archived in Bitergia repository so it shouldn't be part of the
core anymore because it's software not maintained.


GrimoireELK 0.75.0 - (2020-06-20)

**New features:**

* Add support for RocketChat (876)\
Added support for collecting and enriching the messages of RocketChat
instances. The schema of the enriched data has been included. Tests
have been added too. This work is a community contribution, which has
been possible thanks to Obaro Ikoh and Animesh Kumar.


GrimoireELK 0.72.0 - (2020-04-24)

**New features:**

* code complexity per language (782)\
Add language differentiation to code complexity analysis (Cocom)
* Add support for Gitter (820)\
Added support for creating raw and enriched indexes of message from
Gitter. The visualizations and tests for extracted data have also been
added.
* Add support for Pagure (821)\
Added support for creating raw and enriched indexes of Pagure. Issued
from a Pagure repository are enriched. Additionally, the comments of
these issues (if present) are also enriched. The schema for this
backend has also been added. Tests have been included accordingly.
* Store and process GitHub events\
ELK is enhanced to process and store events collected from the GitHub
API. The events currently supported are - LabeledEvent -
UnlabeledEvent - AddedToProjectEvent - MovedColumnsInProjectEvent -
RemovedFromProjectEvent - CrossReferencedEvent - ClosedEvent

**Bug fixes:**

* Fix missing geolocation in Meetup event (826)\
This fix allows to process Meetup events for which geolocation
information isn't provided. For these events, the corresponding
attribute in the enriched index (`venue_geolocation`) is set to None.



Releases

cereslib 1.0.9 - (2025-01-15)

* Update Poetry's package dependencies

cereslib 1.0.8 - (2024-12-11)

* Update Poetry's package dependencies

cereslib 1.0.7 - (2024-11-13)

* Update Poetry's package dependencies

cereslib 1.0.6 - (2024-10-15)

* Update Poetry's package dependencies

cereslib 1.0.5 - (2024-09-23)

**Dependencies updateds:**

* Python minimum version updated\
Python 3.8 will reach its end of life in October 2024. Python 3.9 is
the minimum version required by the project.


cereslib 1.0.4 - (2024-08-09)

* Update Poetry's package dependencies

cereslib 1.0.3 - (2024-08-02)

* Update Poetry's package dependencies

cereslib 1.0.2 - (2024-06-21)

* Update Poetry's package dependencies

cereslib 1.0.1 - (2024-05-09)

* Update Poetry's package dependencies

cereslib 1.0.0 - (2024-04-13)

**New features:**

* First major release\
GrimoireLab reached a stable status. This is our first major release.


cereslib 0.5.6 - (2024-03-27)

* Update Poetry's package dependencies

cereslib 0.5.5 - (2024-03-12)

* Update Poetry's package dependencies

cereslib 0.5.4 - (2024-03-01)

* Update Poetry's package dependencies

cereslib 0.5.3 - (2024-02-08)

* Update Poetry's package dependencies

cereslib 0.5.2 - (2024-01-30)

* Update Poetry's package dependencies

cereslib 0.5.1 - (2023-12-19)

* Update Poetry's package dependencies

cereslib 0.5.0 - (2023-11-28)

**New features:**

* TimeZone field in Git Areas of Code\
Include time zone field of commit date in Git Areas of Code index.

**Bug fixes:**

* Future compatibility with Pandas method (52)\
Set regex parameter to True in `pandas.Series.str.replace` for future
compatibility.


cereslib 0.4.3 - (2023-10-20)

**Dependencies updateds:**

* Add Python 3.9 and 3.10 and drop 3.7 support\
Python 3.7 reached the end of life phase on June 27 2023 and is no
longer supported.


cereslib 0.4.2 - (2023-07-11)

* Update Poetry's package dependencies

cereslib 0.4.1 - (2023-06-28)

* Update Poetry's package dependencies

cereslib 0.4.0 - (2023-04-21)

**New features:**

* Support for more languages and file types\
The library is able to detect the new file formats and language
formats. This list includes JavaScript, TypeScript, Terraform, among
others.


cereslib 0.3.6 - (2023-02-01)

* Update Poetry's package dependencies

cereslib 0.3.5 - (2022-11-07)

* Update Poetry's package dependencies

cereslib 0.3.4 - (2022-10-31)

* Update Poetry's package dependencies

cereslib 0.3.2 - (2022-09-26)

**Others:**

* Update package dependencies\
Update numpy version to be the same as in sortinghat


cereslib 0.3.2-rc.4 - (2022-09-26)

**Others:**

* Update package dependencies\
Update numpy version to be the same as in sortinghat


cereslib 0.3.2-rc.3 - (2022-09-26)

**Others:**

* Update package dependencies\
Update numpy version to be the same as in sortinghat


cereslib 0.3.1 - (2022-06-24)

**Others:**

* GrimoireLab dependencies update\
Dependencies have been updated to use the latest versions of
GrimoireLab packages:
- grimoirelab-toolkit >= 0.3


cereslib 0.3.0 - (2022-06-03)

**New features:**

* Dependencies file for development\
Include a new requirements.txt file to install the development version
from the repositories.


cereslib 0.2.0 - (2022-05-31)

**Feature removals:**

* grimoire-elk dependency removed\
The dependency of the library 'grimoire-elk' has been removed to avoid
the cyclic dependency that has with 'cereslib'.



Releases

perceval 1.1.1 - (2025-01-15)

* Update Poetry's package dependencies

perceval 1.1.0 - (2024-12-11)

**Bug fixes:**

* Git stats not assigned with their actions\
Git stats were not assigned to their actions in a commit for filenames
that contain whitespaces. Instead, an empty stat was created like in a
merge commit, where actions normally don't take place.

**Performance improvements:**

* Git sync improved for `--latest-items` flag\
The speed updating a git repository when `--lates-items` is set was
very poor. The main problem was when the references were updated to
the new hashes. All the active refs on the repository were modified,
even when they were up-to-date. Now, only references updated on the
remote repository are modified on the local one. Repositories are
synched 2 times faster than before.


perceval 1.0.9 - (2024-11-13)

* Update Poetry's package dependencies

perceval 1.0.8 - (2024-10-15)

* Update Poetry's package dependencies

perceval 1.0.7 - (2024-09-23)

**Dependencies updateds:**

* Python minimum version updated\
Python 3.8 will reach its end of life in October 2024. Python 3.9 is
the minimum version required by the project.


perceval 1.0.6 - (2024-08-30)

**Bug fixes:**

* Fix issue 782 (782)\
The issue was that perceval would not delete old tags from upstream
references. This change deletes tags locally if tags are deleted
upstream.


perceval 1.0.5 - (2024-08-13)

**Bug fixes:**

* Fixed missing backend name in usage string (799)\
The `perceval` command-line tool now correctly displays the backend
name in the usage string when using the `--help` option.


perceval 1.0.4 - (2024-08-09)

* Update Poetry's package dependencies

perceval 1.0.3 - (2024-08-02)

* Update Poetry's package dependencies

perceval 1.0.2 - (2024-06-21)

**Bug fixes:**

* Empty stats for moved/copied files in git\
Stats about changes on a file were not reported correctly for files
that where moved to a subdirectory. They were reported as an invalid
entry and without action associated. For example, the file
`dir/filename` was moved to `dir/subdir/filename`, but it was reported
as `dir//filename`. Therefore, the entry of the file
`dir/subdire/filename` didn't have the stats about added and deleted
lines. This error has been fixed and stats are reported correctly.


perceval 1.0.1 - (2024-05-09)

* Update Poetry's package dependencies

perceval 1.0.0 - (2024-04-13)

**New features:**

* First major release\
GrimoireLab reached a stable status. This is our first major release.


perceval 0.25.0 - (2024-03-27)

**New features:**

* Include recovery mode for Git backend\
Include a new option in Git that allows continuing to fetch commits
from the previous execution using the last commit. The option is
`--recovery <commit>`. The last commit can be obtained from the offset
in the summary object of the last execution or the last item.


perceval 0.24.1 - (2024-03-12)

* Update Poetry's package dependencies

perceval 0.24.0 - (2024-03-01)

**New deprecations:**

* NNTP backend deprecated\
NNTP is deprecated. It is not compatible with Python 3.11.8 and will
be removed in a future version.


perceval 0.23.6 - (2024-02-08)

* Update Poetry's package dependencies

perceval 0.23.5 - (2024-01-30)

* Update Poetry's package dependencies

perceval 0.23.4 - (2023-12-19)

* Update Poetry's package dependencies

perceval 0.23.3 - (2023-11-28)

* Update Poetry's package dependencies

perceval 0.23.2 - (2023-11-14)

* Update Poetry's package dependencies

perceval 0.23.1 - (2023-11-03)

* Update Poetry's package dependencies

perceval 0.23.0 - (2023-10-20)

**New features:**

* Jira authentication with token (813)\
Authentication in `jira` backend is supported using personal access
tokens. Jira Core/Software (8.14 and later), Jira Service Management
(4.15 and later) Data Center and server editions can use personal
access tokens without a username. For Jira Cloud, username and token
are required. Usage: perceval jira <YOUR_JIRA_SERVER> -u <USERNAME> -p
<PASSWORD> perceval jira <YOUR_JIRA_SERVER> -t <PERSONAL_ACCESS_TOKEN>
perceval jira <YOUR_JIRA_CLOUD_SITE> -u <USERNAME> -t <TOKEN>
* Clonfluence authentication with personal access tokens\
Authentication in `confluence` backend is supported using personal
access tokens. Confluence Data Center and server editions 7.9 and
later can use personal access tokens without a username. For
Confluence Cloud, username and token are required.

**Feature removals:**

* Drop Python 3.7 support\
Python 3.7 reaches the end of life in June 2023. This means it won't
receive new updates or patches to fix security issues. Therefore, this
package only works with Python >= 3.8 from now on.

**Dependencies updateds:**

* Bump urllib3 version\
Bump urllib3 from ^1.26 to ^2.0.7


perceval 0.22.3 - (2023-08-06)

* Update Poetry's package dependencies

perceval 0.22.2 - (2023-07-23)

* Update Poetry's package dependencies

perceval 0.22.1 - (2023-07-11)

* Update Poetry's package dependencies

perceval 0.22.0 - (2023-06-28)

**New features:**

* Git backend alternates mechanism\
Git alternates is a mechanism that lets a repository borrow objects
from another repository on the same machine. Allow to execute Git
Perceval backend using this mechanism.


perceval 0.21.7 - (2023-05-17)

* Update Poetry's package dependencies

perceval 0.21.6 - (2023-04-27)

* Update Poetry's package dependencies

perceval 0.21.5 - (2023-04-26)

* Update Poetry's package dependencies

perceval 0.21.4 - (2023-04-21)

**Bug fixes:**

* Default value for mbox to-date (810)\
Include a default value for `--to-date` argument in mbox backend.


perceval 0.21.3 - (2023-02-03)

* Update Poetry's package dependencies

perceval 0.21.2 - (2023-02-01)

* Update Poetry's package dependencies

perceval 0.21.1 - (2022-11-07)

**Bug fixes:**

* Mbox to-date argument fixed\
It fixes the `--to-date` argument. This parameter was added to fetch
data until a specific date.


perceval 0.21.0 - (2022-10-31)

**New features:**

* [gitlab] Alias `--url` for `--enterprise-url` argument (801)\
The argument `--enterprise-url` for Gitlab backend has the new alias
`--url`. With this argument, users can define the GitLab instance from
items will be fetched. This can be set to the SaaS GitLab
(`gitlab.com`) or to a self-managed instance (e.g.
`gitlab.example.com`). By default, this parameter points to
`https://gitlab.com`.
* [hyperkitty/mbox] Option `to-date` to fetch until that date\
This parameter allows fetching data until a specific date. By default,
this value is `2100-01-01`, but this can be changed adding `--to-
date`.


perceval 0.20.0 - (2022-09-26)

**New features:**

* [phabricator] Skip a list of items by id\
Perceval will not fetch the items set with the `--blacklist-ids`
argument. In the following example, `perceval` will skip the items
with ids `123` and `456`: perceval phabricator <PHAB_URL> -t
<API_TOKEN> --blacklist-ids 123 456


perceval 0.20.0-rc.15 - (2022-09-26)

**New features:**

* [phabricator] Skip a list of items by id\
Perceval will not fetch the items set with the `--blacklist-ids`
argument. In the following example, `perceval` will skip the items
with ids `123` and `456`: perceval phabricator <PHAB_URL> -t
<API_TOKEN> --blacklist-ids 123 456


perceval 0.20.0-rc.14 - (2022-09-26)

**New features:**

* [phabricator] Skip a list of items by id\
Perceval will not fetch the items set with the `--blacklist-ids`
argument. In the following example, `perceval` will skip the items
with ids `123` and `456`: perceval phabricator <PHAB_URL> -t
<API_TOKEN> --blacklist-ids 123 456


perceval 0.20.0-rc.13 - (2022-09-26)

**New features:**

* [phabricator] Skip a list of items by id\
Perceval will not fetch the items set with the `--blacklist-ids`
argument. In the following example, `perceval` will skip the items
with ids `123` and `456`: perceval phabricator <PHAB_URL> -t
<API_TOKEN> --blacklist-ids 123 456


perceval 0.20.0-rc.12 - (2022-09-23)

**New features:**

* [phabricator] Skip a list of items by id\
Perceval will not fetch the items set with the `--blacklist-ids`
argument. In the following example, `perceval` will skip the items
with ids `123` and `456`: perceval phabricator <PHAB_URL> -t
<API_TOKEN> --blacklist-ids 123 456


perceval 0.20.0-rc.11 - (2022-09-23)

**New features:**

* [phabricator] Skip a list of items by id\
Perceval will not fetch the items set with the `--blacklist-ids`
argument. In the following example, `perceval` will skip the items
with ids `123` and `456`: perceval phabricator <PHAB_URL> -t
<API_TOKEN> --blacklist-ids 123 456


perceval 0.20.0-rc.10 - (2022-09-23)

**New features:**

* [phabricator] Skip a list of items by id\
Perceval will not fetch the items set with the `--blacklist-ids`
argument. In the following example, `perceval` will skip the items
with ids `123` and `456`: perceval phabricator <PHAB_URL> -t
<API_TOKEN> --blacklist-ids 123 456


perceval 0.20.0-rc.9 - (2022-09-09)

**New features:**

* [phabricator] Skip a list of items by id\
Perceval will not fetch the items set with the `--blacklist-ids`
argument. In the following example, `perceval` will skip the items
with ids `123` and `456`: perceval phabricator <PHAB_URL> -t
<API_TOKEN> --blacklist-ids 123 456


perceval 0.20.0-rc.8 - (2022-09-09)

**New features:**

* [phabricator] Skip a list of items by id\
Perceval will not fetch the items set with the `--blacklist-ids`
argument. In the following example, `perceval` will skip the items
with ids `123` and `456`: perceval phabricator <PHAB_URL> -t
<API_TOKEN> --blacklist-ids 123 456


perceval 0.20.0-rc.7 - (2022-09-07)

**New features:**

* [phabricator] Skip a list of items by id\
Perceval will not fetch the items set with the `--blacklist-ids`
argument. In the following example, `perceval` will skip the items
with ids `123` and `456`: perceval phabricator <PHAB_URL> -t
<API_TOKEN> --blacklist-ids 123 456


perceval 0.20.0-rc.6 - (2022-09-07)

**New features:**

* [phabricator] Skip a list of items by id\
Perceval will not fetch the items set with the `--blacklist-ids`
argument. In the following example, `perceval` will skip the items
with ids `123` and `456`: perceval phabricator <PHAB_URL> -t
<API_TOKEN> --blacklist-ids 123 456


perceval 0.20.0-rc.5 - (2022-09-06)

**New features:**

* [phabricator] Skip a list of items by id\
Perceval will not fetch the items set with the `--blacklist-ids`
argument. In the following example, `perceval` will skip the items
with ids `123` and `456`: perceval phabricator <PHAB_URL> -t
<API_TOKEN> --blacklist-ids 123 456


perceval 0.20.0-rc.4 - (2022-09-06)

**New features:**

* [phabricator] Skip a list of items by id\
Perceval will not fetch the items set with the `--blacklist-ids`
argument. In the following example, `perceval` will skip the items
with ids `123` and `456`: perceval phabricator <PHAB_URL> -t
<API_TOKEN> --blacklist-ids 123 456


perceval 0.20.0-rc.3 - (2022-08-23)

**New features:**

* [phabricator] Skip a list of items by id\
Perceval will not fetch the items set with the `--blacklist-ids`
argument. In the following example, `perceval` will skip the items
with ids `123` and `456`: perceval phabricator <PHAB_URL> -t
<API_TOKEN> --blacklist-ids 123 456


perceval 0.20.0-rc.2 - (2022-07-22)

**New features:**

* [phabricator] Skip a list of items by id\
Perceval will not fetch the items set with the `--blacklist-ids`
argument. In the following example, `perceval` will skip the items
with ids `123` and `456`: perceval phabricator <PHAB_URL> -t
<API_TOKEN> --blacklist-ids 123 456


perceval 0.20.0-rc.1 - (2022-07-21)

**New features:**

* [phabricator] Skip a list of items by id\
Perceval will not fetch the items set with the `--blacklist-ids`
argument. In the following example, `perceval` will skip the items
with ids `123` and `456`: perceval phabricator <PHAB_URL> -t
<API_TOKEN> --blacklist-ids 123 456


Perceval 0.19.1 - (2022-06-28)

**Bug fixes:**

* [confluence] KeyError exception when arguments not passed to 'fetch_items'\
Required arguments that weren't passed to 'fetch_items' made the code
fail with a KeyError exception.


Perceval 0.19.0 - (2022-06-24)

**New features:**

* [confluence] Option `max_contents` to limit the number of requested contents\
This parameter sets the maximum number of contents requested per
query. By default, this number is 200, but this can be changed by
adding the `--max-contents` argument. This will help to bypass those
instances where the maximum limit is lower than Perceval's default
value.

**Bug fixes:**

* [bugzillarest] Failback when checking custom instances\
Some Bugzilla instances return a HTTP 400 error when checking if their
are custom instances or not. On those cases, the backend will capture
the error and consider the version of that Bugzilla instance as
custom.
* Slack identifier extraction fixed\
Extract the identifier without user information when the user was
deleted.


perceval 0.18.0 - (2022-06-01)

**New features:**

* [bugzillarest] API Key authentication\
A new authentication is available in the `bugzillarest` backend using
an API Key. This can be provided using the parameter `--api-key` on
the command line. Note that this parameter will invalidate `--backend-
user` `--backend-password`, and `--api-token` parameters. For
developers, this parameter is also available during the initialization
of the class `BugzillaRESTClient` under the name `api_key`.
* Confluence supports fetch by spaces\
This allows fetching confluence by specific spaces. By default it will
fetch the entire instance, but adding the `--spaces` argument will
fetch only these spaces.

**Feature removals:**

* Drop Python 3.6 support\
Python 3.6 reached the end of life at the end of 2021. This means it
won't receive new updates or patches to fix security issues.
Therefore, this package will only work with Python >= 3.7 from now on.


Perceval 0.15.0 - (2020-06-13)

**New features:**

* Add Rocket.Chat backend (543)\
Added support to fetch messages from a Rocket.Chat channel. The
messages are fetched in an ascending order based on time when they
were last updated. The channel information is also fetched. The tests
have been added accordingly. The usage docs have been updated.

Perceval 0.12 - (2018-10-02)

** New features and improvements: **

* So far, the JSON items written to the defined output (standard output
by default) were difficult to parse. With the option `--json-line`, each
item will be written in one line, making easier their consumption by
other processes.
* New set of backends added:
- **GoogleHits**
- **Twitter**
* Minor bugs were fixed and test coverage was improved.

** Backend improvements: **

* **gitlab**
- add merge request category
* **github**
- increase the number of items retrieved per page
- add the list of commits hashed included in pull requests
* **mediawiki**
- optimize the number of API calls
* **pipermail**
- disable SSL verification


Perceval 0.11 - (2018-05-21)

** New features improvements: **

* Problems with namespaces were fixed. This package was not really using
Python namespaces. When other packages, such as `perceval-mozilla` or
`perceval-opnfv`, were installed `__init__.py` (inside `perceval`)
were overwritten breaking the structure of the main package and making
Perceval unusable. This release defines `perceval` as a namespace. Due
to it, `fetch`, `find_backends` and other symbols are no longer accessible
from the main package.
* Mattermost backend added.


Perceval 0.10 - (2018-04-11)

** New features and improvements: **

* Support for Python 3.5, 3.6.
* New set of backends added:
- **GitLab**
- **Launchpad**
* `Cache` was removed in favor of `Archive`. This new feature stores, in
SQLite databases, each data response received from a remote source. Thus,
it is possible to retrieve original data again without accessing the remote
source.
* A new generic HTTP client (`HttpClient`) is available and shared by those
backends which require to fetch data using that protocol. This client manages
rate limits, sleep times and retries in case of error. It is fully extensible
and configurable.
* With the integration of categories, backends would be able to generate
different types of items. For instance, GitHub generates issue and
pull request items. The option `--category` allows to set which type of
items will be fetched.
* Gmane site shut down its activity in July 2016. Although there were some
actions to revamp it, it is still down. For these reasons, Gmane backend
is no longer maintained and has been removed from the core backends.
* Tests were improved, specially, adding unit tests for Gerrit backend.
* Perceval and GrimoireLab project are now part of CHAOSS community.

** Backend improvements: **

* **askbot**
- add data about accepted answers
* **gerrit**
- rename parameter URL to hostname
* **git**
- add `to-date` option to fetch data up to the given date
- run Git commands setting HOME environment variable
- clone data into a bare repository instead of a work copy
* **github**
- fetch issue comments
- fetch issue/comments reactions
- fetch multiple assignees
- fetch pull request category
- major refactoring reducing the number of requests sent by the client
* **phabricator**
- include project/user information in task transactions

** Bugs fixed: **

* The process for discovering references in Git repositories failed
with those repositories which do not have any. (260)
* When a local Git repository was analyzed by Perceval, the directory where
it was cloned was created inside the local repository. (262)
* Sleep times when rate limit is in use were wrongly calculated in some
cases, generating negative values. (355)
* Pipermail backend failed on inaccessible archive URLs. Now, it skips
those URLs generating warning messages. (358)

** Thanks to: **

* Anvesh Chaturvedi
* David Pose Fernández
* Prabhat Sharma


Perceval 0.9 - (2017-07-17)

** New features and improvements: **

* DockerHub added as new backend.
* Fetch the latest commits added in a Git repository using
the argument `latest-items`.

** Bugs fixed: **

* In Slack, comment messages were not processed raising an error
when their UUIDs were computed. These messages do not include a
'user' field on the top layer, which made the backed to fail.
This field can be found inside 'comment' key.
* Some versions of gerrit return number review as an integer.
This value must be converted to string because UUIDs can only be
generated using string values. (144)


Perceval 0.8 - (2017-05-15)

** New features and improvements: **

* Common functions used across GrimoireLab projects have been moved
to their own package. This package was named `grimoirelab-toolkit`.
From this version, Perceval depends on this package.

** Backend improvements: **

* **askbot**
- support new URLs schema for comment queries
* **bugzilla**
- set `User-Agent` header in HTTP clients
* **confluence**
- add content URL to each item
* **gerrit**
- add option to disable SSH host keys checks
* **nntp**
- raise `ParseError` exceptions when an encoding error is found
* **rss**
- set `User-Agent` header in HTTP clients


Perceval 0.7 - (2017-03-21)

** New features and improvements: **

* New set of backends added:
- Hyperkitty
- NNTP
- Slack
* `RateLimitError` exception added for handling rate limit errors.
* Code was cleaned to follow most of the PEP8 style guidelines.

** Backend improvements: **

* **git**
- retry calls on SSH commands were added to avoid temporal server errors
* **github**
- HHTP 404 errors are managed when user's organizations are fetched
- generic `RateLimitError` exception is used

** Bugs fixed: **

* In Mediawiki backend, the log messages written when a revision is not
found were set to ERROR when the real level should have been WARNING.
* The URL used to fetch jobs in Jenkins was not common to all servers.
* When UUIDs are generated with some input data, some errors may be raised
due to problems encoding invalid characters on the input. To avoid these
problems, a surrogate escape control error has been set when data is
encoded to UTF8. (123)
* Handle Meetup requests rate limit. (126)


Perceval 0.6 - (2017-02-02)

** Backend improvements: **

* **bugzillarest**
- messages in client errors were improved
* **git**
- new method `is_detached()`
* **mbox**
- ignore messages with invalid dates on `Date` header
* **phabricator**
- retry requests on HTTP 502 and 503 errors

** Bugs fixed: **

* The `mbox` class from Python's `mailbox` module fails when it tries to
decode non-ascii unix-from headers. This header is used as a separator
between messages. When this error is found, the class stops reading messages
from the mbox. Wrapping `mbox` class to override the way messages are read
was needed to catch the exception and decode the header using UTF-8.
* When a user does not exists on Phabricator, the API does not return an
error. It returns an empty list. The case where an empty list is returned
was not managed by the parser, which raised exceptions.
* In gerrit, the identifier of the change, `Change-Id` (or `id`), is not unique.
What it is unique in a gerrit sever is the number of each change and review.
This `number` is used now instead of `id` as the identifier of a review
* When Git repositories are reset to the current status on upstream, some of
them cannot deal with `origin` reference because it is ambiguous. Replacing
it by `FETCH_HEAD` works on those repositories with defined branches on
the origin.
* Git repositories in detached state do not need to be reset after `git fetch`
is called. This call is now skipped when a repository in this state
is in use. (105)


Perceval 0.5 - (2017-01-17)

** New features and improvements: **

* New set of backends added:
- Askbot
- Meetup
- RSS
* Definition of `perceval.backends` namespace and dynamic loading of backends.
These two features allow to have third party backends or packages of
backends that can be imported and used at runtime.
* Mozilla's backends were moved to their own package: `perceval-mozilla`.
* Commands were refactorized generalizing their usage into `BackendCommand`
class which can run any type of backend. This was possible thanks to the
creation of `BackendCommandArgumentParser` class, that defines, manages and
parses those arguments needed to run a command; the definition of `pre_init()`
and `post_init()` methods during the initialization of the instance; and to
the implementation of `setup_cache()` as a public function of the `cache`
module.

** Backend improvements: **

* **bugzilla**
- set maximum number of bugs requested on CSV queries
* **git**
- parse commit trailers
- new methods `is_empty()` and `count_objects()`
- set missing encodings for the command output
- cleaning up of the module
* **jenkins**
- ignore invalid job builds
* **supybot**
- parse action and bot empty lines
- parse user actions with the format `*nick msg`
- generate item ids using the body of the message

** Bugs fixed: **

* The field 'timestamp' on metadata was not generated in UTC. The call
to `datetime.now()` does not generate a timestamp in UTC. It does using
the timezone of the system. The right way is to call to `datetime.utcnow()`
method. (92)
* The docker image for Perceval purged the git package after installing
`perceval`. This made impossible to run the backend for Git because
Perceval needs of `git` command under the hood. (95)
* Git empty repositories threw errors while fetching commits. Those were
raised because on empty repositories, those which do not have any history
or are only initialized, there are some commands that cannot be run, like
a pull or log. If any of this commands is called an error is be returned.
It was fixed checking whether the repository is empty and returning
an empty list of commits for those cases. (102 and 107)


Perceval 0.4 - (2016-11-03)

** New features and improvements: **

* `category` field was added to items metadata to classify the type of
the item generated with each backend.
* The `tag` attribute added to the backends allows to mark the items
with a custom label.
* Two class methods, `has_caching` and `has_resuming`, are part now
of `Backend` class interface to notify whether a backend supports
caching and/or resuming of items.

** Backend improvements: **

* **jenkins**
- support blacklist of jobs
* **mediawiki**
- use API pages methods by default
* **phabricator**
- fetch and include projects data assigned to each task
* **redmine**
- fetch and include users data
* **remo**
- support new version of the API
* **supybot**
- parse messages written by special bots

** Bugs fixed: **

* Filepaths on merge commits were not captured on Git backend. This was
neccesary in those cases where merge commits only include data about
lines added and removed because the filepaths were not parsed and
included on the item data. (63)
* The `url` argument on the Gerrit backend was set to optional. It is
mandatory. Thus, it was set to positional on the argument parser. (60)
* Newer versions of Phabricator fixed a bug on API Conduit regarding
'constraints' parameter. The Phabricator client was modified to fix
this bug, too. (80)
* Python's `requests` library decompresses gzip-encoded responses, but
in some cases is only able to decompress some parts due to encoding
issues or to mixed contents. This problem was fixed downloading and
storing the orinal/raw data (compressed or decompressed) for furthed
processing.
* Jira backend did not return items in order, from oldest to newest. (89)
* Dates with invalid timezones were not parsed. In those cases, the
the dates will be converted usin UTC by default. (73)


Perceval 0.3 - (2016-09-19)

** New features and improvements: **

* New set of backends added:
- Phabricator
- Redmine
* Add support for creating PyPi packages

** Backend improvements: **

* **jira**
- fetch additional information about custom fields
* **mediawiki**
- add a flag which ignores the MAX_RECENT_DAYS constraint when the
backend is tested

** Bugs fixed: **

* Cache tests for Redmine backend checked the values retrieved from the
repository but not from the cache.
* Timestamps generated to fetch data from a given date included invalid
timezone information for Mediawiki API (>=1.27). It only works with Zulu
dates. (54)
* Date strings that included information after the timezone were not parsed:
`Thu, 14 Aug 2008 02:07:59 +0200 CEST`. (57)


Perceval 0.2 - (2016-07-20)

** New features and improvements: **

* New set of backends added:
- Bugzilla (REST API)
- Confluence
- Discourse
- Gmane
- Jenkins
- Kitsune (Mozilla)
- Mediawiki
- Pipermail
- ReMo (Mozilla)
- Supybot
- Telegram
* The origin of the fetched data is configurable.
* Unit tests for GitHub, Jira and Stack Exchange were added. Other tests
were added and improved. Now, the unit tests framework covers a 83% of
the source code.

** Backend improvements: **

* **gerrit**
- support server version 2.8
* **git**
- filtering by branches
- so far, the full log was read before parsing it; now, it is parsed and processed
while is being read
* **github**
- full control of GitHub API rate limit
- the program can be sent to sleep until the rate limit is reset again
* **mbox**
- fetches messages since a given date
* **pipermail**
- fetches messages from a *mod_mbox* interface (i.e: Apache)

** Bugs fixed: **

* Dates that included parentheses sections were not parsed:
`2005 15:20:32 -0100 (GMT+1)`.
* An encoding error was raised when `version.py` module was imported. (32)
* The call in chain of functions `utcnow()` and `timestamp()` from the
module `time`, produced wrong timezones on the GitHub backend.
* Action IRC messages (leading with a single `*`) were ignored. (48)
* The `backoff` field received in a Stack Exchange API response was
ignored. When this field is set, any client must wait the number of
seconds specified on it before sending any new request.
* The query used in Gerrit to retrieve the reviews was badly formed when
the blacklist filter contained two or more reviews. (50)


Perceval 0.1 - (2016-03-30)

** New features and improvements: **

* Supports Python 3.4 and newer versions.
* Fetches and caches information from several software repositories:
- Bugzilla
- Gerrit
- Git
- GitHub
- Jira
- MBox
- Stack Exchange
* Metadata fields are added to fetched items.
* Dates and times used to request data are always converted to UTC.
* Unit testing framework is available. Currently, these
unit tests cover the 62% of the source code.

** Bugs fixed: **

* Some Git commit log entries may not contain information about files.
Before this was fixed, Perceval raised an exception with a "_Unexpected
end of log stream_" message. (8)
* Empty Git commit logs raised erros when were parsed. (17)
* Character ^M) produced some parsing errors in the Git backend. (21)



Releases

kingarthur 0.2.5 - (2022-11-07)

* Update Poetry's package dependencies

kingarthur 0.2.4 - (2022-10-31)

* Update Poetry's package dependencies

King Arthur 0.2.1 - (2022-06-24)

**Others:**

* GrimoireLab dependencies update\
Dependencies have been updated to use the latest versions of
GrimoireLab packages:
- grimoirelab-toolkit >= 0.3
- perceval >= 0.19


King Arthur 0.2.0 - (2022-06-03)

**New features:**

* Dependencies file for development\
Include a new requirements.txt file to install the development version
from the repositories.

**Feature removals:**

* Drop Python 3.6 support\
Python 3.6 reached the end of life at the end of 2021. This means it
won't receive new updates or patches to fix security issues.
Therefore, this package will only work with Python >= 3.7 from now on.



Releases

grimoirelab-panels 1.1.2 - (2025-01-15)

* Update Poetry's package dependencies

grimoirelab-panels 1.1.1 - (2024-09-23)

**Dependencies updateds:**

* Python minimum version updated\
Python 3.8 will reach its end of life in October 2024. Python 3.9 is
the minimum version required by the project.


grimoirelab-panels 1.1.0 - (2024-06-21)

**New features:**

* Panels compatible with Opensearch Dashboards\
Include panels compatible with Opensearch Dashboards version >= 1.3.2.


grimoirelab-panels 1.0.0 - (2024-04-13)

**New features:**

* First major release\
GrimoireLab reached a stable status. This is our first major release.


grimoirelab-panels 0.3.0 - (2023-10-20)

**Feature removals:**

* Drop Python 3.7 support\
Python 3.7 reaches the end of life in June 2023. This means it won't
receive new updates or patches to fix security issues. Therefore, this
package only works with Python >= 3.8 from now on.


grimoirelab-panels 0.2.0 - (2023-02-01)

**New features:**

* Add new panel: Attracted Contributors


sigils 0.1.0 - (2022-06-03)

**Feature removals:**

* Drop Python 3.6 support\
Python 3.6 reached the end of life at the end of 2021. This means it
won't receive new updates or patches to fix security issues.
Therefore, this package will only work with Python >= 3.7 from now on.



Releases

perceval-puppet 1.0.11 - (2025-01-15)

* Update Poetry's package dependencies

perceval-puppet 1.0.10 - (2024-12-11)

* Update Poetry's package dependencies

perceval-puppet 1.0.9 - (2024-11-13)

* Update Poetry's package dependencies

perceval-puppet 1.0.8 - (2024-10-15)

* Update Poetry's package dependencies

perceval-puppet 1.0.7 - (2024-09-23)

**Dependencies updateds:**

* Python minimum version updated\
Python 3.8 will reach its end of life in October 2024. Python 3.9 is
the minimum version required by the project.


perceval-puppet 1.0.6 - (2024-08-30)

* Update Poetry's package dependencies

perceval-puppet 1.0.5 - (2024-08-13)

* Update Poetry's package dependencies

perceval-puppet 1.0.4 - (2024-08-09)

* Update Poetry's package dependencies

perceval-puppet 1.0.3 - (2024-08-02)

* Update Poetry's package dependencies

perceval-puppet 1.0.2 - (2024-06-21)

* Update Poetry's package dependencies

perceval-puppet 1.0.1 - (2024-05-09)

* Update Poetry's package dependencies

perceval-puppet 1.0.0 - (2024-04-13)

**New features:**

* First major release\
GrimoireLab reached a stable status. This is our first major release.


perceval-puppet 0.2.25 - (2024-03-27)

* Update Poetry's package dependencies

perceval-puppet 0.2.24 - (2024-03-12)

* Update Poetry's package dependencies

perceval-puppet 0.2.23 - (2024-03-01)

* Update Poetry's package dependencies

perceval-puppet 0.2.22 - (2024-02-08)

* Update Poetry's package dependencies

perceval-puppet 0.2.21 - (2024-01-30)

* Update Poetry's package dependencies

perceval-puppet 0.2.20 - (2023-12-19)

* Update Poetry's package dependencies

perceval-puppet 0.2.19 - (2023-11-28)

* Update Poetry's package dependencies

perceval-puppet 0.2.18 - (2023-11-14)

* Update Poetry's package dependencies

perceval-puppet 0.2.17 - (2023-11-03)

* Update Poetry's package dependencies

perceval-puppet 0.2.16 - (2023-10-20)

**Dependencies updateds:**

* Add Python 3.10 and 3.11 and drop 3.7 support\
Python 3.7 reached the end of life phase on June 27 2023 and is no
longer supported.


perceval-puppet 0.2.15 - (2023-08-06)

* Update Poetry's package dependencies

perceval-puppet 0.2.14 - (2023-07-23)

* Update Poetry's package dependencies

perceval-puppet 0.2.13 - (2023-07-11)

* Update Poetry's package dependencies

perceval-puppet 0.2.12 - (2023-06-28)

* Update Poetry's package dependencies

perceval-puppet 0.2.11 - (2023-05-17)

* Update Poetry's package dependencies

perceval-puppet 0.2.10 - (2023-04-27)

* Update Poetry's package dependencies

perceval-puppet 0.2.9 - (2023-04-26)

* Update Poetry's package dependencies

perceval-puppet 0.2.8 - (2023-04-21)

* Update Poetry's package dependencies

perceval-puppet 0.2.7 - (2023-02-03)

* Update Poetry's package dependencies

perceval-puppet 0.2.6 - (2023-02-01)

* Update Poetry's package dependencies

perceval-puppet 0.2.5 - (2022-11-07)

* Update Poetry's package dependencies

perceval-puppet 0.2.4 - (2022-10-31)

* Update Poetry's package dependencies

perceval-puppet 0.2.1 - (2022-06-24)

**Others:**

* GrimoireLab dependencies update\
Dependencies have been updated to use the latest versions of
GrimoireLab packages:
- grimoirelab-toolkit >= 0.3
- perceval >= 0.19


perceval-puppet 0.2.0 - (2022-06-02)

**New features:**

* Dependencies file for development\
Include a new requirements.txt file to install the development version
from the repositories.



Releases

sirmordred 1.1.6 - (2025-01-16)

* Update Poetry's package dependencies

sirmordred 1.1.5 - (2025-01-15)

* Update Poetry's package dependencies

sirmordred 1.1.4 - (2024-12-11)

* Update Poetry's package dependencies

sirmordred 1.1.3 - (2024-11-13)

**Bug fixes:**

* Panels import bug and Micro Mordred failure\
A bug was causing Panels to fail to import in Kibiter and preventing
micro Mordred from working. The issue was in tasks that didn’t require
a SortingHat client to run.


sirmordred 1.1.2 - (2024-10-15)

* Update Poetry's package dependencies

sirmordred 1.1.1 - (2024-09-23)

**Dependencies updateds:**

* Python minimum version updated\
Python 3.8 will reach its end of life in October 2024. Python 3.9 is
the minimum version required by the project.


sirmordred 1.1.0 - (2024-08-30)

**Performance improvements:**

* Reduced the number of connections to SortingHat\
Mordred makes a lot of connections to the SortingHat server which
could cause the uWSGI queue to fill up. When the uWSGI queue is full,
Mordred cannot connect to the SortingHat server.


sirmordred 1.0.5 - (2024-08-13)

* Update Poetry's package dependencies

sirmordred 1.0.4 - (2024-08-09)

**Bug fixes:**

* Identity refresh bug for some items\
Fix issue where some fields were not refreshed. The bug occurred
because the queries to OpenSearch filtered items in which
`author_uuid` was the individual pk, but not when the `<role>_uuid`
was the individual pk. That causes many items that contain the
`<role>_uuid` but not the `author_uuid` not to be refreshed.


sirmordred 1.0.3 - (2024-08-02)

**Bug fixes:**

* Days in collection spent time\
Include days in logs when the collection spent time is more than one
day.


sirmordred 1.0.2 - (2024-06-21)

* Update Poetry's package dependencies

sirmordred 1.0.1 - (2024-05-09)

* Update Poetry's package dependencies

sirmordred 1.0.0 - (2024-04-13)

**New features:**

* First major release\
GrimoireLab reached a stable status. This is our first major release.


sirmordred 0.10.11 - (2024-03-27)

* Update Poetry's package dependencies

sirmordred 0.10.10 - (2024-03-12)

* Update Poetry's package dependencies

sirmordred 0.10.9 - (2024-03-01)

* Update Poetry's package dependencies

sirmordred 0.10.8 - (2024-02-19)

* Update Poetry's package dependencies

sirmordred 0.10.7 - (2024-02-08)

* Update Poetry's package dependencies

sirmordred 0.10.6 - (2024-02-01)

* Update Poetry's package dependencies

sirmordred 0.10.5 - (2024-01-30)

* Update Poetry's package dependencies

sirmordred 0.10.4 - (2023-12-19)

* Update Poetry's package dependencies

sirmordred 0.10.3 - (2023-11-28)

* Update Poetry's package dependencies

sirmordred 0.10.2 - (2023-11-17)

* Update Poetry's package dependencies

sirmordred 0.10.1 - (2023-11-06)

**Bug fixes:**

* Periodic autorefresh not working\
Periodic refresh of identities was not working for backend sections
that included `:` in their name.


sirmordred 0.10.0 - (2023-10-20)

**New features:**

* Refresh identities in a shorter period\
This update significantly reduces the time required for identity
refresh operations on large projects.

**Bug fixes:**

* Missing database parameters for SortingHat\
SortingHat database parameters were not included during the
initialization of the enrich backend.

**Breaking changes:**

* Log format updated with the Mordred project name\
Update the log format of SirMordred and MicroMordred to include the
name of the project.

**Dependencies updateds:**

* Add Python 3.9 and 3.10 and drop 3.7 support\
Python 3.7 reached the end of life phase on June 27 2023 and is no
longer supported.


sirmordred 0.9.3 - (2023-08-06)

* Update Poetry's package dependencies

sirmordred 0.9.2 - (2023-07-23)

* Update Poetry's package dependencies

sirmordred 0.9.1 - (2023-07-11)

* Update Poetry's package dependencies

sirmordred 0.9.0 - (2023-06-28)

**Performance improvements:**

* Refreshing identities performance\
Decrease the time required to execute the autorefresh process by
reducing the number of queries to SortingHat.


sirmordred 0.8.0 - (2023-05-17)

**New features:**

* Optional configuration for SortingHat\
Include an optional configuration for SortingHat to define the name of
the tenant when multi-tenancy is enabled.

**Bug fixes:**

* Race condition initializing SirMordred\
There was a race condition when SirMordred initializes. The thread
that read the list of projects didn't have time to even start before
the manager finalizes it, so data backends didn't have any have any
input to work with. This bug was originally reported by ncsibra-lab49
on
[grimoirelab585](https://github.com/chaoss/grimoirelab/issues/585).


sirmordred 0.7.2 - (2023-04-28)

* Update Poetry's package dependencies

sirmordred 0.7.1 - (2023-04-27)

* Update Poetry's package dependencies

sirmordred 0.7.0 - (2023-04-21)

**New features:**

* SirMordred logs available on console\
All SirMordred logs are now available on the console output. The
`logs_dir` parameter in the `general` section is optional and it is
only needed if you also want the logs in a file.
* SortingHat option to verify SSL\
Include `verify_ssl` option to SortingHat configuration to verify the
connection with the server. By default it is `True`.


sirmordred 0.6.1 - (2023-02-03)

* Update Poetry's package dependencies

sirmordred 0.6.0 - (2023-02-01)

**Bug fixes:**

* SortingHat mandatory parameters\
Include SortingHat 0.8.x mandatory parameters. Now `sh_port`,
`sh_path`, `sh_ssl` are available to configure SortingHat.

**Breaking changes:**

* Support of SortingHat 0.8\
GrimoireLab starts using a new version of SortingHat. SortingHat is
now a web service that provides an API to manage identities and
organizations. SirMordred now connects to the new SortingHat database
using GraphQL. The previous version of SortingHat is now deprecated.


sirmordred 0.5.1 - (2022-11-07)

* Update Poetry's package dependencies

sirmordred 0.5.0 - (2022-10-31)

**New features:**

* New default GitHub pull requests alias names\
GitHub pull_request category (github:pull) has its own aliases now:
`github_pull_requests` and `github_pull_requests-raw`. This category
used to share the default aliases for GitHub: `github` and `github-
raw`.


sirmordred 0.4.0 - (2022-09-26)

**New features:**

* Configurable study names and aliases\
Study aliases and names can be set in the configuration file using the
keyword `studies_aliases`. The following snippet shows an example of
configuration. i.e. In this `aliases.json` file the name of the study
is `enrich_onion` and the name of the alias is `all_onion`
"studies_aliases": { "enrich": [ { "alias":
"all_onion", "name": "enrich_onion" }, ... ] }


**Bug fixes:**

* [git] pair-programming activation fixed\
Git pair-programming can be activated if the data source contains a
tag like `[git:pair]`
* Study selection fixed\
This fix solves the problem of executing the studies with no
associated aliases.


sirmordred 0.4.0-rc.1 - (2022-09-26)

**New features:**

* Configurable study names and aliases\
Study aliases and names can be set in the configuration file using the
keyword `studies_aliases`. The following snippet shows an example of
configuration. i.e. In this `aliases.json` file the name of the study
is `enrich_onion` and the name of the alias is `all_onion`
"studies_aliases": { "enrich": [ { "alias":
"all_onion", "name": "enrich_onion" }, ... ] }


**Bug fixes:**

* [git] pair-programming activation fixed\
Git pair-programming can be activated if the data source contains a
tag like `[git:pair]`
* Study selection fixed\
This fix solves the problem of executing the studies with no
associated aliases.


Sir Mordred 0.3.1 - (2022-06-28)

**Others:**

* GrimoireLab dependencies update\
Dependencies have been updated to use the latest versions of
GrimoireLab packages:
- grimoirelab-toolkit >= 0.3
- graal >= 0.3
- cereslib >= 0.3
- kidash >= 0.5
- grimoirelab-penales >= 0.1
- grimoire-elk >= 0.102

Perceval dependencies are removed because they are installed
with `grimoire-elk`.


Sir Mordred 0.3.0 - (2022-06-07)

**New features:**

* Dependencies file for development\
Include a new requirements.txt file to install the development version
from the repositories.
* Add extract spaces\
Extract spaces from the URL. By default it will extract labels but
adding `tag_type="spaces"` it will extract spaces.

**Bug fixes:**

* Studies aliases relocated\
Relocate studies aliases so they are not created automatically by
Mordred.
* Add pair-programming in '_get_enrich_backend' method\
Add the `pair-programming` to the `_get_enrich_backend` method if it
exists in the setup.cfg file.

**Feature removals:**

* Drop Python 3.6 support\
Python 3.6 reached the end of life at the end of 2021. This means it
won't receive new updates or patches to fix security issues.
Therefore, this package will only work with Python >= 3.7 from now on.
* FINOS Meeting backend removed\
FINOS Meeting backend is not supported anymore. The Perceval backend
was archived in Bitergia repository so it shouldn't be part of the
core anymore because it's software not maintained.

**Others:**

* Add studies to the alias file\
Add onion, areas of code, and demographics studies to the file
aliases.json. This is needed to keep this file updated with the
aliases we use in the dashboards by adding them to the appropiate data
sources. The included aliases: - all_onion - git_areas_of_code -
demographics



Releases

perceval-mozilla 1.0.11 - (2025-01-15)

* Update Poetry's package dependencies

perceval-mozilla 1.0.10 - (2024-12-11)

* Update Poetry's package dependencies

perceval-mozilla 1.0.9 - (2024-11-13)

**Bug fixes:**

* Kitsune resuming feature fixed (79)\
Kitsune backend resuming feature was broken. It didn't retrieve the
updated questions right using the parameter 'offset'. Changing the
backend to use 'from-date' parameter instead has fixed the problem.


perceval-mozilla 1.0.8 - (2024-10-15)

* Update Poetry's package dependencies

perceval-mozilla 1.0.7 - (2024-09-23)

**Dependencies updateds:**

* Python minimum version updated\
Python 3.8 will reach its end of life in October 2024. Python 3.9 is
the minimum version required by the project.


perceval-mozilla 1.0.6 - (2024-08-30)

* Update Poetry's package dependencies

perceval-mozilla 1.0.5 - (2024-08-13)

* Update Poetry's package dependencies

perceval-mozilla 1.0.4 - (2024-08-09)

* Update Poetry's package dependencies

perceval-mozilla 1.0.3 - (2024-08-02)

* Update Poetry's package dependencies

perceval-mozilla 1.0.2 - (2024-06-21)

* Update Poetry's package dependencies

perceval-mozilla 1.0.1 - (2024-05-09)

* Update Poetry's package dependencies

perceval-mozilla 1.0.0 - (2024-04-13)

**New features:**

* First major release\
GrimoireLab reached a stable status. This is our first major release.


perceval-mozilla 0.4.3 - (2024-03-27)

* Update Poetry's package dependencies

perceval-mozilla 0.4.2 - (2024-03-12)

* Update Poetry's package dependencies

perceval-mozilla 0.4.1 - (2024-03-01)

* Update Poetry's package dependencies

perceval-mozilla 0.4.0 - (2024-02-19)

**New features:**

* Retry Kitsune when rate limited\
Kitsune now includes the `--sleep-for-rate` option to manage `429 Too
Many Requests` errors. You can configure retries and sleep duration
using the `--max-retries` and `--sleep-time` options respectively.


perceval-mozilla 0.3.22 - (2024-02-08)

* Update Poetry's package dependencies

perceval-mozilla 0.3.21 - (2024-01-30)

* Update Poetry's package dependencies

perceval-mozilla 0.3.20 - (2023-12-19)

* Update Poetry's package dependencies

perceval-mozilla 0.3.19 - (2023-11-28)

* Update Poetry's package dependencies

perceval-mozilla 0.3.18 - (2023-11-15)

* Update Poetry's package dependencies

perceval-mozilla 0.3.17 - (2023-11-03)

* Update Poetry's package dependencies

perceval-mozilla 0.3.16 - (2023-10-20)

**Dependencies updateds:**

* Add Python 3.10 and 3.11 and drop 3.7 support\
Python 3.7 reached the end of life phase on June 27 2023 and is no
longer supported.


perceval-mozilla 0.3.15 - (2023-08-06)

* Update Poetry's package dependencies

perceval-mozilla 0.3.14 - (2023-07-23)

* Update Poetry's package dependencies

perceval-mozilla 0.3.13 - (2023-07-11)

* Update Poetry's package dependencies

perceval-mozilla 0.3.12 - (2023-06-28)

* Update Poetry's package dependencies

perceval-mozilla 0.3.11 - (2023-05-17)

* Update Poetry's package dependencies

perceval-mozilla 0.3.10 - (2023-04-27)

* Update Poetry's package dependencies

perceval-mozilla 0.3.9 - (2023-04-26)

* Update Poetry's package dependencies

perceval-mozilla 0.3.8 - (2023-04-21)

* Update Poetry's package dependencies

perceval-mozilla 0.3.7 - (2023-02-03)

* Update Poetry's package dependencies

perceval-mozilla 0.3.6 - (2023-02-01)

* Update Poetry's package dependencies

perceval-mozilla 0.3.5 - (2022-11-07)

* Update Poetry's package dependencies

perceval-mozilla 0.3.4 - (2022-10-31)

* Update Poetry's package dependencies

perceval-mozilla 0.3.1 - (2022-06-24)

**Others:**

* Update GrimoireLab dependencies\
Dependencies have been updated to use the latest versions of
GrimoireLab packages:
- grimoirelab-toolkit >= 0.3
- perceval >= 0.19

perceval-mozilla 0.3.0 - (2022-06-02)

**New features:**

* Dependencies file for development\
Include a new requirements.txt file to install the development version
from the repositories.


perceval-mozilla 0.2 - (2018-05-21)

** New features improvements: **

* Backends updated to be compatible with Perceval 0.11.
* Creates backend added.


perceval-mozilla 0.1 - (2017-01-19)

** New features and improvements: **

* New set of backends added:
- Kitsune
- Mozilla Club
- ReMo
* Backends updated to be compatible with Perceval 0.5, using the namespace
schema and the new implementation of `BackendCommand`.

** Bugs fixed: **

* Offset was not stored in ReMo cache. This caused errors when trying
to resume with items from the cache. (1)



Releases

perceval-opnfv 1.0.11 - (2025-01-15)

* Update Poetry's package dependencies

perceval-opnfv 1.0.10 - (2024-12-11)

* Update Poetry's package dependencies

perceval-opnfv 1.0.9 - (2024-11-13)

* Update Poetry's package dependencies

perceval-opnfv 1.0.8 - (2024-10-15)

* Update Poetry's package dependencies

perceval-opnfv 1.0.7 - (2024-09-23)

**Dependencies updateds:**

* Python minimum version updated\
Python 3.8 will reach its end of life in October 2024. Python 3.9 is
the minimum version required by the project.


perceval-opnfv 1.0.6 - (2024-08-30)

* Update Poetry's package dependencies

perceval-opnfv 1.0.5 - (2024-08-13)

* Update Poetry's package dependencies

perceval-opnfv 1.0.4 - (2024-08-09)

* Update Poetry's package dependencies

perceval-opnfv 1.0.3 - (2024-08-02)

* Update Poetry's package dependencies

perceval-opnfv 1.0.2 - (2024-06-21)

* Update Poetry's package dependencies

perceval-opnfv 1.0.1 - (2024-05-09)

* Update Poetry's package dependencies

perceval-opnfv 1.0.0 - (2024-04-13)

**New features:**

* First major release\
GrimoireLab reached a stable status. This is our first major release.


perceval-opnfv 0.2.25 - (2024-03-27)

* Update Poetry's package dependencies

perceval-opnfv 0.2.24 - (2024-03-12)

* Update Poetry's package dependencies

perceval-opnfv 0.2.23 - (2024-03-01)

* Update Poetry's package dependencies

perceval-opnfv 0.2.22 - (2024-02-08)

* Update Poetry's package dependencies

perceval-opnfv 0.2.21 - (2024-01-30)

* Update Poetry's package dependencies

perceval-opnfv 0.2.20 - (2023-12-19)

* Update Poetry's package dependencies

perceval-opnfv 0.2.19 - (2023-11-28)

* Update Poetry's package dependencies

perceval-opnfv 0.2.18 - (2023-11-14)

* Update Poetry's package dependencies

perceval-opnfv 0.2.17 - (2023-11-03)

* Update Poetry's package dependencies

perceval-opnfv 0.2.16 - (2023-10-20)

**Dependencies updateds:**

* Add Python 3.10 and 3.11 and drop 3.7 support\
Python 3.7 reached the end of life phase on June 27 2023 and is no
longer supported.


perceval-opnfv 0.2.15 - (2023-08-06)

* Update Poetry's package dependencies

perceval-opnfv 0.2.14 - (2023-07-23)

* Update Poetry's package dependencies

perceval-opnfv 0.2.13 - (2023-07-11)

* Update Poetry's package dependencies

perceval-opnfv 0.2.12 - (2023-06-28)

* Update Poetry's package dependencies

perceval-opnfv 0.2.11 - (2023-05-17)

* Update Poetry's package dependencies

perceval-opnfv 0.2.10 - (2023-04-27)

* Update Poetry's package dependencies

perceval-opnfv 0.2.9 - (2023-04-26)

* Update Poetry's package dependencies

perceval-opnfv 0.2.8 - (2023-04-21)

* Update Poetry's package dependencies

perceval-opnfv 0.2.7 - (2023-02-03)

* Update Poetry's package dependencies

perceval-opnfv 0.2.6 - (2023-02-01)

* Update Poetry's package dependencies

perceval-opnfv 0.2.5 - (2022-11-07)

* Update Poetry's package dependencies

perceval-opnfv 0.2.4 - (2022-10-31)

* Update Poetry's package dependencies

perceval-opnfv 0.2.1 - (2022-06-24)

**Others:**

* Update GrimoireLab dependencies\
Dependencies have been updated to use the latest versions
of GrimoireLab packages:
- grimoirelab-toolkit >= 0.3
- perceval >= 0.19


perceval-opnfv 0.2.0 - (2022-06-02)

**New features:**

* Dependencies file for development\
Include a new requirements.txt file to install the development version
from the repositories.



Releases

graal 1.1.2 - (2025-01-15)

* Update Poetry's package dependencies

graal 1.1.1 - (2024-12-11)

* Update Poetry's package dependencies

graal 1.1.0 - (2024-11-13)

**New features:**

* Compatible namespace package for Python 3.12\
Remove old format to define namespace packages. And use native
namespace packages that requires removing the `__init__.py` file. It
is important that every distribution that uses the namespace package
omits that file. For more information see
https://peps.python.org/pep-0420/


graal 1.0.8 - (2024-10-15)

* Update Poetry's package dependencies

graal 1.0.7 - (2024-09-23)

**Dependencies updateds:**

* Python minimum version updated\
Python 3.8 will reach its end of life in October 2024. Python 3.9 is
the minimum version required by the project.


graal 1.0.6 - (2024-08-30)

* Update Poetry's package dependencies

graal 1.0.5 - (2024-08-13)

* Update Poetry's package dependencies

graal 1.0.4 - (2024-08-09)

* Update Poetry's package dependencies

graal 1.0.3 - (2024-08-02)

* Update Poetry's package dependencies

graal 1.0.2 - (2024-06-21)

* Update Poetry's package dependencies

graal 1.0.1 - (2024-05-09)

* Update Poetry's package dependencies

graal 1.0.0 - (2024-04-13)

**New features:**

* First major release\
GrimoireLab reached a stable status. This is our first major release.


graal 0.4.25 - (2024-03-27)

* Update Poetry's package dependencies

graal 0.4.24 - (2024-03-12)

* Update Poetry's package dependencies

graal 0.4.23 - (2024-03-01)

* Update Poetry's package dependencies

graal 0.4.22 - (2024-02-08)

* Update Poetry's package dependencies

graal 0.4.21 - (2024-02-01)

* Update Poetry's package dependencies

graal 0.4.20 - (2024-01-30)

* Update Poetry's package dependencies

graal 0.4.19 - (2023-12-19)

* Update Poetry's package dependencies

graal 0.4.18 - (2023-11-28)

* Update Poetry's package dependencies

graal 0.4.17 - (2023-11-17)

* Update Poetry's package dependencies

graal 0.4.16 - (2023-11-14)

* Update Poetry's package dependencies

graal 0.4.15 - (2023-11-03)

* Update Poetry's package dependencies

graal 0.4.14 - (2023-10-20)

**Dependencies updateds:**

* Update markdown-it-py version\
Use `markdown-it-py^2.0.0` to be aligned with Perceval packages.
* Add Python 3.9 and drop 3.7 support\
Python 3.7 reached the end of life phase on June 27 2023 and is no
longer supported.


graal 0.4.13 - (2023-08-06)

* Update Poetry's package dependencies

graal 0.4.12 - (2023-07-23)

* Update Poetry's package dependencies

graal 0.4.11 - (2023-07-11)

* Update Poetry's package dependencies

graal 0.4.10 - (2023-06-28)

* Update Poetry's package dependencies

graal 0.4.9 - (2023-05-17)

* Update Poetry's package dependencies

graal 0.4.8 - (2023-04-28)

* Update Poetry's package dependencies

graal 0.4.7 - (2023-04-27)

* Update Poetry's package dependencies

graal 0.4.6 - (2023-04-26)

* Update Poetry's package dependencies

graal 0.4.5 - (2023-04-21)

**Dependencies updateds:**

* Update package dependencies\
Update package dependencies and pin `markdown-it-py` to a specific
version.


graal 0.4.4 - (2023-02-03)

* Update Poetry's package dependencies

graal 0.4.3 - (2023-02-01)

* Update Poetry's package dependencies

graal 0.4.2 - (2022-11-07)

* Update Poetry's package dependencies

graal 0.4.1 - (2022-10-31)

* Update Poetry's package dependencies

graal 0.4.0 - (2022-09-27)

**Others:**

* Update flake8 dependencies\
Update flake8 dependency to ^4.0.1 to be similar to other Grimoirelab
repositories.


Graal 0.3.1 - (2022-06-24)

**Others:**

* GrimoireLab dependencies update\
Dependencies have been updated to use the latest versions of
GrimoireLab packages:
- grimoirelab-toolkit >= 0.3
- perceval >= 0.19


Graal 0.3.0 - (2022-06-02)

**New features:**

* Dependencies file for development\
Include a new requirements.txt file to install the development version
from the repositories.

**Bug fixes:**

* Fix error in update worktree\
Graal wasn't working with the latest version of Git 2.35.1 because it
protects braches checked out in all worktrees. This change renames the
branch created when creating a worktree to fix the issue.

**Feature removals:**

* Drop Python 3.6 support\
Python 3.6 reached the end of life at the end of 2021. This means it
won't receive new updates or patches to fix security issues.
Therefore, this package will only work with Python >= 3.7 from now on.

Page 6 of 6

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.