After almost a year since 2.0 release, we can finally share with you an exciting update with brand new Brush Engine, Smart Layers, Improved animation timeline and much more!
Brush Engine

Likely, the most requested feature, you can now create your own Brushes with PixiEditor's Node Graph!
Use the new Brush Picker within Pen Tool to select, duplicate and edit brushes.
Along the Brush Engine, full drawing tablet support has been added. For Windows, both Ink and WinTab APIs are supported.
Check out the documentation to learn how to create your own brushes.
Precise paint engine
PixiEditor now uses precise paint engine. Previously all brush stamps were rounded to pixels, starting from version 2.1, you can paint with sub-pixel precision. Snapped pixels are still an option per-brush.
Stabilizers

We've added 2 stabilizers: Distance based and Time based. They are available within pen tool settings in the viewport.
Time based: Stabilization is calculated based on time passed between previous position and new position.
Distance based: You need to move X pixels before brush follows your pointer. It's like dragging something with a rope, you need to move far enough for the rope to become tight, before it draggs the thing on the other side.
Smart Layers

PixiEditor now supports smart layers. You can use other .pixi files within your document, embed .svg files directly as layers and more.
PixiEditor's advanced Node Graph allows to expose values to parent document, if they are embedded as a nested document (smart layer). Additionally, with new Blackboard feature, you can define inputs to your smart layers.
So for example you can create a nice text animation template and create "Text" blackboard input.
Then after embedding this animation within other file, you can type your text and it will be passed to the nested document.

This way you can reuse one file multiple times and compose your graphics/animations much more easily.
Blackboard
Blackboard is our solution for multiple, important things:

It serves as a way to define and reuse constants within one Node Graph
It defines Brush settings, that are exposed in Pen tool settings when brush is picked
It allows for defining inputs for graphs. Inputs are a gateway to pass data between parent document and embedded one. If you prefer programming comparision, you can think of a nested graph as a function and inputs as function parameters.
Improved animation timeline
This is something many of you requested. We’ve overhauled the timeline and workflow of the animation system. This is the very first community proposal coming to life.
New Renderer
As a response to a few important issues, We rewrote a lot of core rendering components. There are plenty of new optimizations and characteristics. A few issues, that the new renderer is trying to solve:
New Nodes
Gradient Node: Create gradients procedurally
Pattern Node: Draw vector stroke out of input image.
Viewport Info: Information about active viewport
Blackboard Variable Value: Access blackboard variables
Stroke Info: Info about current Brush stroke, only works within Brushes
Brush Output: A node for defining brushes, see Brush Engine section
Pixel Perfect Ellipse: New shape, that creates pixel-perfect ellipses
Switch: Choose a value based on a condition
Equals: Are two items equal
Expose Value: Exposes arbitrary value from the graph as a output, when nested into other document.
Editor Info: Info about current editor state, currently only Primary and Secondary color
Nested Document: Smart Layer node. Allows for picking any document file.
Pointer Info: Info about current pointer, such as pressure, position on canvas and more.
Keyboard Info: Information about keyboard state, currently bools about modifier keys.
Array: Create an array out of items
Array Element: Get an element from array by index
Array Length: Get length of an array
New Sockets
You may notice new colorful inputs in the graph, they mean that any type can be plugged into them.

Customizable Toolsets and Brush Tools
You can now create your own toolsets and tools based on Brushes.
Check out the documentation to learn how.
Full changelog is available here
Enjoy!