Skip to content

Releases: nofusscomputing/centurion_erp

1.32.0

Choose a tag to compare

@github-actions github-actions released this 29 Jun 03:43

1.32.0 (2026-06-29)

Features

  • api: Adjust _urls field so that for browsable API displays full url and for JSON request outputs relative URL
  • core: Dont show action comment model in TicketComment meta.urlssub_models
  • core: Add signal to create an action comment when a model is (un-)linked to ticket
  • core: when or where ever model TicketDependency is created, always create the inverse
  • core: DB Migrations for dependent ticket model
  • core: TicketDependencies must be unique between ticket <> dependent_ticket
  • core: Prevent removal of a ticket if it has dependencies
  • core: Limit ability to user whom has import permission for mode TicketCommentAction
  • Add has_permission finaliser
  • api: Update ViewSet allowed_methods based off of user permissions
  • api: Allow cusomisation of allowed http methods
  • devlopment: Add depreciated decorator
  • api: Support as part of HTTP/POST (create) when a model is not created
  • core: When deleting a ticket dependency delete its inverse
  • core: Add TicketDependency signal for Action Commenting
  • core: Add/update body field for new ActionComment models
  • core: When adding a ticket dependency also create the inverse dependency for the other ticket
  • core: Correct field errors for new models TicketActionCommentFieldEdit TicketActionCommentModelLink and TicketActionCommentTicketDependency
  • core: Migrations for new models TicketActionCommentFieldEdit TicketActionCommentModelLink and TicketActionCommentTicketDependency
  • core: Add serializer for model TicketACtionCommentTicketDependency
  • core: Add serializer for model TicketACtionCommentModelLink
  • core: Add serializer for model TicketActionCommentFieldEdit
  • core: Add new model TicketACtionCommentTicketDependency
  • core: Add new model TicketACtionCommentModelLink
  • core: Add new model TicketACtionCommentFieldEdit

Fixes

  • project_management: Correct the URL generation and route for project task ticket
  • api: Correct typo in perms_map OPTIONS object
  • itam: Remove allowed_methods fn from DeviceOperatingSystem ViewSet
  • api: allowed_methods must be ALL defined permissions
  • core: field content_type is a required field for model TicketCommentActionModelLink
  • core: During ticket comment creation if there is no comment and comment type is action allow creation
  • core: Correct import permission name for model TicketActionCommentFieldEdit
  • core: View Serializer for model TicketCommentActionModelLink must have body field declared
  • core: View Serializer for model TicketCommentActionFieldEdit must have body field declared
  • core: View Serializer for model TicketCommentActionTicketDependency must have body field declared
  • core: Don't check action comments for slash command
  • core: Use correct suffix for model within method get_serializer_class for CenturionAudit ViewSet
  • core: Use correct suffix for model within method get_serializer_class for CenturionAudit ViewSet
  • core: Update method get_serializer_class for CenturionModelNote ViewSet
  • core: Update method get_serializer_class for CenturionAudit ViewSet
  • core: Add missing fields to serializer for model TicketActionCommentTicketDependency
  • core: Add missing fields to serializer model TicketActionCommentModelLink
  • core: Add missing fields to serializer for model TicketActionCommentFieldEdit
  • core: Update method get_serializer_class for ModelTicket ViewSet
  • core: Add missing field display_name to model TicketActionCommentTicketDependency
  • core: Add missing field display_name to model TicketActionCommentModelLink
  • core: Add missing field display_name to model TicketActionCommentFieldEdit

Refactoring

  • project_management: Update project field percent_completed to use new ticket model
  • project_management: Update project field estimation_project to use new ticket model
  • project_management: Update project field duration_project to use new ticket model
  • core: Migrate signal for ticket field edit to use model TickeCommennttActionFieldEdit
  • core: Add field edit_type to model TicketCommentActionFieldEdit
  • core: Only allow TicketBase instances and "related" fields for ticket_action_comment signal
  • core: When creating the marldown for a TicketModelLink Action Comment, use the correct model_tag syntax
  • core: Update serializer "getter" to use models _base_model attribute

