Skip to content

Releases: nofusscomputing/centurion_erp

1.20.2

Choose a tag to compare

@github-actions github-actions released this 25 Aug 07:13

1.20.2 (2025-08-25)

Fixes

  • access: When creating an item and tenancy not required, cater for this within authorization
  • access: Update old models for new permssion check methods

Tests

  • api: Test case to confirm MetaData can be fetch for list action

Images part of this release

The following images were built and published:

  • docker pull docker.io/nofusscomputing/centurion-erp:dev
  • docker pull docker.io/nofusscomputing/centurion-erp:7bccacb0caff267343ab99356df1ad96d7ecc200
  • docker pull docker.io/nofusscomputing/centurion-erp:1.20.2

1.20.1

Choose a tag to compare

@github-actions github-actions released this 22 Aug 11:32

1.20.1 (2025-08-22)

Fixes

  • access: Check both permissions and permissions by tenancy seperatly
  • access: Ensure superuser check is done

Images part of this release

The following images were built and published:

  • docker pull docker.io/nofusscomputing/centurion-erp:dev
  • docker pull docker.io/nofusscomputing/centurion-erp:d0d6e401451e96d8a989392a6101493cb63bd31c
  • docker pull docker.io/nofusscomputing/centurion-erp:1.20.1

1.20.0

Choose a tag to compare

@github-actions github-actions released this 22 Aug 07:21

1.20.0 (2025-08-22)

feat

  • access: Switch Tenancy Object to use refactord Tenancy Manager
  • Switch authorization object from request.tenancy -> request.user
  • base: Switch user model to CenturionUser
  • access: CenturionUser model migrations

Fixes

  • access: When checking for user within TenancyManager, ensure it has an id
  • settings: AppSettings model should return owner_organization for get_organization
  • access: CenturionUser model must inherit from Abstract User
  • dont load user object during app load

Refactoring

  • access: do prefetch user orgs, permissions and content_types
  • access: rename mixin OrganizationPermissionMixin -> TenancyPermissionMixin
  • api: ensure kwargs are copied for api perm test cases
  • core: when deleting a model dont re-fetch from db, use current data

Tests

  • functional: Add Token Authentication Functional Test Suite
  • integration: Test to ensure that migrations run successfully
  • access: Correct TenantModelNote userOrgs fetch test case to use correct model
  • access: Updated Test Suite for mixin TenancyPermission

Images part of this release

The following images were built and published:

  • docker pull docker.io/nofusscomputing/centurion-erp:dev
  • docker pull docker.io/nofusscomputing/centurion-erp:e9b79f921d96b646a0bf59bb72332ce5b50b5129
  • docker pull docker.io/nofusscomputing/centurion-erp:1.20.0

1.19.3

Choose a tag to compare

@github-actions github-actions released this 17 Aug 06:50

1.19.3 (2025-08-17)

Fixes

  • api: ensure human_resources is behind its feature flag
  • human_resources: correct index route name
  • access: correct access route name

Images part of this release

The following images were built and published:

  • docker pull docker.io/nofusscomputing/centurion-erp:dev
  • docker pull docker.io/nofusscomputing/centurion-erp:c1aa0cd52d15e99f01d25b8003226a55d10af462
  • docker pull docker.io/nofusscomputing/centurion-erp:1.19.3

1.19.2

Choose a tag to compare

@github-actions github-actions released this 16 Aug 06:10

1.19.2 (2025-08-16)

Fixes

  • base: before setting up metrics if enabled, create data dir

Images part of this release

The following images were built and published:

  • docker pull docker.io/nofusscomputing/centurion-erp:dev
  • docker pull docker.io/nofusscomputing/centurion-erp:1bd4e6d48d0776fb383c59259fcdf0405a289b57
  • docker pull docker.io/nofusscomputing/centurion-erp:1.19.2

1.19.1

Choose a tag to compare

