librelist archives

« back to archive

ANN: Flask 0.7 Released

ANN: Flask 0.7 Released

From:
Armin Ronacher
Date:
2011-06-28 @ 12:51
Hi,

I am very happy to announce the release of Flask 0.7 codename "Grappa".
 This is a major new release in that it unfortunately also incorporates
some backwards incompatible changes we however really wanted to iron out
long before 1.0.  Because we did not get much feedback regarding
problems of upgrading this might be a risky release.  Problems with
upgrades are only really expected for applications using modules which
were replaced by blueprints for the most part.

We have an upgrade script that can help you with upgrades, see the
chapter in the documentation for more information.

We are expecting that we might do a bugfix release soon with better
backwards compatibility support as soon as we know where things might
not work as good as it was intended.  So please, tell us if upgrades are
not as neat as they should be :)

What changed?

* Added make_default_options_response() which can be used by subclasses
  to alter the default behaviour for OPTIONS responses.
  Unbound locals now raise a proper RuntimeError instead of an
  AttributeError.
* Mimetype guessing and etag support based on file objects is now
  deprecated for flask.send_file() because it was unreliable. Pass
  filenames instead or attach your own etags and provide a proper
  mimetype by hand.
* Static file handling for modules now requires the name of the static
  folder to be supplied explicitly. The previous autodetection was not
  reliable and caused issues on Google’s App Engine. Until 1.0 the old
  behaviour will continue to work but issue dependency warnings.
* fixed a problem for Flask to run on jython.
* added a PROPAGATE_EXCEPTIONS configuration variable that can be used
  to flip the setting of exception propagation which previously was
  linked to DEBUG alone and is now linked to either DEBUG or TESTING.
* Flask no longer internally depends on rules being added through the
  add_url_rule function and can now also accept regular werkzeug rules
  added to the url map.
* Added an endpoint method to the flask application object which allows
  one to register a callback to an arbitrary endpoint with a decorator.
* Use Last-Modified for static file sending instead of Date which was
  incorrectly introduced in 0.6.
* Added create_jinja_loader to override the loader creation process.
* Implemented a silent flag for config.from_pyfile.
* Added teardown_request decorator, for functions that should run at
  the end of a request regardless of whether an exception occurred.
  Also the behavior for after_request was changed. It’s now no longer
  executed when an exception is raised. See Upgrading to new Teardown
  Handling
* Implemented flask.has_request_context()
* Deprecated init_jinja_globals. Override the
  create_jinja_environment() method instead to achieve the same
  functionality.
* Added flask.safe_join()
* The automatic JSON request data unpacking now looks at the charset
  mimetype parameter.
* Don’t modify the session on flask.get_flashed_messages() if there are
  no messages in the session.
* before_request handlers are now able to abort requests with errors.
  it is not possible to define user exception handlers. That way you
  can provide custom error messages from a central hub for certain
  errors that might occur during request processing (for instance d
  database connection errors, timeouts from remote resources etc.).
* Blueprints can provide blueprint specific error handlers.
* Implemented generic pluggable views (class based views).

Happy release date :)

Regards,
Armin

Re: [flask] ANN: Flask 0.7 Released

From:
Jackie Lee
Date:
2011-06-28 @ 13:23
Happy release day!

I'm looking at the documentation, the chapter of "Becoming
Big":http://flask.pocoo.org/docs/patterns/packages/

Seems the docs are still not changed from "Module" to "Blueprint"?


Thanks for the great work!

