d4c814c79a
Upgrade to Python 3.9
...
I also needed to patch my Jinja2 filters to not use a deprecated method
of declaring themselves, since the upgrade pulled in a newer minor
version of Jinja2.
The upgrade also tried to pull in Django 4, which many of the plugins
I'm using can't cope with yet, so it needed to be convinced not to do
that.
2022-04-29 14:54:49 +10:00
0ca50252dd
Add mypy types for libraries that have them now
2022-02-22 12:35:38 +11:00
ce07ba8cdc
Perform a pipenv update since everything is old
2019-01-17 11:43:30 +11:00
c8faa30724
Switch to another relative-date-formatting library which supports tiny abbreviated formats
2018-06-28 12:57:09 +10:00
741c2eb234
Switch from stateless JOSE tokens to stateful tokens in the DB, since they can then be much smaller and we're using a DB anyway
2018-06-12 14:57:53 +10:00
c9f66eb91c
Install mypy and make the minimum changes necessary for it to pass, albeit using --ignore-missing-imports
2018-05-29 09:37:28 +10:00
142e3eff2b
Ugh. Fix the new MessagePack serialiser to interface reliably with the msgpack library (gotta pass some flags and stuff) - also, actually depend on msgpack to make sure we have it
2018-05-28 21:33:20 +10:00
b59962a119
Start porting stuff from Django templates to Jinja2 - I've only done the lemonauth templates so far, and the layout is missing some meta stuff (hoping to reduce how much of that is needed) but it works
2018-05-28 21:15:02 +10:00
15e5219e3a
Install Werkzeug so that runserver_plus is available
2018-05-28 17:49:57 +10:00
4a208a91b6
Push pytest-django, and also ptpython, into dev-packages
2018-05-11 14:57:04 +10:00
4dd7a6dcc4
Switch to psycopg2-binary - don't actually need it, libpq is available in all my environments, but it'll shush some warnings
2018-05-11 14:04:38 +10:00
c55f437885
Add pyup-django to warn me if Django's dangerously outdated
2018-05-09 21:00:30 +10:00
4d974a5364
Create a basic but functional micropub media endpoint :o
2018-05-07 22:28:48 +10:00
8cbe51277e
Install django-extensions for lots more manage.py commands
2018-04-26 13:35:31 +10:00
092cd5ca18
Explicitly depend on gevent, since apparently depending on it as a Gunicorn 'extra' might not install it :/
2018-04-26 10:22:02 +10:00
0f95cfa0bc
Switch from django-redis-cache to django-redis, which does the same thing but is actively maintained
2018-04-24 12:45:05 +10:00
9d30534d1d
Explicitly depend on the gevent extra for Gunicorn, since we make a lot of HTTP requests and so absolutely need async workers
2018-04-24 11:31:30 +10:00
1654ceecf3
Switch from django-favicon-plus to django-super-favicon, it performs better and doesn't require a DB table
2018-04-20 12:35:51 +10:00
025910029e
Add support for the django.contrib.admindocs feature
2018-04-20 11:21:00 +10:00
43348a89da
Add support for serving users' avatars through the Libravatar API
2018-03-23 12:56:13 +11:00
365110544c
Upgrade Django to 2.0.3, yay!
2018-03-21 22:02:27 +11:00
098284a617
Remove django-shorturls with my own implementation, since it's incompatible with Django 2 and unmaintained
2018-03-21 21:50:40 +11:00
45daf529f8
Switch the preferred password hash from PBKDF2 to the newer and more secure Argon2
2018-02-06 16:18:15 +11:00
dffa2d9d50
Install pytest for designing and running automated test suites
2018-02-02 15:06:59 +11:00
957fc4ada7
Lock Django to 1.11 in Pipfile, so it won't accidentally upgrade to 2 when I try to install unrelated packages
2018-01-24 12:57:10 +11:00
0fd65d3c2b
Enable CORS using django-cors-headers
2018-01-11 09:32:45 +11:00
e72a6b01f0
Start implementing reply context! It's ugly and doesn't actually link the original post yet but you *can* see the original post's author and content :3
2017-11-16 21:52:42 +11:00
a7f6824334
Implement request caching in Redis so that we don't always have to fetch remote pages every time we want their mf2 items
2017-11-10 09:17:32 +11:00
78b2f8220d
Add simple support for sending Webmentions using the ronkyuu library
2017-11-06 21:08:02 +11:00
e853e22362
Install django-rq and use it to ping WebSub, rather than blocking the micropub request during pings
2017-11-06 11:04:22 +11:00
cfe0f47d0f
Switch from PyJWT to python-jose, since it supports more features and has more documentation
2017-11-03 17:42:57 +11:00
1c09be1b1c
Switch from database-persisted auth codes to stateless JSON Web Tokens :)
2017-11-02 16:36:16 +11:00
1e56d5a09a
Install django-model-utils and use it for automatic timestamp fields on entries
2017-11-02 12:59:23 +11:00
4b4ab324cc
Enable analytics in production
2017-11-01 16:18:48 +11:00
3c95eeeefb
Insist on Python 3.6, since the 'secrets' module for making secure tokens isn't available in 3.5
2017-10-29 17:13:28 +11:00
acce72e90e
Implement the auth-code verification step, producing a complete IndieAuth implementation for 'id' type (nothing for 'code' type yet tho)
2017-10-29 17:07:36 +11:00
7027c74035
Install django-shorturls to generate simple shortpermalinks for entries :3
2017-10-29 12:56:30 +11:00
21786d6e6c
Install django-annoying, which provides some nice shortcuts for common operations
2017-10-29 12:41:33 +11:00
55731c63ce
Add support for generating a simple Web App Manifest file, which helps mobile browsers display the site smartly
2017-10-28 14:29:07 +11:00
6678c4cdbb
Install WebSub plugin - it can't actually push anything yet because there's no micropub, and therefore no pinging, but it's a start
2017-10-27 20:32:50 +11:00
00d7a29b2d
Add basic support for /.well-known/host-meta(.json)?, not much info in it so far but it works
2017-10-27 12:25:17 +11:00
eaf54a4e83
Install the django-debug-toolbar plugin for lots of handy info during development
2017-10-27 08:05:50 +11:00
8f8e53bb27
Switch from django-markdown-deux to a pipeline thru markdown for rendering + bleach for sanitising
2017-10-26 14:40:29 +11:00
93be2f5a32
Half-implement an IndieAuth authorization endpoint - it accepts the right parameters, verifies your client_id, and displays a prompt, but you can't actually approve the auth yet
2017-10-26 11:35:57 +11:00
e88b631cdb
Enable Markdown rendering support for user notes and entry content
2017-10-25 13:25:58 +11:00
2b6691f8a5
Rudimentary but fully-functional entry permalink pages :3
2017-10-25 12:31:08 +11:00
7f17d50486
Enable django-otp-agents, for preserving OTP trust over time
2017-10-25 01:46:18 +11:00
3f3bb05a25
Add TOTP support with django-otp
2017-10-25 01:25:03 +11:00
9efb167bc9
Mark 'active' navbar items accordingly, using django-activeurl
2017-10-25 00:40:38 +11:00
1670b6d427
Switch from Memcached to Redis
2017-10-24 22:22:56 +11:00