diff --git a/requirements.txt b/requirements.txt
index feb65b4..03c25d4 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -4,70 +4,238 @@
 #
 #    pip-compile --output-file=requirements.txt requirements.in
 #
-alembic==1.4.0            # via flask-migrate, sqlalchemy-unchained
-amqp==2.5.2               # via kombu
-apispec==3.2.0            # via flask-unchained
+alembic==1.4.0
+    # via
+    #   flask-migrate
+    #   sqlalchemy-unchained
+amqp==5.1.1
+    # via kombu
+apispec[yaml]==4.7.1
+    # via
+    #   apispec-webframeworks
+    #   flask-unchained
+apispec-webframeworks==0.5.2
+    # via flask-unchained
 appdirs==1.4.3
-arrow==0.15.5             # via jinja2-time
-babel==2.8.0              # via flask-babelex
-bcrypt==3.1.7
-beautifulsoup4==4.8.2     # via flask-unchained
-billiard==3.6.2.0         # via celery
-blinker==1.4              # via flask-principal, flask-unchained
-celery==4.4.0             # via flask-unchained
-cffi==1.14.0              # via bcrypt
-click==7.0                # via flask, flask-unchained
-decorator==4.4.1          # via networkx
-dill==0.3.1.1             # via flask-unchained
-faker==4.0.0              # via py-yaml-fixtures
-flask-admin==1.5.5        # via flask-unchained
-flask-babelex==0.9.4      # via flask-unchained
-flask-login==0.4.1        # via flask-unchained
-flask-marshmallow==0.10.1  # via flask-unchained
-flask-migrate==2.5.2      # via flask-unchained
-flask-principal==0.4.0    # via flask-unchained
-flask-session==0.3.1      # via flask-unchained
-flask-sqlalchemy-unchained==0.7.3  # via flask-unchained
-flask-sqlalchemy==2.4.1   # via flask-migrate, flask-sqlalchemy-unchained
-git+https://github.com/briancappello/flask-unchained.git@master#egg=flask-unchained[admin,api,celery,mail,security,session,sqlalchemy]
-flask-wtf==0.14.2         # via flask-unchained
-flask==1.1.1
-importlib-metadata==1.3.0  # via kombu
-itsdangerous==1.1.0       # via flask, flask-unchained
+    # via -r requirements.in
+arrow==0.15.5
+    # via jinja2-time
+babel==2.8.0
+    # via flask-babelex
+bcrypt==4.0.0
+    # via
+    #   -r requirements.in
+    #   flask-unchained
+beautifulsoup4==4.11.1
+    # via flask-unchained
+billiard==3.6.4.0
+    # via celery
+blinker==1.4
+    # via
+    #   flask-principal
+    #   flask-unchained
+cachelib==0.9.0
+    # via flask-session
+celery==5.2.7
+    # via flask-unchained
+click==8.1.3
+    # via
+    #   celery
+    #   click-didyoumean
+    #   click-plugins
+    #   click-repl
+    #   flask
+    #   flask-unchained
+click-didyoumean==0.3.0
+    # via celery
+click-plugins==1.1.1
+    # via celery
+click-repl==0.2.0
+    # via celery
+dill==0.3.5.1
+    # via flask-unchained
+dnspython==2.2.1
+    # via email-validator
+email-validator==1.2.1
+    # via flask-unchained
+factory-boy==3.2.1
+    # via flask-unchained
+faker==4.0.0
+    # via
+    #   factory-boy
+    #   py-yaml-fixtures
+flask==2.2.2
+    # via
+    #   -r requirements.in
+    #   flask-admin
+    #   flask-babelex
+    #   flask-login
+    #   flask-marshmallow
+    #   flask-migrate
+    #   flask-principal
+    #   flask-session
+    #   flask-sqlalchemy
+    #   flask-unchained
+    #   flask-wtf
+flask-admin==1.6.0
+    # via flask-unchained
+flask-babelex==0.9.4
+    # via flask-unchained
+flask-login==0.6.2
+    # via flask-unchained
+flask-marshmallow==0.14.0
+    # via flask-unchained
+flask-migrate==3.1.0
+    # via flask-unchained
+flask-principal==0.4.0
+    # via flask-unchained
+flask-session==0.4.0
+    # via flask-unchained
+flask-sqlalchemy==2.4.1
+    # via
+    #   flask-migrate
+    #   flask-sqlalchemy-unchained
+flask-sqlalchemy-unchained==0.7.6
+    # via flask-unchained
+flask-unchained[admin,api,celery,mail,security,session,sqlalchemy]==0.9.0
+    # via -r requirements.in
+flask-wtf==1.0.1
+    # via flask-unchained
+greenlet==1.1.3
+    # via sqlalchemy
+idna==3.4
+    # via email-validator
+itsdangerous==2.1.2
+    # via
+    #   flask
+    #   flask-unchained
+    #   flask-wtf
+jinja2==3.1.2
+    # via
+    #   -r requirements.in
+    #   flask
+    #   flask-babelex
+    #   jinja2-time
+    #   py-yaml-fixtures
 jinja2-time==0.2.0