Tests

  • core: Functional test cases for API Metadata urls.sub_models for models TicketComment<*>
  • core: When setting up test suits for slash commands, use the actual ticket model for the ticket being tested
  • core: Update Model Functional test cases for linking model to ticket to use new ticket link action comment
  • core: Remove unit test cases from original Ticket Action Comment Signal as whats tested no longer exist
  • core: Test cases to ensure that an action comment is created when a model is (un-)linked to ticket
  • core: When a ticket dependency is deleted, ensure action comment on dependent ticket is also created
  • core: When a ticket dependency is deleted, ensure action comment on ticket is also created
  • core: When a new ticket dependency is created, ensure action comment on ticket is also created
  • core: Integration Test Case to cover API create for user with import permission for model TicketCommentAction
  • core: Integration Test Case to cover API create for user with import permission for model TicketCommentActionTicketDependency
  • core: Integration Test Case to cover API create for user with import permission for model TicketCommentActionModelLink
  • core: Integration Test Case to cover API create for user with import permission for model TicketCommentActionFieldEdit
  • core: Functional Test Case, delete removes inverse dependency for model TicketDependency
  • core: Functional Test Cases cover API CRUD import permission for model TicketCommentActionTicketDependency
  • core: Functional Test Cases cover API CRUD import permission for model TicketCommentActionModelLink
  • core: Functional Test Cases cover API CRUD import permission for model TicketCommentActionFieldEdit
  • core: Functional Test Cases cover API CRUD import permission for model TicketCommentAction
  • core: Function Test Cases cover API CRUD permissions for model TicketCommentActionTicketDependency
  • core: Function Test Cases cover API CRUD permissions for model TicketCommentActionModelLink
  • core: Function Test Cases cover API CRUD permissions for model TicketCommentActionFieldEdit
  • api: add missing property to mock ViewSet
  • Unit: Add missing test cases for field checks for model TicketCommentActionTicketDependency
  • Unit: Add missing test cases for field checks for model TicketCommentActionModelLink
  • Unit: Add missing test cases for field checks for model TicketCommentActionFieldEdit
  • functional: Correct test fixture ticket_comment to use base comment model for ticket comment test suites
  • functional: ViewSet Test Suite for model TicketCommentActionTicketDependency
  • functional: Model Test Suite for model TicketCommentActionTicketDependency
  • functional: APIFields Test Suite for model TicketCommentActionTicketDependency
  • functional: ViewSet Test Suite for model TicketCommentActionModelLink
  • functional: Model Test Suite for model TicketCommentActionModelLink
  • functional: APIFields Test Suite for model TicketCommentActionModelLink
  • functional: ViewSet Test Suite for model TicketCommentActionFieldEdit
  • functional: Model Test Suite for model TicketCommentActionFieldEdit
  • functional: APIFields Test Suite for model TicketCommentActionFieldEdit
  • unit: Remove superfluous Test case where use is checked as entity
  • unit: ViewSet Test Suite for model TicketCommentActionTicketDependency
  • unit: Serializer Test Suite for model TicketCommentActionTicketDependency
  • unit: Model Test Suite for model TicketCommentActionTicketDependency
  • unit: ViewSet Test Suite for model TicketCommentActionModelLink
  • unit: Serializer Test Suite for model TicketCommentActionModelLink
  • unit: Model Test Suite for model TicketCommentActionModelLink
  • unit: ViewSet Test Suite for model TicketCommentActionFieldEdit
  • unit: Serializer Test Suite for model TicketCommentActionFieldEdit
  • unit: Model Test Suite for model TicketCommentActionFieldEdit
  • functional: Update Test case for ticket dependency Action Comments
  • functional: Test case for ADD permission returns HTTP/200 for model TicketCommentActionTicketDependency must have body field declared
  • functional: Test case for ADD permission returns HTTP/200 for model TicketCommentActionModelLink must have body field declared
  • functional: Test case for ADD permission returns HTTP/200 for model TicketCommentActionFieldEdit must have body field declared
  • unit: TicketDependency save call count update to one
  • functional: CenturionAudit model does not require test cases for meta urls.sub_models
  • unit: Update class attribute _base_model test case for models CenturionModelNote
  • unit: Update class attribute _base_model test case for models CenturionAudit
  • Add test fixture for model TicketACtionCommentTicketDependency
  • Add test fixture for model TicketACtionCommentModelLink
  • Add test fixture for model TicketActionCommentFieldEdit

