diff --git a/CHANGELOG b/CHANGELOG
index 8af64d355..482c80e65 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,7 +1,8 @@
-1.4.0 (???)
+1.4.0 (March 20, 2014)
# General
- - TODO(sissel): Note new tarball release packaging and that flatjar is gone.
- Link to release notes for upgrade information
+ - We've included some upgrade-specific release notes with more details about
+ the tarball changes and contrib packaging here:
+ http://logstash.net/docs/1.4.0/release-notes
- Ships with Kibana 3.0.0
- Much faster field reference implementation (Colin Surprenant)
- Fix a bug in character encoding which would cause inputs using non-UTF-8
diff --git a/docs/index.html.erb b/docs/index.html.erb
index f9b6de09a..859f4f158 100644
--- a/docs/index.html.erb
+++ b/docs/index.html.erb
@@ -7,6 +7,8 @@ layout: content_right
For Users
- download logstash %VERSION%
+ - upgrade/release notes
+ - view changelog
- contrib plugins
- package repositories
- configuration file overview
diff --git a/docs/release-notes.md b/docs/release-notes.md
new file mode 100644
index 000000000..e8b3324dd
--- /dev/null
+++ b/docs/release-notes.md
@@ -0,0 +1,70 @@
+---
+title: release notes for %VERSION%
+layout: content_right
+---
+
+# %VERSION% - Release Notes
+
+This document is targeted at existing users of Logstash who are upgrading from
+an older version to version %VERSION%. This document is intended to supplement
+a the [changelog
+file](https://github.com/elasticsearch/logstash/blob/v%VERSION%/CHANGELOG) by
+providing more details on certain changes.
+
+### tarball
+
+With Logstash 1.4.0, we stopped shipping the jar file and started shipping a
+tarball instead.
+
+Past releases have been a single jar file which included all Ruby and Java
+library dependencies to eliminate deployment pains. We still ship all
+the dependencies for you! The jar file served us well, but over time we found
+Java’s default heap size, garbage collector, and other settings weren’t well
+suited to Logstash.
+
+In order to provide better Java defaults, we’ve changed to releasing a tarball
+(.tar.gz) that includes all the same dependencies. What does this mean to you?
+Instead of running `java -jar logstash.jar ...` you run `bin/logstash ...` (for
+Windows users, `bin/logstash.bat`)
+
+One pleasant side effect of using a tarball is that the Logstash code itself is
+much more accessible and able to satisfy any curiosity you may have.
+
+The new way to do things is:
+
+* Download logstash tarball
+* Unpack it (`tar -zxf logstash-%VERSION%.tar.gz`)
+* `cd logstash-%VERSION%`
+% Run it: `bin/logstash ...`
+
+The old way to run logstash of `java -jar logstash.jar` is now replaced with
+`bin/logstash`. The command line arguments are exactly the same after that.
+For example:
+
+ # Old way:
+ % java -jar logstash-1.3.3-flatjar.jar agent -f logstash.conf
+
+ # New way:
+ % bin/logstash agent -f logstash.conf
+
+### contrib plugins
+
+Logstash has grown brilliantly over the past few years with great contributions
+from the community. Now having 165 plugins, it became hard for us (the Logstash
+engineering team) to reliably support all the wonderful technologies in each
+contributed plugin. We combed through all the plugins and picked the ones we
+felt strongly we could support, and those now ship by default with Logstash.
+
+All the other plugins are now available in a contrib package. All plugins
+continue to be open source and free, of course! Installing plugins from the
+contrib package is very easy:
+
+ % cd /path/to/logstash-%VERSION%/
+ % bin/plugin install contrib
+
+A bonus effect of this decision is that the default Logstash download size
+shrank by 19MB compared to the previous release because we were able to shed
+some lesser-used dependencies.
+
+You can learn more about contrib plugins on the [contrib plugins
+page](http://logstash.net/docs/%VERSION%/contrib-plugins)
diff --git a/lib/logstash/version.rb b/lib/logstash/version.rb
index 0f3973fda..7648fdc33 100644
--- a/lib/logstash/version.rb
+++ b/lib/logstash/version.rb
@@ -1,6 +1,6 @@
# encoding: utf-8
# The version of logstash.
-LOGSTASH_VERSION = "1.4.0.rc1"
+LOGSTASH_VERSION = "1.4.0"
# Note to authors: this should not include dashes because 'gem' barfs if
# you include a dash in the version string.
diff --git a/pkg/build.sh b/pkg/build.sh
index d70c1aa27..a97013545 100755
--- a/pkg/build.sh
+++ b/pkg/build.sh
@@ -5,12 +5,8 @@
. ../.VERSION.mk
-if ! git show-ref --tags | grep -q "$(git rev-parse HEAD)"; then
- # HEAD is not tagged, add the date, time and commit hash to the revision
- BUILD_TIME="$(date +%Y%m%d%H%M)"
- DEB_REVISION="${BUILD_TIME}~${REVISION}"
- RPM_REVISION=".${BUILD_TIME}.${REVISION}"
-fi
+DEB_REVISION="${REVISION}"
+RPM_REVISION="${REVISION}"
URL="http://logstash.net"
DESCRIPTION="An extensible logging pipeline"
diff --git a/tools/release.sh b/tools/release.sh
index cdd081bbe..d667991d4 100644
--- a/tools/release.sh
+++ b/tools/release.sh
@@ -1,4 +1,4 @@
-
+#!/bin/bash
logstash=$PWD
contrib=$PWD/../logstash-contrib/
@@ -24,12 +24,8 @@ prepare() {
rsync -a --delete $logstash/{bin,docs,lib,spec,Makefile,gembag.rb,logstash.gemspec,tools,locales,patterns,LICENSE,README.md} $contrib/{lib,spec} $workdir
rm -f $logstash/.VERSION.mk
make -C $logstash .VERSION.mk
- make -C $logstash package
- (cd $contrib;
- sh pkg/build.sh ubuntu 12.04
- sh pkg/build.sh centos 6
- )
- make -C $contrib package
+ make -C $logstash tarball package
+ make -C $contrib tarball package
cp $logstash/.VERSION.mk $workdir
rm -f $workdir/build/pkg
rm -f $workdir/build/*.{zip,rpm,gz,deb} || true
@@ -52,13 +48,13 @@ packages() {
rm -f $path/build/*.zip
echo "Building packages: $path"
make -C $path tarball
- for dir in build pkg ; do
+ for dir in build pkg . ; do
[ ! -d "$path/$dir" ] && continue
(cd $path/$dir;
for i in *.gz *.rpm *.deb *.zip *.jar ; do
[ ! -f "$i" ] && continue
echo "Copying $path/$dir/$i"
- cp $path/$dir/$i $workdir/build
+ cp $i $workdir/build
done
)
done
diff --git a/tools/upload.sh b/tools/upload.sh
new file mode 100644
index 000000000..72684486c
--- /dev/null
+++ b/tools/upload.sh
@@ -0,0 +1,8 @@
+
+basedir=$(dirname $0)/../
+bucket=download.elasticsearch.org
+
+s3cmd put -P $basedir/build/release/build/*.gz s3://${bucket}/logstash/logstash/
+s3cmd put -P $basedir/build/release/build/*.rpm s3://${bucket}/logstash/logstash/packages/centos/
+s3cmd put -P $basedir/build/release/build/*.deb s3://${bucket}/logstash/logstash/packages/debian
+s3cmd put -P $basedir/build/release/build/*.deb s3://${bucket}/logstash/logstash/packages/ubuntu