All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Use
django-sri
for sri hashes - Set own user agent for dhooks-lite
- Minimum requirements
- Alliance Auth >= 4.6.0
- Python 3.13 to the test matrix
- Translations updated
- Eve time hint in placeholder for formup time (#237)
- Autocomplete JS updated
- Italian translation improved
- Ukrainian translation improved
- Switch to
django-solo
to provide the singleton for the settings model, instead of the custom implementation
- Dependencies updated
allianceauth
>=4.3.1
- French translation improved
- Japanese translation improved
- Lingua codes updated to match Alliance Auth v4.3.1
- Prepared Czech translation for when Alliance Auth supports it
- French translation improved
- Japanese translation improved
- Russian translation improved
- Support for Python 3.8 and Python 3.9
- Chinese translation updated
- Translations updated
- Field for the approximate fleet duration (#183)
- Empty string checks in JS
- Integrity hash to our CSS and JS
- An issue with some weird encoding in the fields that use datalists when typing special characters, like
>
(#185)
- Translations updated
Note
This version needs at least Alliance Auth v4.0.0!
Please make sure to update your Alliance Auth instance before you install this version, otherwise, an update to Alliance Auth will be pulled in unsupervised.
- Compatibility to Alliance Auth v4
- Bootstrap 5
- Django 4.2
- Remaining time to pre-pings (#178)
- Templates changed to Bootstrap 5
- Compatibility to Alliance Auth v3
Note
This version needs at least Alliance Auth v4.0.0b1!
Please make sure to update your Alliance Auth instance before you install this version, otherwise, an update to Alliance Auth will be pulled in unsupervised.
- Compatibility to Alliance Auth v4
- Bootstrap 5
- Django 4.2
- Templates changed to Bootstrap 5
- Compatibility to Alliance Auth v3
Note
This is the last version compatible with Alliance Auth v3.
- Translations updated
- Capitalization for translatable strings
- Use
clean_setting
function fromallianceauth´app-utils
instead of reinventing the wheel and have our own - Test suite updated
- Translation updates
- Korean translation improved
- Korean translation
- Spanish translation
- Bootstrap CSS fix
- Bootstrap CSS fix
- Footer to promote help with the app translation
- Ukrainian translation improved
- Translation string unified (No need for 2 different strings for the same thing)
- And another one for (#127)
- Discord Message Format Inconsistency (#127)
- JS modernised
- Model renamed to be in line with the Django naming scheme
- Channel to Fleet Comms
- German translation improved
- Page title now reflects the app name properly
- Unnecessary "by" removed from Discord embed footer (Thanks to @pvyParts » #112)
- German translation updated
- Russian translation updated
- Dropdowns for fleet comms, formup locations and doctrines now look more like actual dropdowns.
Note
After this update and successful migration, you can remove this app's settings
from your local.py
. All settings are now handled through the Django Admin
Backend under /admin/fleetpings/setting/
- Migrated settings from
local.py
to the database - German translation updated
- Russian translation updated
- Ukrainian translation updated (not complete yet, currently at 90% translated)
- Ukrainian translation
- Russian translation updated
- Moved the build process to PEP 621 / pyproject.toml
- Russian translation
- German translation
AA_FLEETPINGS_WEBHOOK_VERIFICATION
setting to disable webhook URL verification, so you can use non-Discord webhooks for your pings. If you do so, it is up to you to ensure your webhook understands a payload formatted for Discord webhooks. (Thanks to @pvyParts » #87)
- Hint text to the "Announcement Text" field with a link to Discord Markdown
- Some code/internal improvements
- Minimum Requirement:
- Alliance Auth >= 3.2.0
- Warning about ping spam when
@everyone
is selected as target. Hopefully this will fight ping spam a little.
- Don't show
::
in front of the ping text headline when no ping target is selected
- Simplified checks for mandatory fields in JS (If you're still using Internet Explorer 11 or older, you should feel bad and update to a modern browser)
- Some typos
- Templates cleaned up and re-organized
- Minimum Requirement:
- Alliance Auth >= 2.14.0
- Issue: Custom ping targets not auto-linking in Discord properly. (#74)
- Missing
helper
directory
- Local time to formup time segment (#70)
- Minimum requirements
- Alliance Auth >= v2.11.2
- Alliance Auth App Utils >= 1.13.0
- Switched to Alliance Auth App Utils for logging
- JavaScript cleaned up
- Logic for ping text moved from JavaScript to Python/Django code
- Discord pings are now always embedded
- Get
timezones
app URL from Django instead of it being hardcoded
- Support for Slack Webhooks. Slack is not supported by Alliance Auth, so it has been dropped from this app as well.
- Local time to formup time segment (#70)
- Get
timezones
app URL from Django instead of it being hardcoded
- Test suite for AA 3.x and Django 4
- Switched to
setup.cfg
as config file, sincesetup.py
is deprecated now
- Deprecated settings
- Error message on missing information for Optimer and SRP
- Optimer (Mandatory fields):
- » FC Name
- » Fleet Name
- » Formup Location
- » Formup Time
- » Ships / Doctrine
- SRP (Mandatory fields):
- » Fleet Name
- » Ships / Doctrine
- Optimer (Mandatory fields):
- [Compatibility] AA 3.x / Django 4 :: ImportError: cannot import name 'ugettext_lazy' from 'django.utils.translation'
- JavaScript modernised
- Using
path
in URL config instead of soon-to-be removedurl
(Upcoming)
to the header text of pre-pinged fleets to ensure there is no confusion between pre-pinged fleets and fleets that start now (#61)
- JS rewrite
- Versioned static files to prevent browser cache related errors on app updates
- An issue where the checkboxes haven't been cleared properly when switching between "Pre-Ping" and "Formup NOW"
- Tests for Python 3.11 (still allowed failing, since Python 3.11 is still in alpha state)
- Minimum requirements
- Alliance Auth v2.9.4
- Check for AA-GDPR, since we don't load any external resources it is not needed
- Minimum requirements
- Python 3.7
- Alliance Auth v2.9.3
- Tests
allianceauth-app-utils
to replace built-in functions
- Minimum Python version set to 3.7
- Minimum AA version set to 2.8.8
- Python 3.9 and Django 3.2 compatibility
- Using Django application registry instead of directly accessing
INSTALLED_APPS
(#49)
- Interference with Discord service migrations in case the Discord service is activated after this app is installed.
- Permission checks for "Create SRP Link" checkbox, so only FCs who have the permission to actually add SRP links can use this feature (#46)
- Creating multiple SRP links with the same SRP code.
- An issue where additionally configured ping targets wouldn't show up in the dropdown (#44)
- Set input field for formup time to
autocomplete="off"
so you don't have to fiddle around to use the datetime picker anymore
- Checkbox to create an SRP link when SRP is active for a fleet and formup time is set
to "NOW". Supported SRP Modules:
- allianceauth.srp (that's the built-in module)
- aasrp
- Colored box in the admin fleet type overview to represent the embed color
- Giving the ajax call a proper name
- Django 2 support
- Bootstrap classes in template
- An issue with quotes in the doctrine field (#38)
- Create optimer is visible even if optimer is not active (#35)
- "Don't Ping" option to ping targets
- Checkbox to automatically create a fleet operations timer for a pre-ping
Important
Before updating to this version, make sure you have your Alliance Auth updated to version 2.8.0 (or newer). This version of AA Fleetpings uses a JavaScript library that is introduced in Alliance Auth 2.8.0, so have your Auth updated before installing this version.
- Filter to the admin backend
- More checks for Discord. Now check if the Discord Service s actually activated and setup properly
- Compatibility to AA Timezones (v1.2.1) new link style
- Backwards compatibility to versions of AA Timezones before 1.2.1, so the old link style is still generated when using an older version
- MySQL text fields can't have default values
- Parameters differ from overridden method warning
- Use clipboard.js bundled with Alliance Auth
- Minimum required Alliance Auth version set to 2.8.0 due to us using
clipboard.js
bundled with Alliance Auth - Unused lib removed
- Django 3 stuff in
setup.py
, Should probably be in there as well …
- Compatibility with the upcoming changes in Alliance Auth v2.8.0 (Django 3)
- Fleet type embed color is now a color picker in admin backend
- Option to use the fittings from the Fittings and Doctrines module if you have it installed
- Restrictions to fleet types
- Restrictions to doctrines
Note
This is the official re-brand of AA Discord Ping Formatter, since the original name didn't fit anymore with the new features, like automatic pings and now the new Slack implementation.
If you were testing one of the alpha versions of AA Discord Ping Formatter, make
sure to migrate discordpingformatter zero and deactivate the old app in your local.py
before activating this one. They will not run side by side.
This is how you do it:
python manage.py migrate discordpingformatter zero
Now remove the 'discordpingformatter',
line and add 'fleetpings',
instead.
Once done, run collectstatic and migrations again. You now have to re-do your settings in the admin backend, since we just nuked them from the old app.
- Support for pings to Slack. If you're using Slack, simply add
AA_FLEETPINGS_USE_SLACK = True
to yourlocal.py
- !! breaking change !! Settings are no longer in your
local.py
. You find them now in your admin backend. Which means. after installing this version, you have to re-do your setting in the admin backend of Auth. But trust me, it's worth the effort. - Minimum AA version set to 2.7.4 since we use a feature that was introduced in this version. So make sure to update your Alliance Auth before testing this app.
- Several logic errors in JavaScript
- Little logic error in embedded pre-pings when no FC is set
- Single quote issue finally fixed (#31)
- Missing "Fleet" on embedded pings headline when no fleet type is selected
- Hopefully escaped possible single quotes in a character name, so they will not be transformed into their respective HTML entities in a ping
- JS modularizing, creation of the link for aa-timezones moved to its own function
- Added a bit more information to the embedded ping, so on mobile phones or system
notification there is a bit more than just
@everyone
or@here
to see.
- Configuration for pre-defined fleet comms, formup locations, and doctrines. These
can be configured in your
local.py
viaAA_DISCORDFORMATTER_FLEET_COMMS
,AA_DISCORDFORMATTER_FLEET_DOCTRINES
andAA_DISCORDFORMATTER_FLEET_FORMUP_LOCATIONS
.
- Restriction for ping targets. Just to make sure not everyone can ping for Capitals or even Supers and Titans if these are configured ping targets. (#18)
- Set time selection steps to 15 minutes instead of 60 in the datepicker
- Set Monday as the beginning of the week in the datepicker
- Our Australian time travelers and everyone else who lives in the future (UTC+x) are now able to pre-ping fleets that are coming up in 2-hours Eve time, which might still be in their past local time, depending on how far in the future they live. (#19)
- Option to embed automatic pings via webhook (#13)
- Embedded pings via webhook are now color coded. Pre-defined fleet types are by default (Roam = green, Home Defense = yellow, StratOP = orange, CTA = red), and custom fleet types can be defined via settings.
- Missing semicolons in JavaScript found their way back to where they belong
- Link to time zones conversion is now a named link
- Ping creator at the end auf automatic pings via webhooks
- Webhook group restrictions. Webhooks can now be restricted to certain groups, so not everyone who has access to this module can ping through all webhooks. Webhooks without restrictions are accessible for all with access to the module. (Thanks to Exiom for bringing this up)
- FC name is pre-filled with the user's main character name, since the user is most likely te FC pinging for his own fleet.
- Formup Time is now a proper datepicker, so there is a consistent date/time format throughout the pings
- Formup Time disabled by default. To enable it, either check the Pre-Ping checkbox or disable the Formup NOW checkbox below the Formup Time field
- Formup Time is set to NOW by default
- Link to timezones conversion on formup time if the aa-timezones module is installed
- Ping for non-default roles via Webhook (#9)
- Configurable Discord webhooks to ping channels automagically
- Typo in Additional Information
- Ping Type renamed to Ping Target in form
- Configuration for additional ping targets and fleet types
- Sanitizing form field input
- There should always be an empty line before Additional Information ...
- Initial version