Choose a version:
26% The original file has 1654446 bytes (1,615.7k) and is available from the project website.
There you can find the official minified version, too, which brings down the size to 428749 bytes (418.7k, 26%).

After GZIP compression these minified files vary in size:
Boot
  139357 bytes (136.1k)
CDN
cdnjs
  114369 bytes (111.7k)
CDN
gzip -6 (default)
  112738 bytes (110.1k)
local copy
gzip -9
  112381 bytes (109.7k)
local copy
jsdelivr
  112306 bytes (109.7k)
CDN
7zip -mx=9 -tgzip
  108519 bytes (106.0k)
local copy
zultra
  108410 bytes (105.9k)
local copy
pigz -11 -n
  108344 bytes (105.8k)
local copy
libdeflate -12
  108244 bytes (105.7k)
local copy
kzip -s0 -rn -b0
  108125 bytes (105.6k)
local copy
Zopfli
  108099 bytes (105.6k)
local copy
Zopfli (defluff)
  108097 bytes (105.6k)
local copy

perma-link to the smallest file on my server:
http://minime.stephan-brumme.com/files/ember/ember-2.7.0.min.js (or via HTTPS)

You will automatically get the smallest Ember 2.7.0 file, ETag caching is available and
if your browser doesn't support GZIP decompression then the uncompressed version will be sent.

Currently best Zopfli settings

Save 4207 bytes by using my Ember 2.7.0 Zopfli version instead of the best available CDN (3.89% smaller than jsdelivr, 108099 vs. 112306 bytes):
You can use my super-compressed files for whatever purpose you like as long as you respect the library's original license agreement.
There are no restrictions from my side - but please avoid hot-linking if you run a high-traffic website.

These command-line settings yielded the best compression ratio so far (Linux version of zopfli-krzymod):
zopfli --i100000 --mb8 --mls8 --bsr23 --lazy --ohh

(found July 27, 2016)
Description Value Parameter
iterations 100000  --i100000
maximum blocks 8  --mb8
maximum length score 8  --mls8
block splitting recursion 23  --bsr23
lazy matching in LZ77 yes  --lazy
optimized Huffman headers yes  --ohh
initial random W for iterations 1  --rw1
initial random Z for iterations 2  --rz2

Even Smaller Files Thanks To Defluff

Zopfli's output can be further optimized by the defluff tool.
In this particular case, defluff saves 2 more bytes (108097 bytes).

Verify file integrity

After decompression, my uncompressed files are identical to the original ones:

MD5:
curl --silent --compressed https://builds.emberjs.com/tags/v2.7.0/ember.min.js --location | md5sum
c73bb15f2ed32bb823964ecc78590792  -
curl --silent --compressed https://minime.stephan-brumme.com/files/ember/ember-2.7.0.min.zopfli.js.gz | md5sum
c73bb15f2ed32bb823964ecc78590792  -

SHA1:
curl --silent --compressed https://builds.emberjs.com/tags/v2.7.0/ember.min.js --location | sha1sum
c016e2492210d2eb9001cee8124e91fbd71e6439  -
curl --silent --compressed https://minime.stephan-brumme.com/files/ember/ember-2.7.0.min.zopfli.js.gz | sha1sum
c016e2492210d2eb9001cee8124e91fbd71e6439  -

All listed CDNs deliver identical contents:
CDN Size (compressed) MD5 (uncompressed) Timestamp
Boot 139357 bytes c73bb15f2ed32bb823964ecc78590792 July 26, 2016 @ 05:21
cdnjs 114369 bytes c73bb15f2ed32bb823964ecc78590792 July 26, 2016 @ 01:31
jsdelivr 112306 bytes c73bb15f2ed32bb823964ecc78590792 July 26, 2016 @ 01:33

Note: only the MD5 hashes are shown to keep things simple.

Other Versions

Available Ember versions at minime.stephan-brumme.com:

