<commit_before># This file keeps track of the changes to the project.  We use it both to
# document the changes, and to find the most recent version numbers.  See the
# release process documented in docs/process.rst for details.

# This file uses the YAML format because it is easy to write and it is easy to
# convert to JSON, which seemed like a reasonable goal in case we want to use
# this data in the GUI itself at some point.  Here's an example of how to
# write the changes data.

# - unreleased:
# - 0.5.0:
#   - Did something
#   - Did something else
#   - >
#     Another thing that spans multiple lines
#     like this
# - 0.4.0:
#   - Something!
#   - Ooh!

# Release identifiers in this file should always be "unreleased" or
# [NUMBER].[NUMBER].[NUMBER] per http://semver.org/ .
- unreleased:
- 1.2.0:
    - >
      New Feature: Machine View!

      The Juju GUI now provides two views of your environment. In addition to
      the service view there is not a new machine view. It will list out the
      underlying machines in your environment along with the services deployed
      on those machines. Machine view allows you to manually place services
      onto machines and containers on providers that support network access to
      containers.

      Along with the new machine view is a new deployer bar. This bottom bar
      allows you to stage up multiple changes to your environment before
      committing them to the Juju environment. This lets you add many
      machines, add services, and place them carefully, and verify your list
      of changes before any requests are made to Juju.
    - >
      Many small tweaks to the UI for machine view including an updated
      header, inspector look, and a new scale up UI for the inspector.
    - (FIX) Standardize the constraints units across the GUI
- 1.1.1:
    - The inspector requires fewer dispatches to render different states.
    - The sidebar can now be hidden with a keyboard shortcut (Ctrl+Alt+h).
    - A new notification is in place for bundle deployments.
    - Clicking relations shows the relation inspector.
    - >
      Upgrading a service comes with a new interface, making it easier to change
      the version of a given service.
    - The cookie notification now displays on top of other items.
    - >
      Major code-removals including several dispatch-related areas as well as
      our reliance on the Object.observe polyfill.
    - >
      Under the "mv" flag, work continues on the machine view and a deployer and
      an environment change-set which allows all changes to be queued up and
      then committed at once. Uncommitted indicators added to all juju
      primitives, and much styling work around getting the upcoming Machine View
      ready for daily use.
    - (FIX) Autocomplete search results are sorted in an expected fashion.
    - (FIX) Unit number 0 for each service now dispatches properly.
    - (FIX) Destroy Relation link in relations inspector works properly.
    - (FIX) Mocha timeout was increased for SauceLabs testing.
    - (FIX) Documentation updated for Precise.
- 1.1.0:
    - >
      The inspector's default rendering position is now in the left hand column
      to give you more room to view and work with your environment.
    - >
      A new uni-directional data flow state system was implemented which has
      dramatically simplified the data flow and execution of the GUI codebase.
    - >
      The various inspectors have had their rendering cycles refactored to
      simplify their execution.
    - Charm searching has been improved in the charm browser.
    - >
      Under the "mv" flag work continues on the machine view and a new deployer
      bar has been created which allows you to queue up changes to your
      environment and then commit those changes all at once.
    - (FIX) Disable potential iframing to avoid any possible click jacking.
    - (FIX) Environment export file name now defaults to "bundles.yaml".
    - (FIX) Relation icons getting reloaded on every delta.
    - (FIX) Service names with dashes get trimmed on closing the inspector.
    - (FIX) Subordinate relationship lines show green until moved.
    - Removed "il" flag support as it's now the default.
    - Currently available flags: mv
- 1.0.2:
    - >
      Safari is now a first class browser. You can use it without any notice
      about it being unsupported and it's built into our current CI testing.
    - >
      The GUI will now start to provide notifications of bundle deployments
      that were already in progress before you opened the GUI. This means that
      if you deply a bundle via quickstart, after you log into the GUI, you'll
      still get notifications of the bundles success or failure.
    - >
      The GUI will no longer export itself. This is to prevent issues in
      reusing your bundle file that is generated with juju-quickstart or
      getting the bundle into the charm store. If you do want to have a
      specific GUI instance in your bundle, make sure the service name is not
      "juju-gui".
    - Bundle deployment urls are now simplified and the deploy tab is updated.
    - (FIX) Allow local charms deployed to show their icon on service blocks.
    - (FIX) Update the header to show the environment name correctly.
    - (FIX) Only load the relation icons once.
    - (Fix) Improve d3 loading loading times by using a custom build of it.
    - Update Vagrant development image for easier hacking on the GUI.
    - >
      Add flag for "mv" for current machine view implementation work. This
      includes a new panel and tokens to represent machines and units of
      services to place on specific machines.
    - >
      Add flag "il" for moving the inspector into the left sidebar. This also
      brings in work for a deployer bar to allow users to build a collection
      of changes to deploy at one time.
- 1.0.1:
    - >
      Local charms may now be upgraded by dragging another zip file with the
      same service name onto the canvas.
    - Allow exporting environments in Safari.
    - Allow bundles to be recommended.
    - (FIX) constraints in bundles are space separated.