1.31.2

Choose a tag to compare

@github-actions github-actions released this 11 Jun 11:49

1.31.2 (2026-06-11)

Fixes

  • metrics: CleanUp db files and register multi-process collector globally

Refactoring

  • settings: Dont perform actions within settings
  • docker: use existing PROMETHEUS_MULTIPROC_DIR env var declaration

Tests

  • integration: Ensure View metrics is not accessible.
  • integration: Ensure metrics endpoint is functional

1.31.1

Choose a tag to compare

@github-actions github-actions released this 08 Jun 08:33

1.31.1 (2026-06-08)

Fixes

  • metrics: Re-Implement usage of Prometheus python client global registry
  • docker: Use Correct Header for Protocol for uwsgi params
  • docker: Add option to prevent HTTPS redirect

1.31.0

Choose a tag to compare

@github-actions github-actions released this 07 Jun 11:56

1.31.0 (2026-06-07)

Features

  • docker: migrate from gunicorn -> uWSGI

Fixes

  • metrics: Correct metrics logic to work with uWSGI

Tests

  • integration: Re-Add missing gunicorn log file key for prev version related tests
  • integration: API Endpoint Integration Test Suite updated to include history and model notes endpoints
  • integration: RUNNING_TEST var must be true
  • integration: Cleanup the restarts and extra cmds that now run in test dockerfile during build
  • integration: remove code that was written to mitigate webserver HTTP/502
  • devops: Update Integration Test Suite test cases for SoftwareEnableFeatureFlag Model
  • core: Update Integration Test Suite test cases for TicketCommentTask Model
  • core: Update Integration Test Suite test cases for TicketCommentSolution Model
  • devops: Update Integration Test Suite test cases for CheckIn Model
  • itam: Update Integration Test Suite test cases for DeviceOperatingSystem Model
  • access: Update Integration Test Suite test cases for Tenant Model
  • settings: Update Integration Test Suite test cases for UserSettings Model
  • settings: Update Integration Test Suite test cases for AppSettings Model
  • api: Update Integration Test Suite test cases for AuthToken Model
  • integration: Add meta Integration Test Suite for all models CRUD endpoints
  • integration: Correct the real database check fixture
  • integration: Created Common test class for ALL integration tests

1.30.1

Choose a tag to compare

@github-actions github-actions released this 31 May 11:20

1.30.1 (2026-05-31)

Fixes

  • core: Add route namespace to Ticket metadata back_url
  • build: Add env var CENTURION_STATIC_ROOT for setting the static root path
  • project_management: Ticket url must be behind feature flag 2025-00006

1.30.0

Choose a tag to compare

@github-actions github-actions released this 30 May 07:08

1.30.0 (2026-05-30)

Features

  • core: Test Case for Ticket Models to ensure assigned_to field can only be a person
  • core: Add validator in form of signal for ticketbase field assigned_to
  • api: Capture django Integrity error and display as drf exception
  • api: Add submodels to meta
  • project_management: Add ticket types to project tabs
  • core: Add meta_urls function to add sub-models to meta.urls
  • project_management: SPT Project Ticket Endpoint from Ticket ViewSet
  • project_management: Add URL route for project tickets
  • itim: Complete model ProblemTicket
  • core: Capture Many2Many Field changes

