Cleanup: Use function call and delete obsolete comment.
Fix set black/white points didn't operate in the linear space
Fix FileSelector drawing missing some files
Fix FileSelector dividers disappearing

Was clamped to short
Skip distortion of the grease pencil associated with the track
Fix T41695: No label in UV/Image editor waveform mode

That's indeed rather creepy to show only icon for the enum where
all the elements have the same exact icon.
Fix T41691: Blender-internal crash (counting edges)
Expose "select all strips to left/right" in the select menu.

Shortcut is ctrl click but might not be discoverable, as we found out
the hard way on gooseberry.
Texture painting:

Free draw objects instead of tagging object update and doing
recalculation of derived meshes. The reason is that if user deletes all
slots and tries to paint, the system will invalidate the cached in
projection painting derivedmesh. This will promptly crash. Invalidating
the draw objects only is also much cheaper.
Code cleanup, defined shared stroke properties to one central function.
Fix T41693: Volumes get brightened with extra volume samples on GPU + BPT
Cleanup: Code deduplication for similar passes.
Vert-rip left an invalid selection with (>1 verts)

Now report the error and fail early.
Fix T40595: File broken after "make local->all"
Fix T35952: Switching a single handle to free would lock the others alignment
Fix View3D 'Auto Keying' alignment (when dpi!=72)
Fix setting Curve-handle type moving the wrong one

Issue noted in T35952, now if you convert a free handle to an aligned handle,
it will move the selected handle.
Fix T41463: Mirror Modifier breaks Automatic-Weights in weight-paint mode

The problem was it used copied verts on the opposite side.
Fix wrong track of the memory when doing device vector resize before freeing it

This is rather legit case which happens i.e. when having persistent images enabled
and session is updating the lookup tables.

Now device_memory keeps track of amount of memory being allocated on the device,
which makes freeing using the proper allocated size, not the CPU side buffer
size.
Write Compressed blend files directly

Writing compressed files would write the uncompressed blend, then re-compress on-disk.

Use a wrapper for open/write/close commands