Changelog¶
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and we adhere to Semantic Versioning.
Unreleased¶
1.0.0 - 2024-07-13¶
Added¶
Unit tests for the
bigboat
,config
,database
,domain
,files
,jenkins
,jira
,log
,project_definition
,request
,salt
,table
,update
,utils
,version_control
andvsts
modules added.Method
Configuration.clear
added to clear class instances.Support for Quality-time 5.9.0 and later added, tested with version 5.12.0.
Support for SonarQube 8.0 and later added.
Support for Python 3.9 through 3.12 added.
Jenkins job
default_parameters
now checks the"property"
key from the API for support of newer Jenkins versions.Sources set supports set construction signature and direct set operations.
Table classes support retrieving the
filename
property and operations for clearing, contains check, iterating and checking the length of the table.Key table and link table handle contains checks in a more tolerant way, allowing missing keys, combinations of encrypted, unencrypted and intermediate data (with conversions of usernames applied) and support updating rows with the key provided in the update row as long as it is the same. Both now also support subscription with a key or tuple of keys between the square brackets.
Jira methods that create structures like issue fields, table objects and changelog fields return the field, and added property accessors for the fields and changelog object. Can also retrieve projects from the project parser if they are prefetched, and the query and iterator limiter.
GitHub repository comparison and tree/file URL methods added.
Changed¶
Dependencies updated. All requirements are tagged to specific versions.
Git sources normalize SSH URLs that can be formatted as SCP-style by stripping initial slashes from path names.
Domain sources use the changed host name for credentials sections instead of the original host name in some cases, so that original SSH URLs do not need an
env
option in the original host name section and HTTP URLs do not needusername
andpassword
options. Only situations that specifically need the original host name do so, like the GitLab source’sgroup
option.File store exceptions are now always
RuntimeError
or subclasses.Jenkins requests for the crumb token are postponed until the request session is used instead of when the instance is created, are tried again if there is an exception and are not requested again if the HTTP status code is 404.
Jenkins API exceptions, including connection errors, timeouts and HTTP status codes are handled and replaced with
RequestException
with exception source.Salt utility class raises a
RuntimeError
when the database connection is necessary but unavailable instead of propagating database exceptions.Jira class hierarchy changed so that different types of base field classes can be used for fetch/parse methods of issue fields and fetch/parse methods of changelog fields, same for special fields.
Package is now a
pyproject.toml
project instead of usingsetup.py
.Docker build no longer reads
env
files (should be added as volume instead, or use Compose environment sections in case an initialenv
file cannot be provided during startup), does include thevsts_fields.json
file and theVERSION
file is now optional (version information is degraded if missing).GitHub sources lookup wraps exceptions from GitHub API in a
RuntimeError
.
Removed¶
Support for Python 3.6 and Python 3.7 dropped.
Support for the Quality report source dropped.
Fixed¶
Git sources provide the correct path name if the eventual URL can be formatted as SCP-style.
Consider a URL with only a domain name, a colon and a path to already be an SCP URL when converting Git-SSH URLs, i.e., do not require a username to be present.
TFS API credentials now use the
username.http
option or the username from the URL, if those are available and theusername
option.TFVC project was always an empty string.
Domain source URLs are adjusted even if no credentials section is provided.
Jenkins objects that are invalidated also have their
exists
value reset.Jenkins view objects now have correct URLs.
Jenkins job objects now include parent job in equality checks if it exists so that a job named
'test-job/branch-job'
is not the same as'branch-job'
.Jenkins build objects that do not exist now have number 0 instead of raising an exception when requesting the
number
property.Jenkins build objects now properly implement
<=
and >=` operators.Update: Database tracker no longer performs an update query which matches no rows when the project ID is not found.
Iterator limiter avoids setting the page size to a value of zero or less.
Jira sprint field data now properly handles missing start and end dates, and avoid losing sprint details if there are multiple equals signs in the key-value entries.
Jira first changelog version would sometimes receive the updated date of the second version.
Jira developer parser no longer tries to parse a user whose name is null
Jira default latest update string led to invalid timestamp comparisons.
Jira comment field had potential unset variable.
TFS/VSTS/ADO empty tags field is now seen as having zero tags instead of one.
0.0.3 - 2024-04-03¶
Added¶
Initial release of version as used during the GROS research project. Previously, versions were rolling releases based on Git commits.
Removed¶
Support for Python 2.7 dropped.
Support for GitLab legacy v3 API (for GitLab version 8) dropped.