From 9d5464b5a989f5095a099fcb081a9422b576cefa Mon Sep 17 00:00:00 2001 From: nfc-bot Date: Mon, 12 Aug 2024 06:02:07 +0000 Subject: [PATCH] build: bump version 1.0.0-b13 -> 1.0.0-b14 --- .cz.yaml | 29 +++--- CHANGELOG.md | 260 +++++++++++++++++++++++++++++++++++++++++++-------- 2 files changed, 237 insertions(+), 52 deletions(-) diff --git a/.cz.yaml b/.cz.yaml index 54e79e71..be5a78ba 100644 --- a/.cz.yaml +++ b/.cz.yaml @@ -1,22 +1,21 @@ --- commitizen: - # name: cz_conventional_commits - name: cz_customize - prerelease_offset: 1 - tag_format: $version - update_changelog_on_bump: false - version: 1.0.0-b13 - version_scheme: semver - customize: - change_type_order: - - "BREAKING CHANGE" - - "feat" - - "fix" - - "test" - - "refactor" + customize: change_type_map: feature: Features fix: Fixes refactor: Refactoring test: Tests - commit_parser: '^(?Pfeat|fix|test|refactor|perf|BREAKING CHANGE)(?:\((?P[^()\r\n]*)\)|\()?(?P!)?:\s(?P.*)?' + change_type_order: + - BREAKING CHANGE + - feat + - fix + - test + - refactor + commit_parser: ^(?Pfeat|fix|test|refactor|perf|BREAKING CHANGE)(?:\((?P[^()\r\n]*)\)|\()?(?P!)?:\s(?P.*)? + name: cz_customize + prerelease_offset: 1 + tag_format: $version + update_changelog_on_bump: false + version: 1.0.0-b14 + version_scheme: semver diff --git a/CHANGELOG.md b/CHANGELOG.md index 486c38e3..0933558e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,19 +1,43 @@ +## 1.0.0-b14 (2024-08-12) + +### Fixes + +- **api**: ensure model_notes is an available field + +### Tests + +- **access**: test field model_notes + ## 1.0.0-b13 (2024-08-11) -### Fix +### Fixes +- Audit models for validations - **itam**: Ensure device name is formatted according to RFC1035 2.3.1 - **itam**: Ensure device UUID is correctly formatted - **config_management**: Ensure that config group can't set self as parent - **settings**: ensure that the api token cant be saved to notes field +### Tests + +- api field checks +- **software**: api field checks + ## 1.0.0-b12 (2024-08-10) -### Fix +### Fixes - **api**: ensure org mixin is inherited by software view - **base**: correct project links to github +### Tests + +- api field checks + +#128 #162 +- **teams**: api field checks +- **organization**: api field checks + ## 1.0.0-b11 (2024-08-10) ## 1.0.0-b10 (2024-08-09) @@ -28,62 +52,78 @@ ## 1.0.0-b5 (2024-07-31) -### Feat +### feat +- add Config groups to API - **api**: Add device config groups to devices - **api**: Ability to fetch configgroups from api along with config -### Fix +### Fixes - **api**: Ensure device groups is read only +### Tests + +- **api**: Field existence and type checks for device +- **api**: test configgroups API fields + ## 1.0.0-b4 (2024-07-29) -### Feat +### feat - **swagger**: remove `{format}` suffixed doc entries -### Fix +### Fixes +- release-b3 fixes - **api**: cleanup team post/get - **api**: confirm HTTP method is allowed before permission check - **api**: Ensure that organizations can't be created via the API - **access**: Team model class inheritance order corrected +### Tests + +- confirm that the tenancymanager is called + ## 1.0.0-b3 (2024-07-21) -### Fix +### Fixes - **itam**: Limit os version count to devices user has access to ## 1.0.0-b2 (2024-07-19) -### Fix +### Fixes - **itam**: only show os version once ## 1.0.0-b1 (2024-07-19) -### Fix +### Fixes - **itam**: ensure installed operating system count is limited to users organizations - **itam**: ensure installed software count is limited to users organizations ## 1.0.0-a4 (2024-07-18) -### Feat +### feat - **api**: When processing uploaded inventory and name does not match, update name to one within inventory file - **config_management**: Group name to be entire breadcrumb +### Tests + +- ensure inventory upload matches by both serial number and uuid if device name different +- placeholder for moving organization + ## 1.0.0-a3 (2024-07-18) -### Feat +### feat - **config_management**: Prevent a config group from being able to change organization - **itam**: On device organization change remove config groups -### Fix +### Fixes - **config_management**: dont attempt to do action during save if group being created - **itam**: remove org filter for device so that user can see installations @@ -94,13 +134,13 @@ ## 1.0.0-a2 (2024-07-17) -### Feat +### feat - **api**: Inventory matching of device second by uuid - **api**: Inventory matching of device first by serial number - **base**: show warning bar if the user has not set a default organization -### Fix +### Fixes - **base**: dont show user warning bar for non-authenticated user - **api**: correct inventory operating system selection by name @@ -113,25 +153,31 @@ - squashed DB migrations in preparation for v1.0 release. -### Feat +### feat - Administratively set global items org/is_global field now read-only - **access**: Add multi-tennant manager -### Fix +### Fixes - **core**: migrate manufacturer to use new form/view logic - **settings**: correct the permission to view manufacturers - **access**: Correct team form fields - **config_management**: don't exclude parent from field, only self -### Refactor +### Refactoring +- repo preperation for v1.0.0-Alpha-1 - Squash database migrations +### Tests + +- tenancy objects +- refactor to single abstract model for inclusion. + ## 0.7.0 (2024-07-14) -### Feat +### feat - **core**: Filter every form field if associated with an organization to users organizations only - **core**: add var `template_name` to common view template for all views that require it @@ -146,13 +192,14 @@ - **ui**: add some navigation icons - **itam**: update inventory status icon - **itam**: ensure device software pagination links keep interface on software tab +- "Migrate inventory processing to background worker" - **access**: enable non-organization django permission checks - **settings**: Add celery task results index and view page - **base**: Add background worker - **itam**: Update Serial Number from inventory if present and Serial Number not set - **itam**: Update UUID from inventory if present and UUID not set -### Fix +### Fixes - **config_management**: Don't allow a config group to assign itself as its parent - **config_management**: correct permission for deleting a host from config group @@ -189,11 +236,14 @@ - **itam**: show device model name instead of ID - **api**: Ensure if serial number from inventory is `null` that it's not used - **api**: ensure checked uuid and serial number is used for updating +- inventory - **itam**: only remove device software when not found during inventory upload - **itam**: only update software version if different +- existing device without uuid not updated when uploading an inventory +- Device Software tab pagination does not work - **itam**: correct device software pagination -### Refactor +### Refactoring - adjust views missing add/change form to now use forms - add navigation menu expand arrows @@ -208,31 +258,57 @@ - **api**: migrate inventory processing to background worker - **itam**: only perform actions on device inventory if DB matches inventory item +### Tests + +- add test test_view_*_attribute_not_exists_fields for add and change views +- fix test_view_change_attribute_type_form_class to test if type class +- **views**: add test cases for model views +- Add Test case abstract classes to models +- **inventory**: add mocks?? for calling background worker +- **view**: view permission checks +- **inventory**: update tests for background worker changes + ## 0.6.0 (2024-06-30) -### Feat +### feat +- user api token - **api**: API token authentication - **api**: abilty for user to create/delete api token - **api**: create token model -### Fix +### Fixes - **user_token**: conduct user check on token view access - **itam**: use same form for edit and add - **itam**: dont add field inventorydate if adding new item - **api**: inventory upload requires sanitization -### Refactor +### Refactoring - **settings**: use seperate change/view views - **settings**: use form for user settings - **tests**: move unit tests to unit test sub-directory +### Tests + +- **token_auth**: test authentication method token +- more tests +- add .coveragerc to remove non-code files from coverage report +- Unit Tests TenancyObjects +- Test Cases for TenancyObjects +- tests for checking links from rendered templetes +- **core**: test cases for notes permissions +- **config_management**: config groups history permissions +- **api**: Majority of Inventory upload tests +- **access**: TenancyObject field tests +- **access**: remove skipped api tests for team users + ## 0.5.0 (2024-06-17) -### Feat +### feat +- Setup Organization Managers - **access**: add notes field to organization - **access**: add organization manger - **config_management**: Use breadcrumbs for child group name display @@ -240,6 +316,7 @@ - **itam**: add a status of "bad" for devices - **itam**: paginate device software tab - **itam**: status of device visible on device index page +- API Browser - **core**: add skeleton http browser - **core**: Add a notes field to manufacturer/ publisher - **itam**: Add a notes field to software category @@ -256,24 +333,28 @@ - **itam**: add docs icon to devices page - **config_management**: add docs icon to config groups page - **base**: add dynamic docs icon +- config group software - **models**: add property parent_object to models that have a parent - **config_management**: add config group software to group history - **itam**: render group software config within device rendered config - **config_management**: assign software action to config group +- sso - add configuration value 'SESSION_COOKIE_AGE' - remove development SECRET_KEY and enforce checking for user configured one - **base**: build CSRF trusted origins from configuration - **base**: Enforceable SSO ONLY - **base**: configurable SSO -### Fix +### Fixes - **itam**: remove requirement that user needs change device to add notes - **core**: dont attempt to access parent_object if 'None' during history save - **config_management**: Add missing parent item getter to model - **core**: overridden save within SaveHistory to use default attributes - **access**: overridden save to use default attributes +- History does not delete when item deleted - **core**: on object delete remove history entries +- inventory upload cant determin object organization - **api**: ensure proper permission checking - dont throw an exception during settings load for an item django already checks - **core**: Add overrides for delete so delete history saved for items with parent model @@ -281,7 +362,7 @@ - **base**: remove social auth from nav menu - **access**: add a team user permissions to use team organization -### Refactor +### Refactoring - **access**: relocate permission check to own function - **itam**: move device os tab to details tab @@ -295,14 +376,58 @@ - login to use base template - adjust template block names +### Tests + +- **access**: team user model permission check for organization manager +- **access**: team model permission check for organization manager +- **access**: organization model permission check for organization manager +- **access**: add test cases for model delete as organization manager +- **access**: add test cases for model addd as organization manager +- **access**: add test cases for model change as organization manager +- **access**: add test cases for model view as organization manager +- write some more +- **core**: skip invalid tests +- **itam**: tests for device type history entries +- **core**: tests for manufacturer history entries +- move manufacturer to it's parent +- refactor api model permission tests to use an abstract class of test cases +- move tests to the module they belong to +- refactor history permission tests to use an abstract class of test cases +- refactor model permission tests to use an abstract class of test cases +- refactor history entry to have test cases in abstract classes +- **itam**: history entry tests for software category +- **itam**: history entry tests for device operating system version +- **itam**: history entry tests for device operating system +- **itam**: history entry tests for device software +- **itam**: ensure child history is removed on config group software delete +- add placeholder tests +- **itam**: ensure history is removed on software delete +- **itam**: ensure history is removed on operating system delete +- **itam**: ensure history is removed on device model delete +- **config_management**: test history on delete for config groups +- **itam**: ensure history is removed on device delete +- **access**: test team history +- **access**: ensure team user history is created and removed as required +- **access**: ensure history is removed on team delete +- **access**: ensure history is removed on item delete +- **api**: Inventory upload permission checks +- **config_management**: testing of config_groups rendered config +- **config_management**: history save tests for config groups software +- **config_management**: config group software permission for add, change and delete +- **base**: placeholder tests for config groups software +- **base**: basic test for merge_software helper +- during unit tests add SECRET_KEY + ## 0.4.0 (2024-06-05) -### Feat +### feat +- 2024 06 05 - **database**: add mysql support - **api**: move invneotry api endpoint to '/api/device/inventory' - **core**: support more history types - **core**: function to fetch history entry item +- 2024 06 02 - **config_management**: Add button to groups ui for adding child group - **access**: throw error if no organization added - **itam**: add delete button to config group within ui @@ -315,10 +440,12 @@ - **api**: add swagger ui for documentation - **api**: filter software to users organizations - **api**: filter devices to users organizations +- randomz - **api**: add org team view page +- API configuration of permissions - **api**: configure team permissions -### Fix +### Fixes - **itam**: ensure device type saves history - **core**: correct history view permissions @@ -335,7 +462,7 @@ - **api**: correct reverse url lookup to use NS API - **api**: permissions for organization -### Refactor +### Refactoring - **access**: cache object so it doesnt have to be called multiple times - **config_management**: move groups to nav menu @@ -343,20 +470,49 @@ - **api**: move permission check to mixin - **access**: add team option to org permission check +### Tests + +- **api**: placeholder test for inventory +- **settings**: access permission check for app settings +- **settings**: history view permission check for software category +- **settings**: history view permission check for manufacturer +- **settings**: history view permission check for device type +- **settings**: user settings +- **settings**: view permission check for user settings +- refactor core test layout +- **itam**: view permission check for software +- **itam**: view permission check for operating system +- **itam**: view permission check for device model +- **itam**: view permission check for device +- **config_management**: view permission check for config_groups +- **access**: view permission check for team +- **access**: view permission check for organization +- add history entry creation tests for most models +- **config_management**: when adding a host to config group filter out host that are already members of the group +- **config_management**: unit test for config groups model to ensure permissions are working +- **api**: remove tests for os and manufacturer as they are not used in api +- **api**: check model permissions for software +- **api**: check model permissions for devices +- **api**: check model permissions for teams +- **api**: check model permissions for organizations + ## 0.3.0 (2024-05-29) -### Feat +### feat +- Randomz - **access**: during organization permission check, check to ensure user is logged on - **history**: always create an entry even if user=none - **itam**: device uuid must be unique - **itam**: device serial number must be unique +- 2024 05 26 - **setting**: Enable super admin to set ALL manufacturer/publishers as global - **setting**: Enable super admin to set ALL device types as global - **setting**: Enable super admin to set ALL device models as global - **setting**: Enable super admin to set ALL software categories as global - **UI**: show build details with page footer - **software**: Add output to stdout to show what is and has occurred +- 2024 05 25 - **base**: Add delete icon to content header - **itam**: Populate initial organization value from user default organization for software category creation - **itam**: Populate initial organization value from user default organization for device type creation @@ -368,17 +524,20 @@ - Add management command software - **setting**: Enable super admin to set ALL software as global - **user**: Add user settings panel +- Manufacturer and Model Information - **itam**: Add publisher to software - **itam**: Add publisher to operating system - **itam**: Add device model - **core**: Add manufacturers - **settings**: add dummy model for permissions - **settings**: new module for whole of application settings/globals +- 2024 05 21-23 - **access**: Save changes to history for organization and teams - **software**: Save changes to history - **operating_system**: Save changes to history - **device**: Save changes to history - **core**: history model for saving model history +- 2024 05 19/20 - **itam**: Ability to add notes to software - **itam**: Ability to add notes to operating systems - **itam**: Ability to add notes on devices @@ -387,7 +546,7 @@ - **ui**: Show inventory details if they exist - **api**: API accept computer inventory -### Fix +### Fixes - **settings**: Add correct permissions for team user delete - **settings**: Add correct permissions for team user view/change @@ -438,7 +597,7 @@ - correct typo in notes templates - **ui**: Ensure navigation menu entry highlighted for sub items -### Refactor +### Refactoring - **access**: add to models a get_organization function - **access**: remove change view @@ -450,13 +609,33 @@ - **itam**: move device types to settings app - **template**: content_title can be rendered in base +### Tests + +- cleanup duplicate tests and minor reshuffle +- **access**: unit testing team user permissions +- **access**: unit testing team permissions +- **settings**: unit testing manufacturer permissions +- **settings**: unit testing software category permissions +- **device_model**: unit testing device type permissions +- **device_model**: unit testing device model permissions +- **organization**: unit testing organization permissions +- **operating_system**: unit testing operating system permissions +- **software**: unit testing software permissions +- **device**: unit testing device permissions +- adjust test layout and update contributing +- **core**: placeholder tests for history component +- **core**: place holder tests for notes model +- **api**: add placeholder tests for inventory + ## 0.2.0 (2024-05-18) -### Feat +### feat +- 2024 05 18 - **itam**: Add Operating System to ITAM models - **api**: force content type to be JSON for req/resp - **software**: view software +- 2024 05 17 - **device**: Prevent devices from being set global - **software**: if no installations found, denote - **device**: configurable software version @@ -468,21 +647,24 @@ - **software**: add pagination for index - **device**: add pagination for index -### Fix +### Fixes - **device**: correct software link ## 0.1.0 (2024-05-17) -### Feat +### feat +- API token auth - **api**: initial token authentication implementation +- itam and API setup - **docker**: add settings to store data in separate volume - **django**: add split settings for specifying additional settings paths - **api**: Add device config to device - **itam**: add organization to device installs - **itam**: migrate app from own repo - Enable API by default +- Genesis - **admin**: remove team management - **admin**: remove group management - **access**: adjustable team permissions @@ -516,14 +698,14 @@ - **template**: add base template - **django**: add organizations app -### Fix +### Fixes - **itam**: device software to come from device org or global not users orgs - **access**: correct team required permissions - **fields**: correct autoslug field so it works - **docker**: build wheels then install -### Refactor +### Refactoring - button to use same selection colour - **access**: remove inline form for org teams @@ -532,4 +714,8 @@ - **views**: move views to own directory - **access**: addjust org and teams to use different view per action +### Tests + +- interim unit tests + ## 0.0.1 (2024-05-06)