Choose a version:
33% The original file has 193416 bytes (188.9k) and is available from the project website.
There you can find the official minified version, too, which brings down the size to 64040 bytes (62.5k, 33%).

After GZIP compression these minified files vary in size:
Boot
  26855 bytes (26.2k)
CDN, direct link
unpkg
  25991 bytes (25.4k)
CDN, direct link
cdnjs
  23567 bytes (23.0k)
CDN, direct link
gzip -6 (default)
  23423 bytes (22.9k)
local copy
gzip -9
  23398 bytes (22.8k)
local copy
jsdelivr
  23382 bytes (22.8k)
CDN, direct link
7zip -mx=9 -tgzip
  22653 bytes (22.1k)
local copy
kzip -s0 -rn -b2
  22639 bytes (22.1k)
local copy
libdeflate -12
  22637 bytes (22.1k)
local copy
pigz -11 -n
  22604 bytes (22.1k)
local copy
Zopfli
  22570 bytes (22.0k)
local copy

perma-link to the smallest file on my server:
http://minime.stephan-brumme.com/files/vue/vue-2.0.3.min.js

You will automatically get the smallest Vue 2.0.3 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 812 bytes by using my Vue 2.0.3 Zopfli version instead of the best available CDN (3.60% smaller than jsdelivr, 22570 vs. 23382 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 --mls128 --bsr20 --lazy --ohh

(found April 6, 2017)
Description Value Parameter
iterations 100000  --i100000
maximum blocks 8  --mb8
maximum length score 128  --mls128
block splitting recursion 20  --bsr20
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

Verify file integrity

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

MD5:
curl --silent --compressed https://raw.githubusercontent.com/vuejs/vue/vue-2.0.3.min.js --location | md5sum
b0d8d61ab810134ac02a3511089a7b97  -
curl --silent --compressed http://minime.stephan-brumme.com/files/vue/vue-2.0.3.min.zopfli.js.gz | md5sum
b0d8d61ab810134ac02a3511089a7b97  -

SHA1:
curl --silent --compressed https://raw.githubusercontent.com/vuejs/vue/vue-2.0.3.min.js --location | sha1sum
8a91be9e401a322b8dc011ae1b6eba8625d2105b  -
curl --silent --compressed http://minime.stephan-brumme.com/files/vue/vue-2.0.3.min.zopfli.js.gz | sha1sum
8a91be9e401a322b8dc011ae1b6eba8625d2105b  -

All listed CDNs deliver identical contents:
CDN Size (compressed) MD5 (uncompressed) Timestamp
Boot 26855 bytes b0d8d61ab810134ac02a3511089a7b97 (invalid)
unpkg 25991 bytes b0d8d61ab810134ac02a3511089a7b97 April 5, 2017 @ 17:43
cdnjs 23567 bytes b0d8d61ab810134ac02a3511089a7b97 (invalid)
jsdelivr 23382 bytes b0d8d61ab810134ac02a3511089a7b97 (invalid)

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

Other Versions

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

2.4.2, 2.4.1, 2.4.0, 2.3.4, 2.3.3, 2.3.2, 2.3.1, 2.3.0, 2.2.6, 2.2.5, 2.2.4, 2.2.3, 2.2.2, 2.2.1, 2.2.0, 2.1.10, 2.1.9, 2.1.8, 2.1.7, 2.1.6, 2.1.5, 2.1.4, 2.1.3, 2.1.2, 2.1.1, 2.1.0, 2.0.8, 2.0.7, 2.0.6, 2.0.5, 2.0.4, 2.0.3, 2.0.2, 2.0.1, 2.0.0,
1.0.28, 1.0.27, 1.0.26, 1.0.25, 1.0.24, 1.0.23, 1.0.22, 1.0.21, 1.0.20, 1.0.19, 1.0.18, 1.0.17, 1.0.16, 1.0.15, 1.0.14, 1.0.13, 1.0.12, 1.0.11, 1.0.10, 1.0.9,
0.10.6, 0.10.5, 0.10.4, 0.10.3, 0.10.2, 0.10.1, 0.10.0,
0.9.3, 0.9.2, 0.9.1, 0.9.0

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

Changelog

Best Zopfli parameters so far:
Size Improvement Parameters Found
22570 bytes -1 byte zopfli --i100000 --mls128 --bsr20 --lazy --ohh April 6, 2017 @ 15:45
22571 bytes -1 byte zopfli --i100000 --mls4096 --bsr8 --lazy --ohh April 6, 2017 @ 15:21
22572 bytes -4 bytes zopfli --i10000 --mls4096 --bsr8 --lazy --ohh April 5, 2017 @ 20:12
22576 bytes -1 byte zopfli --i1000 --mls2 --bsr19 --lazy --ohh April 5, 2017 @ 18:07
22577 bytes -2 bytes zopfli --i1000 --mls2 --bsr17 --lazy --ohh April 5, 2017 @ 18:06
22579 bytes zopfli --i100 --mls16 --bsr22 --lazy --ohh April 5, 2017 @ 17:53

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

Most recent activity on April 10, 2017 @ 17:06.

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 or 100,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
22603 22605 22607 22594 22607 22579 22610 22602 22594 22596 22610 22609 22600 22596 22599
22578 22581 22593 22605 22574 22575 22598 22608 22598 22593 22616 22597 22606 22594 22597
22579 22579 22585 22579 22577 22577 22580 22601 22601 22592 22578 22594 22597 22601 22596
22579 22598 22589 22584 22576 22583 22582 22602 22598 22590 22617 22598 22596 22602 22596
22604 22621 22608 22593 22577 22578 22597 22577 22596 22592 22615 22571 22596 22595 22596
22587 22589 22576 22598 22577 22578 22596 22605 22595 22591 22615 22595 22601 22605 22599
22576 22577 22582 22579 22597 22584 22603 22604 22598 22591 22617 22595 22598 22600 22595
22574 22606 22616 22590 22608 22587 22584 22581 22596 22589 22601 22592 22604 22599 22602
22596 22591 22586 22574 22579 22579 22598 22577 22595 22600 22594 22591 22598 22596 22596
22574 22582 22602 22579 22579 22583 22600 22583 22594 22590 22613 22591 22596 22603 22595
22575 22597 22583 22575 22577 22598 22577 22581 22594 22592 22596 22606 22597 22594 22597
22581 22596 22588 22584 22574 22583 22582 22601 22595 22591 22594 22595 22596 22596 22596
22583 22599 22585 22591 22575 22599 22596 22593 22595 22591 22576 22593 22598 22595 22595
22575 22607 22584 22589 22579 22579 22581 22579 22589 22590 22597 22590 22596 22595 22602
22574 22576 22584 22576 22578 22584 22603 22580 22590 22592 22596 22596 22597 22605 22595
22574 22590 22585 22593 22577 22582 22603 22578 22596 22591 22594 22590 22596 22596 22595
22579 22595 22584 22577 22574 22584 22570 22603 22596 22591 22615 22601 22596 22596 22596
22575 22595 22588 22583 22577 22578 22577 22582 22594 22590 22617 22602 22597 22600 22595
22574 22600 22583 22574 22576 22579 22582 22596 22590 22591 22594 22591 22600 22596 22595
22575 22579 22587 22584 22578 22586 22582 22577 22589 22591 22595 22590 22595 22603 22595
22575 22607 22587 22586 22577 22584 22576 22582 22594 22590 22617 22595 22596 22596 22596
22575 22608 22584 22580 22578 22583 22601 22577 22589 22591 22605 22591 22598 22595 22595
22580 22596 22588 22581 22592 22576 22580 22579 22595 22591 22597 22590 22599 22607 22595

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 22579 bytes 100%
1,000 22576 bytes -3 bytes 100%
10,000 22572 bytes -4 bytes 100%
100,000 22570 bytes -2 bytes 1.16%
1,000,000
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
22648 bytes +78 bytes (+0.35%) +9 bytes
22646 bytes +76 bytes (+0.34%) +7 bytes
22639 bytes +69 bytes (+0.31%)
22649 bytes +79 bytes (+0.35%) +10 bytes
22660 bytes +90 bytes (+0.40%) +21 bytes
22682 bytes +112 bytes (+0.50%) +43 bytes
22713 bytes +143 bytes (+0.63%) +74 bytes
22729 bytes +159 bytes (+0.70%) +90 bytes
22765 bytes +195 bytes (+0.86%) +126 bytes

Non-DEFLATE Algorithms

Archivers based on completely different compression algorithms often produce superior results.
Unfortunately, browsers only support gzip compression at the moment.
Algorithm Program Parameters Size Compared To Best Zopfli
ZPAQ (Wikipedia) zpaq zpaq -method 69 19163 bytes -3407 bytes (-15.10%)
RAR (proprietary) RAR rar a -m5 -md64m -mc63:128t -mt1 19484 bytes -3086 bytes (-13.67%)
PPMd (Wikipedia) 7zip 7za a -mx=9 -m0=ppmd 20688 bytes -1882 bytes (-8.34%)
Brotli (Wikipedia) brotli brotli -q 11 21131 bytes -1439 bytes (-6.38%)
Burrows-Wheeler transform (Wikipedia) bzip2 bzip2 -9 21846 bytes -724 bytes (-3.21%)
LZMA2 (Wikipedia) xz xz -9 21864 bytes -706 bytes (-3.13%)
ZSTD (Wikipedia) zstd zstd -19 22362 bytes -208 bytes (-0.92%)

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 2017.
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