Documentation

Changelog

12th July

  • When a project is deleted its custom domains are now cleaned up properly to allow them to be associated with future projects

11th July

  • Improved error handling and retries for Task Runner tasks which fail to schedule for some reason. This should prevent tasks getting stuck in a 'working' state forever

10th July

  • Added a VAT reverse charge notification to relevant invoices. Software isn't all glamour.
  • Switched global load balancing from round-robin to ewma
  • Released Nginx (R9) which ensures the proper protocols are used in redirects for trailing and duplicate slashes

8th July

  • Fixed a bug which prevented clean deployments when both a cron job and a custom license file were defined on a project

5th July

  • Projects can now be attached to new repos or their connection method changed via the dashboard. This is useful if you change the name of a repo or stop using the API token which was used during initial project creation

28th June

  • Some updates to servd.host to make things look nicer and improve the plans and pricing information
  • Fixed some race condition issues with assets when performing environment clones
  • Fixed a bug with asset clones on the new Assets Platform introduced by a change to a dependent service

15th June

  • New assets platform goes live! πŸ–ΌοΈ This is no longer hosted on AWS, has a better caching strategy for transformed images, has cleaner URLs, is protected from abuse using security tokens and supports auto-detection of webp (which will be used for all images expect gifs).

12th June

  • Tweaked the way in which one-off and scheduled commands are executed to ensure there are no permissions issues with files or folders that they create
  • Implemented a behind the scenes mechanism which allows individual plan features to be tweaked on a per project basis

5th June

  • Added page titles to the dashboard! Now your browser's back menu might actually be useful

4th June

  • Tweaked a regex in the CI upload script which was excluding anything with vendor in its name, instead of just the vendor folder
  • Started inviting users to use Servd's built-in CI functionality, allowing projects to compile their static assets as part of bundle builds, because CI shouldn't be hard

26th May

  • Fixed a bug which could cause files with specific prefixes to not be included in new bundles
  • Database imports, backup restores and environment clones now show a confirmation dialog before proceeding. Safety first

25th May

  • Fixed a bug which could prevent asset files with multibyte characters in the filenames from being cloned between environments

22nd May

Has it been that long since the last update?! Things must be reassuringly stable...

  • Our log aggregation framework has been completely replaced, you can no longer free text search in recent log entries but...
  • You can now download your recent logs in a handy zip file
  • You can plug your logs into Papertrail or Datadog to get them pushed out to those platforms in real time
  • A new nginx revision is available (R8) which changes the logs to a more standard format. This should help with parsing by external services. It also prevents requests for favicon.ico being passed to PHP and wasting CPU
  • We began rolling out a new bundle build process which (for anyone interested) uses the fancy, new buildkit platform rather than img which we were previously using. This is in preparation for an exciting new feature which has been in the works for a couple of months. It's also significantly faster
  • Fixed some email copy which was outputting template tags instead of replacing them with real values. Only a real {{ $profanity }} would let that kind of error reach production πŸ™„
  • You can now trigger the build and deploy webhook manually. Not only that, but you can also supply a tar archive of a craft application to use instead of pulling files directly from your git repo. This allows you to compile CSS and JS (or do whatever you want in any CI pipeline) and then push the results to Servd.
  • Fixed a bug in which not all repository branches were displaying during the create project flow

1st May

  • All new bundles are now auto-upgraded to the latest PHP and Nginx base software to make sure everyone can use all of Servd's new features and get security patches and important things like that.
  • PHP version selection (7.3 vs 7.4) has been moved into Project Settings so you don't have to click past it every time you build a new bundle - it hardly ever changes
  • The option to change the path for Craft within your git repo has been moved to Project Settings for the same reason - it never changes
  • Bundles are now built to include all of the contents of the Craft path within your git repo. This means you can include arbitrary files and folders in the same directory that houses your composer.json and they'll all end up in your bundle.
  • Many dashboard updates to support all of this new functionality, especially New Project setup which is now even friendlier! πŸ’–

27th April

  • Released a new feature to allow both scheduled task execution and one-off execution of Craft CLI commands. Now you can garbage collect via the dashboard.
  • Many behind the scenes updates related to scheduling and resource allocation. Shouldn't be anything that you need to worry about though πŸ˜‰