Fixes

  • itim: Update Port model link field so it correctly renders in UI
  • human_resources: Update Employee model link field so it correctly renders in UI
  • assistance: Update Knowledge Base model link field so it correctly renders in UI
  • access: Update Entity model link field so it correctly renders in UI
  • access: Update Contact model link field so it correctly renders in UI
  • access: When fetching entity back url, use v2 namespace
  • Remove fields that dont exist for models page_layout.dataset columns
  • Remove fields that dont exist for models page_layout.table
  • core: TicketBase title must autolinh within ui
  • access: User Perms must return boolean not an exception
  • admin: Allow role admin name should not be read-only
  • api: Added missing thread sub route
  • project_management: Add missing comma in layout right pane for duration
  • api: Exclude meta models from sub_models key within get_meta_urls
  • core: Action Comment signal must not run on base model
  • core: When creating permission map for ticket comment, when partent pk not supplied, query comment to obtain ticket
  • core: Use sub-model for ticket dependency field render
  • itim: Change and Problem tickets must use TicketBase

Refactoring

  • Squash migrations
  • remove request parameter from model get_url fn
  • URLs now to default to relative URLs
  • settings: Update models layout for UI v0.10.0
  • project_management: Update models layout for UI v0.10.0
  • itim: Update models layout for UI v0.10.0
  • itam: Update models layout for UI v0.10.0
  • human_resources: Update models layout for UI v0.10.0
  • devops: Update models layout for UI v0.10.0
  • core: Update models layout for UI v0.10.0
  • config_management: Update models layout for UI v0.10.0
  • assistance: Update models layout for UI v0.10.0
  • api: Update models layout for UI v0.10.0
  • accounting: Update models layout for UI v0.10.0
  • access: Update models layout for UI v0.10.0
  • core: Remove model field comment_type
  • core: Remove model field ticket_type
  • access: Remove model field entity_type
  • accounting: Remove model field asset_type
  • Remove field Meta.itam_sub_model_type
  • Remove Meta property sub_model_type
  • Remove field Meta.sub_model_type
  • api: use sub_model when adding app_label kwarg
  • api: use model_name for sub_models key
  • api: Instead of mocking the viewset, use the apiclient rendered viewset
  • Use Serializer common to add ticket link to relevant models
  • core: Use model_name instead of ticket_comment_model for url kwarg
  • core: Use model_name instead of ticket_type for url kwarg
  • project_management: filter project tickets endpoint to valid ticket types
  • core: as part of CenturionMixin Unit Test Suite, mock the model context
  • core: Remove Permission check when fetching the Model type

Tests

  • api: Functional test suite for capturing Django Integrity Errors
  • api: Update self URL test case to check for relative URLs instead
  • Unit test case for ensuing that layout.detail sections columns contains valid fields
  • Unit test case for ensuing that layout.dataset columns contains valid fields
  • Unit test case for ensuing that layout.table contains valid fields
  • class: Class tests must derive from pytest plugin pytest_dimplified
  • api: ViewSet functional Test Cases for function get_meta_urls
  • project_management: ViewSet Render Functional Test Suite for model ProblemTicket
  • project_management: Serializer Render Functional Test Suite for model ProblemTicket
  • project_management: Mdoel Render Functional Test Suite for model ProblemTicket
  • project_management: API Fields Render Functional Test Suite for model ProblemTicket
  • project_management: ViewSet Unit Test Suite for model ProblemTicket
  • project_management: Serializer Unit Test Suite for model ProblemTicket
  • project_management: Model Unit Test Suite for model ProblemTicket
  • itim: API Fields Functional Test Suite for model ProblemTicket
  • itim: ViewSet Functional Test Suite for model ProblemTicket
  • itim: Serialiser Functional Test Suite for model ProblemTicket
  • itim: Model Functional Test Suite for model ProblemTicket
  • itim: ViewSet Unit Test Suite for model ProblemTicket
  • itim: Serializer Unit Test Suite for model ProblemTicket
  • itim: Model Unit Test Suite for model ProblemTicket
  • itim: ViewSet Functional Test Suite for model ChangeTicket
  • itim: Serializer Functional Test Suite for model ChangeTicket
  • itim: Model Functional Test Suite for model ChangeTicket
  • itim: API Fields Functional Test Suite for model ChangeTicket
  • itim: ViewSet Unit Test Suite for model ChangeTicket
  • itim: Serializer Unit Test Suite for model ChangeTicket
  • itim: Unit Test Suite for model ChangeTicket
  • core: Functional Test Suite for Model Audit Entries
  • core: Functional test suite for MarkdownField model_tag rendering
  • core: Correct Test logic for MarkdownField unit test suite
  • core: Correct Test logic for MarkdownFiled Model tag rendering test suite
  • itim: Remove depreciated unit test suites for model IncidentTicket
  • itim: Remove depreciated functional test suites for model IncidentTicket
  • itim: ViewSet functional test Suite for IncidnetTicket
  • itim: Model functional test Suite for IncidnetTicket
  • itim: APIFields functional test Suite for IncidnetTicket
  • itim: ViewSet unit test Suite for IncidnetTicket
  • itim: Serializer unit test Suite for IncidnetTicket
  • itim: Model unit test Suite for IncidnetTicket

