All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.17.0 - 05/04/2022
- Add auth commit to sorted_commits_and_branches_per_repositories (240)
- Add --version option to cli (239)
- Add TAF's repository classes and repositoriesdb's documentation (237)
- Add
--ff-only
to git merge (235) - Added format-output flag to update repo cli (234)
- Cache loaded git files (228)
- Add a flag for generating performance reports of update calls and print total update execution time (228)
- Update
targets_at_revisions
- only update a list of roles if a metadata file was added (228)
0.16.0 - 04/16/2022
- Add
allow_unsafe
flag to git repo class as a response to a recent git security fix (229)
- Remove
no_checkout=True
fromclone
(226) - Remove
--error-if-unauthenticated
flag (220) - Change
clients-auth-path
intaf repo update
to optional. (213) - Only clone if directory is empty (211)
- Fix updates of repos which only contain one commit (219)
- Fixed
_validate_urls
and local validation (216)
0.15.0 - 02/11/2022
- Docs: add
info.json
example (236) Update
handler pipeline, showcase mapping dict fields to class types withattrs
+cattrs
. (206)- Schema for update handler. (206)
- Add
type
tests forattrs
structuring. (206)
-
perf: re-implementing slow git cmds with pygit2 (207)
-
Specify a list of repositories which shouldn't contain additional commits instead of just specifying a flag (203)
-
Update handler fix: return an empty list of targets if the targets folder does not exist (208)
-
pytest works when taf installed via wheel (200)
0.14.0 - 01/25/2022
- Specify a list of repositories which shouldn't contain additional commits instead of just specifying a flag (203)
- Raise an error if a repository which should not contain additional commits does so (203)
- Do not merge target commits if update as a whole will later fail (203)
0.13.4 - 01/20/2022
- Trim text read from the last_validated_commit file (201)
0.13.3 - 11/18/2021
- Update create local branch git command - remove checkout (197)
- Iterate throuh all urls when checking if a local repo is synced with remote (197)
0.13.2 - 11/11/2021
- Remove commit checkout and checkout the latest branch for each target repository (195)
- If top commit of the authentication repository is not the same as the
last_validated_commit
, validate the newer commits as if they were just pulled (195)
0.13.1 - 10/22/2021
- Pass default branch to sorted_commits_and_branches_per_repositories (185)
0.13.0 - 10/20/2021
- Pin cryptography and pyOpenSSL versions to keep compatibility with yubikey-manager 3.0.0 (184)
0.12.0 - 10/18/2021
- Updated cryptography version (183)
- Fix validate local repo command (183)
- Exclude test date from wheels (182)
0.11.1 - 09/29/2021
- Removed generate schema docs due to their long names causing issues on Windows when installing taf (181)
0.11.0 - 09/28/2021
- Added support for skipping automatic checkout (179)
- Compare current head commit according to the auth repo and top commit of target repo and raise an error if they are different (179)
- Automatically remove current and previous directories if they exist before instantiating tuf repo (179)
- Fixed branch exists check. Avoid wrongly returning true if there is a warning (179)
- Fixed update of repos which can contain unauhtenticated commits - combine fetched and existing commits (179)
- Fixed handling of additional commits on a branch (179)
0.10.1 - 08/16/2021
- Do not raise an error if the hosts file is missing (177)
0.10.0 - 07/20/2021
- Update click to 7.1 (176)
0.9.0 - 06/30/2021
- Initial support for executing handlers. Handlers are scripts contained by auth repos which can be used to execute some code after successful/failed update of a repository and/or a host. (164)
- Implemented delegation of auth repositories - an auth repository can reference others by defining a special target file
dependencies.json
. Updater will pull all referenced repositories. (164) - Provided a way of specifying hosts of repositories though a special target file called
hosts.json
(164) - Verification of the initial commit of a repository given
out-of-band-authentication
commit either directly passed into the udater or stored independencies.json
of the parent auth repo. (164)
- Renamed
repo_name
andrepo_urls
attributes toname
andurls
andadditional_info
tocustom
(164) - Reworked repository classes (164)
- Transition from TravisCI to Github Actions (173)
0.8.1 - 04/14/2021
- Added a command for checking validity of the inserted YubiKey's pin (165)
- Raise an error if there are additional commits newer than the last authenticated commit if the updater is called with the check-authenticated flag (161)
- Added initial worktrees support to the updater (161)
- Added support for specifying location of the conf directory (161)
- Added a function for disabling fie logging (161)
- Raise keystore error when key not found in keystore directory 166
- Replaced authenticate-test-repo flag with an enum (161)
- Minor validation command fix (161)
0.8.0 - 02/09/2021
- Pin cryptography version (162)
0.7.2 - 11/11/2020
- Add a command for adding new new delegated roles (158)
0.7.1 - 10/28/2020
- Small branches_containing_commit git method fix following git changes (156)
0.7.0 - 10/16/2020
- Add support for fully disabling tuf logging (154)
- Add support for including additional custom information when exporting historical data (147)
- Store authentication repo's path as key in
repositoriesdb
instead of its name (153)
- Minor YubiKey mock fix (153)
- Updated some git methods so that it is checked if the returned value is not
None
before calling strip (153)
0.6.1 - 09/09/2020
- Get binary file from git (skip encoding) (148)
0.6.0 - 08/11/2020
- Git method for getting the first commit on a branch (145)
- Minor check capstone validation update (145)
- Check if specified target repositories exist before trying to export historical commits data (144)
0.5.2 - 07/21/2020
- Git method for removing remote tracking branches (142)
- Check remote repository when checking if a branch already exists (142)
0.5.1 - 06/25/2020
- Documentation updates (140)
- Set
only_load_targets
parameter toTrue
by default inrepositoriesdb
(139) - Use
_load_signing_keys
inadd_signing_key
(138) - Raise a nicer error when instantiating a TUF repository if it is invalid (137)
- Fix loading targets metadata files in
repositoriesdb
(139)
0.5.0 - 06/04/2020
- Add
repositoriesdb
tests (134) - Add support for defining urls using a separate
mirrors.json
file (134) - Add a command for exporting targets historical data (133)
- Updated
repositoriesdb
so that delegated target roles are taken into considerations when finding targets data (134) sorted_commits_and_branches_per_repositories
returns additional targets data and not just commits (133)
0.4.1 - 05/12/2020
- Error handling and logging improvements (131)
0.4.0 - 05/01/2020
- Git method to create orphan branch (129)
- Added updater check which verifies that metadata corresponding to the last commit has not yet expired (124)
- Additional updater tests (124)
- Added command for validating repositories without updating them (124)
- Import error handling for
taf.yubikey
module (120) - Updater tests which validate updated root metadata (118)
- New test cases for updating targets/delegations metadata (116)
- Create empty targets directory before instantiating tuf repository if it does not exist (114)
- When creating a new repository, print user's answers to setup question as json (114)
- Sign all target files which are found inside the targets directory when creating a new repository (114)
- Minor logging updates (126)
- Updater: Partial repo factory (125)
- Logging formats (120)
- Use common role of given targets during update of targets/delegations metadata (116)
- Changed format of keys description json, as it can now contain roles' description under "roles" key and keystore path under "keystore" key (114)
- Import errors (ykman) inside tests (129)
- Fixed addition of new signing key so that this functionality works in case of delegated roles (128)
- Fixed synced_with_remote (121)
- Signing fixes with keystore keys (120)
- Load signing keys minor fixes (120 117)
- Normalize target files when creating a new repository (117)
0.3.1 - 03/21/2020
- Move safely_get_json to base git repository class (105)
update_role_keystores
fix (112)create_repo
fix (111)- Load repositories exits early if the authentication repo has not commits (106)
- Fix
clone_or_pull
(105)
0.3.0 - 03/03/2020
- Add a check if at least one rpeository was loaded (102)
- Add
*args
and**kwargs
arguments to repository classes (102) - Add a method for instantiating TUF repository at a given revision (101)
- Add support for validating delegated target repositories to the updater (101)
- Add delegations tests (98)
- Add support for delegated targets roles (97, 98, [99], 100)
- Renamed
repo_name
toname
andrepo_path
topath
(101) - Updated
add_targets
so that it fully supports delegated roles (98) - Refactored tests so that it is possible to create and use more than one taf repository (98)
- Separated commands into sub-commands (96)
- Use
root-dir
andnamespace
instead oftarget-dir
(96)
- Fix init and create repo commands (96)
0.2.2 - 01/06/2020
- Updater: support validation of multiple branches of target repositories (91)
- Add a method which deletes all target files which are not specified in targets.json (90)
- Fix
update_target_repos_from_repositories_json
(91)
0.2.1 - 12/19/2019
- Add
update_expiration_date
CLI command (86) - Add
set_remote_url
git method and branch as the input parameter oflist_commits
(84)
- Logging rework - use loguru library (83)
- Fix
update_expiration_date_keystore
andget_signable_metadata
(86) - Fix branch exists git function (82)
0.2.0 - 11/30/2019
- Added commands for setting up yubikeys, exporting public keys and adding new signing keys (79)
- Created standardized yubikey prompt (79)
- Creation of new repositories made more robust (79)
0.1.8 - 11/12/2019
- Numerous new git methods (74, 75)
- Initial pre-commit configuration (black + flake8 + bandit) (69)
- Add changelog (69)
- Add pull request template (69)
- Updated validation of branches (73)
- Move tests to the main package (72)
- Updated travis script (69)
- Remove python 3.6 support (69)
- Use f-strings instead of format (69)
0.1.7 - 09/30/2019
- Add helper method to check if given commit has ever been validated (65)
- Pass scheme argument when loading timestamp and snapshot keys (66)
- Updated default logs location (67)
0.1.6 - 09/05/2019
- Update oll-tuf version (63)
- Remove utils function for importing RSA keys and refactor other files (63)
- Fix azure pipeline script (include libusb in wheels) (63)
0.1.5 - 08/29/2019
- Initial Version