fanstatic / CHANGES.txt

CHANGES
*******

0.16 (unreleased)
=================

- Nothing changed yet.


0.15 (2012-11-08)
=================

- Add "default" argument to Slot to specify a resource which will be filled
  in if there is no other resource specified in need(). Thanks to nilo.

- Ensure published bundles carry the correct Content-Type header. Previously,
  all bundles were delivered with `text/html`. Thanks to David Beitey.


0.14 (2012-10-30)
=================

- Alex Grönholm added python3 and pypy support.

- Using tox to test on python2.6/2.7/3.2/3.3/pypy.

- Mirroring the bitbucket repo to github in order to run tests on travis-ci:

  https://travis-ci.org/#!/fanstatic/fanstatic

0.14a (2012-10-07)
==================

- Removed the dependency on Paste, replaced with webob.static.

- The publisher no longer sends out etags, which seems like a good
  idea. The `Yahoo best practices for speeding up web sites <http://developer.yahoo.com/performance/rules.html>`_
  say:

    If you're not taking advantage of the flexible validation model that
    ETags provide, it's better to just remove the ETag altogether.

- Updated package setup to be compatible with running
  ``python setup.py test``.

- Added tox setup for testing across python versions.

0.13.3 (2012-09-12)
===================

- No longer use WebOb's wsgify decorator in both the injector and
  delegator middlewares, as it has issues handling parent application
  WSGI response (https://github.com/Pylons/webob/issues/74).

0.13.2 (2012-08-23)
===================

- Fixed issue #78: "fanstatic.checksum.md5 is not guaranteed", thanks to
  takanao ENDOH.

0.13.1 (2012-08-16)
===================

- Fixed bug where mode resources created by string 'shortcut' didn't
  inherit the renderer, bundling, dependency parameters.

0.13 (2012-08-15)
=================

- DummyNeededResources did not takes the slots argument.

- Resource.need() did not process the slots argument, despite the argument
  being documented.

- Added slots argument to Group.need().


0.12 (2012-08-05)
=================

- Documentation fix in code samples, thanks to Toby Dacre.

- Fix issue #74, minified .js not served in bottom unless force_bottom,
  thanks to Toby Dacre.

- Cherry picked pull request #1 "support-wsgi-apps-not-mounted-at-/",
  thanks to Éric Lemoine.

- Add print css renderer.

0.11.4 (2012-01-14)
===================

- There was another bug with ordering resources when multiple libraries
  were involved. This time the way library_nr was calculated was changed
  so that it wouldn't happen anymore.

  The intent of library_nr was to have it always be 1 higher than the
  maximum library_nr of any libraries this library is based on.

  In practice this wouldn't always happen, because each resource had
  its own library_nr. In some circumstances the resources in libraries
  depending on other libraries would consistently get a library_nr too
  low, as each resource they were based on had a library_nr that was
  too low as well, even though another resource could exist in that
  library with a higher library_nr. This could cause the library_nr of
  all resources in a library to be too low.

  This is now fixed to moving library_nr to the place it should've
  maintained on in the first place: the library itself. It is
  calculated now once per library, just before the resources are
  sorted for the first time during the application's run. Since by the
  time resources need to be sorted all resources are known, the library_nr
  can be calculated correctly.

0.11.3 (2011-11-11)
===================

- There was a bug with ordering resources when multiple libraries
  are involved: https://bitbucket.org/fanstatic/fanstatic/issue/67/ordering-of-resources-when-multiple

0.11.2 (2011-05-19)
===================

- Update the docs for readthedocs.org.

0.11.1 (2011-04-13)
===================

- Consolidate the resources (find rollups) before applying the mode.

0.11 (2011-04-11)
=================

- Add bundling support: bundles are collections of Resources that can
  be served in one HTTP request. Bundle URLs are constructed by the
  fanstatic injector and served by the fanstatic publisher.

- Remove eager_superseder arguments from Resource, as this was not used.

- Abstracted features of Resource, Group, Bundle into base classes
  Renderable and Dependable.

- Improved sorting of resources for inclusion on web page. This is to
  prepare for bundling support. Ordering is now more consistent, no
  matter in which order resources are .needed(). As long as you marked
  dependencies right this shouldn't break applications; if your
  resources are included in the wrong order now, fix resource dependencies.

- base_url is not required anymore (as in the past); improve base_url
  management API so that integration packages like zope.fanstatic have
  a more explicit way to manage this information.

- Resources check whether the file they refer to exists or not. If
  the file doesn't exist you get an UnknownResourceError.

- Renamed UnknownResourceExtension exception to
  UnknownResourceExtensionError. The old exception name is still
  available for backwards compatibility.

- Use mtime instead of md5 for determining speeds up version computation
  during development. The hashing method is still available for people who
  don't trust their filesystem using the ``versioning_use_md5`` parameter.

0.10.1 (2011-02-06)
===================

- Fixed issue #49.


0.10 (2011-01-19)
=================

- Renamed ``hashing`` to ``versioning``. Use the version of the python package
  as the version identifier for a Library, unless the package is installed in
  development mode. If a Library has no version or is in development, use the
  hash of the Library's directory contents as version identifier.

- Consolidated the Resource modes into ``debug`` and ``minified``.

- The injector component only sets up the NeededResources if the request method
  is GET or POST.

- The ``devmode`` parameter has been renamed to ``recompute_hashes`` in order
  to more aptly reflect its behavior. When recompute_hashes is True, hashes are
  recomputed for every request - this is the default behavior.


0.9b (2011-01-06)
=================

Fanstatic is a fundamental rewrite of `hurry.resource`_. As such, Fanstatic
breaks compatibility with hurry.resource. Here's a list of essential changes
since version 0.10 of hurry.resource:

- Fundamental API cleanups and changes.

- Fanstatic no longer depends on ZTK packages, and provides several 'pure' WSGI
  components. This allows for greater re-use in different WSGI-based frameworks.

- `zope.fanstatic`_ (a rewrite of `hurry.zoperesource`_) provides the integration of
  Fanstatic with the ZTK.

- Fanstatic adds a WSGI component for serving resources, offloading it from the
  application framework.

- Fanstatic adds 'infinite' caching functionality by computing a unique URL
  for every version of a resource.

- Fanstatic uses `py.test`_ for test discovery and execution.

- A lot of effort has been put into documenting Fanstatic.

.. _`hurry.resource`: http://pypi.python.org/pypi/hurry.resource
.. _`hurry.zoperesource`: http://pypi.python.org/pypi/hurry.zoperesource
.. _`zope.fanstatic`: http://pypi.python.org/pypi/zope.fanstatic
.. _`py.test`: http://pypi.python.org/pypi/pytest
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.