3.0.0,
2.18.2, 2.18.1, 2.18.0,
2.17.2, 2.17.1, 2.17.0,
2.16.2, 2.16.1, 2.16.0,
2.15.3, 2.15.2, 2.15.1, 2.15.0,
2.14.1, 2.14.0,
2.13.4, 2.13.3, 2.13.2, 2.13.1, 2.13.0,
2.12.2, 2.12.1, 2.12.0,
2.11.3, 2.11.2, 2.11.1, 2.11.0,
2.10.2, 2.10.1, 2.10.0,
2.9.1, 2.9.0,
2.8.3, 2.8.2, 2.8.1, 2.8.0,
2.7.3, 2.7.2, 2.7.1, 2.7.0,
2.6.2, 2.6.1, 2.6.0,
2.5.1, 2.5.0,
2.4.6, 2.4.5, 2.4.4, 2.4.3, 2.4.2, 2.4.1, 2.4.0,
2.3.1, 2.3.0,
2.2.2, 2.2.1, 2.2.0,
2.1.2, 2.1.1, 2.1.0,
2.0.3, 2.0.2, 2.0.1, 2.0.0,
1.13.13, 1.13.12, 1.13.11, 1.13.10, 1.13.9, 1.13.8, 1.13.7, 1.13.6, 1.13.5, 1.13.4, 1.13.3, 1.13.2, 1.13.1, 1.13.0,
1.12.2, 1.12.1, 1.12.0,
1.11.4, 1.11.3, 1.11.2, 1.11.1, 1.11.0,
1.10.1, 1.10.0,
1.9.1, 1.9.0,
1.8.1, 1.8.0,
1.7.1, 1.7.0,
1.6.1, 1.6.0,
1.5.1, 1.5.0,
1.4.0,
1.3.2, 1.3.1, 1.3.0,
1.2.2, 1.2.1, 1.2.0,
1.0.1, 1.0.0

The project site contains an overview how well these versions were compressed.
Other interesting projects are AngularJS, BackboneJS, Bootstrap, D3, Dojo, jQuery, Knockout, lodash, React, Socket.IO, ThreeJS, UnderscoreJS and Vue.

Changelog

Best Zopfli parameters so far:
Size Improvement Parameters Found
108099 bytes -1 byte zopfli --i100000 --mls8 --bsr23 --lazy --ohh July 27, 2016 @ 10:46
108100 bytes -6 bytes zopfli --i100000 --mls4096 --bsr15 --lazy --ohh July 26, 2016 @ 21:20
108106 bytes -8 bytes zopfli --i10000 --mls4096 --bsr15 --lazy --ohh July 26, 2016 @ 14:45
108114 bytes -1 byte zopfli --i1000 --mls1024 --bsr13 --lazy --ohh July 26, 2016 @ 14:08
108115 bytes -12 bytes zopfli --i1000 --mls16 --bsr16 --lazy --ohh July 26, 2016 @ 14:06
108127 bytes zopfli --i100 --mls256 --bsr4 --lazy --ohh July 26, 2016 @ 13:37

If there are multiple parameter sets yielding the same compressed size, only the first one found is shown.

Most recent activity on July 20, 2020 @ 12:51.

Heatmaps

This Zopfli heatmap visualizes how compression changes when modifying the --bsr and --mls parameter.
Cell's contents is the best filesize achieved (in bytes, hover with mouse over cells to see number of iterations).

Good parameters are green, bad are red. The best and worst are bold as well.
The brightness of the blue background color indicates how many iterations were processed:
10,000, 100,000 or 1,000,000.
bsr \ mls
2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768
bsr \ mls
2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768
108108 108111 108113 108111 108113 108115 108125 108112 108116 108116 108117 108117 108112 108122 108115
108108 108110 108110 108108 108117 108111 108116 108110 108113 108119 108120 108110 108119 108127 108120
108113 108113 108114 108108 108108 108109 108109 108109 108109 108114 108119 108108 108120 108126 108123
108108 108110 108099 108108 108113 108109 108109 108110 108109 108112 108114 108109 108119 108126 108125
108109 108108 108108 108119 108113 108109 108114 108112 108109 108109 108108 108100 108120 108129 108120
108113 108112 108099 108110 108108 108108 108110 108113 108109 108109 108109 108119 108125 108124 108127
108113 108113 108099 108109 108108 108108 108109 108109 108116 108109 108114 108108 108111 108126 108119
108113 108112 108116 108112 108109 108112 108109 108109 108108 108113 108120 108109 108119 108126 108126
108109 108111 108108 108108 108109 108108 108109 108113 108119 108109 108115 108109 108125 108126 108126
108113 108112 108114 108108 108110 108108 108117 108109 108109 108109 108115 108108 108111 108126 108126
108109 108111 108114 108109 108108 108108 108109 108109 108109 108109 108118 108118 108126 108126 108127
108108 108113 108108 108108 108113 108108 108109 108109 108109 108109 108114 108100 108120 108119 108123
108109 108111 108110 108109 108108 108108 108110 108109 108116 108115 108115 108120 108108 108126 108118
108116 108111 108114 108110 108117 108109 108110 108112 108116 108108 108109 108119 108120 108129 108127
108108 108109 108116 108108 108108 108109 108110 108110 108115 108113 108115 108108 108117 108128 108127
108113 108112 108112 108108 108108 108108 108109 108110 108116 108113 108119 108108 108118 108126 108119
108113 108112 108114 108108 108113 108118 108109 108114 108110 108119 108119 108119 108114 108128 108127
108113 108113 108114 108108 108113 108118 108109 108110 108109 108109 108115 108119 108118 108123 108126
108113 108113 108115 108109 108113 108108 108109 108113 108109 108109 108114 108108 108126 108126 108119
108109 108111 108099 108113 108108 108108 108116 108110 108108 108109 108109 108119 108123 108127 108126
108113 108113 108108 108108 108108 108108 108114 108110 108109 108108 108120 108118 108115 108127 108124
108108 108108 108108 108108 108108 108118 108110 108109 108119 108109 108119 108119 108119 108125 108127
108109 108111 108099 108109 108109 108109 108110 108109 108110 108108 108119 108117 108120 108126 108119

