Skip to content

Latest commit

 

History

History
491 lines (293 loc) · 16.7 KB

ChangeLog.md

File metadata and controls

491 lines (293 loc) · 16.7 KB

ChangeLog

v2.6.18

  • Removes usage of --no-ri and --no-rdoc for all gem operations for compatibility with newer gem releases.
  • Verifies that bundler version detection is moved largely to Gemfile.lock rather than Gemfile.

v2.6.17

  • Repairs the server integration workflow that was pushed in a bad state in the previous release.

v2.6.16

  • Supports new ey.yml option ignore_ey_config_warning. When set to true, will not warn when ey_config is missing.

v2.6.15

  • Raise asset compilation error in case of experimental_sync_assets is turned on.

2.6.14 (2016-12-13)

  • Create shared/node_modules directory for reuse across deployments.

2.6.13 (2016-12-09)

  • Pass --production to npm install when NODE_ENV is production.

2.6.12 (2016-12-09)

  • Fix rdoc dev dependency.

2.6.11 (2016-11-01)

  • Don't remove the bundled gems directory when ruby version changes.

2.6.10 (2016-08-19)

  • Adjust gem propagation to install the gem with a resin prefix for v5 stack.

2.6.9 (2016-08-18)

  • (skipped)

2.6.8 (2016-08-10)

  • Hardcode path to gem binary to avoid version mismatch problems.

2.6.7 (2016-08-03)

  • Fix maintenance page generation.

2.6.6 (2016-07-29)

  • Update maintenance page generation.

2.6.5 (2016-07-26)

  • Use bundler 1.13.6 as the default when no bundler is specified in the Gemfile.

v2.6.4 (2015-08-14)

  • use --recursive when updating git submodules

v2.6.3 (2015-03-03)

v2.6.2 (2015-02-03)

  • Use newest bundler 1.7.9 as the default when no bundler is specified in the Gemfile.
  • Fixes a typo that prevented a useful error message when a child process exits abnormally.

v2.6.1 (2014-12-18)

  • Fixes a problem where integrate would not use the existing release path, thus breaking rollback and other deploy coordination that relies on having the same path between servers.

v2.6.0 (2014-12-11)

  • Supports config.ref in deploy hooks. Synonymous with config.branch but more correct because the input_ref is automatically resolved to a SHA before deploy.
  • Supports new ey.yml option precompile_assets_command Setting precompile_assets_command overrides the asset precompile rake command. (default: rake assets:precompile RAILS_GROUPS=assets) Bundler binstubs are in PATH so gem binaries will load through bundler.
  • Supports the optional execution of a server defined configure script. If found, the script can modify or load app settings to customize the server before deploy and abort if problems are encountered. If the script does not exist, this step will be skipped and deploy will continue as usual.
  • In order to speed up asset compilation in Rails, the directory /data/app/current/tmp is now preserved between deploys to maintain assets cache. To disable this feature, set shared_tmp: false in ey.yml.
  • Supports new ey.yml option experimental_sync_assets Setting to true will cause assets to be compiled once and rsync'd to other servers.

v2.5.0 (2014-09-23)

  • Add maintenance_status option to the CLI that outputs "Maintenance status: down" or "Maintenance status: up" if the maintenance page is on the server

v2.4.2 (2014-07-30)

  • "Maintenance page still up" notices will be shown as status messages in the deploy log to prevent sticky notices on the dashboard that are not relevant.
  • Fixes release cleanup for before_deploy hook failures. Previously, hook failures would not trigger the cleanup of the release directory.
  • Supports ey.yml option keep_releases and keep_failed_releases for how many releases to keep in the releases dir (default: 3)
  • Warn when a file that looks like an executable deploy hook is skipped because it is not executable.
  • Vendor json_pure to avoid warnings from MultiJson.

v2.4.1 (2014-06-25)

  • Make sure release_path is set correctly to the latest release for maintenance actions

v2.4.0 (2014-06-01)

  • Do not remove public/system from the repository when it exists. Warn that maintenance pages may not work.
  • Add support for non-Ruby deploy hooks. These have the same names/locations as the ruby hooks but without the '.rb' suffix (e.g. deploy/before_symlink).