1.29.0

Choose a tag to compare

@github-actions github-actions released this 09 Feb 07:07

1.29.0 (2026-02-09)

Features

  • core: Convert comment with only time tracking command, to action comment
  • core: Enable linking ticket sub models to parent model
  • base: Add oauth token required claim check to sso pipeline
  • core: TicketPermission must check if user has perm for create
  • access: remove super user check from centurion user function has_perm
  • access: remove super user check from tenancy permission
  • core: Add post_migration signal for cleaning up stale permissions
  • core: Add triage check within TicketBase Serializer
  • core: TicketComment ViewSet Permission_classes updated to require Ticket or SuperUser
  • core: Ticket ViewSet Permission_classes updated to require Ticket or SuperUser
  • core: Add TicketPermissions Class
  • access: Cache the tenancy within Tenancy Permission class
  • access: Adjust permissions for Tenancy mixin to be Tenancy or SuperUser
  • core: Update Markdown Serializer field to provide render data for UI
  • itim: Add Menu Feature Flag to model ProblemTicket
  • itim: Add Menu Feature Flag to model IncidentTicket
  • itim: Add Menu Feature Flag to model ChangeTicket
  • python: Update django 5.1.14 -> 5.1.15
  • core: Task comment Permissions must also have ticket triage
  • core: Add parent_model to CenturionNote so that tenancy can be obtained during creation
  • core: Add ability to specify additional ViewSet permissions
  • core: remove triage permission from all ticket comment types
  • itam: Update ticketmodel_device serializer to corrrect inheritance.
  • core: Always return the sub-model serializer when accessing the TicketModel base serializer
  • core: Only add threads URL to comment if there are threads
  • core: Ticket Comment base endpoint to use sub-models serializer
  • core: Serializer model core.TicketCommentTask
  • core: migrations model core.TicketCommentTask
  • core: new model core.TicketCommentTask
  • core: Create an action comment when a dependency is removed from ticket
  • core: Create an action comment when a model link is removed from ticket
  • core: model audit_values must return ALL fields for a model
  • core: Add the ticket action comment signal
  • core: Add m2m field data to model get_audit_values function
  • itim: Add Feature Flag 2025-00011 for ProblemTicket
  • itim: Add Feature Flag 2025-00010 for IncidentTicket
  • itim: Add Feature Flag 2025-00009 for ChangeTicket
  • itim: Add Navigation entries for ticket models
  • project_management: Add Migrations for project task ticket models
  • itim: Add Migrations for ticket models
  • project_management: Add Serializer for model project_management.ProjectTaskTicket
  • itim: Add Serializer for model itim.IncidentTicket
  • itim: Add Serializer for model itim.ProblemTicket
  • itim: Add Serializer for model itim.ChangeTicket
  • project_management: Add model project_management.ProjectTaskTicket
  • itim: Add model itim.ProblemTicket
  • itim: Add model itim.ChangeTicket
  • itim: Add model itim.IncidentTicket
  • core: filter ticket linked models to that of the ticket viewing
  • core: Re-import new ticket model linking to slash commands
  • core: When a ticket depedency is added via ticket description, create Action comment
  • core: When a ticket depedency is added via comment, create Action comment
  • python: update django 5.1.13 -> 5.1.14
  • core: Add New slash command for ticket dependencies to new ticket model
  • core: Updated Migrations to create model core.TicketDependency
  • core: Depreciate old ticket linked items
  • core: Depreciate old related tickets/ticket dependencies
  • core: Migrations to create model core.TicketDependency
  • core: Add URL Route for model core.TicketDependency
  • core: Add ViewSet for model core.TicketDependency
  • core: Add Serializer for model core.TicketDependency
  • core: Add model core.TicketDependency

