# Change Logs

Change logs will begin documenting changes starting from version 5.0 of the Cloudformation templates. We will try to include as much information as possible in the change logs to help you understand the changes that have been made to the templates.

# Version Structure

Starting with the release of Version 5.1, we will abandon Semantic Versioning. At least the patch part of it. Our new version only consists of two sections. Consider the following format: X.Y

  • X is bumped when a full redeployment is required
  • Y is bumped whenever there is any change and reset to zero when X is bumped

# Version 5.4

CloudFormation Template Changes:

  • We were asked by Shopware to pin the version to provision to 6.6.10.4. cfn#143

# Version 5.3

AMI Changes:

  • Added Code editor to each deployment (runs on jump host). Has its own security group and endpoint/port. ansible#310
  • Automatically provisioning application with preview domain (jetrails.net for prod, otherwise jetrailsdev.com). ansible#309
  • Updated MariaDB repo to OS version (https://deb.mariadb.org/10.6/ubuntu) ansible#305.
  • Template selection UX issue on mobile fixed, now scrolling templates into view. portals#119
  • Pre-installing IonCube module for all versions of PHP (disabled by default). ansible#292
  • Copying over the install-vmod script to the /mnt/jrc-confs/varnish directory during varnish provisioning (P007C). ansible#297
  • Added OpenSearch 3.2 & Varnish 7.7 to LEMP template. ansible#313
  • Added OpenSearch 3.2 & Varnish 7.7 to Magento 2 template. ansible#313
  • Added OpenSearch 3.2 & Varnish 7.7 to Shopware template (provisioning with OS 2.17). ansible#313
  • Added Varnish 7.7 to WordPress template. ansible#313

CloudFormation Template Changes:

  • Installing Magento 2.4.8.2 by default. ansible#313
  • Installing Shopware 6.7.2.2 by default. ansible#313
  • Installing Wordpress 6.8.2 by default. ansible#313
  • SSL selection is only available once the deployment is created via the adjust tab. ansible#309
  • Stopped tracking DesiredCapacity for ASGs to prevent issues when updating other ASG properties. cfn#141
  • Raised limit for maximum nodes from to 30 for cluster templates (default is still 10). cfn#141
  • Presets for cluster templates will now also alter the min/max values of the web ASG. cfn#137
  • No longer specifying EngineVersion for RDS deployments and default version is used instead (P008C). cfn#138.
  • Clean up some depricated metadata from templates. cfn#140
  • Added range component for web asg (select min/max values).
Patch Name Short Description
P007C Issue Using Non-Default Varnish Version
P008C Stop Tracking RDS Engine Version

# Version 5.2

AMI Changes:

  • Raised opcache.interned_strings_buffer from 20 to 60.
  • Disabled security demo plugin for Opensearch.
  • Patched sync-ssh-keys script to pull keys from an unlimited number of standard SSM parameters.
  • Added PHP 8.4 support.
  • Added Composer 2.8.9 support.
  • Within the change-database-version script, if MariaDB is being downgraded we rename the data directory to postfix the current unix timestamp.
  • Improved /opt/jrc/lib/helpers to be more POSIX compliant and fixed race conditions with put_entry function.
  • Whenever we wait for RabbitMQ to be ready, we now use rabbitmqctl status instead of rabbitmqctl ping.
  • Root users SSH key is now in persistent storage and is automatically synced to all nodes.
  • AuthorizedKeysCommand is configured to read the SSM parameter store for SSH keys.
  • Changed the way we add php/mariadb/docker APT repositories to avoid warning messages.
  • Warning message in FSTAB about mounting volumes on boot.
  • Cluster user's SSH key's comment was updated to be more descriptive.
  • Now you can run cluster exec without passing a --role flag and it will run on every node.
  • Now you can run cluster exec HOSTNAME to run a command on a specific node that does not have a targetable role (such as web-10-04).
  • You can run cluster logs -n NUMBER just like you would with tail.
  • You can run cluster logs -f -w which will tail logs and also tail new logs that show up as well (think web nodes coming online).
  • Added cluster unregister --role ROLE command to unregister a node from a cluster preemptively.
  • Added disable_functions to PHP configuration to prevent running dangerous functions by default.
  • Added optional wildcard (.) to the primary domain name within the NGINX server block.
  • Moved starting cloudwatch agent to the end of the boot process which leads to faster boot times.
  • When installing something with apt, you will not be prompted to restart services.
  • Smarter HAProxy routing, haproxy was caching the web node for a short period of time, now it routes to a new web node every time (option http-server-close).
  • Fixed bug with logrotate and copytruncate option where log files grow to be larger than expected with a bunch of null bytes (P005O).
  • Optional way to convert a cluster deployment to serve web files from root FS instead of nfs (with nfs fallback while node starts up and starts copying files to local FS).

CloudFormation Template Changes:

  • Removed advanced SSM parameter along with it's effect on the price estimates.
  • Metadata changes to help deployment have unlimited SSH keys.
  • Maximum aggregation for CloudWatch dashboard metrics instead of average.
  • If Metadata.JetRails::Processor::Clone exists, then a deployment is clonable. It defines how we can find snapshots to duplicate persistent data.
  • LEMP template available as an AIO deployment.
  • Only the latest version of an application can be provisioned, no longer prompting for version.
  • Recommended service versions are used to provision a deployment and are adjustable afterwards.
  • Redis cache is no longer being persisted for Wordpress deployments.
  • Added Magento 2.4.8, Shopware 6.6.10.4, Wordpress 6.8.1
  • SSH keys are stored in SSM parameters and are no longer tracked in the template with one advanced SSM parameter.
  • Added ability to spin up an RDS instance from an RDS snapshot.
  • New preset model where the only thing that changes is the instance size and presets are based on daily visitors.
  • ASG min/max values are now trackable through parameters.
  • ASG min size is now taken into account when calculating cost estimates.
  • Redis configuration altered to add io-threads 4 and io-threads-do-reads yes.
  • Varnish ASG max size has been lowered from 10 to 2.
  • Added instance type to price estimates.
  • Turn off roles and services for AIO deployments via parameters (admin facing only via AWS CFN interface)
Patch Name Short Description
P003O Increases the maximum number of SSH keys allowed.
P004C Daily Backups For RDS With Standard Retention.
P005O Null-Bytes Within Rotated Log Files.
P006C Atomic Writes When Scaling Web Tier.

# Version 5.1

AMI Changes:

  • Changed opcache.max_file_size to be zero which speeds up TTFB metric.
  • Fixed opcache perload issue for Shopware.
  • Tagging AMI with build number.

CloudFormation Template Changes:

  • Improved price estimates by modifying CFN template's metadata section.
  • Hoisted primary domain name parameter to it's own accordian section.
  • Embeding build number in the template's metadata section.
  • Added m8g.xlarge instance type to AIO templates.
Patch Name Short Description
P002R Update opcache.max_file_size to zero.

# Version 5.0

No change logs are available for this version as it is the initial version being documented.

Patch Name Short Description
P001C Fixes data presistence issue with OpenSearch and Redis.