@github-actions github-actions released this 15 Aug 08:59

1.19.1 (2025-08-15)

Fixes

  • docker: if not testing dont attempt to import coverage

Images part of this release

The following images were built and published:

  • docker pull docker.io/nofusscomputing/centurion-erp:dev
  • docker pull docker.io/nofusscomputing/centurion-erp:83d55de525ab1bbdd59b05d5421e8befb5adf097
  • docker pull docker.io/nofusscomputing/centurion-erp:1.19.1

1.19.0

Choose a tag to compare

@github-actions github-actions released this 15 Aug 07:44

1.19.0 (2025-08-15)

feat

  • core: add to migration signal system user and use for inventory objects
  • docker: Adjust gunicorn works=4 100reqs/max and preload app
  • api: Ensure that serializer converts Django exceptions to rest_framework exceptions
  • access: Filter history permissions
  • access: Add Audit and notes tables for model Role
  • access: Add AuditHistory Serializer for Role model
  • access: Add Notes Serializer for Role model
  • itam: Add AuditHistory Serializer for ITAMAssetBase model
  • itam: Add Notes Serializer for ITAMAssetBase model
  • accounting: Add AuditHistory Serializer for AssetBase model
  • accounting: Add Notes Serializer for AssetBase model
  • When attempting to create and objetc must be unique and alrready exists, dont return error return existing object
  • access: History + Notes model migrations for Company Model
  • api: map notfound and perm denied django -> drf exceptions
  • human_resources: Add model tag for Employee model
  • human_resources: Add AuditHistory Serializer for Employee model
  • human_resources: Add Notes Serializer for Employee model
  • human_resources: Change model to inherit from CenturionModel for Employee model
  • access: Add model tag for Person model
  • access: Add AuditHistory Serializer for Person model
  • access: Add Notes Serializer for Person model
  • access: Change model to inherit from CenturionModel for Person model
  • access: Add model tag for Contact model
  • access: Add AuditHistory Serializer for Contact model
  • access: Add Notes Serializer for Contact model
  • access: Change model to inherit from CenturionModel for Contact model
  • access: Add AuditHistory Serializer for Company model
  • access: Add Notes Serializer for Entity model
  • access: Change model to inherit from CenturionModel for Company model
  • access: Change model to inherit from CenturionModel for Entity model
  • access: Add AuditHistory Serializer for Entity model
  • access: Add Notes Serializer for Entity model
  • access: Change model to inherit from CenturionModel for Entity model
  • settings: Add model tag for ExtrnalLink model
  • settings: Add AuditHistory Serializer for UserSettings model
  • settings: Add Notes Serializer for UserSettings model
  • settings: Change model to inherit from CenturionModel for UserSettings model
  • settings: Add model ExternalLink to migrate for history and notes
  • settings: Add AuditHistory Serializer for ExternalLink model
  • settings: Add Notes Serializer for ExternalLink model
  • settings: Change model to inherit from CenturionModel for ExternalSettings model
  • settings: Add model AppSettings to migrate for history and notes
  • settings: Add AuditHistory Serializer for AppSettings model
  • settings: Add Notes Serializer for AppSettings model
  • settings: Change model to inherit from CenturionModel for AppSettings model
  • project_management: Add model ProjectType to migrate for history and notes
  • project_management: Add AuditHistory Serializer for ProjectTYpe model
  • project_management: Add Notes Serializer for ProjectType model
  • project_management: Change model to inherit from CenturionModel for ProjectType model
  • project_management: Add model ProjectState to migrate for history and notes
  • project_management: Add AuditHistory Serializer for ProjectState model
  • project_management: Add Notes Serializer for ProjectState model
  • project_management: Change model to inherit from CenturionModel for ProjectState model
  • project_management: Add model ProjectMilestone to migrate for history and notes
  • project_management: Add AuditHistory Serializer for ProjectMilestone model
  • project_management: Add Notes Serializer for ProjectMilestone model
  • project_management: Change model to inherit from CenturionModel for ProjectManagement model
  • project_management: Add model Project to migrate for history and notes
  • project_management: Add AuditHistory Serializer for Project model
  • project_management: Add Notes Serializer for Project model
  • project_management: Change model to inherit from CenturionModel for Project model
  • itim: Add model Service to migrate for history and notes
  • itim: Add AuditHistory Serializer for Service model
  • itim: Add Notes Serializer for Service model
  • itim: Change model to inherit from CenturionModel for Service model
  • itim: Add model Port to migrate for history and notes
  • itim: Add AuditHistory Serializer for Port model
  • itim: Add Notes Serializer for Port model
  • itim: Change model to inherit from CenturionModel for Port model
  • itim: Add AuditHistory Serializer for ClusterType model
  • itim: Add Notes Serializer for ClusterType model
  • itim: Change model to inherit from CenturionModel for ClusterType model
  • itim: Add model Cluster to migrate for history and notes
  • itim: Add Notes Serializer for Cluster model
  • itim: Add AuditHistory Serializer for Cluster model
  • itim: Change model to inherit from CenturionModel for Cluster model
  • itam: Add model SoftwareVersion to migrate for history and notes
  • itam: Add Notes Serializer for SoftwareVersiony model
  • itam: Add AuditHistory Serializer for SoftwareVersion model
  • itam: Change model to inherit from CenturionModel for SoftwareVersion model
  • itam: Add model SoftwareCategory to migrate for history and notes
  • itam: Add Notes Serializer for SoftwareCategory model
  • itam: Add AuditHistory Serializer for SoftwareCategory model
  • itam: Change model to inherit from CenturionModel for SoftwareCategory model
  • itam: Add model Software to migrate for history and notes
  • itam: Add Notes Serializer for Software model
  • itam: Add AuditHistory Serializer for Software model
  • itam: Change model to inherit from CenturionModel for Software model
  • itam: Add model OperatingSystemVersion to migrate for history and notes
  • itam: Add Notes Serializer for OperatingSystemVersion model
  • itam: Add AuditHistory Serializer for OperatingSystemVersion model
  • itam: Change model to inherit from CenturionModel for OperatingSystemVersion model
  • itam: Add model OperatingSystem to migrate for history and notes
  • itam: Add Note Serializer for DeviceSoftware model
  • itam: Add AuditHistory Serializer for DeviceSoftware model
  • itam: Change model to inherit from CenturionModel for DeviceSoftware model
  • itam: Change model to inherit from Centurion for DeviceSoftware model
  • itam: Add model_tag to DeviceType model
  • itam: Add DeviceType for history and notes data migration
  • itam: Add DeviceModel for history and notes data migration
  • itam: Add DEvice for history and notes data migration
  • devops: Switch SoftwareEnabledFeatureFlag model to inherit from CenturionModel
  • devops: Update checkin model fixture so it creates the feature flag
  • devops: Add methods get_url and get_url_kwargs to CheckIn model
  • devops: Add migration to signal
  • devops: Add migration to signal
  • devops: Add migration to signal
  • devops: Add migration to signal
  • devops: Update URL route basename
  • devops: Migrations for switching GitLabRepository model to inherit from CenturionModel
  • devops: Migrations for switching GitRepository model to inherit from CenturionModel
  • devops: Migrations for switching GitRepository model to inherit from CenturionModel
  • devops: Serializers for GitRepository models notes and history
  • devops: Serializers for GitHubGitRepository models notes and history
  • devops: Serializers for GitLabGitRepository models notes and history
  • devops: Switch GitLabGitRepository model to inherit from CenturionModel
  • devops: Switch GitHubGitRepository model to inherit from CenturionModel
  • devops: Switch GitRepository model to inherit from CenturionModel
  • devops: Update Checkin model url route basename
  • devops: Add app_namespace Checkin model
  • devops: Add Checkin to migrate model history/notes
  • devops: Migrations for switching Checkin model to inherit from CenturionModel
  • devops: Switch Checkin model to inherit from CenturionModel
  • core: add TicketCommentCategory to history/notes migration
  • core: add model tag to ticket comment category
  • core: Migrations for TicketCategory
  • core: add TicketCategory to history/notes migration
  • core: add model tag to ticket category
  • core: add Manufacturer to history/notes migration
  • core: add model tag to manufacturer
  • config_management: add ConfigGroups to history/notes migration
  • config_management: add ConfigGroupSoftware to history/notes migration
  • config_management: add ConfigGroupHosts to history/notes migration
  • access: add tenant to history/notes migration
  • access: Migration for switching model inheritence to CenturionModel
  • itam: Update model methods
  • access: Migration for switching model inheritence to CenturionMixin
  • access: Switch model inheritence to CenturionMixin
  • itam: Update url basename
  • itam: Update url basename
  • base: add support for manytomany for model unit tests
  • itam: Update url basename
  • core: Update url basename
  • core: Update url basename
  • core: Update url basename
  • core: Update url basename
  • core: Update url basename
  • core: Update url basename
  • access: TeamUsers do not require notes
  • config_management: ConfigGroupHosts and ConfigGroupSoftware do not require notes
  • config_management: Add url_kwargs to ConfigGroupSoftware model
  • access: Add url_kwargs to Team model
  • access: Add url_kwargs to TeamUser model
  • access: Update TeamUser API basename
  • access: Update Team API basename
  • **ita...