Fixes

  • docker: use pip and apk cache from build
  • core: Correct which fields are read-only for both import and triage user
  • human_resources: signal centurion_user_add_entity must use log instead of stdout
  • core: User requires access to add/update ticket urgency field
  • core: if user lacks tenancy permissions dont process additional for ticket
  • Correct permission inheritence
  • core: Capture errors in perms_map for TicketComment ViewSet
  • core: TicketModel manager must inherit from TenancyManager
  • access: Always filter tenancy objects to tenancy list even if empty
  • access: During permission get_tenancy, use the parent model if one exists and the action=create
  • access: When checking tenancy permissions and a tenancy is required, ensure it exists
  • access: Capture exceptions within tenancy permissions
  • access: Function has_perms for user model must cater for obj or direct tenancy passed, inc no tenancy
  • core: Ticket sub-model must return display_name as markdown model_tag
  • core: Add missing ticket type fields to ticket comment category serializer
  • core: when fetching related model ensure the model is of the correct type
  • core: If replying to a ticket comment, the parent comment must be set as not closed
  • core: dont create modelticket link tables for sub-models
  • core: use correct var for solution comment when checking type
  • core: When creating a standard ticket comment, set its status to closed
  • core: When creating a ticket action comment, set its status to closed
  • core: When cleaning viewset model context, dont remove if not exists
  • core: Allow HTTP/DELETE on ticket_model_link endpoint
  • core: When cleaning up request context from model, only remove the modifications instead of replacing with clean
  • api: Use correct field to determine ticket rendering options