-jinja2==2.10.3
-kombu==4.6.7              # via celery
-lxml==4.4.2               # via flask-unchained
-mako==1.1.0               # via alembic
+    # via -r requirements.in
+kombu==5.2.4
+    # via celery
+lxml==4.9.1
+    # via flask-unchained
+mako==1.2.2
+    # via alembic
 markdown==3.1.1
-markupsafe==1.1.1         # via jinja2, mako
-marshmallow-sqlalchemy==0.21.0  # via flask-unchained
-marshmallow==3.3.0        # via flask-marshmallow, flask-unchained, marshmallow-sqlalchemy
-more-itertools==8.0.2     # via zipp
-networkx==2.4             # via flask-unchained, py-yaml-fixtures
-passlib==1.7.2            # via flask-unchained
+    # via -r requirements.in
+markupsafe==2.1.1
+    # via
+    #   jinja2
+    #   mako
+    #   werkzeug
+    #   wtforms
+marshmallow==3.18.0
+    # via
+    #   flask-marshmallow
+    #   flask-unchained
+    #   marshmallow-sqlalchemy
+marshmallow-sqlalchemy==0.28.1
+    # via flask-unchained
+networkx==2.8.6
+    # via
+    #   flask-unchained
+    #   py-yaml-fixtures
+packaging==21.3
+    # via
+    #   marshmallow
+    #   marshmallow-sqlalchemy
+passlib==1.7.4
+    # via flask-unchained
+prompt-toolkit==3.0.31
+    # via click-repl
 psycopg2-binary==2.8.4
-py-meta-utils==0.7.6      # via flask-unchained, sqlalchemy-unchained
+    # via -r requirements.in
+py-meta-utils==0.7.8
+    # via
+    #   flask-unchained
+    #   sqlalchemy-unchained
 py-yaml-fixtures==0.6.0
-pycparser==2.19           # via cffi
+    # via -r requirements.in
+pyparsing==3.0.9
+    # via packaging
+pyterminalsize==0.1.0
+    # via flask-unchained
 python-dateutil==2.8.1
-python-editor==1.0.4      # via alembic
+    # via
+    #   -r requirements.in
+    #   alembic
+    #   arrow
+    #   faker
+    #   py-yaml-fixtures
+python-editor==1.0.4
+    # via alembic
 python-frontmatter==0.5.0
-pytz==2019.3
-pyyaml==5.3               # via py-yaml-fixtures, python-frontmatter
+    # via -r requirements.in
+pytz==2022.2.1
+    # via
+    #   -r requirements.in
+    #   babel
+    #   celery
+    #   tzlocal
+pyyaml==5.3
+    # via
+    #   apispec
+    #   py-yaml-fixtures
+    #   python-frontmatter
 redis==3.3.11
-six==1.13.0               # via bcrypt, faker, flask-marshmallow, python-dateutil, python-frontmatter
-soupsieve==1.9.5          # via beautifulsoup4
-speaklater==1.3           # via flask-babelex
-sqlalchemy-unchained==0.9.1  # via flask-sqlalchemy-unchained, flask-unchained
-sqlalchemy==1.3.12        # via alembic, flask-sqlalchemy, flask-unchained, marshmallow-sqlalchemy, sqlalchemy-unchained
-text-unidecode==1.3       # via faker
+    # via -r requirements.in
+six==1.13.0
+    # via
+    #   click-repl
+    #   flask-marshmallow
+    #   python-dateutil
+    #   python-frontmatter
+soupsieve==1.9.5
+    # via beautifulsoup4
+speaklater==1.3
+    # via flask-babelex
+sqlalchemy==1.4.41
+    # via
+    #   alembic
+    #   flask-sqlalchemy
+    #   flask-unchained
+    #   marshmallow-sqlalchemy
+    #   sqlalchemy-unchained
+    #   wtforms-sqlalchemy
+sqlalchemy-unchained==0.12.2
+    # via
+    #   flask-sqlalchemy-unchained
+    #   flask-unchained
+text-unidecode==1.3
+    # via faker
 tzlocal==2.0.0
+    # via -r requirements.in
 uwsgi==2.0.18
-vine==1.3.0               # via amqp, celery
-werkzeug==0.16.0          # via flask
-wtforms==2.2.1            # via flask-admin, flask-wtf
-zipp==0.6.0               # via importlib-metadata
+    # via -r requirements.in
+vine==5.0.0
+    # via
+    #   amqp
+    #   celery
+    #   kombu
+wcwidth==0.2.5
+    # via prompt-toolkit
+werkzeug==2.2.2
+    # via
+    #   flask
+    #   flask-login
+    #   flask-unchained
+wtforms==3.0.1
+    # via
+    #   flask-admin
+    #   flask-unchained
+    #   flask-wtf
+    #   wtforms-sqlalchemy
+wtforms-sqlalchemy==0.3
+    # via flask-unchained
 
 # The following packages are considered to be unsafe in a requirements file:
 # setuptools