Read more

1.18.0

Choose a tag to compare

@github-actions github-actions released this 03 Jul 23:29

1.18.0 (2025-07-03)

feat

  • python: upgrade django 5.1.9 -> 5.1.10

Fixes

  • itim: Correct config that is in the incorrect format

Images part of this release

The following images were built and published:

  • docker pull docker.io/nofusscomputing/centurion-erp:dev
  • docker pull docker.io/nofusscomputing/centurion-erp:3d2d759d6b1cde01771ca46e846f943af3319ba2
  • docker pull docker.io/nofusscomputing/centurion-erp:1.18.0

1.17.1

Choose a tag to compare

@github-actions github-actions released this 02 Jun 00:42

1.17.1 (2025-06-02)

Fixes

  • base: Add python metrics to prometheus exporter

Images part of this release

The following images were built and published:

  • docker pull docker.io/nofusscomputing/centurion-erp:dev
  • docker pull docker.io/nofusscomputing/centurion-erp:4fb94bdd6dae9cf23b924f52b9df20686d739ac8
  • docker pull docker.io/nofusscomputing/centurion-erp:1.17.1

1.17.0

Choose a tag to compare

@github-actions github-actions released this 16 May 11:13

1.17.0 (2025-05-16)

⚠️ Important 🛑

As Organizations was renamed to Tenant the migrations will have to be done in two stages. The migrations commands are:

  1. python manage.py migrate access 0007_rename_organization_tenant
    This does the table rename and triggers the creation of the new permissions.
  2. python manage.py migrate
    This will complete the migrations