Due to the Monte Carlo design of my search algorithm, not all parameters have reached the same number of iterations yet:
Iterations Min. Bytes Reduction Coverage
100 108127 bytes 100%
1,000 108114 bytes -13 bytes 100%
10,000 108106 bytes -8 bytes 100%
100,000 108099 bytes -7 bytes 2.03%
1,000,000 108099 bytes 1.45%
10,000,000

KZIP has far less options available for tuning/optimization. I only played around with the number of blocks (parameter -n):
Blocks Min. Bytes Compared To Best Zopfli Compared To Best KZIP
108125 bytes +26 bytes (+0.02%)
108144 bytes +45 bytes (+0.04%) +19 bytes
108190 bytes +91 bytes (+0.08%) +65 bytes
108142 bytes +43 bytes (+0.04%) +17 bytes
108197 bytes +98 bytes (+0.09%) +72 bytes
108244 bytes +145 bytes (+0.13%) +119 bytes
108292 bytes +193 bytes (+0.18%) +167 bytes
108330 bytes +231 bytes (+0.21%) +205 bytes
108371 bytes +272 bytes (+0.25%) +246 bytes

Non-DEFLATE Algorithms

Archivers based on completely different compression algorithms often produce superior results.
Unfortunately, browsers only support gzip compression at the moment.
However, support for Brotli is constantly growing - but your browser doesn't support it.
Algorithm Program Parameters Size Compared To Best Zopfli
ZPAQ (Wikipedia) zpaq zpaq -method 69 74134 bytes -33965 bytes (-31.42%)
RAR (proprietary) RAR rar a -m5 -md64m -mc63:128t -mt1 79218 bytes -28881 bytes (-26.72%)
PPMd (Wikipedia) 7zip 7za a -mx=9 -m0=ppmd 85701 bytes -22398 bytes (-20.72%)
Burrows-Wheeler transform (Wikipedia) bzip2 bzip2 -9 90166 bytes -17933 bytes (-16.59%)
Brotli (Wikipedia) brotli brotli -q 11 94332 bytes -13767 bytes (-12.74%)
LZMA2 (Wikipedia) xz xz -9 96476 bytes -11623 bytes (-10.75%)
Zstandard (Wikipedia) zstd zstd -19 99130 bytes -8969 bytes (-8.30%)

Detailled Analysis

I wrote a DEFLATE decoder in Javascript. Click the button below to start a client-side analysis of the smallest gzipped files (may take a second):


Notes: pigz is a fast open source multi-threaded implementation of gzip written by one of the original authors of gzip.
However, when using compression level 11, pigz actually switches to the slower Zopfli algorithm and isn't multi-threaded anymore.
KrzyMOD's extensions to Zopfli offer the highest level of configuration and is therefore used for my brute-force search.
Ken Silverman wrote the closed-source KZIP compression program and Jonathon Fowler ported it to Linux.
Defluff was created by Joachim Henke; DeflOpt is a tool by Ben Jos Walbeehm.

website made by Stephan Brumme in 2015 and still improving in 2024.
all timestamps are displayed in central european time. see my changelog.
no flash, not even images or external css files - and everything squeezed into a single html file.
which was handsomely compressed before releasing it into the wild internet - obviously.

please visit my homepage and my blog, too.
email: minime (at) stephan-brumme.com

All trademarks are property of their respective owners. You know, the boring legal stuff.