On Tue, Jun 28, 2011 at 1:51 PM, Armin Ronacher
<armin.ronacher@active-4.com> wrote:
> Hi,
>
> I am very happy to announce the release of Flask 0.7 codename "Grappa".
>  This is a major new release in that it unfortunately also incorporates
> some backwards incompatible changes we however really wanted to iron out
> long before 1.0.  Because we did not get much feedback regarding
> problems of upgrading this might be a risky release.  Problems with
> upgrades are only really expected for applications using modules which
> were replaced by blueprints for the most part.
>
> We have an upgrade script that can help you with upgrades, see the
> chapter in the documentation for more information.
>
> We are expecting that we might do a bugfix release soon with better
> backwards compatibility support as soon as we know where things might
> not work as good as it was intended.  So please, tell us if upgrades are
> not as neat as they should be :)
>
> What changed?
>
> * Added make_default_options_response() which can be used by subclasses
>  to alter the default behaviour for OPTIONS responses.
>  Unbound locals now raise a proper RuntimeError instead of an
>  AttributeError.
> * Mimetype guessing and etag support based on file objects is now
>  deprecated for flask.send_file() because it was unreliable. Pass
>  filenames instead or attach your own etags and provide a proper
>  mimetype by hand.
> * Static file handling for modules now requires the name of the static
>  folder to be supplied explicitly. The previous autodetection was not
>  reliable and caused issues on Google’s App Engine. Until 1.0 the old
>  behaviour will continue to work but issue dependency warnings.
> * fixed a problem for Flask to run on jython.
> * added a PROPAGATE_EXCEPTIONS configuration variable that can be used
>  to flip the setting of exception propagation which previously was
>  linked to DEBUG alone and is now linked to either DEBUG or TESTING.
> * Flask no longer internally depends on rules being added through the
>  add_url_rule function and can now also accept regular werkzeug rules
>  added to the url map.
> * Added an endpoint method to the flask application object which allows
>  one to register a callback to an arbitrary endpoint with a decorator.
> * Use Last-Modified for static file sending instead of Date which was
>  incorrectly introduced in 0.6.
> * Added create_jinja_loader to override the loader creation process.
> * Implemented a silent flag for config.from_pyfile.
> * Added teardown_request decorator, for functions that should run at
>  the end of a request regardless of whether an exception occurred.
>  Also the behavior for after_request was changed. It’s now no longer
>  executed when an exception is raised. See Upgrading to new Teardown
>  Handling
> * Implemented flask.has_request_context()
> * Deprecated init_jinja_globals. Override the
>  create_jinja_environment() method instead to achieve the same
>  functionality.
> * Added flask.safe_join()
> * The automatic JSON request data unpacking now looks at the charset
>  mimetype parameter.
> * Don’t modify the session on flask.get_flashed_messages() if there are
>  no messages in the session.
> * before_request handlers are now able to abort requests with errors.
>  it is not possible to define user exception handlers. That way you
>  can provide custom error messages from a central hub for certain
>  errors that might occur during request processing (for instance d
>  database connection errors, timeouts from remote resources etc.).
> * Blueprints can provide blueprint specific error handlers.
> * Implemented generic pluggable views (class based views).
>
> Happy release date :)
>
> Regards,
> Armin
>



-- 
Jackie

Re: [flask] ANN: Flask 0.7 Released

From:
Alex
Date:
2011-06-28 @ 13:19
Thank you and all the Flask developers for this new shiny release!
As an Italian Flask user I'm happy to say welcome to "Grappa" ;-)

Alex

