Skip to content

Commit 354ff7f

Browse files
jonfroehlichclaude
andcommitted
Bump version to 2.27.4 (auto-deploy webhook hardening #1422)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 parent d72dea2 commit 354ff7f

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

makeabilitylab/settings.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,8 @@
8686
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
8787

8888
# Makeability Lab Global Variables, including Makeability Lab version
89-
ML_WEBSITE_VERSION = "2.27.3" # Keep this updated with each release and also change the short description below
90-
ML_WEBSITE_VERSION_DESCRIPTION = "Fixes a news-image crop bug where the public news detail page cropped differently than the admin crop preview -- clipping people's heads (#1424). NewsItem.cropping is locked to a 5:3 aspect ratio (500x300), but the detail page rendered at 750x350 (15:7), so easy_thumbnails silently applied a SECOND center-crop on top of the editor's chosen box, trimming the top and bottom. The detail render is now 750x450 (5:3), so the published image exactly matches what editors see in the admin crop preview (WYSIWYG); there is no model change and no re-cropping, so all existing crops become correct immediately. A new regression test (test_news_crop_aspect.py) scans the templates and fails if any crop-enabled on-page news render uses a size whose aspect ratio doesn't match the crop editor's, so this class of bug can't silently return; the Open Graph social card (1200x630) and the round 50x50 sidebar chip remain documented, intentional exceptions."
89+
ML_WEBSITE_VERSION = "2.27.4" # Keep this updated with each release and also change the short description below
90+
ML_WEBSITE_VERSION_DESCRIPTION = "Infrastructure-only release: hardens the auto-deploy webhook (auto-deploy/index.php, #1422) after the test server spent Jul 18-22 rebuilding on every push while serving source frozen at Jul 18. Root cause was a one-character bug -- the deploy condition read `$OPERATION = 'TAG'` (assignment) instead of `==`, so ANY tag push satisfied it on EVERY configured host and reassigned $OPERATION for the rest of the request; a tag push therefore drove the branch-tracking test host down the tag code path and left its checkout detached at that tag. It could not recover, because `git pull` aborts from a detached HEAD and the pull ran before the branch checkout. Compounding it, the container build ran regardless of whether the pull or checkout succeeded, so a failed update still produced a successful-looking rebuild -- which is why it went unnoticed for four days. Fixed: `==`; branch hosts now check out the branch before pulling (tags keep fetch-first, since the tag is not local until after the fetch); and the container build is gated on the checked-out HEAD actually matching the pushed commit, aborting with a log line instead of silently shipping stale source. The gate peels annotated tags with ^{commit} (our release tags are annotated, and `after` carries the tag object's sha, not the commit's) and fails safe -- if the sha cannot be resolved locally it deploys as before. Also fixed three more instances of the same =/== footgun (_trace/_debug were always on), a misspelled $reqest variable that made the branch fast-path dead code, and the incoming ref is now validated against refs/(heads|tags)/[A-Za-z0-9._/-]+ before it reaches a shell. No application code changed."
9191
DATE_MAKEABILITYLAB_FORMED = datetime.date(2012, 1, 1) # Date Makeability Lab was formed
9292
MAX_BANNERS = 7 # Maximum number of banners on a page
9393

0 commit comments

Comments
 (0)