diff options
| author | Chris McDonough <chrism@plope.com> | 2011-09-06 23:14:18 -0400 |
|---|---|---|
| committer | Chris McDonough <chrism@plope.com> | 2011-09-06 23:14:18 -0400 |
| commit | d00fa00e0ee116cce61f157b24b3924d38a352a5 (patch) | |
| tree | 396a9efcab053130c20c75cf7df3d7e75c023b39 | |
| parent | f46d5561e7a1e2ca3bf66e9ce05afa5a4e122fe7 (diff) | |
| download | pyramid-d00fa00e0ee116cce61f157b24b3924d38a352a5.tar.gz pyramid-d00fa00e0ee116cce61f157b24b3924d38a352a5.tar.bz2 pyramid-d00fa00e0ee116cce61f157b24b3924d38a352a5.zip | |
prep for 1.2a6
18 files changed, 42 insertions, 21 deletions
diff --git a/CHANGES.txt b/CHANGES.txt index ba89e1989..fcf97b099 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,5 +1,5 @@ -Next release -============ +1.2a6 (2011-09-06) +================== Bug Fixes --------- @@ -13,12 +13,12 @@ Internal - Internalize code previously depended upon as imports from the ``paste.auth`` module (futureproof). +- Replaced use of ``paste.urlparser.StaticURLParser`` with a derivative of + Chris Rossi's "happy" static file serving code (futureproof). + - Fixed test suite; on some systems tests would fail due to indeterminate test run ordering and a double-push-single-pop of a shared test variable. -- Replaced use of ``paste.urlparser.StaticURLParser`` with a derivative of - Chris Rossi's "happy" static file serving code. - Behavior Differences -------------------- @@ -31,6 +31,12 @@ Behavior Differences that cannot be accessed by the Pyramid process' user due to file permissions, an IOError (or similar) will be raised. +Scaffolds +--------- + +- All scaffolds now send the ``cache_max_age`` parameter to the + ``add_static_view`` method. + 1.2a5 (2011-09-04) ================== diff --git a/docs/conf.py b/docs/conf.py index 735159aa4..a6e4f2239 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -93,7 +93,7 @@ copyright = '%s, Agendaless Consulting' % datetime.datetime.now().year # other places throughout the built documents. # # The short X.Y version. -version = '1.2a5' +version = '1.2a6' # The full version, including alpha/beta/rc tags. release = version diff --git a/docs/tutorials/wiki/src/authorization/tutorial/__init__.py b/docs/tutorials/wiki/src/authorization/tutorial/__init__.py index 5daff6b22..1241cecd4 100644 --- a/docs/tutorials/wiki/src/authorization/tutorial/__init__.py +++ b/docs/tutorials/wiki/src/authorization/tutorial/__init__.py @@ -23,6 +23,6 @@ def main(global_config, **settings): config = Configurator(root_factory=root_factory, settings=settings, authentication_policy=authn_policy, authorization_policy=authz_policy) - config.add_static_view('static', 'tutorial:static') + config.add_static_view('static', 'tutorial:static', cache_max_age=3600) config.scan('tutorial') return config.make_wsgi_app() diff --git a/docs/tutorials/wiki/src/basiclayout/tutorial/__init__.py b/docs/tutorials/wiki/src/basiclayout/tutorial/__init__.py index 3424807c0..e49a61129 100644 --- a/docs/tutorials/wiki/src/basiclayout/tutorial/__init__.py +++ b/docs/tutorials/wiki/src/basiclayout/tutorial/__init__.py @@ -10,6 +10,6 @@ def main(global_config, **settings): """ This function returns a Pyramid WSGI application. """ config = Configurator(root_factory=root_factory, settings=settings) - config.add_static_view('static', 'tutorial:static') + config.add_static_view('static', 'tutorial:static', cache_max_age=3600) config.scan('tutorial') return config.make_wsgi_app() diff --git a/docs/tutorials/wiki/src/models/tutorial/__init__.py b/docs/tutorials/wiki/src/models/tutorial/__init__.py index 612966c5c..2d637b9de 100644 --- a/docs/tutorials/wiki/src/models/tutorial/__init__.py +++ b/docs/tutorials/wiki/src/models/tutorial/__init__.py @@ -10,7 +10,7 @@ def main(global_config, **settings): """ This function returns a WSGI application. """ config = Configurator(root_factory=root_factory, settings=settings) - config.add_static_view('static', 'tutorial:static') + config.add_static_view('static', 'tutorial:static', cache_max_age=3600) config.scan('tutorial') return config.make_wsgi_app() diff --git a/docs/tutorials/wiki/src/tests/tutorial/__init__.py b/docs/tutorials/wiki/src/tests/tutorial/__init__.py index 5daff6b22..1241cecd4 100644 --- a/docs/tutorials/wiki/src/tests/tutorial/__init__.py +++ b/docs/tutorials/wiki/src/tests/tutorial/__init__.py @@ -23,6 +23,6 @@ def main(global_config, **settings): config = Configurator(root_factory=root_factory, settings=settings, authentication_policy=authn_policy, authorization_policy=authz_policy) - config.add_static_view('static', 'tutorial:static') + config.add_static_view('static', 'tutorial:static', cache_max_age=3600) config.scan('tutorial') return config.make_wsgi_app() diff --git a/docs/tutorials/wiki/src/views/tutorial/__init__.py b/docs/tutorials/wiki/src/views/tutorial/__init__.py index 70d48c8b2..009013b3f 100644 --- a/docs/tutorials/wiki/src/views/tutorial/__init__.py +++ b/docs/tutorials/wiki/src/views/tutorial/__init__.py @@ -10,6 +10,6 @@ def main(global_config, **settings): """ This function returns a WSGI application. """ config = Configurator(root_factory=root_factory, settings=settings) - config.add_static_view('static', 'tutorial:static') + config.add_static_view('static', 'tutorial:static', cache_max_age=3600) config.scan('tutorial') return config.make_wsgi_app() diff --git a/docs/tutorials/wiki2/src/authorization/tutorial/__init__.py b/docs/tutorials/wiki2/src/authorization/tutorial/__init__.py index 4cd84eda5..cca52fdfe 100644 --- a/docs/tutorials/wiki2/src/authorization/tutorial/__init__.py +++ b/docs/tutorials/wiki2/src/authorization/tutorial/__init__.py @@ -19,7 +19,7 @@ def main(global_config, **settings): root_factory='tutorial.models.RootFactory', authentication_policy=authn_policy, authorization_policy=authz_policy) - config.add_static_view('static', 'tutorial:static') + config.add_static_view('static', 'tutorial:static', cache_max_age=3600) config.add_route('view_wiki', '/') config.add_route('login', '/login') diff --git a/docs/tutorials/wiki2/src/basiclayout/tutorial/__init__.py b/docs/tutorials/wiki2/src/basiclayout/tutorial/__init__.py index c74f07652..b4038de3c 100644 --- a/docs/tutorials/wiki2/src/basiclayout/tutorial/__init__.py +++ b/docs/tutorials/wiki2/src/basiclayout/tutorial/__init__.py @@ -9,7 +9,7 @@ def main(global_config, **settings): engine = engine_from_config(settings, 'sqlalchemy.') initialize_sql(engine) config = Configurator(settings=settings) - config.add_static_view('static', 'tutorial:static') + config.add_static_view('static', 'tutorial:static', cache_max_age=3600) config.add_route('home', '/') config.add_view('tutorial.views.my_view', route_name='home', renderer='templates/mytemplate.pt') diff --git a/docs/tutorials/wiki2/src/models/tutorial/__init__.py b/docs/tutorials/wiki2/src/models/tutorial/__init__.py index ecc41ca9f..fda7c9ce6 100644 --- a/docs/tutorials/wiki2/src/models/tutorial/__init__.py +++ b/docs/tutorials/wiki2/src/models/tutorial/__init__.py @@ -9,7 +9,7 @@ def main(global_config, **settings): engine = engine_from_config(settings, 'sqlalchemy.') initialize_sql(engine) config = Configurator(settings=settings) - config.add_static_view('static', 'tutorial:static') + config.add_static_view('static', 'tutorial:static', cache_max_age=3600) config.add_route('home', '/') config.add_view('tutorial.views.my_view', route_name='home', renderer='templates/mytemplate.pt') diff --git a/docs/tutorials/wiki2/src/tests/tutorial/__init__.py b/docs/tutorials/wiki2/src/tests/tutorial/__init__.py index 4cd84eda5..cca52fdfe 100644 --- a/docs/tutorials/wiki2/src/tests/tutorial/__init__.py +++ b/docs/tutorials/wiki2/src/tests/tutorial/__init__.py @@ -19,7 +19,7 @@ def main(global_config, **settings): root_factory='tutorial.models.RootFactory', authentication_policy=authn_policy, authorization_policy=authz_policy) - config.add_static_view('static', 'tutorial:static') + config.add_static_view('static', 'tutorial:static', cache_max_age=3600) config.add_route('view_wiki', '/') config.add_route('login', '/login') diff --git a/docs/tutorials/wiki2/src/views/tutorial/__init__.py b/docs/tutorials/wiki2/src/views/tutorial/__init__.py index ad89c124e..7d79f7a1f 100644 --- a/docs/tutorials/wiki2/src/views/tutorial/__init__.py +++ b/docs/tutorials/wiki2/src/views/tutorial/__init__.py @@ -9,7 +9,7 @@ def main(global_config, **settings): engine = engine_from_config(settings, 'sqlalchemy.') initialize_sql(engine) config = Configurator(settings=settings) - config.add_static_view('static', 'tutorial:static') + config.add_static_view('static', 'tutorial:static', cache_max_age=3600) config.add_route('view_wiki', '/') config.add_route('view_page', '/{pagename}') config.add_route('add_page', '/add_page/{pagename}') diff --git a/docs/whatsnew-1.2.rst b/docs/whatsnew-1.2.rst index ba92e3542..8a64e2756 100644 --- a/docs/whatsnew-1.2.rst +++ b/docs/whatsnew-1.2.rst @@ -58,6 +58,9 @@ Scaffolding Changes error catching / email sending is now the domain of the ``pyramid_exclog`` package (see https://docs.pylonsproject.org/projects/pyramid_exclog/dev/). +- All scaffolds now send the ``cache_max_age`` parameter to the + ``add_static_view`` method. + Minor Feature Additions ----------------------- @@ -237,6 +240,18 @@ Backwards Incompatibilities returns a route object. This change was required to make route vs. view configuration processing work properly. +Behavior Differences +-------------------- + +- An ETag header is no longer set when serving a static file. A + Last-Modified header is set instead. + +- Static file serving no longer supports the ``wsgi.file_wrapper`` extension. + +- Instead of returning a ``403 Forbidden`` error when a static file is served + that cannot be accessed by the Pyramid process' user due to file + permissions, an IOError (or similar) will be raised. + Documentation Enhancements -------------------------- diff --git a/pyramid/scaffolds/alchemy/+package+/__init__.py_tmpl b/pyramid/scaffolds/alchemy/+package+/__init__.py_tmpl index 942c1973c..8eb878688 100755 --- a/pyramid/scaffolds/alchemy/+package+/__init__.py_tmpl +++ b/pyramid/scaffolds/alchemy/+package+/__init__.py_tmpl @@ -9,7 +9,7 @@ def main(global_config, **settings): engine = engine_from_config(settings, 'sqlalchemy.') get_root = appmaker(engine) config = Configurator(settings=settings, root_factory=get_root) - config.add_static_view('static', '{{package}}:static') + config.add_static_view('static', '{{package}}:static', cache_max_age=3600) config.add_view('{{package}}.views.view_root', context='{{package}}.models.MyRoot', renderer="templates/root.pt") diff --git a/pyramid/scaffolds/routesalchemy/+package+/__init__.py_tmpl b/pyramid/scaffolds/routesalchemy/+package+/__init__.py_tmpl index f5e3a0630..24201912b 100644 --- a/pyramid/scaffolds/routesalchemy/+package+/__init__.py_tmpl +++ b/pyramid/scaffolds/routesalchemy/+package+/__init__.py_tmpl @@ -9,7 +9,7 @@ def main(global_config, **settings): engine = engine_from_config(settings, 'sqlalchemy.') initialize_sql(engine) config = Configurator(settings=settings) - config.add_static_view('static', '{{package}}:static') + config.add_static_view('static', '{{package}}:static', cache_max_age=3600) config.add_route('home', '/') config.add_view('{{package}}.views.my_view', route_name='home', diff --git a/pyramid/scaffolds/starter/+package+/__init__.py_tmpl b/pyramid/scaffolds/starter/+package+/__init__.py_tmpl index 32b69e902..d763b2435 100644 --- a/pyramid/scaffolds/starter/+package+/__init__.py_tmpl +++ b/pyramid/scaffolds/starter/+package+/__init__.py_tmpl @@ -8,5 +8,5 @@ def main(global_config, **settings): config.add_view('{{package}}.views.my_view', context='{{package}}:resources.Root', renderer='{{package}}:templates/mytemplate.pt') - config.add_static_view('static', '{{package}}:static') + config.add_static_view('static', '{{package}}:static', cache_max_age=3600) return config.make_wsgi_app() diff --git a/pyramid/scaffolds/zodb/+package+/__init__.py_tmpl b/pyramid/scaffolds/zodb/+package+/__init__.py_tmpl index 764cfc0ba..935121888 100644 --- a/pyramid/scaffolds/zodb/+package+/__init__.py_tmpl +++ b/pyramid/scaffolds/zodb/+package+/__init__.py_tmpl @@ -10,6 +10,6 @@ def main(global_config, **settings): """ This function returns a Pyramid WSGI application. """ config = Configurator(root_factory=root_factory, settings=settings) - config.add_static_view('static', '{{package}}:static') + config.add_static_view('static', '{{package}}:static', cache_max_age=3600) config.scan('{{package}}') return config.make_wsgi_app() @@ -52,7 +52,7 @@ if sys.version_info[:2] < (2, 6): install_requires.append('simplejson') setup(name='pyramid', - version='1.2a5', + version='1.2a6', description=('The Pyramid web application development framework, a ' 'Pylons project'), long_description=README + '\n\n' + CHANGES, |
