diff --git a/aleksis/apps/chronos/migrations/0001_initial.py b/aleksis/apps/chronos/migrations/0001_initial.py
index 883b25bbf97f4bb0660e787d0a787b754b5efec4..023ea06eb613a00e8b24b0f90046d92ae906a126 100644
--- a/aleksis/apps/chronos/migrations/0001_initial.py
+++ b/aleksis/apps/chronos/migrations/0001_initial.py
@@ -1,13 +1,14 @@
 # Generated by Django 3.0.5 on 2020-05-04 14:16
 
 import django.contrib.postgres.fields.jsonb
-import django.contrib.sites.managers
 import django.db.models.deletion
 from django.db import migrations, models
 
 import calendarweek.calendarweek
 import colorfield.fields
 
+import aleksis.core.managers
+
 import aleksis.apps.chronos.managers
 
 
@@ -49,7 +50,7 @@ class Migration(migrations.Migration):
                 ),
                 "managed": False,
             },
-            managers=[("objects", django.contrib.sites.managers.CurrentSiteManager()),],
+            managers=[("objects", aleksis.core.managers.AlekSISBaseManager()),],
         ),
         migrations.CreateModel(
             name="Break",
@@ -80,7 +81,7 @@ class Migration(migrations.Migration):
                 "verbose_name_plural": "Breaks",
                 "ordering": ["after_period"],
             },
-            managers=[("objects", django.contrib.sites.managers.CurrentSiteManager()),],
+            managers=[("objects", aleksis.core.managers.AlekSISBaseManager()),],
         ),
         migrations.CreateModel(
             name="Lesson",
@@ -119,7 +120,7 @@ class Migration(migrations.Migration):
                 aleksis.apps.chronos.managers.GroupPropertiesMixin,
                 aleksis.apps.chronos.managers.TeacherPropertiesMixin,
             ),
-            managers=[("objects", django.contrib.sites.managers.CurrentSiteManager()),],
+            managers=[("objects", aleksis.core.managers.AlekSISBaseManager()),],
         ),
         migrations.CreateModel(
             name="LessonPeriod",
@@ -251,7 +252,7 @@ class Migration(migrations.Migration):
                 "verbose_name_plural": "Time periods",
                 "ordering": ["weekday", "period"],
             },
-            managers=[("objects", django.contrib.sites.managers.CurrentSiteManager()),],
+            managers=[("objects", aleksis.core.managers.AlekSISBaseManager()),],
         ),
         migrations.CreateModel(
             name="SupervisionSubstitution",
@@ -353,7 +354,7 @@ class Migration(migrations.Migration):
                 "verbose_name_plural": "Supervision areas",
                 "ordering": ["name"],
             },
-            managers=[("objects", django.contrib.sites.managers.CurrentSiteManager()),],
+            managers=[("objects", aleksis.core.managers.AlekSISBaseManager()),],
         ),
         migrations.AddField(
             model_name="supervision",
@@ -458,7 +459,7 @@ class Migration(migrations.Migration):
                 "verbose_name_plural": "Subjects",
                 "ordering": ["name", "short_name"],
             },
-            managers=[("objects", django.contrib.sites.managers.CurrentSiteManager()),],
+            managers=[("objects", aleksis.core.managers.AlekSISBaseManager()),],
         ),
         migrations.CreateModel(
             name="Room",
@@ -500,7 +501,7 @@ class Migration(migrations.Migration):
                 "verbose_name_plural": "Rooms",
                 "ordering": ["name", "short_name"],
             },
-            managers=[("objects", django.contrib.sites.managers.CurrentSiteManager()),],
+            managers=[("objects", aleksis.core.managers.AlekSISBaseManager()),],
         ),
         migrations.CreateModel(
             name="LessonSubstitution",
@@ -871,7 +872,7 @@ class Migration(migrations.Migration):
                 "verbose_name_plural": "Exams",
                 "ordering": ["date"],
             },
-            managers=[("objects", django.contrib.sites.managers.CurrentSiteManager()),],
+            managers=[("objects", aleksis.core.managers.AlekSISBaseManager()),],
         ),
         migrations.CreateModel(
             name="Event",
@@ -1032,7 +1033,7 @@ class Migration(migrations.Migration):
                 "verbose_name": "Absence reason",
                 "verbose_name_plural": "Absence reasons",
             },