- 1.0.0:
    - >
      Local charm deploys are now supported. Drag-n-drop a zip file of your
      charm onto the canvas to deploy it.
    - >
      New relation line visualization. Multiple relations are now grouped into
      a single line. The line color helps indicate relation health and a popup
      is available to interact with the relations.
    - >
      Remove the bws prefixes from the tabs in the details view. Note this
      changes urls to specific tabs. The old urls are respected but are
      deprecated. Please update your bookmarks.
    - Notifier users when the window size is too small to work with effectively.
    - Auto open and close the browser when interacting with the inspector.
    - >
      Safari has been added to CI and the test suite. Local charm support is
      still be be completed in the next release. At that point it will become
      an officially supported browser.
    - (FIX) allow use of local web fonts to enable better offline support.
- 0.15.1:
    - Replace TabView with a new animating sliding tabs component.
    - (FIX) #1251426 unit counts in the bundle view are incorrect.
- 0.15.0:
    - >
      Fullscreen mode has been removed. Old urls are automatically mapped to
      their sidebar equivalents.
    - Inspector performance greatly improved for large numbers of units.
    - Update Features tab with new information from the current charm audit.
    - Inspector relations tab now shows the units involved in a relation error.
    - Add charm browser animations.
    - >
      This is out first release from our Github hosted repository. Docs have
      been updated throughout for working on the Juju Gui.
    - >
      The HACKING docs are updated for working on the Juju Gui with Vagrant. A
      Vagrantfile and provision script are provided.
    - >
      (FIX) Inspector height calculations are updated so the expose/destroy
      buttons always show in scroll.
- 0.14.0:
    - >
      Added support in the GUI to parse different agent states from Juju
      Core, providing more information on service status.  This includes both
      "pending" and "dying" states. Similarly, units are now divided up by
      error or status type. This is also now included in the simulator.
    - >
      Bundle deployments can now be observed within the GUI, both in sandbox
      mode and from a real deployer perspective.
    - On the relationships tab in the inspector, unit errors are now displayed.
    - Bundle deployment counts are now displayed.
    - >
      Automatic login support via a timed token was introduced in order to help
      the GUI work with the juju quickstart plugin.
    - Background grid to the canvas now pans with services.
    - (FIX) Reducing number of units from the inspector no longer causes error.
    - (FIX) Drag-and-drop now works with bundles from store or file.
    - (FIX) More robust checking of duplicate service names.
    - >
      (FIX) Relation status indicator for peer relations is now positioned
      correctly.
- 0.13.0:
    - >
      Added help and feedback menu to top right, replacing feedback link on
      side.
    - >
      (FIX) The inspector tries to get out of your way when you are making a
      relation.
    - >
      (CLEANUP) Bundle deployment instructions for using quickstart and juju
      deployer were clarified and brought up to date.
    - (FIX) Fix bundle visualization so that it does not occasionally clip.
    - (CHARM FIX) Charm now honors bundle deployment positioning.
    - >
      (FIX) Services without positioning are less likely to be automatically
      positioned on top of themselves.
    - (FIX) Make sandbox bundle deployment positioning more reliable.
    - (CLEANUP) Remove remaining old unused notifications code.