v2.3.9 (2014-03-26)

  • Run git remote prune origin to remove possible branch name collisions before fetching.
  • Update git fetch command to use + for heads and not just tags. "If the optional plus + is used, the local ref is updated even if it does not result in a fast-forward update."
  • Deploy hook configuration config.input_ref and config.deployed_by now have defaults and won't NoMethodError when a value isn't set.
  • Sets ServerAliveInterval=60 on ssh connections between servers to avoid timeouts on slow processes (esp. assets).
  • Fix for rollback action ignoring ey.yml configurations. ey.yml is now loaded on rollback as intended.
  • Explicitly use current ruby to syntax check deploy hooks.

v2.3.8 (2014-03-25)

  • Release yanked. This release contained an error that was caught in testing.

v2.3.7 (2013-11-18)

  • Supports new ey.yml option ignore_gemfile_lock_warning. When set to true, will not warn when Gemfile.lock is missing.
  • Fixes a bug introduced by 2.3.6 that caused tags to be fetched, but not heads. This prevented deployment of all branches that weren't tags.

v2.3.6 (2013-11-15)

  • Fix a bug where force pushed tags and other branch changes are never fixed in the repository cache.

v2.3.5 (2013-11-04)

  • Disable automatic git garbage collection. To reenable, add gc: true to ey.yml.
  • Put the hostname in the filename for integrate logs so that they aren't overwritten by other integrate actions, thus becoming undebuggable.

v2.3.4 (2013-10-24)

  • More specific find command for permissions problems.
  • Fix file ownership on the integrate destination server before trying to rsync.

v2.3.3 (2013-10-16)

  • Fixes a problem where symlinks were not chown'd correctly, causing invalid permissions for rsync.

v2.3.2 (2013-10-09)

  • Add hooks before_deploy and after_deploy that happen near the beginning (after release directory is created) and at the end of the deploy task.
  • Support option --clean which will force gems to be reinstalled (eg. when making a server architecture change that isn't already caught)
  • If dependncy manager options are set to blank, treat it like "detect".
  • Fix an issue with integrate action.

v2.3.1 (2013-10-02)

  • Fix find maxdepth problem that causes shared/config files to by symlinked incorrectly.
  • Add --no-dev and --optimize-autoloader to default composer install command.
  • Supports new ey.yml options: bundler, composer, and npm which can be set to true or false to enable or disable each dependency manager.
  • Supports experimental ey.yml option: restart_groups: n. When set to a number n greater than 1, app servers are divided into n groups and each group is restarted serially.

v2.3.0 (2013-08-07)

  • Abort rollbacks if unexpected files are found in the /data/app/releases/ directory because they disrupt the ability to find the previous and latest releases.
  • Accepts flags for git and archive strategies (--git and --archive) that are passed a uri
  • Changes the name of the Strategy class to Source.

v2.2.1 (2013-07-29)

  • Fixes deprecation warnings for internal method calls in deploy hooks.

v2.2.0 (2013-07-25)

  • Updates fallback bundler version to latest v1.3.5.
  • Supports using multiple dependency managers at the same time (bundler, composer, and/or npm)
  • Replaces command runner to address streaming log, idle connection, and random systemu failures.
  • Adds config/application.rb to the asset_dependencies to trigger asset precompilation.
  • Removes syncing of file modification times during push code operation in deploy. Syncing times occasionally causes unfixable permissions errors.
  • Clarifies inferred asset warning message.
  • Improves some of the maintenance page status messages.
  • Removes poorly encapsulated methods config.enable_maintenance\_page? and config.disable_maintenance_page?. Relocated to Maintenance class. (Check eydeploy.rb files)
  • Removes deprecated c method (use config instead)
  • In deploy hooks, deprecates @configuration (use config), @node (use config.node), and method_missing access of config methods (use config.method).

v2.1.4 (2013-06-17)

  • Don't reuse assets when there are no assets to reuse
  • Better composer support.

v2.1.3 (2013-06-05)

  • Ensure LANG is set when gem install is run.

v2.1.2 (2013-05-31)

  • Fix rails database.yml for sqlite-only deployments
  • Auto-update composer before installing (php)

v2.1.1 (2013-05-30)

  • Fixes a problem where Set#first was called in a ruby version that doesn't support it.

v2.1.0 (2013-05-28)

  • Bumps default bundler version to latest 1.3.4
  • Fixes a race condition during deploy where current symlink was not moved atomically.
  • Don't precompile assets when git-diff shows no changes to asset_dependencies
  • Supports new ey.yml option asset_dependencies which is a list of relative paths to search for asset changes each deploy.
    • The default asset_dependencies are: app/assets lib/assets vendor/assets Gemfile.lock config/routes.rb
  • Supports new ey.yml option precompile_unchanged_assets: true compiles assets even if no changes would be detected.
  • Supports new ey.yml option precompile_assets_task: taskname which overrides the default assets:precompile
  • Supports new ey.yml option asset_strategy which supports: shared, private, cleaning, or shifting.
    • The default asset strategy is shifting which is the same behavior as previous versions.
    • See README.markdown or lib/engineyard-serverside/rails_assets/strategy.rb for full explanation.
  • Supports new ey.yml option bundle_options which can be used to specify additional bundle install command line options.
  • Supports setting of ey.yml option bundle_without to nil to remove --without from the bundle install command.
  • Refactor dependency management (bundler, npm, none) to allow more flexibility (may break existing eydeploy.rb files)
  • Supports new ey.yml option eydeploy_rb: false which enables or disables eydeploy.rb file loading. (defaults to enabled)
  • Changes the order of eydeploy.rb loading to happen after ey.yml is parsed during deploy.

v2.0.7 (2013-05-16)

  • Fix encoding errors in logs when non-ascii characters are displayed.

v2.0.6 (2013-04-08)

  • Fix for command line config option --config precompile_assets:true/false which was being interpreted as a string.
  • Don't exclude the RAILS_ENV Gemfile group from bundle install. (i.e. don't do --without development in development mode)

