========================
**Added**
- Add ``add_output`` and ``add_neuron_output`` methods to
``IdentityEnsembleArray`` to provide the full API that is provided by the
regular Nengo ``EnsembleArray``.
(`61 <https://github.com/nengo/nengo_spa/pull/61>`_,
`28 <https://github.com/nengo/nengo_spa/issues/28>`_)
- Add ``create_inhibit_node`` function to create nodes that inhibit complete
Nengo networks.
(`65 <https://github.com/nengo/nengo_spa/pull/65>`_,
`26 <https://github.com/nengo/nengo_spa/issues/26>`_)
- Add a ``solver`` argument to the action rule's ``translate`` to use a solver
instead of an outer product to obtain the transformation matrix which can
give slightly better results.
(`62 <https://github.com/nengo/nengo_spa/pull/62>`_,
`57 <https://github.com/nengo/nengo_spa/issues/57>`_)
**Changed**
- Actions rules do not require module to be assigned to the model any longer.
They will access exactly the same variables as are available in the
surrounding Python code. This means that existing action rules need to be
changed to reference the correct names.
(`63 <https://github.com/nengo/nengo_spa/pull/63>`_)
- The action rule syntax changed significantly.
(`54 <https://github.com/nengo_spa/nengo/issues/54>`_,
`72 <https://github.com/nengo_spa/nengo/pull/72>`_)
- Actions will be build automatically without an explicit call to ``build()``.
(`59 <https://github.com/nengo/nengo_spa/pull/59>`_,
`45 <https://github.com/nengo/nengo_spa/issues/45>`_,
`55 <https://github.com/nengo/nengo_spa/issues/55>`_)
- Consolidated the functionality of ``Encode`` and ``Decode`` into
``Transcode``.
(`67 <https://github.com/nengo/nengo_spa/pull/67>`_,
`58 <https://github.com/nengo/nengo_spa/issues/58>`_)
**Fixed**
- Fix some operations changing the dimensionality of semantic pointers with an
odd initial dimensionality.
(`52 <https://github.com/nengo/nengo_spa/issues/52>`_,
`53 <https://github.com/nengo/nengo_spa/pull/53>`_)
- When building actions the basal ganglia and thalamus will only be created
when actually required.
(`60 <https://github.com/nengo/nengo_spa/pull/60>`_,
`42 <https://github.com/nengo/nengo_spa/issues/42>`_)
- The vocabulary translate mechanism will properly ignore missing keys in the
target vocabulary when ``populate=False``.
(`62 <https://github.com/nengo/nengo_spa/pull/62>`_,
`56 <https://github.com/nengo/nengo_spa/issues/56>`_)
- Allow empty string as argument to `Vocabulary.populate`.
(`73 <https://github.com/nengo_spa/nengo/pull/73>`_)