-            managers=[("objects", django.contrib.sites.managers.CurrentSiteManager()),],
+            managers=[("objects", aleksis.core.managers.AlekSISBaseManager()),],
         ),
         migrations.CreateModel(
             name="Absence",
diff --git a/aleksis/apps/chronos/migrations/0014_add_managed_by_app_label.py b/aleksis/apps/chronos/migrations/0014_add_managed_by_app_label.py
new file mode 100644
index 0000000000000000000000000000000000000000..79d10ea3564cf1f3043f411d39461d31b0f294cc
--- /dev/null
+++ b/aleksis/apps/chronos/migrations/0014_add_managed_by_app_label.py
@@ -0,0 +1,96 @@
+# Generated by Django 4.2.3 on 2023-07-27 13:35
+
+import aleksis.core.managers
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('sites', '0002_alter_domain_unique'),
+        ('chronos', '0013_move_room_to_core'),
+    ]
+
+    operations = [
+        migrations.AddField(
+            model_name='absence',
+            name='managed_by_app_label',
+            field=models.CharField(blank=True, editable=False, max_length=255, verbose_name='App label of app responsible for managing this instance'),
+        ),
+        migrations.AddField(
+            model_name='absencereason',
+            name='managed_by_app_label',
+            field=models.CharField(blank=True, editable=False, max_length=255, verbose_name='App label of app responsible for managing this instance'),
+        ),
+        migrations.AddField(
+            model_name='break',
+            name='managed_by_app_label',
+            field=models.CharField(blank=True, editable=False, max_length=255, verbose_name='App label of app responsible for managing this instance'),
+        ),
+        migrations.AddField(
+            model_name='event',
+            name='managed_by_app_label',
+            field=models.CharField(blank=True, editable=False, max_length=255, verbose_name='App label of app responsible for managing this instance'),
+        ),
+        migrations.AddField(
+            model_name='exam',
+            name='managed_by_app_label',
+            field=models.CharField(blank=True, editable=False, max_length=255, verbose_name='App label of app responsible for managing this instance'),
+        ),
+        migrations.AddField(
+            model_name='extralesson',
+            name='managed_by_app_label',
+            field=models.CharField(blank=True, editable=False, max_length=255, verbose_name='App label of app responsible for managing this instance'),
+        ),
+        migrations.AddField(
+            model_name='holiday',
+            name='managed_by_app_label',
+            field=models.CharField(blank=True, editable=False, max_length=255, verbose_name='App label of app responsible for managing this instance'),
+        ),
+        migrations.AddField(
+            model_name='lesson',
+            name='managed_by_app_label',
+            field=models.CharField(blank=True, editable=False, max_length=255, verbose_name='App label of app responsible for managing this instance'),
+        ),
+        migrations.AddField(
+            model_name='lessonperiod',
+            name='managed_by_app_label',
+            field=models.CharField(blank=True, editable=False, max_length=255, verbose_name='App label of app responsible for managing this instance'),
+        ),
+        migrations.AddField(
+            model_name='lessonsubstitution',
+            name='managed_by_app_label',
+            field=models.CharField(blank=True, editable=False, max_length=255, verbose_name='App label of app responsible for managing this instance'),
+        ),
+        migrations.AddField(
+            model_name='subject',
+            name='managed_by_app_label',
+            field=models.CharField(blank=True, editable=False, max_length=255, verbose_name='App label of app responsible for managing this instance'),
+        ),
+        migrations.AddField(
+            model_name='supervision',
+            name='managed_by_app_label',
+            field=models.CharField(blank=True, editable=False, max_length=255, verbose_name='App label of app responsible for managing this instance'),
+        ),
+        migrations.AddField(
+            model_name='supervisionarea',
+            name='managed_by_app_label',
+            field=models.CharField(blank=True, editable=False, max_length=255, verbose_name='App label of app responsible for managing this instance'),
+        ),
+        migrations.AddField(
+            model_name='supervisionsubstitution',
+            name='managed_by_app_label',
+            field=models.CharField(blank=True, editable=False, max_length=255, verbose_name='App label of app responsible for managing this instance'),
+        ),
+        migrations.AddField(
+            model_name='timeperiod',
+            name='managed_by_app_label',
+            field=models.CharField(blank=True, editable=False, max_length=255, verbose_name='App label of app responsible for managing this instance'),
+        ),
+        migrations.AddField(
+            model_name='validityrange',
+            name='managed_by_app_label',
+            field=models.CharField(blank=True, editable=False, max_length=255, verbose_name='App label of app responsible for managing this instance'),
+        ),
+    ]
diff --git a/pyproject.toml b/pyproject.toml
index 26dbd51a260ebfc9741629fb2d1d9361b0c664d4..13b8386873c9e45c3a44b0a9855d153bb71277e0 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
 [tool.poetry]
 name = "AlekSIS-App-Chronos"
-version = "3.0.2.dev0"
+version = "4.0.dev0"
 packages = [
     { include = "aleksis" }
 ]
@@ -50,8 +50,8 @@ priority = "supplemental"
 [tool.poetry.dependencies]
 python = "^3.9"
 calendarweek = "^0.5.0"
-aleksis-core = "^3.0"
-aleksis-app-resint = "^3.0"
+aleksis-core = "^4.0.0.dev0"
+aleksis-app-resint = "^4.0.dev0"
 
 [tool.poetry.plugins."aleksis.app"]
 chronos = "aleksis.apps.chronos.apps:ChronosConfig"