Note: If you fail to do the migrations in two steps you will receive an error stating django.contrib.auth.models.Permission.DoesNotExist: Permission matching query does not exist. If you jumped the gun and failed to run the migrations as above. Roll the migrations back by running python manage.py migrate access 0007_rename_organization_tenant

feat

  • access: model access.Company feature flag 2025-00008
  • access: URL route for model access.Company
  • access: Migration for model access.Company
  • access: Serializer for model access.Company
  • access: New model access.Company
  • access: Organization -> Tenant Permission Migration
  • docker: Serve a robots.txt file for NO indexing
  • access: Organization -> Tenant Permission Migration
  • base: Add var AUTH_USER_MODEL to settings
  • core: Add Action comments on ticket change
  • core: Remove add, change and delete permissions for model TicketCommentAction from permission selector
  • core: Serializer for model TicketCommentAction
  • core: Migrations for model TicketCommentAction
  • core: New model TicketCommentAction
  • core: Setup serializer to meet requirements
  • core: Setup model to meet requirements
  • api: Add exception logging to ViewSetCommon
  • python: Upgrade DRF Spectacular 0.27.2 -> 0.28.0
  • python: Upgrade DRF 3.15.2 -> 3.16.0
  • core: When processing slash command duration, cater for new ticket models
  • api: Add Logging function to Common ViewSet
  • access: Add Logging function to Tenancy model
  • base: Enable user to customize log file location
  • core: Do validate the comment_type field for TicketCommentBase
  • itam: Add Feature Flag 2025-00007 ITAMAssetBase
  • itam: Add endpoint for ITAMAssetBase
  • Model tag migration for Asset and IT Asset
  • itam: Model tag for ITAsset
  • accounting: Model tag for Asset
  • accounting: Add app label to kb articles for notes
  • accounting: Migrations for notes model for AssetBase
  • accounting: Migrations for history model for AssetBase
  • accounting: Notes Viewset for AssetBase
  • accounting: Notes Serializer for AssetBase
  • accounting: Notes model for AssetBase
  • accounting: History model for AssetBase
  • itam: Serializer for ITAssetBase
  • itam: Migrations for ITAssetBase
  • itam: Add Model ITAssetBase
  • accounting: Viewset for Assets
  • accounting: Serializer for model AssetBase
  • accounting: Migrations for model AssetBase
  • accounting: Add Model AssetBase

