Up to date Yii 1.1 release notes

To have this in one place available for everyone in the team:

Prerequisites:

Minimal example build environment with Vagrant:

  • Install Vagrant and VirtualBox
  • Create box:
    vagrant init hashicorp/bionic64
    vagrant up
    vagrant ssh
    
  • Install packages:
    sudo apt-get update
    sudo apt install unzip sqlite texlive-latex-extra
    sudo apt install php php-xml php-curl php-sqlite3 php-zip php-gd php-mbstring
    
    #install composer with instructions from: https://getcomposer.org/download/
    #then move the phar: `sudo mv composer.phar /usr/local/bin/composer`
    
    cd /vagrant
    git clone git@github.com:yiisoft/yii.git
    

Release Steps:

  1. git pull

  2. composer install

  3. Change getVersion() in framework/YiiBase.php and CHANGELOG files about release date and version (example)

  4. Run build, commit and push:

    cd build && ../vendor/bin/phing sync
    git add -A
    git commit -m "Release version 1.1.xxx"
    git push
    
  5. git tag -s 1.1.xxx -m "Version 1.1.xxx" (make sure you have GPG set up for signing your commits)

  6. git push --tags

  7. Change back getVersion() in framework/YiiBase.php, and CHANGELOG/UPGRADE to prepare for the next release. (example)

  8. Rebuild, commit and push:

    cd build && ../vendor/bin/phing sync
    git add -A
    git commit -m "Prepare for next release"
    git push
    
  9. On the Vagrant machine, build all release files:

    # Note: when running Vagrant on Windows, don't run this step in the mounted /vagrant folder or you 
    # will have wrong permissions in the tar build. And run as root to have "root" as the file owner in the 
    # tar build.
    
    git clone https://github.com/yiisoft/yii.git 1.1.xxx
    cd 1.1.xxx
    git checkout 1.1.xxx
    composer install
    cd build
    ../vendor/bin/phing src
    ../vendor/bin/phing doc
    ../vendor/bin/phing web
    
  10. Upload source and doc release files (from release/dist directory) to github (create a release on github repo)

  11. Update https://github.com/yiisoft-contrib/yiiframework.com/blob/master/config/versions.php as instructed (partial download URL and latest version in list) (example)

  12. SSH to yiiframework.com, update code via git pull

  13. Write up release announcement

  14. Announce on website news, twitter, and forum