On Tue, Jun 28, 2011 at 2:51 PM, Armin Ronacher
<armin.ronacher@active-4.com> wrote:
> Hi,
>
> I am very happy to announce the release of Flask 0.7 codename "Grappa".
>  This is a major new release in that it unfortunately also incorporates
> some backwards incompatible changes we however really wanted to iron out
> long before 1.0.  Because we did not get much feedback regarding
> problems of upgrading this might be a risky release.  Problems with
> upgrades are only really expected for applications using modules which
> were replaced by blueprints for the most part.
>
> We have an upgrade script that can help you with upgrades, see the
> chapter in the documentation for more information.
>
> We are expecting that we might do a bugfix release soon with better
> backwards compatibility support as soon as we know where things might
> not work as good as it was intended.  So please, tell us if upgrades are
> not as neat as they should be :)
>
> What changed?
>
> * Added make_default_options_response() which can be used by subclasses
>  to alter the default behaviour for OPTIONS responses.
>  Unbound locals now raise a proper RuntimeError instead of an
>  AttributeError.
> * Mimetype guessing and etag support based on file objects is now
>  deprecated for flask.send_file() because it was unreliable. Pass
>  filenames instead or attach your own etags and provide a proper
>  mimetype by hand.
> * Static file handling for modules now requires the name of the static
>  folder to be supplied explicitly. The previous autodetection was not
>  reliable and caused issues on Google’s App Engine. Until 1.0 the old
>  behaviour will continue to work but issue dependency warnings.
> * fixed a problem for Flask to run on jython.
> * added a PROPAGATE_EXCEPTIONS configuration variable that can be used
>  to flip the setting of exception propagation which previously was
>  linked to DEBUG alone and is now linked to either DEBUG or TESTING.
> * Flask no longer internally depends on rules being added through the
>  add_url_rule function and can now also accept regular werkzeug rules
>  added to the url map.
> * Added an endpoint method to the flask application object which allows
>  one to register a callback to an arbitrary endpoint with a decorator.
> * Use Last-Modified for static file sending instead of Date which was
>  incorrectly introduced in 0.6.
> * Added create_jinja_loader to override the loader creation process.
> * Implemented a silent flag for config.from_pyfile.
> * Added teardown_request decorator, for functions that should run at
>  the end of a request regardless of whether an exception occurred.
>  Also the behavior for after_request was changed. It’s now no longer
>  executed when an exception is raised. See Upgrading to new Teardown
>  Handling
> * Implemented flask.has_request_context()
> * Deprecated init_jinja_globals. Override the
>  create_jinja_environment() method instead to achieve the same
>  functionality.
> * Added flask.safe_join()
> * The automatic JSON request data unpacking now looks at the charset
>  mimetype parameter.
> * Don’t modify the session on flask.get_flashed_messages() if there are
>  no messages in the session.
> * before_request handlers are now able to abort requests with errors.
>  it is not possible to define user exception handlers. That way you
>  can provide custom error messages from a central hub for certain
>  errors that might occur during request processing (for instance d
>  database connection errors, timeouts from remote resources etc.).
> * Blueprints can provide blueprint specific error handlers.
> * Implemented generic pluggable views (class based views).
>
> Happy release date :)
>
> Regards,
> Armin
>

Re: [flask] ANN: Flask 0.7 Released

From:
Alex
Date:
2011-06-28 @ 13:22
...I just found that the link on the Flask home page to the pypi
package is broken.

Alex

