0.143171  2014-11-13 14:03:30-06:00 America/Chicago
    
    * Interface Change: Bolts::Util::artifact() now returns an array of the form
      { $name => $artifact } rather than just $artifact.
    * It is now possible to pass an artifact object (i.e., an object
      implementing Bolts::Role::Artifact) as the definition of an artifact.
    * Drop get() from the Bolts::Role::Locator interface. It provides nothing
      useful in the way of functionality.

0.143170  2014-11-13 10:22:18-06:00 America/Chicago

    * Bugfix: The self() helper was missing from the Bolts package.
    * Adding Bolts:Util::artifact() as a generalized abstraction of the Bolts
      sugar (so it can be shared with Bolts::Role)
    * Fleshing out the artifacts accessor of Bolts::Meta::Class::Trait::Bag,
      which had been mentioned in the documentation previously, but had not yet
      been implemented.
    * Add Bolts::Role::Opaque to hide the internals of an artifact from locators
      during aquisition.
    * Better checking on keys and indexes when locating within an array or hash.
    * During acquisition, if one of the acquired items is a locator, pass
      control of acquisition to the nested locator.

0.142930  2014-10-20 11:17:32CDT-0500 America/Chicago

    * Interface Change: The dep() sugar method in Bolts now uses paths that are
      based on the top-level bag and not the local bag/contains definition.
    * Add a new blueprint, parent_bag, defined in Bolts::Blueprint::ParentBag,
      which just retrieves the bag of the parent during artifact resolution.
    * Add a sugar method to Bolts named self(), which provides a quick way of
      creating a parent_bag dependency.

0.142860  2014-10-13 10:20:59CDT-0500 America/Chicago

    * Bugfix: The push key to Bolts::artifact() was incorrectly using a 1-based
      index for injector keys rather than a 0-based index.
    * Replaced Bolts::Role::Locator with a version that only declares the
      required parameters.
    * Copied the original Bolts::Role::Locator to Bolts::Role::RootLocator and
      made it implement Bolts::Role::Locator
    * Converted Bolts::Role::SelfLocator, Bolts::Locator, and
      Bolts::Meta::Locator to use Bolts::Role::RootLocator.
    * Made Bolts::Meta::Class::Trait::Locator into an implementation of
      Bolts::Role::Locator.
    * Added a new init_locator attribute to Bolts::Artifact
    * Changed blueprint, scope, and injectors so that they can take a special
      initializer argument during construction that takes the form of a
      Bolts::Meta::Initializer reference that can be used to acquire the
      blueprint, scope, and injectors (respectively) rather than require they be
      delivered directly by the caller. This is much nicer to use directly now.
    * Added Bolts::Role::Initializer and the Bolts::Intializer attribute trait
      to make objects that can be initialized through the use of their own
      personal locator convenient. This is a slight deviation from pure IOC, but
      very convenient in some cases.
    * Modify locator_for() and meta_locator_for() in Bolts::Util to return
      the same locator object for each invocation after the first for a given
      object reference.

0.142650  2014-09-22 00:33:43CDT-0500 America/Chicago

    * Initial release.