Fixes

  • api: Dont try to access attribute if not exist in common viewset
  • api: Dont try to access attribute if not exist in common viewset
  • api: Correct ViewSet Sub-Model lookup
  • core: Only take action on ticket comment if view exists
  • api: Ensure multi-nested searching for sub-models works
  • core: ensure slash command is called on ticket description
  • core: Spent slash command is valid for time spent
  • core: Correct logic for TicketCommentSolution
  • core: Correct logic for TicketCommentBase
  • accounting: Ensure correct sub-model check is conducted within model type
  • itam: ensure RO field asset_type is set
  • itim: Ensure that itam base model is always imported

Refactoring

  • human_resources: Update Functional ViewSet to use PyTest for Employee Model
  • Access: Update Functional ViewSet to use PyTest for Person Model
  • Access: Update Functional ViewSet to use PyTest for Entity Model
  • Access: Update Functional ViewSet to use PyTest for Contact Model
  • Access: Update Functional Permission to use PyTest for Person Model
  • Access: Update Functional Permission to use PyTest for Entity Model
  • Access: Update Functional Permission to use PyTest for Contact Model
  • Access: Update Functional Serializer to use PyTest for Contact Model
  • Access: Update Functional Serializer to use PyTest for Entity Model
  • Access: Update Functional Serializer to use PyTest for Person Model
  • human_resources: Update Functional Serializer to use PyTest for Employee Model
  • human_resources: Update Functional Permissions to use PyTest for Employee Model
  • human_resources: Update Functional Metadata to use PyTest for Employee Model
  • access: Update Functional Metadata to use PyTest for Person Model
  • access: Update Functional Metadata to use PyTest for Entity Model
  • access: Update Functional Metadata to use PyTest for Contact Model
  • access: Update Model Entity to use PyTest for Model Test Suite
  • access: Update Model Contact to use PyTest for Model Test Suite
  • access: Update Model Person to use PyTest for Model Test Suite
  • human_resources: Update Model Employee to use PyTest for Model Test Suite
  • human_resources: Update Model Employee to use PyTest API Fields Render
  • access: Update Model Person to use PyTest API Fields Render
  • access: Update Model Contact to use PyTest API Fields Render
  • access: Update Model Entity to use PyTest API Fields Render
  • access: Rename model Organization -> Tenant
  • settings: Update all references to User to use get_user_model()
  • project_management: Update all references to User to use get_user_model()
  • itam: Update all references to User to use get_user_model()
  • devops: Update all references to User to use get_user_model()
  • core: Update all references to User to use get_user_model()
  • config_management: Update all references to User to use get_user_model()
  • assistance: Update all references to User to use get_user_model()
  • app: Update all references to User to use get_user_model()
  • api: Update all references to User to use get_user_model()
  • accounting: Update all references to User to use get_user_model()
  • access: Update all references to User to use get_user_model()
  • access: when fetching parent object, use the parent_model get function
  • api: Limit url pk regex to ensure the value is a number

