Breaking Changes¶
This page documents all breaking changes introduced in Arctyk ITSM releases.
What is a Breaking Change?¶
A breaking change is any modification that:
- Removes or renames public APIs, models, or functions
- Changes database schema in a non-backward-compatible way
- Modifies configuration file formats
- Removes features or endpoints
- Changes expected behavior of existing functionality
Version 0.6.0¶
Status: No Breaking Changes ✅
Version 0.6.0 introduces significant new features (Comments, SLA fields, lifecycle timestamps, and comprehensive developer documentation) while remaining fully backward compatible with 0.5.0.
All new database fields are optional with sensible defaults, and existing APIs remain unchanged.
Version 0.5.0¶
Status: No Breaking Changes ✅
Version 0.5.0 enhances the workflow system with audit trails and inline editing while maintaining full compatibility with 0.4.x.
Version 0.4.0¶
Recurring Ticket System Removed¶
Impact: High
Affected Areas: Models, Tasks, Views
The recurring ticket feature was removed in 0.4.0 due to architectural refactoring.
Migration Path:
- Existing recurring ticket records remain in the database but are inactive
- The feature will be reintroduced with improved architecture in a future release
- No immediate action required unless you have custom code referencing recurring tickets
Code Changes Required:
# Remove any imports of recurring ticket models
# from tickets.models import RecurringTicket # ❌ Remove this
# Remove references to recurring ticket tasks
# from tickets.tasks import create_recurring_tickets # ❌ Remove this
Workflow System Refactored¶
Impact: Medium
Affected Areas: Ticket Forms, Views, Constants
The ticket workflow system now uses category-based transitions similar to Jira.
Migration Path:
- Review any custom workflow logic
- Update code to use
WORKFLOW_TRANSITIONSinstead of direct status changes - Use
get_available_transitions()method on Ticket model
Before:
After:
# New workflow-aware change
from tickets.workflows import is_valid_transition
if is_valid_transition(ticket.status, 'resolved'):
ticket.status = 'resolved'
ticket.save()
else:
raise ValidationError("Invalid status transition")
UI Component Changes¶
Impact: Low
Affected Areas: Templates, Static Assets
SCSS architecture reorganized from flat structure to modular base/, layout/, components/, views/.
Migration Path:
- If you have custom styles, update import paths
- Review any overridden templates for changes in HTML structure
- Rebuild static assets with updated SCSS
Version 0.3.0¶
Django Admin Customizations¶
Impact: Low
Affected Areas: Admin Interface
Custom admin classes were introduced. If you have custom admin modifications, you may need to adjust them.
Future Breaking Changes¶
Planned Changes
Future versions may include: - Django 6.x upgrade (when available) - PostgreSQL version requirements - Python version requirements
Check the roadmap and changelog before upgrading.
Deprecation Policy¶
Arctyk ITSM follows these deprecation guidelines:
- Deprecation Notice: Features scheduled for removal are marked deprecated in documentation and may log warnings
- Grace Period: Deprecated features remain functional for at least one minor version
- Removal: Features are removed in the next major version after deprecation
Getting Help¶
If a breaking change affects your deployment:
- Check the migration guide for upgrade instructions
- Review the version-specific changelog
- Open an issue on GitHub
- Ask for help on Discord
Recurring Ticket System Removed¶
Impact: High
Affected Areas: Models, Tasks, Views
The recurring ticket feature was removed in 0.4.0 due to architectural refactoring.
Migration Path:
- Existing recurring ticket records remain in the database but are inactive
- The feature will be reintroduced with improved architecture in a future release
- No immediate action required unless you have custom code referencing recurring tickets
Code Changes Required:
# Remove any imports of recurring ticket models
# from tickets.models import RecurringTicket # ❌ Remove this
# Remove references to recurring ticket tasks
# from tickets.tasks import create_recurring_tickets # ❌ Remove this
Workflow System Refactored¶
Impact: Medium
Affected Areas: Ticket Forms, Views, Constants
The ticket workflow system now uses category-based transitions similar to Jira.
Migration Path:
- Review any custom workflow logic
- Update code to use
WORKFLOW_TRANSITIONSinstead of direct status changes - Use
get_available_transitions()method on Ticket model
Before:
After:
# New workflow-aware change
from tickets.workflows import is_valid_transition
if is_valid_transition(ticket.status, 'resolved'):
ticket.status = 'resolved'
ticket.save()
else:
raise ValidationError("Invalid status transition")
UI Component Changes¶
Impact: Low
Affected Areas: Templates, Static Assets
SCSS architecture reorganized from flat structure to modular base/, layout/, components/, views/.
Migration Path:
- If you have custom styles, update import paths
- Review any overridden templates for changes in HTML structure
- Rebuild static assets with updated SCSS
Version 0.3.0¶
Django Admin Customizations¶
Impact: Low
Affected Areas: Admin Interface
Custom admin classes were introduced. If you have custom admin modifications, you may need to adjust them.
Future Breaking Changes¶
Planned Changes
Future versions may include: - Django 6.x upgrade (when available) - PostgreSQL version requirements - Python version requirements
Check the roadmap and changelog before upgrading.
Deprecation Policy¶
Arctyk ITSM follows these deprecation guidelines:
- Deprecation Notice: Features scheduled for removal are marked deprecated in documentation and may log warnings
- Grace Period: Deprecated features remain functional for at least one minor version
- Removal: Features are removed in the next major version after deprecation
Getting Help¶
If a breaking change affects your deployment:
- Check the migration guide for upgrade instructions
- Review the version-specific changelog
- Open an issue on GitHub
- Ask for help on Discord