On Tue, Jun 28, 2011 at 3:19 PM, Alex <thinkpragmatic@gmail.com> wrote:
> Thank you and all the Flask developers for this new shiny release!
> As an Italian Flask user I'm happy to say welcome to "Grappa" ;-)
>
> Alex
>
> On Tue, Jun 28, 2011 at 2:51 PM, Armin Ronacher
> <armin.ronacher@active-4.com> wrote:
>> Hi,
>>
>> I am very happy to announce the release of Flask 0.7 codename "Grappa".
>>  This is a major new release in that it unfortunately also incorporates
>> some backwards incompatible changes we however really wanted to iron out
>> long before 1.0.  Because we did not get much feedback regarding
>> problems of upgrading this might be a risky release.  Problems with
>> upgrades are only really expected for applications using modules which
>> were replaced by blueprints for the most part.
>>
>> We have an upgrade script that can help you with upgrades, see the
>> chapter in the documentation for more information.
>>
>> We are expecting that we might do a bugfix release soon with better
>> backwards compatibility support as soon as we know where things might
>> not work as good as it was intended.  So please, tell us if upgrades are
>> not as neat as they should be :)
>>
>> What changed?
>>
>> * Added make_default_options_response() which can be used by subclasses
>>  to alter the default behaviour for OPTIONS responses.
>>  Unbound locals now raise a proper RuntimeError instead of an
>>  AttributeError.
>> * Mimetype guessing and etag support based on file objects is now
>>  deprecated for flask.send_file() because it was unreliable. Pass
>>  filenames instead or attach your own etags and provide a proper
>>  mimetype by hand.
>> * Static file handling for modules now requires the name of the static
>>  folder to be supplied explicitly. The previous autodetection was not
>>  reliable and caused issues on Google’s App Engine. Until 1.0 the old
>>  behaviour will continue to work but issue dependency warnings.
>> * fixed a problem for Flask to run on jython.
>> * added a PROPAGATE_EXCEPTIONS configuration variable that can be used
>>  to flip the setting of exception propagation which previously was
>>  linked to DEBUG alone and is now linked to either DEBUG or TESTING.
>> * Flask no longer internally depends on rules being added through the
>>  add_url_rule function and can now also accept regular werkzeug rules
>>  added to the url map.
>> * Added an endpoint method to the flask application object which allows
>>  one to register a callback to an arbitrary endpoint with a decorator.
>> * Use Last-Modified for static file sending instead of Date which was
>>  incorrectly introduced in 0.6.
>> * Added create_jinja_loader to override the loader creation process.
>> * Implemented a silent flag for config.from_pyfile.
>> * Added teardown_request decorator, for functions that should run at
>>  the end of a request regardless of whether an exception occurred.
>>  Also the behavior for after_request was changed. It’s now no longer
>>  executed when an exception is raised. See Upgrading to new Teardown
>>  Handling
>> * Implemented flask.has_request_context()
>> * Deprecated init_jinja_globals. Override the
>>  create_jinja_environment() method instead to achieve the same
>>  functionality.
>> * Added flask.safe_join()
>> * The automatic JSON request data unpacking now looks at the charset
>>  mimetype parameter.
>> * Don’t modify the session on flask.get_flashed_messages() if there are
>>  no messages in the session.
>> * before_request handlers are now able to abort requests with errors.
>>  it is not possible to define user exception handlers. That way you
>>  can provide custom error messages from a central hub for certain
>>  errors that might occur during request processing (for instance d
>>  database connection errors, timeouts from remote resources etc.).
>> * Blueprints can provide blueprint specific error handlers.
>> * Implemented generic pluggable views (class based views).
>>
>> Happy release date :)
>>
>> Regards,
>> Armin
>>
>

Re: [flask] ANN: Flask 0.7 Released

From:
Armin Ronacher
Date:
2011-06-28 @ 14:10
Hi,

On 6/28/11 3:22 PM, Alex wrote:
> ...I just found that the link on the Flask home page to the pypi
> package is broken.
Very embarrassing.  Fixed :)


Regards,
Armin

Re: [flask] ANN: Flask 0.7 Released

From:
Oliver Bestwalter
Date:
2011-06-28 @ 18:46
Hello Armin,

good reason to write the first message on this list. Thanks very much for 
turning an April fools joke into a neat way to develop web apps. I had a 
hard time finding something I can wrap my brain around and flask it is :)

I just ran the update script over my small app I am developing and 
everything seems fine. One thing that was not changed was an 
app.static_path, but after I changed that to app.static_url_path 
everything worked nice again.

Cheers
Oliver

Re: [flask] ANN: Flask 0.7 Released

From:
Adam Patterson
Date:
2011-06-28 @ 20:56
Firstly, thanks for another great release. I have an app with 6 modules
(most large, couple small) and just migrated to 0.7 and did the Moduel ->
Blueprint change. Painless. Thanks Pocoo!

Just a note on something I ran into on the with the upgrade script. I guess
it makes sense for some scenarios but I use the same static folder for all
Blueprints. So using ".static" in a url_for obviously fails as the blueprint
doesnt have a static folder itself. Had to change them all to "static" (no
period). Worked perfect but just wanted to mention that the upgrade script
tells me to revert back to the ".static" style. It makes sense for people
using separate static dirs per blueprint. But not in a single static dir
case. Just wanted to inform.

Thanks Again!

On Tue, Jun 28, 2011 at 1:46 PM, Oliver Bestwalter <oliver@bestwalter.de>wrote:

> Hello Armin,
>
> good reason to write the first message on this list. Thanks very much for
> turning an April fools joke into a neat way to develop web apps. I had a
> hard time finding something I can wrap my brain around and flask it is :)
>
> I just ran the update script over my small app I am developing and
> everything seems fine. One thing that was not changed was an
> app.static_path, but after I changed that to app.static_url_path everything
> worked nice again.
>
> Cheers
> Oliver
>

Re: [flask] ANN: Flask 0.7 Released

From:
Arek Bochinski
Date:
2011-06-28 @ 13:44
Thanks, looking through the docs now.

Congratulations.

On Tue, Jun 28, 2011 at 8:51 AM, Armin Ronacher <armin.ronacher@active-4.com
> wrote:

> Hi,
>
> I am very happy to announce the release of Flask 0.7 codename "Grappa".
>  This is a major new release in that it unfortunately also incorporates
> some backwards incompatible changes we however really wanted to iron out
> long before 1.0.  Because we did not get much feedback regarding
> problems of upgrading this might be a risky release.  Problems with
> upgrades are only really expected for applications using modules which
> were replaced by blueprints for the most part.
>
> We have an upgrade script that can help you with upgrades, see the
> chapter in the documentation for more information.
>
> We are expecting that we might do a bugfix release soon with better
> backwards compatibility support as soon as we know where things might
> not work as good as it was intended.  So please, tell us if upgrades are
> not as neat as they should be :)
>
> What changed?
>
> * Added make_default_options_response() which can be used by subclasses
>  to alter the default behaviour for OPTIONS responses.
>  Unbound locals now raise a proper RuntimeError instead of an
>  AttributeError.
> * Mimetype guessing and etag support based on file objects is now
>  deprecated for flask.send_file() because it was unreliable. Pass
>  filenames instead or attach your own etags and provide a proper
>  mimetype by hand.
> * Static file handling for modules now requires the name of the static
>  folder to be supplied explicitly. The previous autodetection was not
>  reliable and caused issues on Google’s App Engine. Until 1.0 the old
>  behaviour will continue to work but issue dependency warnings.
> * fixed a problem for Flask to run on jython.
> * added a PROPAGATE_EXCEPTIONS configuration variable that can be used
>  to flip the setting of exception propagation which previously was
>  linked to DEBUG alone and is now linked to either DEBUG or TESTING.
> * Flask no longer internally depends on rules being added through the
>  add_url_rule function and can now also accept regular werkzeug rules
>  added to the url map.
> * Added an endpoint method to the flask application object which allows
>  one to register a callback to an arbitrary endpoint with a decorator.
> * Use Last-Modified for static file sending instead of Date which was
>  incorrectly introduced in 0.6.
> * Added create_jinja_loader to override the loader creation process.
> * Implemented a silent flag for config.from_pyfile.
> * Added teardown_request decorator, for functions that should run at
>  the end of a request regardless of whether an exception occurred.
>  Also the behavior for after_request was changed. It’s now no longer
>  executed when an exception is raised. See Upgrading to new Teardown
>  Handling
> * Implemented flask.has_request_context()
> * Deprecated init_jinja_globals. Override the
>  create_jinja_environment() method instead to achieve the same
>  functionality.
> * Added flask.safe_join()
> * The automatic JSON request data unpacking now looks at the charset
>  mimetype parameter.
> * Don’t modify the session on flask.get_flashed_messages() if there are
>  no messages in the session.
> * before_request handlers are now able to abort requests with errors.
>  it is not possible to define user exception handlers. That way you
>  can provide custom error messages from a central hub for certain
>  errors that might occur during request processing (for instance d
>  database connection errors, timeouts from remote resources etc.).
> * Blueprints can provide blueprint specific error handlers.
> * Implemented generic pluggable views (class based views).
>
> Happy release date :)
>
> Regards,
> Armin
>

Re: [flask] ANN: Flask 0.7 Released