v2.0.5 (2013-02-12)

  • Change concurrency code to use a simple threaded model.
  • Clean up local branches that might interfere with the git checkout.

v2.0.4 (2012-12-17)

  • Supports new ey.yml option to control on which roles asset precompilation happens.
    • Must be a YAML Array syntax (using :app, :app_master, :solo, :util) or :all.
    • Syntax: asset_roles: :all (default is to exclude :util but include all others. [:app, :app_master, :solo])
  • Adds RAILS_GROUPS=assets to rake assets:precompile to improve asset compilation performance.
  • Records exceptions raised during deploy into the deploy log when possible.
  • Fixes a bug where permissions problems may cause integrate action to fail.
  • Fixes a problem where "maintenance page still up" notice would stay on Cloud Dashboard too long. Downgraded message severity.
  • Garbage collect git at the end of each deploy. First one may take a while but the next ones will be faster and reduce extra disk usage.

v2.0.3 (2012-09-24)

  • Make sure command line --config options get turned from strings into booleans if needed

v2.0.2 (2012-09-19)

  • Only symlink shared config files that actually exist.
  • Don't display the database adapter warning when nodatabase.yml is present.
  • chown shared/bundled_gems dir to deploy user to ensure bundle install works.

v2.0.1 (2012-08-21)

  • Reduce the number of deprecation warnings.

v2.0.0 (2012-08-16)

  • Default bundler version is now 1.1.5.
  • Deploy hooks now have access to account_name and environment_name.
  • Improves deploy output, especially for --verbose.
  • Sends all log output through a new Shell object that formats and adds timestamps.
  • Loads ey.yml or config/ey.yml to customize deploy settings.
  • Supports new ey.yml options to control automatic maintenance page:
  • maintenance_on_restart: true or false (default: false except for glassfish and mongrel)
  • maintenance_on_migrate: true or false (default: true)
  • Don't remove maintenance pages that weren't put up during this deploy if maintenance options (above) are set to false.
  • Supports new ey.yml options to control asset precompilation:
  • precompile_assets: true or false (default: inferred using app/assets and config/application.rb)
  • Supports new ey.yml option to ignore the missing database adapter warning:
  • ignore_database_adapter_warning: true (default: false)
  • Give better feedback when maintenance is enabled/disabled (or not).
  • Output a better error when a deploy hook fails.
  • Compile assets before maintenance page is installed.
  • Provide run! and sudo! to deploy hooks. If the command exits non-zero the deploy hook will fail, stopping the deploy.