Refactoring

  • use get_organization function instead of property
  • api: remove superflous code paths
  • core: Add time tracking slash command for new ticket models
  • core: instead of throwing an error for wrong comment type, set it as per meta
  • access: All TenancyPermission.has_permission() to be within try..catch
  • accounting: Update modelticket serializer inheritence for AssetBase model
  • settings: Update modelticket serializer inheritence for ExternalLink model
  • project_management: Update modelticket serializer inheritence for ProjectType model
  • project_management: Update modelticket serializer inheritence for ProjectState model
  • itim: Update modelticket serializer inheritence for Service model
  • itim: Update modelticket serializer inheritence for Port model
  • itim: Update modelticket serializer inheritence for ClusterType model
  • itim: Update modelticket serializer inheritence for Cluster model
  • itam: Update modelticket serializer inheritence for SoftwareVersion model
  • itam: Update modelticket serializer inheritence for SoftwareCategory model
  • itam: Update modelticket serializer inheritence for Software model
  • itam: Update modelticket serializer inheritence for OperatingSystemVersion model
  • itam: Update modelticket serializer inheritence for OperatingSystem model
  • itam: Update modelticket serializer inheritence for ITAMAssetBase model
  • itam: Update modelticket serializer inheritence for DeviceType model
  • itam: Update modelticket serializer inheritence for DeviceModel model
  • itam: Update modelticket serializer inheritence for Device model
  • core: Update modelticket serializer inheritence for TicketCommentCategory model
  • core: Update modelticket serializer inheritence for TicketCategory model
  • devops: Update modelticket serializer inheritence for GitRepository model
  • devops: Update modelticket serializer inheritence for GitlabRepository model
  • devops: Update modelticket serializer inheritence for GithubRepository model
  • devops: Update modelticket serializer inheritence for GitGroup model
  • devops: Update modelticket serializer inheritence for FeatureFlag model
  • config_management: Update modelticket serializer inheritence for ConfigGroups model
  • assistance: Update modelticket serializer inheritence for KnowledgeBaseCategory model
  • assistance: Update modelticket serializer inheritence for KnowledgeBase model
  • accounting: Update modelticket serializer inheritence for AssetBase model
  • access: Update modelticket serializer inheritence for Tenant model
  • access: Update modelticket serializer inheritence for Role model
  • human_resources: Update modelticket serializer inheritence for Employee model
  • access: Update modelticket serializer inheritence for Person model
  • access: Update modelticket serializer inheritence for Contact model
  • access: Update modelticket serializer inheritence for Company model
  • access: Update modelticket serializer inheritence for Entity model
  • api: set mock viewset kwargs before calling model within ComonViewSet test cases
  • access: When checking a list of user permissions, check ALL permissions first, then return the result.
  • access: User permissions checks to use plural check instead of singular permission check
  • core: remove superflous function get_permission_required from ViewSet
  • api: Update ticket model linking to use the new ticket sub-models for markdown rendering
  • core: Adjust ticket fields name to be single word for fields assigned and subscribed
  • core: Use Centurion fileds history for tickets
  • api: Update ticket linked models metadata to use refactored model
  • core: Dont use link model serializer within slash command for linkmodel
  • core: move model validation from serializer to model for TicketDependency model.

Tests

  • core: Add functional test suite for slash command time tracking
  • base: OAuth Pipeline required claim Test Suite
  • **core...
Read more

1.28.1

Choose a tag to compare

@github-actions github-actions released this 01 Feb 01:21

1.28.1 (2026-02-01)

Fixes

  • core: When fetching model history, if value not a model use raw value
  • access: If migrations have not run when loading permissions, catch error gracefully
  • celery: Setup prometheus on main process only

Refactoring

  • docker: remove build artifacts from container layers
  • base: Limit errors to permission fetching loop

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:0607dc13485757bc23fb86d55f11ca13aca5ed4a
  • docker pull docker.io/nofusscomputing/centurion-erp:1.28.1

1.28.0

Choose a tag to compare

@github-actions github-actions released this 23 Jan 04:28

1.28.0 (2026-01-23)

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:356b85290dfec76bf362bdbf80b241bda93dd371
  • docker pull docker.io/nofusscomputing/centurion-erp:1.28.0

1.28.0-rc1

1.28.0-rc1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 23 Jan 01:04

1.28.0-rc1 (2026-01-23)

Features

  • Build and Release python package
  • python: Update django 5.1.13 -> 5.1.15

Fixes

  • core: some models may not be centurion models, so use their pk
  • within settings import use relative
  • python: use module namespace for script
  • when fetching audit history, if A==B, try fetching history before validation
  • docker: remove pip uninstall prompt during build
  • docker: requirements_test was renamed to requirements_dev

Refactoring

  • build: split prod requirements further to docker
  • docker: Remove setuptools as its not required

Tests

  • core: use audit values func to ensure before and after the same for validation test
  • integration: fix. ensure test cont is rebuilt
  • integration: fix. use cont env var for checking hash
  • fix. ensure the var is cast bool
  • docker: Dont test work with settings.Debug=True
  • remove code migrated to pytest-simplified plugin

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:37081a86750dbd733d805025b73303485a04fd3b
  • docker pull docker.io/nofusscomputing/centurion-erp:1.28.0-rc1