From:
Jesaja Everling
Date:
2011-06-28 @ 14:05
I just wanted to take this opportunity to say thank you to Armin and
all other people contributing to Flask and the giants whose shoulders
Flask is built on!
You really set the bar for best-practice frameworks with outstanding
quality in both terms of coding and documentation.

THANK YOU! (today is capslock day after all)


On Tue, Jun 28, 2011 at 3:44 PM, Arek Bochinski <zeeero.coool@gmail.com> wrote:
> Thanks, looking through the docs now.
> Congratulations.
>
> On Tue, Jun 28, 2011 at 8:51 AM, Armin Ronacher
> <armin.ronacher@active-4.com> wrote:
>>
>> Hi,
>>
>> I am very happy to announce the release of Flask 0.7 codename "Grappa".
>>  This is a major new release in that it unfortunately also incorporates
>> some backwards incompatible changes we however really wanted to iron out
>> long before 1.0.  Because we did not get much feedback regarding
>> problems of upgrading this might be a risky release.  Problems with
>> upgrades are only really expected for applications using modules which
>> were replaced by blueprints for the most part.
>>
>> We have an upgrade script that can help you with upgrades, see the
>> chapter in the documentation for more information.
>>
>> We are expecting that we might do a bugfix release soon with better
>> backwards compatibility support as soon as we know where things might
>> not work as good as it was intended.  So please, tell us if upgrades are
>> not as neat as they should be :)
>>
>> What changed?
>>
>> * Added make_default_options_response() which can be used by subclasses
>>  to alter the default behaviour for OPTIONS responses.
>>  Unbound locals now raise a proper RuntimeError instead of an
>>  AttributeError.
>> * Mimetype guessing and etag support based on file objects is now
>>  deprecated for flask.send_file() because it was unreliable. Pass
>>  filenames instead or attach your own etags and provide a proper
>>  mimetype by hand.
>> * Static file handling for modules now requires the name of the static
>>  folder to be supplied explicitly. The previous autodetection was not
>>  reliable and caused issues on Google’s App Engine. Until 1.0 the old
>>  behaviour will continue to work but issue dependency warnings.
>> * fixed a problem for Flask to run on jython.
>> * added a PROPAGATE_EXCEPTIONS configuration variable that can be used
>>  to flip the setting of exception propagation which previously was
>>  linked to DEBUG alone and is now linked to either DEBUG or TESTING.
>> * Flask no longer internally depends on rules being added through the
>>  add_url_rule function and can now also accept regular werkzeug rules
>>  added to the url map.
>> * Added an endpoint method to the flask application object which allows
>>  one to register a callback to an arbitrary endpoint with a decorator.
>> * Use Last-Modified for static file sending instead of Date which was
>>  incorrectly introduced in 0.6.
>> * Added create_jinja_loader to override the loader creation process.
>> * Implemented a silent flag for config.from_pyfile.
>> * Added teardown_request decorator, for functions that should run at
>>  the end of a request regardless of whether an exception occurred.
>>  Also the behavior for after_request was changed. It’s now no longer
>>  executed when an exception is raised. See Upgrading to new Teardown
>>  Handling
>> * Implemented flask.has_request_context()
>> * Deprecated init_jinja_globals. Override the
>>  create_jinja_environment() method instead to achieve the same
>>  functionality.
>> * Added flask.safe_join()
>> * The automatic JSON request data unpacking now looks at the charset
>>  mimetype parameter.
>> * Don’t modify the session on flask.get_flashed_messages() if there are
>>  no messages in the session.
>> * before_request handlers are now able to abort requests with errors.
>>  it is not possible to define user exception handlers. That way you
>>  can provide custom error messages from a central hub for certain
>>  errors that might occur during request processing (for instance d
>>  database connection errors, timeouts from remote resources etc.).
>> * Blueprints can provide blueprint specific error handlers.
>> * Implemented generic pluggable views (class based views).
>>
>> Happy release date :)
>>
>> Regards,
>> Armin
>
>