- 0.12.0:
    - >
      (BETA) In arguably the biggest single new feature of the GUI since its
      release, the GUI now supports importing, exporting, browsing and
      deploying "bundles". Bundles are collections of charms and their
      relations. You can export bundles using the export icon at the top of
      the GUI (an arrow pointing up out of a box) or shift-d. You can import
      them using the import icon (an arrow pointing into the box), by
      dragging yaml files from your computer and dropping then onto the
      environment, or by deploying bundles found in the store.

      The bundle functionality is based on the juju-deployer
      (https://launchpad.net/juju-deployer). Deploying a bundle using the GUI
      currently only support bundles that use charms from the charm store,
      rather than local charms. Some of the GUI functionality assembles
      previously-released functionality, and some of it is brand new, and only
      available before behind feature flags.
    - Add new build mode onboarding information for first time users.
    - Add the ability to deploy straight from quicksearch results.
    - Reduce the overall sprite and css sizes providing a significant improvement
    - >
      Remove footer from the UI and improve the header design providing more room
      for the environment.
    - >
      Improve the environment export to be a valid bundle file.
      in first page load times.
    - Update to the charmworld v3 api with support for bundles as well.
    - (FIX) Improve font rendering for OSX users.
    - (FIX) Correct the cookie warning layout.
    - (FIX) Fix IE10 reloading when upgrade charm is selected.

- 0.11.0:
    - >
      The inspector (and the GUI, for the first time) supports upgrading or
      downgrading a service's charm.
    - >
      The masthead's UX is improved, notably giving a bit more room for the
      rest of the application.
    - Relations now display the names of both endpoints in the environment.
    - >
      The GUI distribution is now about 1/9 the size it was before, speeding
      up deployment.
    - >
      Recommended charms (and bundles) are now marked with a red triangle,
      per results from UX tests.
    - >
      (FIX, CLEANUP) Service coordinates were being stored in three places,
      leading to confusion and bugs.  This code was refactored, introducing
      many fixes to our service positioning behavior.
    - >
      (FIX) If the charm browser were fully open to show charm details, and
      the browser was minimized and then reopened, the details page would be
      blank.
    - >
      (FIX) The Go implementation of the sandbox always lost the first delta
      from the AllWatcher's Next method.
    - >
      (FIX) Bundle export should not include the number of units for
      subordinates.
    - (FIX) Inspector scale up input was disabled forever after value change.
    - (FIX) Charm details link was not working correctly from inspector.
    - (FIX) Unit details did not display exposed URL links properly.
    - (FIX) Position annotations are once again included in exports.
    - (FIX) New units added to the canvas no longer overlap old ones.
    - >
      (FIX) The charm "code" tab in the charm browser now sorts filenames by
      directory and name, to make it easier to find a particular file.  It
      also excludes the svg files from the list, since the rendering was less
      than valuable.
    - >
      (CHARM FIX) This is actually a fix in the charm, but it is an important
      one that is worth calling out.  In some environments, the GUI would
      break, not allowing proper inspection, export, or other basic behavior.
      This turned out to be because the new server had an issue with non-ascii
      values in some cases.
    - >
      Behind the "charmworldv3" flag, bundle support is ready for
      demonstration, including browsing and deploying, in the sandbox and in a
      live environment.  Tweaks, bug fixes, and some approved bundles should
      take us the rest of the way soon.  This comprised a very large portion
      of the work behind this release.
    - >
      Behind the "onboard" flag, the GUI has work to show helpful onboarding
      for new users.
- 0.10.1:
    - Add icon for exporting a bundle.
    - (FIX) The GUI was unusable when cookies were turned off in your browser.
    - >
      (CLEANUP) Use service model in ghost inspector, rather than charm model.
      This is a nice cleanup and also enables a true environment-wide "save"
      button in the future.
    - (FIX) The GUI was unable to deploy charms without config options.
    - (FIX) Remove unit button did not work in Juju Core.
    - >
      (FIX) The inspector's unit view did not update when the unit's values
      changed.  Now everything except for the relations updates.  Relations
      have other issues that, in part, need in-progress changes in Juju Core
      to work.
    - (FIX) Changing settings did not work in Juju Core.
    - >
      (FIX) Removed broken and largely unnecessary "All Notifications" link.
      More, better changes will come there soon.
    - >
      (CLEANUP) As part of bundle work, clean up some browser templates for
      general improvements and for better re-use.
    - >
      (FIX) After saving a service config, old, unchanged values would seem
      to disappear, and then reappear a few seconds later.
    - >
      (CLEANUP) Remove the serviceInspector flag code and some of the
      now-irrelevant old view code.
    - >
      (FIX) if a service is destroyed in the command line, the inspector
      should close when the service disappears.
    - >
      (FIX) subordinate charms should not show constraints and should not
      seem to allow control of scaling.
    - >
      (FIX) destroying a service would hide it too soon, causing surprises if
      the destruction failed.  It now disappears when it is destroyed.
    - >
      Behind upgradeCharm feature flag, complete implementation of support for
      upgrading a charm in the GUI.  This will be released in 0.11, very soon.
    - >
      Behind charmworldv3 feature flag, add more support for bundles (model,
      search results, featured list, initial token, better sandbox support,
      etc.).
- 0.10.0:
    - Added new inspector view for deploying and configuring services.
    - Inspector allows viewing details in full environment context.
    - Inspector fixes problem losing edits when environment changes.
    - Inspector shows edit conflicts and allows resolution.
    - Inspector fixes previously broken per-service charm view.
    - Worked around fragility in Keystone charm (LP bug 1214087).
    - >
      Updated charm token (the token is the small charm visualization in
      browse and search) to show series and owner (or "Recommended") rather
      than summary.
    - Added missing support for removing units from services in Juju Core.
    - Added support for alternate Google Analytics keys.
    - >
      Removed filters from charm searches.  We will add them back when there is
      more to filter on.
    - >
      Added feature-flagged support for upgrading to a new version of
      a charm.
    - >
      Added internal support for new charm deployer integration (bundle
      support).
    - >
      Added internal support for sandbox version of deployer integration
      (bundle support).
    - Added internal support for charmworld APIv3 (bundle support).
    - Added internal support for rendering visual bundle summaries.
    - Refactored to unify internal charm implementations.
    - Switched to using Go sandbox by default.
    - Delivered other performance and bug fixes.
- 0.9.0:
    - Added autocomplete to the Charm Browser search input field.
    - Added support for Internet Explorer 10.
    - Added unit action buttons to the new inspector unitlist (feature-flagged).
    - >
      Added the ability to resolve user input configuration conflicts
      in the new inspector panel (feature-flagged).
    - Added Constraints and unit scaling to inspector panel (feature-flagged).
    - Added charm details to the new inspector panel (feature-flagged).
    - Finished juju-core sandbox implementation.
    - Significant progress on normalizing the charm models.
    - Updated YUI version to 3.11.0
    - Fixed outstanding Internet Explorer 10 bugs.
    - UI updates.
    - Performance and bug fixes.
- 0.8.2:
    - Fixed boolean data type export.
    - Fixed unit tests in IE10.
    - Updated providers UI in Charm Browser.
    - Fixed multiple routing issues in the Charm Browser.
    - Updated the included version of D3.
    - Many improvements to the inspector panel (feature-flagged).
    - Cleanup of the two different charm models used through the codebase.
- 0.8.1:
    - Fixed bug causing settings page to not scroll.
    - >
      Fixed bug causing the initial loading spinner to spin forever in Firefox
      with cookies disabled.
    - Fixed bug causing the scripts to load out of order.
    - Fixed subordinate interactions with juju-core.
    - Additional steps taken to remove reliance on old charm browser API.
    - Charm browser autocomplete search development started (feature-flagged).
    - Large steps towards feature parity for feature-flagged inspector.
    - Adding details panel to feature-flagged inspector.
- 0.8.0:
    - Update charm browser styling.
    - Add home link in charm browser.
    - Add provider test result data and links
    - >
      Update service block design. Use icons for service blocks and stop
      making block size dependent on unit count. Switch service block status
      summary from pie chart to bar chart.
    - Charm browser shows lifetime downloads and commit counts.
    - jujucharms.com can change logout button to "get juju" button.
    - >
      Fix deployment issues encountered for some charms, e.g. <NAME>'s
      discource charm.
    - Fix Juju deployer export.
    - More drag and drop deployment refinement and fixes.
    - >
      Many other small bugfixes.
    - >
      Incremental progress on service inspector behind
      serviceInspector feature flag.
    - Begin unifying old and new charm models.
- 0.7.2:
    - Easier Charm browser control with browse/build toggle.
    - UI tweaks and fixes.
- 0.7.1:
    - Added drag and drop deployment from charm browser.
    - >
      Export environment to Juju deployer YAML format from
      keyboard shortcut (shift-d).
    - Databinding and conflict resolution finalized (feature-flagged).
    - Start of new service inspector development (feature-flagged).
    - Added relations to Go sandbox (Go sandbox still in progress).
    - Cleaned up and improved unit tests.
    - Performance and memory improvements.
- 0.6.1:
    - >
      Fix critical jumping service bug (LP bug 1192596) and related drag
      problems on service creation.
    - Add feedback link.
    - Add prototype of data binding conflict resolution (feature-flagged).
    - >
      Add SetCharm to Go sandbox, in continuing preparation for supporting
      charm upgrades (not yet exposed to end-user).
    - Add incremental progress on charm sharing widget (feature-flagged).
    - Reduce test fragility and make other test improvements.
- 0.6.0:
    - New charm browser for finding available charms.
    - Visual styling changes.
    - The beginnings of a Go backend sandbox.
    - Bug fixes and improved CI reliability.
    - Automatic view portal zoom and centering.
    - Support for Google Analytics.
    - Linting of yuidoc comments.
    - Linting of copyright headers.
    - Linting of project documentation files.
    - Utility for recording and playback of websocket traffic for debugging.
    - Caching of search results.
    - Improved development HTTP server behavior.
    - Improved project documentation.
- 0.5.0:
    - Visual styling fixes.
    - Many small bugfixes.
    - Internal code reorganization and refactoring.
    - >
      Configuration values can now be multi-line.  The text entry widget
      automatically grows to accomodate multiple lines.
    - Mousewheel zoom now works in firefox.
    - The environment view now shows some help text when the canvas is empty.
    - Changes to support faster deplyoment of the GUI charm (make npm-cache).
    - >
      Experimental keyboard shortcuts.  These will certainly change in the
      future so don't train your fingers just yet.
    - Experimental import/output functionality.  Also sure to change.
    - >
      No longer reports trivial errors caused by being in restricted
      (read-only) mode.  E.g., moving a service does not generate an error.
    - Much nicer default layout of the services.
    - >
      Removed HTML5 application cache as it was causing more problems than it
      was solving.
    - Added licensing info to project (AGPL).
    - >
      Fixed a memory leak in the code that reacts to changes coming from the
      Juju environment.
- 0.4.0:
    - Support for Juju Core (Go Juju).
    - >
      New "sandbox" mode for in-browser-memory fake juju (set "sandbox" to
      "true" in config.js).
    - Support for Firefox.
    - Support for Landscape integration.
    - Many bug fixes.
    - Continuous integration support.
    - Progress towards new charm browser UX (hidden for now).
- 0.3.1:
    - Small fixes to release process.
- 0.3.0:
    - Improved browser support.
    - Beginnings of support for Go Juju.
    - Changes to the way the websocket URL are specified.
    - Movement toward continuous integration.
    - Added "ghost" services to indicate services that are being created.
    - Improved Landscape graphics.
    - Many bug fixes and refactorings.
- 0.2.2:
    - Initial support for in browser environment.
    - Subapp infrastructure.
    - Landscape integration support.
    - juju-core environment improvements.
- 0.2.1:
    - Initial support for source maps.
    - Browser tests infrastructure.
    - Browser compatibility CSS fixes.
    - Store credentials in sessionStorage.
    - Namespace aware routing.
    - Landscape integration helpers.
    - Go env: authentication and environment info.
    - Documentation improvements.
- 0.2.0:
    - Fix a number of bugs and UI misbehaviors.
    - Switch to a CSS minifier that does not require Java.
    - Remove login credentials from config.
    - Improve tests and testing infrastructure.
    - Improve project and code documentation.
- 0.1.5:
    - Add support for recess as a CSS linter.  Currently not enabled.
    - Allow login credentials to be placed in config.
    - Support read-only mode in the GUI.
    - Restore mouse wheel support for pan/zoom.
    - Prevent destruction of the Juju GUI service.
- 0.1.4:
    - Add login infrastructure
- 0.1.3:
    - Avoid loading external not secure resources
- 0.1.2:
    - Enable frontend TLS
- 0.1.1:
    - First tarball release
- 0.1.0:
    - OpenStack Summit 2012 demo
<commit_msg>Set version for release.<commit_after># This file keeps track of the changes to the project.  We use it both to
# document the changes, and to find the most recent version numbers.  See the
# release process documented in docs/process.rst for details.

# This file uses the YAML format because it is easy to write and it is easy to
# convert to JSON, which seemed like a reasonable goal in case we want to use
# this data in the GUI itself at some point.  Here's an example of how to
# write the changes data.

# - unreleased:
# - 0.5.0:
#   - Did something
#   - Did something else
#   - >
#     Another thing that spans multiple lines
#     like this
# - 0.4.0:
#   - Something!
#   - Ooh!

# Release identifiers in this file should always be "unreleased" or
# [NUMBER].[NUMBER].[NUMBER] per http://semver.org/ .
- 1.2.1:
    - >
      (FIX) Using a search category with an empty input no longer uses the
      previously searched for query.
- 1.2.0:
    - >
      New Feature: Machine View!

      The Juju GUI now provides two views of your environment. In addition to
      the service view there is not a new machine view. It will list out the
      underlying machines in your environment along with the services deployed
      on those machines. Machine view allows you to manually place services
      onto machines and containers on providers that support network access to
      containers.

      Along with the new machine view is a new deployer bar. This bottom bar
      allows you to stage up multiple changes to your environment before
      committing them to the Juju environment. This lets you add many
      machines, add services, and place them carefully, and verify your list
      of changes before any requests are made to Juju.
    - >
      Many small tweaks to the UI for machine view including an updated
      header, inspector look, and a new scale up UI for the inspector.
    - (FIX) Standardize the constraints units across the GUI
- 1.1.1:
    - The inspector requires fewer dispatches to render different states.
    - The sidebar can now be hidden with a keyboard shortcut (Ctrl+Alt+h).
    - A new notification is in place for bundle deployments.
    - Clicking relations shows the relation inspector.
    - >
      Upgrading a service comes with a new interface, making it easier to change
      the version of a given service.
    - The cookie notification now displays on top of other items.
    - >
      Major code-removals including several dispatch-related areas as well as
      our reliance on the Object.observe polyfill.
    - >
      Under the "mv" flag, work continues on the machine view and a deployer and
      an environment change-set which allows all changes to be queued up and
      then committed at once. Uncommitted indicators added to all juju
      primitives, and much styling work around getting the upcoming Machine View
      ready for daily use.
    - (FIX) Autocomplete search results are sorted in an expected fashion.
    - (FIX) Unit number 0 for each service now dispatches properly.
    - (FIX) Destroy Relation link in relations inspector works properly.
    - (FIX) Mocha timeout was increased for SauceLabs testing.
    - (FIX) Documentation updated for Precise.
- 1.1.0:
    - >
      The inspector's default rendering position is now in the left hand column
      to give you more room to view and work with your environment.
    - >
      A new uni-directional data flow state system was implemented which has
      dramatically simplified the data flow and execution of the GUI codebase.
    - >
      The various inspectors have had their rendering cycles refactored to
      simplify their execution.
    - Charm searching has been improved in the charm browser.
    - >
      Under the "mv" flag work continues on the machine view and a new deployer
      bar has been created which allows you to queue up changes to your
      environment and then commit those changes all at once.
    - (FIX) Disable potential iframing to avoid any possible click jacking.
    - (FIX) Environment export file name now defaults to "bundles.yaml".
    - (FIX) Relation icons getting reloaded on every delta.
    - (FIX) Service names with dashes get trimmed on closing the inspector.
    - (FIX) Subordinate relationship lines show green until moved.
    - Removed "il" flag support as it's now the default.
    - Currently available flags: mv
- 1.0.2:
    - >
      Safari is now a first class browser. You can use it without any notice
      about it being unsupported and it's built into our current CI testing.
    - >
      The GUI will now start to provide notifications of bundle deployments
      that were already in progress before you opened the GUI. This means that
      if you deply a bundle via quickstart, after you log into the GUI, you'll
      still get notifications of the bundles success or failure.
    - >
      The GUI will no longer export itself. This is to prevent issues in
      reusing your bundle file that is generated with juju-quickstart or
      getting the bundle into the charm store. If you do want to have a
      specific GUI instance in your bundle, make sure the service name is not
      "juju-gui".
    - Bundle deployment urls are now simplified and the deploy tab is updated.
    - (FIX) Allow local charms deployed to show their icon on service blocks.
    - (FIX) Update the header to show the environment name correctly.
    - (FIX) Only load the relation icons once.
    - (Fix) Improve d3 loading loading times by using a custom build of it.
    - Update Vagrant development image for easier hacking on the GUI.
    - >
      Add flag for "mv" for current machine view implementation work. This
      includes a new panel and tokens to represent machines and units of
      services to place on specific machines.
    - >
      Add flag "il" for moving the inspector into the left sidebar. This also
      brings in work for a deployer bar to allow users to build a collection
      of changes to deploy at one time.
- 1.0.1:
    - >
      Local charms may now be upgraded by dragging another zip file with the
      same service name onto the canvas.
    - Allow exporting environments in Safari.
    - Allow bundles to be recommended.
    - (FIX) constraints in bundles are space separated.
- 1.0.0:
    - >
      Local charm deploys are now supported. Drag-n-drop a zip file of your
      charm onto the canvas to deploy it.
    - >
      New relation line visualization. Multiple relations are now grouped into
      a single line. The line color helps indicate relation health and a popup
      is available to interact with the relations.
    - >
      Remove the bws prefixes from the tabs in the details view. Note this
      changes urls to specific tabs. The old urls are respected but are
      deprecated. Please update your bookmarks.
    - Notifier users when the window size is too small to work with effectively.
    - Auto open and close the browser when interacting with the inspector.
    - >
      Safari has been added to CI and the test suite. Local charm support is
      still be be completed in the next release. At that point it will become
      an officially supported browser.
    - (FIX) allow use of local web fonts to enable better offline support.
- 0.15.1:
    - Replace TabView with a new animating sliding tabs component.
    - (FIX) #1251426 unit counts in the bundle view are incorrect.
- 0.15.0:
    - >
      Fullscreen mode has been removed. Old urls are automatically mapped to
      their sidebar equivalents.
    - Inspector performance greatly improved for large numbers of units.
    - Update Features tab with new information from the current charm audit.
    - Inspector relations tab now shows the units involved in a relation error.
    - Add charm browser animations.
    - >
      This is out first release from our Github hosted repository. Docs have
      been updated throughout for working on the Juju Gui.
    - >
      The HACKING docs are updated for working on the Juju Gui with Vagrant. A
      Vagrantfile and provision script are provided.
    - >
      (FIX) Inspector height calculations are updated so the expose/destroy
      buttons always show in scroll.
- 0.14.0:
    - >
      Added support in the GUI to parse different agent states from Juju
      Core, providing more information on service status.  This includes both
      "pending" and "dying" states. Similarly, units are now divided up by
      error or status type. This is also now included in the simulator.
    - >
      Bundle deployments can now be observed within the GUI, both in sandbox
      mode and from a real deployer perspective.
    - On the relationships tab in the inspector, unit errors are now displayed.
    - Bundle deployment counts are now displayed.
    - >
      Automatic login support via a timed token was introduced in order to help
      the GUI work with the juju quickstart plugin.
    - Background grid to the canvas now pans with services.
    - (FIX) Reducing number of units from the inspector no longer causes error.
    - (FIX) Drag-and-drop now works with bundles from store or file.
    - (FIX) More robust checking of duplicate service names.
    - >
      (FIX) Relation status indicator for peer relations is now positioned
      correctly.
- 0.13.0:
    - >
      Added help and feedback menu to top right, replacing feedback link on
      side.
    - >
      (FIX) The inspector tries to get out of your way when you are making a
      relation.
    - >
      (CLEANUP) Bundle deployment instructions for using quickstart and juju
      deployer were clarified and brought up to date.
    - (FIX) Fix bundle visualization so that it does not occasionally clip.
    - (CHARM FIX) Charm now honors bundle deployment positioning.
    - >
      (FIX) Services without positioning are less likely to be automatically
      positioned on top of themselves.
    - (FIX) Make sandbox bundle deployment positioning more reliable.
    - (CLEANUP) Remove remaining old unused notifications code.
- 0.12.0:
    - >
      (BETA) In arguably the biggest single new feature of the GUI since its
      release, the GUI now supports importing, exporting, browsing and
      deploying "bundles". Bundles are collections of charms and their
      relations. You can export bundles using the export icon at the top of
      the GUI (an arrow pointing up out of a box) or shift-d. You can import
      them using the import icon (an arrow pointing into the box), by
      dragging yaml files from your computer and dropping then onto the
      environment, or by deploying bundles found in the store.

      The bundle functionality is based on the juju-deployer
      (https://launchpad.net/juju-deployer). Deploying a bundle using the GUI
      currently only support bundles that use charms from the charm store,
      rather than local charms. Some of the GUI functionality assembles
      previously-released functionality, and some of it is brand new, and only
      available before behind feature flags.
    - Add new build mode onboarding information for first time users.
    - Add the ability to deploy straight from quicksearch results.
    - Reduce the overall sprite and css sizes providing a significant improvement
    - >
      Remove footer from the UI and improve the header design providing more room
      for the environment.
    - >
      Improve the environment export to be a valid bundle file.
      in first page load times.
    - Update to the charmworld v3 api with support for bundles as well.
    - (FIX) Improve font rendering for OSX users.
    - (FIX) Correct the cookie warning layout.
    - (FIX) Fix IE10 reloading when upgrade charm is selected.

- 0.11.0:
    - >
      The inspector (and the GUI, for the first time) supports upgrading or
      downgrading a service's charm.
    - >
      The masthead's UX is improved, notably giving a bit more room for the
      rest of the application.
    - Relations now display the names of both endpoints in the environment.
    - >
      The GUI distribution is now about 1/9 the size it was before, speeding
      up deployment.
    - >
      Recommended charms (and bundles) are now marked with a red triangle,
      per results from UX tests.
    - >
      (FIX, CLEANUP) Service coordinates were being stored in three places,
      leading to confusion and bugs.  This code was refactored, introducing
      many fixes to our service positioning behavior.
    - >
      (FIX) If the charm browser were fully open to show charm details, and
      the browser was minimized and then reopened, the details page would be
      blank.
    - >
      (FIX) The Go implementation of the sandbox always lost the first delta
      from the AllWatcher's Next method.
    - >
      (FIX) Bundle export should not include the number of units for
      subordinates.
    - (FIX) Inspector scale up input was disabled forever after value change.
    - (FIX) Charm details link was not working correctly from inspector.
    - (FIX) Unit details did not display exposed URL links properly.
    - (FIX) Position annotations are once again included in exports.
    - (FIX) New units added to the canvas no longer overlap old ones.
    - >
      (FIX) The charm "code" tab in the charm browser now sorts filenames by
      directory and name, to make it easier to find a particular file.  It
      also excludes the svg files from the list, since the rendering was less
      than valuable.
    - >
      (CHARM FIX) This is actually a fix in the charm, but it is an important
      one that is worth calling out.  In some environments, the GUI would
      break, not allowing proper inspection, export, or other basic behavior.
      This turned out to be because the new server had an issue with non-ascii
      values in some cases.
    - >
      Behind the "charmworldv3" flag, bundle support is ready for
      demonstration, including browsing and deploying, in the sandbox and in a
      live environment.  Tweaks, bug fixes, and some approved bundles should
      take us the rest of the way soon.  This comprised a very large portion
      of the work behind this release.
    - >
      Behind the "onboard" flag, the GUI has work to show helpful onboarding
      for new users.
- 0.10.1:
    - Add icon for exporting a bundle.
    - (FIX) The GUI was unusable when cookies were turned off in your browser.
    - >
      (CLEANUP) Use service model in ghost inspector, rather than charm model.
      This is a nice cleanup and also enables a true environment-wide "save"
      button in the future.
    - (FIX) The GUI was unable to deploy charms without config options.
    - (FIX) Remove unit button did not work in Juju Core.
    - >
      (FIX) The inspector's unit view did not update when the unit's values
      changed.  Now everything except for the relations updates.  Relations
      have other issues that, in part, need in-progress changes in Juju Core
      to work.
    - (FIX) Changing settings did not work in Juju Core.
    - >
      (FIX) Removed broken and largely unnecessary "All Notifications" link.
      More, better changes will come there soon.
    - >
      (CLEANUP) As part of bundle work, clean up some browser templates for
      general improvements and for better re-use.
    - >
      (FIX) After saving a service config, old, unchanged values would seem
      to disappear, and then reappear a few seconds later.
    - >
      (CLEANUP) Remove the serviceInspector flag code and some of the
      now-irrelevant old view code.
    - >
      (FIX) if a service is destroyed in the command line, the inspector
      should close when the service disappears.
    - >
      (FIX) subordinate charms should not show constraints and should not
      seem to allow control of scaling.
    - >
      (FIX) destroying a service would hide it too soon, causing surprises if
      the destruction failed.  It now disappears when it is destroyed.
    - >
      Behind upgradeCharm feature flag, complete implementation of support for
      upgrading a charm in the GUI.  This will be released in 0.11, very soon.
    - >
      Behind charmworldv3 feature flag, add more support for bundles (model,
      search results, featured list, initial token, better sandbox support,
      etc.).
- 0.10.0:
    - Added new inspector view for deploying and configuring services.
    - Inspector allows viewing details in full environment context.
    - Inspector fixes problem losing edits when environment changes.
    - Inspector shows edit conflicts and allows resolution.
    - Inspector fixes previously broken per-service charm view.
    - Worked around fragility in Keystone charm (LP bug 1214087).
    - >
      Updated charm token (the token is the small charm visualization in
      browse and search) to show series and owner (or "Recommended") rather
      than summary.
    - Added missing support for removing units from services in Juju Core.
    - Added support for alternate Google Analytics keys.
    - >
      Removed filters from charm searches.  We will add them back when there is
      more to filter on.
    - >
      Added feature-flagged support for upgrading to a new version of
      a charm.
    - >
      Added internal support for new charm deployer integration (bundle
      support).
    - >
      Added internal support for sandbox version of deployer integration
      (bundle support).
    - Added internal support for charmworld APIv3 (bundle support).
    - Added internal support for rendering visual bundle summaries.
    - Refactored to unify internal charm implementations.
    - Switched to using Go sandbox by default.
    - Delivered other performance and bug fixes.
- 0.9.0:
    - Added autocomplete to the Charm Browser search input field.
    - Added support for Internet Explorer 10.
    - Added unit action buttons to the new inspector unitlist (feature-flagged).
    - >
      Added the ability to resolve user input configuration conflicts
      in the new inspector panel (feature-flagged).
    - Added Constraints and unit scaling to inspector panel (feature-flagged).
    - Added charm details to the new inspector panel (feature-flagged).
    - Finished juju-core sandbox implementation.
    - Significant progress on normalizing the charm models.
    - Updated YUI version to 3.11.0
    - Fixed outstanding Internet Explorer 10 bugs.
    - UI updates.
    - Performance and bug fixes.
- 0.8.2:
    - Fixed boolean data type export.
    - Fixed unit tests in IE10.
    - Updated providers UI in Charm Browser.
    - Fixed multiple routing issues in the Charm Browser.
    - Updated the included version of D3.
    - Many improvements to the inspector panel (feature-flagged).
    - Cleanup of the two different charm models used through the codebase.
- 0.8.1:
    - Fixed bug causing settings page to not scroll.
    - >
      Fixed bug causing the initial loading spinner to spin forever in Firefox
      with cookies disabled.
    - Fixed bug causing the scripts to load out of order.
    - Fixed subordinate interactions with juju-core.
    - Additional steps taken to remove reliance on old charm browser API.
    - Charm browser autocomplete search development started (feature-flagged).
    - Large steps towards feature parity for feature-flagged inspector.
    - Adding details panel to feature-flagged inspector.
- 0.8.0:
    - Update charm browser styling.
    - Add home link in charm browser.
    - Add provider test result data and links
    - >
      Update service block design. Use icons for service blocks and stop
      making block size dependent on unit count. Switch service block status
      summary from pie chart to bar chart.
    - Charm browser shows lifetime downloads and commit counts.
    - jujucharms.com can change logout button to "get juju" button.
    - >
      Fix deployment issues encountered for some charms, e.g. <NAME>'s
      discource charm.
    - Fix Juju deployer export.
    - More drag and drop deployment refinement and fixes.
    - >
      Many other small bugfixes.
    - >
      Incremental progress on service inspector behind
      serviceInspector feature flag.
    - Begin unifying old and new charm models.
- 0.7.2:
    - Easier Charm browser control with browse/build toggle.
    - UI tweaks and fixes.
- 0.7.1:
    - Added drag and drop deployment from charm browser.
    - >
      Export environment to Juju deployer YAML format from
      keyboard shortcut (shift-d).
    - Databinding and conflict resolution finalized (feature-flagged).
    - Start of new service inspector development (feature-flagged).
    - Added relations to Go sandbox (Go sandbox still in progress).
    - Cleaned up and improved unit tests.
    - Performance and memory improvements.
- 0.6.1:
    - >
      Fix critical jumping service bug (LP bug 1192596) and related drag
      problems on service creation.
    - Add feedback link.
    - Add prototype of data binding conflict resolution (feature-flagged).
    - >
      Add SetCharm to Go sandbox, in continuing preparation for supporting
      charm upgrades (not yet exposed to end-user).
    - Add incremental progress on charm sharing widget (feature-flagged).
    - Reduce test fragility and make other test improvements.
- 0.6.0:
    - New charm browser for finding available charms.
    - Visual styling changes.
    - The beginnings of a Go backend sandbox.
    - Bug fixes and improved CI reliability.
    - Automatic view portal zoom and centering.
    - Support for Google Analytics.
    - Linting of yuidoc comments.
    - Linting of copyright headers.
    - Linting of project documentation files.
    - Utility for recording and playback of websocket traffic for debugging.
    - Caching of search results.
    - Improved development HTTP server behavior.
    - Improved project documentation.
- 0.5.0:
    - Visual styling fixes.
    - Many small bugfixes.
    - Internal code reorganization and refactoring.
    - >
      Configuration values can now be multi-line.  The text entry widget
      automatically grows to accomodate multiple lines.
    - Mousewheel zoom now works in firefox.
    - The environment view now shows some help text when the canvas is empty.
    - Changes to support faster deplyoment of the GUI charm (make npm-cache).
    - >
      Experimental keyboard shortcuts.  These will certainly change in the
      future so don't train your fingers just yet.
    - Experimental import/output functionality.  Also sure to change.
    - >
      No longer reports trivial errors caused by being in restricted
      (read-only) mode.  E.g., moving a service does not generate an error.
    - Much nicer default layout of the services.
    - >
      Removed HTML5 application cache as it was causing more problems than it
      was solving.
    - Added licensing info to project (AGPL).
    - >
      Fixed a memory leak in the code that reacts to changes coming from the
      Juju environment.
- 0.4.0:
    - Support for Juju Core (Go Juju).
    - >
      New "sandbox" mode for in-browser-memory fake juju (set "sandbox" to
      "true" in config.js).
    - Support for Firefox.
    - Support for Landscape integration.
    - Many bug fixes.
    - Continuous integration support.
    - Progress towards new charm browser UX (hidden for now).
- 0.3.1:
    - Small fixes to release process.
- 0.3.0:
    - Improved browser support.
    - Beginnings of support for Go Juju.
    - Changes to the way the websocket URL are specified.
    - Movement toward continuous integration.
    - Added "ghost" services to indicate services that are being created.
    - Improved Landscape graphics.
    - Many bug fixes and refactorings.
- 0.2.2:
    - Initial support for in browser environment.
    - Subapp infrastructure.
    - Landscape integration support.
    - juju-core environment improvements.
- 0.2.1:
    - Initial support for source maps.
    - Browser tests infrastructure.
    - Browser compatibility CSS fixes.
    - Store credentials in sessionStorage.
    - Namespace aware routing.
    - Landscape integration helpers.
    - Go env: authentication and environment info.
    - Documentation improvements.
- 0.2.0:
    - Fix a number of bugs and UI misbehaviors.
    - Switch to a CSS minifier that does not require Java.
    - Remove login credentials from config.
    - Improve tests and testing infrastructure.
    - Improve project and code documentation.
- 0.1.5:
    - Add support for recess as a CSS linter.  Currently not enabled.
    - Allow login credentials to be placed in config.
    - Support read-only mode in the GUI.
    - Restore mouse wheel support for pan/zoom.
    - Prevent destruction of the Juju GUI service.
- 0.1.4:
    - Add login infrastructure
- 0.1.3:
    - Avoid loading external not secure resources
- 0.1.2:
    - Enable frontend TLS
- 0.1.1:
    - First tarball release
- 0.1.0:
    - OpenStack Summit 2012 demo

{'fraction_non_alphanumeric': 0.0495748435745227, 'fraction_numerical': 0.006838600994705599, 'mean_word_length': 2.610789283128168, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 162, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5271495', 'n_tokens_mistral': 13046, 'n_tokens_neox': 12277, 'n_words': 6768}