Tests

  • access: Functional ViewSet Test Suite Company model
  • access: Functional Serializer Test Suite Company model
  • access: Functional Permissions Test Suite Company model
  • access: Functional MetaData Test Suite Company model
  • access: ViewSet Test Suite Company model
  • access: API field render Test Suite Company model
  • access: Model Test Suite Company model
  • core: Unit viewset Test Cases for TicketCommentAction model
  • core: Unit model Test Cases for TicketCommentAction model
  • core: Unit API Render Test Cases for TicketCommentAction model
  • core: Interim Functional model Test Case TicketCommentAction
  • core: Ensure that a ticket milestone comes from the same assigned project
  • core: SKIP Tests TicketBase Description Slash command Checks
  • core: TicketBase Description Slash command Checks
  • core: TicketBase Remaining Serializer Chacks
  • core: Partial functional Model Test Suite covering some slash commande for TicketCommentSolution
  • core: ensure ticket is un-solved for ticketcomment unit api render fields check
  • core: ensure slash command is called on ticket comment
  • core: Unit ViewSet Test Suite for TicketCommentSolution
  • core: Unit ViewSet Test Suite for TicketCommentBase
  • core: Skip Related slash command checks until migrating tickets to new model
  • core: Add ability to unit api field rendering test case for second api request if required
  • core: Partial Functional Model test cases (Slash Commands) for TicketCommentBase
  • core: Functional Model test cases (Slash Commands) for TicketBaseModel
  • core: Partial Slash Command re-write
  • core: correct field so its valid for unit TicketCommentBase model
  • core: Unit API Fields Render for TicketCommentSolution model
  • core: Unit API Fields Render for TicketCommentBase model
  • core: Unit Model assert save and call are called for TicketBase
  • core: Unit Model Checks for TicketCommentSolution
  • core: Unit Model Checks for TicketCommentBase
  • itam: test meta attribute itam_sub_model_type for ITAMBaseModel
  • itam: Dont use constants where variables should be used
  • itam: Remaining Unit Model test cases for AssetBase
  • accounting: Remaining Unit Model test cases for AssetBase
  • itam: Functional ViewSet Test Cases for ITAMAssetBase
  • itam: Functional Serializer Test Cases for ITAMAssetBase
  • itam: Functional Permissions Test Cases for ITAMAssetBase
  • itam: Functional Metadata Test Cases for ITAMAssetBase
  • itam: Functional History Test Cases for ITAMAssetBase
  • accounting: Functional ViewSet Test Cases for AssetBase
  • accounting: Functional Serializer Test Cases for AssetBase
  • accounting: Functional Permissions Test Cases for AssetBase
  • accounting: Functional Metadata Test Cases for AssetBase
  • accounting: History Test Cases for AssetBase
  • add missing merge of add_data for api permissions tests
  • remove ticket only vars from api permissions tests
  • api: dont use constants for variable data
  • correct viewset tests
  • itam: Unit Viewset checks for AssetBase Model
  • core: Add missing fields is_global checks for ticket base
  • api: Add submodel url resolution for metadata
  • itam: Unit API Fields checks for ITAM AssetBase Model
  • **ac...
Read more