11th April

  • Allowed a /migrations folder to be included in bundles to allow custom migration scripts to be automatically executed during deployments
  • Domain names can now be associated with any environment so you can use 'staging.mysite.com' for your staging environment 🍾

8th April

  • Fixed a bug which showed 404 pages for projects which had exited a trial instead of redirecting to the 'Plan' page in order to prompt the user to extend or upgrade
  • Show the selected team and project in the sidebar on 404 pages if they are set in the URL structure

7th April

  • Began rolling out new CPU scheduling logic. Projects are able to use any available CPU time in the cluster to process user requests. CPU contention dials a project back down to its guaranteed resource limits.

2nd April

  • Big Dashboard reorganisation + cosmetic updates
  • Dashboard updates for IP white/blacklisting
  • Added controls for request rate limiting
  • Allowed static cache exceptions to be defined per-environment

28th March

  • New (much better) project deployment mechanism which incorporates updates for:
    • IP blacklisting
    • IP whitelisting
    • Scheduled tasks
    • Domains for staging environments
    • Dynamically provisioned additional environments
  • (Dashboard updates pending)
  • Significantly improved dashboard responsiveness
  • Allow users who are invited to a team to bypass GeoBlocking
  • Vastly improved log output for bundle creation tasks

16th March

  • Activated drip emails for new users
  • Cleaned up some unfortunate words in the project name generator
  • Fixed a bug which wouldn't keep external database access consistent when environments were enabled or disabled

13th March

  • Revamped transactional emails
  • Changed transactional email provider to AWS SES (previously Mailgun)
  • Created basis for a new drip email tutorial series for newly subscribed users

8th March

  • Initial support for arbitrary scheduled tasks (aka cron jobs)

19th February

  • Update project nginx containers to openresty to allow more advanced traffic routing logic
  • Improved static caching in preparation for fine grained static cache busting
  • Initial work on storage for manual database backups

12th February

  • All domains associated with a project now generate their own self-signed SSL certificates, no DNS needed. This allow Full encryption mode on CloudFlare without having to validate domain names in advance (very useful for existing site migrations)

10th February

  • Domains can be linked to projects before DNS records are created (so you can test using /etc/hosts entries) but SSL will not be enabled
  • Once DNS records have been validated SSL will be enabled and auto-https redirect will be enabled
  • You can now redirect from one domain to another (Requires Nginx 1.15 v1.0.24)
  • Fixed a randomly occurring issue with the Task Runner in which some tasks would fail, especially project syncs

6th February

  • Updated timeouts for detection of stalled instances to prevent VERY busy projects being killed unnecessarily. This was only causing problems during intense static site builds, but now it won't cause a problem anywhere.

19th January

  • Added free text search to repo list during project creation
  • Lots of docs + some demo videos πŸ‘Œ

18th January

  • Better dashboard response for environments which become disabled once a subscription ends β›”
  • Improved task runner task isolation and cleanup routines

16th January

  • Added management for Composer authentication tokens

11th January

  • Added backup and restore functionality for postgres

10th January

  • Added V1 postgres support for enterprise clients
  • Reconfigured background queue runners for Enhanced and Pro plans

7th January

  • Added yearly billing plans πŸ“…

5th January

  • Made a few tweaks to costs and features of plans
  • Added a new Plans and Pricing page to the marketing site
  • Updated styling for plan selection boxes throughout
  • A few task runner tweaks to improve task pickup speed

3rd January

  • Added a new demo video to the servd.host homepage

πŸŽ‰ 2020 πŸŽ‰


31st December

  • Attach invoices to payment notification emails πŸ’Œ
  • Allow billing notifications to be sent to additional email addresses (so your billing department can get a copy of invoices)

30th December

  • Allow users to update their name, email and password
  • Finally added a logout button

16th December

  • Deployed new, super-scalable, task runner infrastructure
  • Fixed a bug when creating a new project from a repo which has no 'master' branch

12th December

  • Added git to base images to allow composer to pull repo dependencies
  • Fixed a bug which caused webhook builds to use old base images

