BETSE 0.7.0 (Jamboree Jackson) released. Significant changes include: * Dynamic ion channels significantly rewritten. Backward compatibility-breaking changes include: * *OBSOLETE YAML CONFIGURATION SECTION REMOVED.* Users are encouraged to switch to the existing gene regulatory network (GRN) formalism, which provides more reliable dynamic channels support. See the "channels" subsection of the "general network" section in the default YAML file. * Pump- and channel-specific electroosmosis removed. Users are encouraged to switch to the existing gene regulatory network (GRN) formalism, which provides more reliable electroosmosis support. * Configuration changed from conductivity to membrane diffusion constants, improving consistency with the remainder of the BETSE codebase. * Endoplasmic reticulum (ER) calcium dynamics removed entirely. * All existing CaV channels renamed for clarity. (Requested by Cassandra.) * Multiple new CaV channels added. (Requested by Cassandra.) These include: * N-type CaV 2.2 channel. * Channel API generalized for external use outside of BETSE (e.g., Jupyter). * Z-offset support in modulator functions. (Requested by Micah Brodskey.) * Simulation time updates solved with the backward (implicit) Euler method. * Gap junctions modelled with the Goldman-Hodgkin-Katz (GHK) flux equation. * Negative concentrations causing "non-conservative" instabilities detected during simulation, triggering human-readable fatal exceptions. * Positive concentrations updated properly via dynamic dictionaries. * "show cells: False" plot output aesthetically improved. (Caveat: this option now assumes convert rather than concave cell cluster shapes.) * Voronoi grid construction slightly improved. * Setuptools >= 38.0.0 compatibility resolved, permitting BETSE to be portably installed under all setuptools versions. Setuptools >= 38.0.0 broke backward compatibility by prohibiting unordered iterables (e.g., sets) in prominent "setup.py" parameters that previously accepted such iterables. *sigh* * Image I/O API created. The new "betse.lib.pil" subpackage aggregates all functionality specific to Pillow, the PIL-compatible fork serving as this application's low-level image processing framework. * Expression alias API sanitized, raising human-readable exceptions on erroneous access to expression alias values. * Directory API sanitized, raising human-readable exceptions from recursive directory functions. * Object API sanitized, permitting object attributes and methods to be dynamically accessed in a "safe" sentinel-based manner. * YAML API generalized, enabling all YAML (sub)configurations to be loaded and unloaded in a general-purpose manner.