22 October 2021, v2.2.2
v2.2.2
This is the final release of v2.2.2. This release contains mostly optimizations and unit testing, but there are several impactful bug fixes and changes.
New Features
Added new filters for report templates
add_days
: Add some number of business days to a dateformat_datetime
: Change the format of the provided datetime string
The cloud monitoring task can now collect information about AWS Lightsail instances and S3 buckets
A new "Notification Delay" setting is available under the Cloud Configurations
This setting delays cloud infrastructure teardown notifications by X days
Useful if you want to run the cloud monitor task more frequently and not get teardown reminders for some period of time after a project ends
Projects now have fields for timezone, start time, and end time to track working hours
Client contacts now have a timezone field
You can now save up to three additional IP addresses for cloud servers (they are stored in an array for easy iteration)
Fixed
Fixed the sorting of the domain age column in the domain table
Fixed issue with the JavaScript for deleting entries in a formset selecting other checkboxes
Fixed
WhoisStatus
model'scount
propertyFixed error handling that could suppress report generation error messages when generating all reports
Fixed error that could lead to WebSocket disconnections and errors when editing the timestamp values of a log entry
Fixed a typo in the emoji used by the default Slack message for an untracked server
Fixed a logic issue that could result in an "ignore tag" being missed when reporting on cloud infrastructure
Changed
Adjusted the report data to replace a blank short name with the client's full name (rather than a blank space in a report)
Moved some form validation logic to Django Signals in preparation for the API
Added a custom "division by zero" error message for times when a Jinja2 template attempts to divide a value (e.g., total num of completed objectives) that is zero without first checking the value
Bumped Toastr message opacity to
.9
(up from.8
) to improve readabilityBumped 50 character limit on certain
OplogEntry
values to 255 (the standard for other models)Condensed Docker image layers and disabled caching for
pip
andapk
to reduce image sizes by about 0.2 to 0.3GBOptimized and improved code quality throughout the project based on recommendations from Code Factor (https://www.codefactor.io/repository/github/ghostmanager/ghostwriter)
Added Signals to release a checked-out server or domain if the current checkout is deleted (so it is released immediately rather than waiting for a scheduled task to run)
When updating a project's dates, Ghostwriter will no longer update the dates on domain and server checkouts if the checkout has already expired
If an in-use domain is flagged as "burned" by the health check task, a notification will now be sent to the project's Slack channel if a Slack channel is configured
All core libraries have been bumped up to their latest versions and Django has been upgraded to v3.1 from v3.0
Security Changes
Upgraded the Django image to Alpine v3.14 to address potential security vulnerabilities in the base image
Upgraded Postgres image to Postgres v11.12 to address potential security vulnerabilities in previously used version/base image
Pinned nginx image to v1.12.1 for security and stability
Upgraded TinyMCE to v5.8.2 to address potential XSS discovered in older TinyMCE versions
Last updated