diff --git a/CHANGELOG.md b/CHANGELOG.md index 8ab4539d5..f9fe03ce5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,20 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [4.3.10] - 3 January 2025 + +### Added + +* Added a `HASURA_GRAPHQL_SERVER_HOSTNAME` for the DotEnv file to allow for setting the Hasura server hostname (Fixes #566) + * This is available for Kubernetes deployments (see issue #566) + * For all other deployments, the Hasura server hostname should be left set to `graphql_engine` by default + +### Changed + +* The linter now checks if the list styles are of type `PARAGRAPH` in the Word template +* The archived reports page now displays the project name for each report to help with identification +* Updated the pre-built Ghostwriter CLI binaries to v0.2.21 + ## [4.3.9] - 10 December 2024 ### Changed diff --git a/VERSION b/VERSION index f65dcc4b8..edf2b3afd 100644 --- a/VERSION +++ b/VERSION @@ -1,2 +1,2 @@ -v4.3.9 -10 December 2024 +v4.3.10 +3 January 2025 diff --git a/config/settings/base.py b/config/settings/base.py index 6bf047012..960f4c304 100644 --- a/config/settings/base.py +++ b/config/settings/base.py @@ -11,9 +11,9 @@ # 3rd Party Libraries import environ -__version__ = "4.3.9" +__version__ = "4.3.10" VERSION = __version__ -RELEASE_DATE = "10 December 2024" +RELEASE_DATE = "3 January 2025" ROOT_DIR = Path(__file__).resolve(strict=True).parent.parent.parent APPS_DIR = ROOT_DIR / "ghostwriter" @@ -490,6 +490,8 @@ default="changeme", ) +GRAPHQL_HOST = env("HASURA_GRAPHQL_SERVER_HOSTNAME", default="graphql_engine") + # Health Checks # ------------------------------------------------------------------------------ HEALTH_CHECK = { diff --git a/ghostwriter-cli-linux b/ghostwriter-cli-linux index 24456ad00..b6154864b 100755 Binary files a/ghostwriter-cli-linux and b/ghostwriter-cli-linux differ diff --git a/ghostwriter-cli-macos b/ghostwriter-cli-macos index 596865e90..aa0e47794 100755 Binary files a/ghostwriter-cli-macos and b/ghostwriter-cli-macos differ diff --git a/ghostwriter-cli.exe b/ghostwriter-cli.exe index fc1416b75..4317f4b93 100755 Binary files a/ghostwriter-cli.exe and b/ghostwriter-cli.exe differ diff --git a/ghostwriter/modules/health_utils.py b/ghostwriter/modules/health_utils.py index d2e7eea2a..cbb0e293e 100644 --- a/ghostwriter/modules/health_utils.py +++ b/ghostwriter/modules/health_utils.py @@ -5,6 +5,7 @@ # Standard Libraries from datetime import datetime +import os # 3rd Party Libraries import requests @@ -33,10 +34,16 @@ class HasuraBackend(BaseHealthCheckBackend): critical_service = True + @property + def graphql_host(self): + """Retrieve the GraphQL host from the environment variable or use the default.""" + + return os.getenv("GRAPHQL_HOST", "graphql_engine") + def check_status(self): """Check the status of the backend service.""" try: - response = requests.get("http://graphql_engine:8080/healthz") + response = requests.get(f"http://{self.graphql_host}:8080/healthz") if response.ok: content = response.text if "OK" in content: diff --git a/ghostwriter/modules/reportwriter/base/docx.py b/ghostwriter/modules/reportwriter/base/docx.py index 40d1de730..e5257de08 100644 --- a/ghostwriter/modules/reportwriter/base/docx.py +++ b/ghostwriter/modules/reportwriter/base/docx.py @@ -295,6 +295,15 @@ def lint(cls, template_loc: str, p_style: str | None) -> Tuple[List[str], List[s if style == "CodeBlock": if document_styles[style].type != WD_STYLE_TYPE.PARAGRAPH: warnings.append("CodeBlock style is not a paragraph style (see documentation)") + if style == "Bullet List": + if document_styles[style].type != WD_STYLE_TYPE.PARAGRAPH: + warnings.append("Bullet List style is not a paragraph style (see documentation)") + if style == "Number List": + if document_styles[style].type != WD_STYLE_TYPE.PARAGRAPH: + warnings.append("Number List style is not a paragraph style (see documentation)") + if style == "List Paragraph": + if document_styles[style].type != WD_STYLE_TYPE.PARAGRAPH: + warnings.append("List Paragraph style is not a paragraph style (see documentation)") if "Table Grid" not in document_styles: errors.append("Template is missing a required style (see documentation): Table Grid") if p_style and p_style not in document_styles: diff --git a/ghostwriter/reporting/templates/reporting/archives.html b/ghostwriter/reporting/templates/reporting/archives.html index dda637798..dc22c9cb5 100644 --- a/ghostwriter/reporting/templates/reporting/archives.html +++ b/ghostwriter/reporting/templates/reporting/archives.html @@ -28,11 +28,13 @@ + {% for zip in filter.qs %} + {% endfor %} diff --git a/local.yml b/local.yml index f0199ecd0..215ce6191 100644 --- a/local.yml +++ b/local.yml @@ -41,6 +41,7 @@ services: - DJANGO_SUPERUSER_PASSWORD=${DJANGO_SUPERUSER_PASSWORD} - DJANGO_SUPERUSER_USERNAME=${DJANGO_SUPERUSER_USERNAME} - HASURA_ACTION_SECRET=${HASURA_GRAPHQL_ACTION_SECRET} + - HASURA_GRAPHQL_SERVER_HOSTNAME=${HASURA_GRAPHQL_SERVER_HOSTNAME} - HEALTHCHECK_DISK_USAGE_MAX=${HEALTHCHECK_DISK_USAGE_MAX} - HEALTHCHECK_MEM_MIN=${HEALTHCHECK_MEM_MIN} - POSTGRES_DB=${POSTGRES_DB} diff --git a/production.yml b/production.yml index 934978159..ed567afb6 100644 --- a/production.yml +++ b/production.yml @@ -43,6 +43,7 @@ services: - DJANGO_SUPERUSER_PASSWORD=${DJANGO_SUPERUSER_PASSWORD} - DJANGO_SUPERUSER_USERNAME=${DJANGO_SUPERUSER_USERNAME} - HASURA_ACTION_SECRET=${HASURA_GRAPHQL_ACTION_SECRET} + - HASURA_GRAPHQL_SERVER_HOSTNAME=${HASURA_GRAPHQL_SERVER_HOSTNAME} - MAILGUN_API_KEY=${DJANGO_MAILGUN_API_KEY} - MAILGUN_DOMAIN=${DJANGO_MAILGUN_DOMAIN} - NO_PROXY=graphql_engine
ClientProject Zip Archive
{{ zip.project.client.name }}{{ zip.project.start_date }} {{ zip.project.project_type }} {{ zip.filename }}