10th December

  • Release updated image optimisation service. This no longer gets upset about large result images
  • Warn users about projects which are approaching their deletion threshold (28 days inactive)
  • Automatically delete projects' data and assets when they reach their deletion threshold

4th December

  • Refactored network segregation

2nd December 2019

  • Added location selection to project creation flow to allow use of new US cluster in New York πŸ—½
  • Released PHP 7.4 base image

27th November 2019

  • Added permissive CORS headers to the Assets Platform CDN
  • Updated the Assets and Helpers Plugin to support image focal points and better match the crop/resize behaviour of Craft transforms πŸ–Ό

25th November 2019

  • Webhooks V1 released with support for GitHub and GitLab. Allows bundles to be created in response to push events on a specific branch and optional auto-deployment to a selected environment πŸ“¦
  • More assets documentation

22nd November 2019

  • Released client invites! This allows developers to invite their clients to Servd via a simplified onboarding flow which helps them to register, create a team, set up billing and invite you as a member of their team. No need to chase clients for hosting costs any more πŸŽ‰
  • Lots of Assets documentation

20th November 2019

  • Tweaked CPU throttling and PHP settings to better support bursts of traffic from static site generators

19th November 2019

  • Fixed a bug which occurred when bundles were built from a commit with an extra long commit message

18th November 2019

  • Made basic auth a configurable, per-environment setting because it doesn't play well with GraphQL which requires a Bearer token in the Auth header

17th November 2019

  • Fixed a bug when recording project hits and unique ip addresses. This should start showing something sensible now

16th November 2019

  • Updated all platform software
  • Improved resiliency of database storage

15th November 2019

  • Tracked down a 3rd party bug which was causing databases to be restarted during large SQL imports. Added temporary workaround until an upstream fix is available
  • Increased default database storage space to 5GB

14th November 2019

  • Fixed a bug which could appear with certain combinations of linebreaks in commit messages
  • Increased maximum DB upload filesize
  • Added a progress indicator to database uploads
  • Create some troubleshooting documentation for Git Submodules

13th November 2019

  • Released multi-member team support. You can send invites to new members via the Team Settings page. All team members will have access to all of the projects owned by the team
  • Teams can now be renamed so you can express yourself more readily

12th November 2019

10th November 2019

  • Significant updates to cluster scaling and headroom allocation decision making

9th November 2019

  • Released multi-currency support. You can now pay using πŸ‡¬πŸ‡§ GBP, πŸ‡ΊπŸ‡Έ USD or πŸ‡ͺπŸ‡Ί EUR. A default is selected based on your location during registration
  • Fixed a few SFTP bugs for assets
  • A few style tweaks
  • Use newest logo in email headers and on invoices

5th November 2019

  • A few cosmetic changes to the project overview page
  • Updated styling and functionality for the environment bundle selector

4th November 2019

  • Changed the way environments are managed in the back end which will allow for dynamic environment provisioning in a future update

2nd November 2019

  • Released backup restore functionality. Allows rollback of database, assets, application commit and software versions as a single operation. (This feature is awesome)
  • Applied updated sliding-panel styling to domains list

31st October 2019

  • Released improved backups system and interface

30th October 2019

  • Fix for invalid backup scheduling parameters
  • Tweaks to default database memory allocations
  • Prevent import operations before a project has been successfully deployed for the first time (database needs to be initialised before we can import into it!)
  • Added .gzip to list of allowed file types for database imports
  • Improved database import error messaging
  • Create default assets directories within assets platform on project initialisation

29th October 2019

  • Fix for trial ending notification emails not being dispatched

28th October 2019

  • Released PHP base image v1.1.0 which includes a fix for CVE-2019-11043
  • More private beta emails sent out
  • Default deploy SSH key length changed to 2048 to appease BitBucket overlords
  • Fix scheduling for projects with a weekly backup schedule
  • Require explicit confirmation of intent to delete projects

26th October 2019

25th October 2019

  • Craft's 'modules' folder is now optional in directory mappings
  • Improved email template header
  • Removed a default setting of 'craft_' from the DB_TABLE_PREFIX environment variable
  • Improved log rotation on some supporting servers
  • Improvements to domain instructions and error messages
  • Created SSL documentation

23rd October 2019

  • First Private Beta emails sent out