Nagare Changelog#
0.5.1#
Valid versions of
WebOb
andBabel
GH-9: Avoid multiple CSS loads
0.5.0#
Project only hosted on Github now
Documentation served as github.io pages
Documentation generated with Sphinx
Documentations added:
internationalization
nagare.wsgi.WSGIApp
application deployment
log service
Running now on Stackless, Pypy (experimental) and CPython (with limitations)
Request and Response object factories added
Improved components garbage collector
Callbacks registered with
.action()
and.answer()
can have parameters and keywordsNo more
lambda
for the validators (lambda v: IntValidator(v).greater_than(10)
=>IntValidator().greater_than(10)
)Translation domain added to the i18n service API
Custom
data-*
HTML5 attributes can be created asdata_*
keywordsThe
<div>
automatically added in the asynchronous views have thenagare-generated
andnagare-async-view
classes
0.4.1#
Bugs fixed#
#1516: nagare-admin create-app command not working with Stackless Python < 2.7
0.4.0#
New features#
Mercurial migration
new site, examples and documentation design
tutorial
i18n service (messages catalogs, HTTP language negotiation, timezones, dates, currencies, numbers …)
multiprocess / thread scopes differences handled by the new
nagare.local
serviceHTML5 renderer (
nagare.namespaces.xhtml5.Renderer
)user impersonnalisation (stackable user objects)
stackable security rules
standalone publisher threads pool fully configurable
dummy sessions manager for completly Restful applications (no state kept on the server)
fastcgi over unix socket
the DOCTYPE can be changed
the content type of an XML response can be changed
configurable default initial renderer
relative logger names
nagare-admin shell
prompt displays the name of the applicationapplication name can be inserted as
$name
in the configuration file
Changes#
A renderer can create an asynchronous renderer:
comp.render(xhtml.AsyncRenderer())
=>comp.render(h.AsyncRenderer())
New versions of YUI, IPython, SQLAlchemy, lxml and WebOb
Bugs fixed#
client disconnection detection added for comet streams
#51: javascript executed multiple times
#52: more informations for the
AnswerWithoutCall
exception#53: a
component.Task
must exit onanswer()
if aon_answer()
was set#54: log service not initialized
#55: xhtml
select
andoption
: problem with integer#66: serializer can’t serialize an empty DOM
#67: serializer can’t serialize a fragment (a list of DOM)
#1298: bad generation of pure
href
anchor#1442: bad Javascript translation of Python methods
#1443: error when the default initial renderer is asynchronous
#1444: ajax error when no HTML is rendered
#1447:
IntValidator
does not catchTypeError
#1498: tutorial errors
#1502: incorrect
memory
sessions manager#1508: error with the latest IPython version
#1509:
data_path
not initialized#1510: bad checkbox values in ajax
#1511: SQLAlchemy engines creation fully configurable
0.3.0#
New features#
refactoring of the sessions managers:
session objects now keep track of their sessions manager
no more sessions manager factories
configurable pickler / unpickler objects
configuration switch
states_history
to set if an objects graphs history must be keptnew sessions manager (
type=memory
) that keeps the objects graphs in memory, without any pickling
logging service added:
one dedicated logger for each published applications is created
easy configuration and use of this dedicated logger
all the
[logging]
sections of all the published applications are merged before to configure the Python logging system
preliminary Comet support added (currently only working in a multi-threaded env.)
last exception raised kept by the
WSGIApp
objects and exception hook addedwith_request
parameter added to all the callback registrations andUpdate()
objectstranslation of Python modules to Javascript added
configurable name for the security cookie (one of the post Nagare security audit actions)
configuration of the
WSGIApp
objects split accross multiples set_*` methodsget_registered_applications()
added to the publisher objectsfull YUI bundled with Nagare
New versions:
Stackless Python 2.6.4 is now the recommanded Python version
virtualenv updated to 1.4.5
SQLAlchemy updated to 0.5.8
Elixir updated to 0.7.1
Lxml updated to 2.2.4
YUI updated to 2.8.0r4
Changes#
with the YUI connection manager, a large browser response must be reassembled (Firefox only)
late creation of the SQLAlchemy database engines and metadatas binding
input fields ot type
button
now working in an Ajax submitVar.var()
now working in a unicode contextnagare-admin create-rules
had problems when a static directory didn’t existbad boolean expressions parenthesis translation in pyjs fixed
parsing (X)HTML from URL now working under Windows
Bugs fixed#
#47:
set_publisher()
called when using “nagare-admin create-db”#48: py2js parentheses bug
#49:
reset
configuration ignored by the memcached sessions manager#50: [log] inferred caller is wrong
0.2.0#
Python Stackless 2.6.2 is now the recommanded Python version.
New features#
When an AJAX update contains CSS or Javascript urls, they are correctly fetched.
Multiple AJAX updates object added
Session lock added (distributed lock when memcached is used)
A session can now contains SQLAlchemy (and Elixir) entities
LRU management of the sessions and continuations
nagare-admin create-rules
administrative command added. Generation of the Apache / lighttpd / ngnix rewrite rules to serve the statics contents. See nagare-adminnagare-admin batch
administrative command added. To execute Python statements. See nagare-adminEasy WSGI pipe creation
An application can now be registered under several urls
The automatic reloader can be configured with a list of files to watch
API to logout and change the user identity/password added
automatic generation of a
link(rel="canonical" ...)
in the page header as an alias without the session and continuation parametersmin_compress_len
parameter added in the memcached configurationYUI AJAX modules updated to 2.7.0
SQLAlchemy updated to 0.5.x
Changes#
Complete refactoring of the AJAX communication. The “wire” format is now Javascript.
component.Component.init()
andpresentation.init_for()
API changes. See Significative “RESTful” URLs
Bugs fixed#
#19, #23, #26: race condition in the sessions management
#22: don’t clear the registered callbacks when an image is served
#21: set the security context at the beginning of the request handling
#13, #14: python to javascript translation updated
0.1.0#
Initial release