v1.6.4 (2012-04-26)

v1.6.3 (2012-03-26)

v1.6.2 (2012-03-26)

v1.6.1 (2012-03-23)

v1.6.0 (2012-03-23)

  • Replace Open4 with systemu

v1.5.34 (2012-03-22)

v1.5.33 (2012-03-19)

v1.5.32 (2012-03-15)

v1.5.31 (2012-03-15)

v1.5.30 (2012-02-29)

v1.5.29 (2012-02-06)

  • This version has been pulled before release.

v1.5.28 (2012-02-02)

  • Fix incompatibility issues between Open4 and Ruby 1.9

v1.5.27 (2012-01-27)

  • Add celluloid for Ruby 1.9 compatible futures in preparation for internal 1.9 upgrade.
  • If the application Gemfile contains sqlite3 but no other recognized database adapter, generate a SQLite database.yml and print a warning.

v1.5.26 (2012-01-21)

  • Adds timestamps to deploy logs

v1.5.25 (2012-01-13)

v1.5.24 (2012-01-12)

v1.5.23 (2012-01-11)

v1.5.22 (2011-12-09)

  • Add LANG to restart command.

v1.5.21 (2011-12-07)

v1.5.20 (2011-12-07)

  • Fix a bug where added instances would sometimes be unable to bundle.

v1.5.19 (2011-11-26)

v1.5.18 (2011-11-26)

  • Fix a bug where gems were cleaned on every run.

v1.5.17 (2011-11-16)

v1.5.16 (2011-11-15)

v1.5.15 (2011-11-10)

  • Last release was built with a rubygems that has the Syck problem. Re-releasing. (This gem was never released into the wild)

v1.5.14 (2011-11-10)

  • Really seriously fix 32/64 bit system problems this time.

v1.5.13 (2011-11-07)

v1.5.12 (2011-11-02)

v1.5.11 (2011-11-02)

  • Add ey_services_config_deploy.yml file through EY::InstanceAPI during deploy.
  • Bump default bundler version to 1.0.21

v1.5.10 (2011-11-01)

  • Re-bundle gems if there is no version file found with which to compare.
  • Don't fail is pre-compilation fails. Let users know we're going to try to precompile assets.

v1.5.9 (2011-10-26)

v1.5.8 (2011-10-26)

v1.5.7 (2011-10-26)

v1.5.6 (2011-10-25)

v1.5.5 (2011-10-25)

v1.5.4 (2011-10-21)

v1.5.3 (2011-10-21)

  • bundle_without: ey.yml option allows you to specify custom bundle install --without string (list of space separated groups, replaces the default 'test development')
  • Refactor how bundler options are loaded.

1.5.2 (2011-10-18)

  • Improve clarity of warning output.

1.5.1 (2011-10-13)

  • Use unset instead of env -i to exclude Bundler env.

1.5.0 (2011-10-06)

  • Remove support for Bundler 0.9.x
  • Add warning when no database adapter is found in the Gemfile.lock

1.4.16 (2011-09-27)

  • Deployment previously failed when the git repo had only a single commit.

1.4.15 (2011-09-27)

  • Add 'before_compile_assets.rb' and 'after_compile_assets.rb' deploy hooks
  • Run rake assets:precompile if it is available and enabled for Rails 3.1 apps
  • Treat 'public/assets' as a shared directory if it is managed by 'rake assets:precompile'
  • Beta Node.js support for EY Labs

1.4.14 (2011-09-27)

1.4.13 (2011-09-21)

1.4.12 (2011-09-19)

1.4.11 (2011-09-15)

1.4.10 (2011-09-13)

1.4.9 (2011-09-12)

1.4.8 (2011-09-08)

1.4.7 (2011-09-07)

1.4.6 (2011-09-07)

1.4.5 (2011-09-07)

1.4.4 (2011-09-07)

1.4.3 (2011-09-06)

1.4.2 (2011-08-03)

1.4.1 (2011-02-17)

1.4.0 (2010-11-18)

1.3.7 (2010-11-17)

1.3.6 (2010-11-08)

  • Abort deploy when git fetch fails