many thanks for the effort.

i've been using the development version, and release 0.7.0 didn'r break my code.

the only change i had to make that far was querying like:
entity.query.fileter(...) instead of also supported entity.query().filter(...) 
that has populated some of my code for reasons i don't remember :) .

On Thu, Oct 1, 2009 at 17:29, Gaetan de Menten <[email protected]> wrote:

I am very pleased to announce that version 0.7.0 of Elixir is now
(finally) available. As always, feedback is very welcome, preferably
on this mailing list.

This release incorporates many small improvements and bug fixes across
the board. The most relevant ones are probably:
* Support for the 0.6 branch of SQLAlchemy.
* A way to set default options on custom base classes so that their
children inherit from them.
* A change to the naming pattern used for the columns of
self-referencial ManyToMany relationship.
* A couple of new extensions to add data or execute custom DDL upon
table creation.

Please look at
http://elixir.ematia.de/trac/wiki/Migrate06to07 for detailed upgrade notes.

Full changelog
============

New features:
- Added a new statement 'using_options_defaults' which can be used
 on a custom base class to set default values for the options of all its
 subclasses. For example, this makes it possible to have all classes
 inheriting from your custom base class use some custom options without
 having to set it individually on each entity, nor modify
 options.options_defaults.
- The local_colname and remote_colname arguments on ManyToMany relationships
 can now also be used to set custom names for the ManyToMany table columns.
 This effectively replace the column_format on ManyToMany relationships which
 is now deprecated. Change based on a patch from Diez B. Roggisch.
- Added (or rather fixed and documented) a "table" argument on ManyToMany
 relationships to allow using a manually-defined Table (closes #44).
- Added a "schema" argument on ManyToMany relationships to be able to create
 the ManyToMany table in a custom schema and not necessarily the same schema
 as the table of the "source" entity (patch from Diez B. Roggisch).
- Added a "table_kwargs" argument on ManyToMany relationships to pass any
 extra keyword arguments to the underlying Table object (closes #94).
- Added a new "target_column" argument on ManyToOne relationships so that you
 can target unique but non-primary key columns. At the moment, this only works
 if the target column is declared before the ManyToOne (see ticket #26).
- Added new "column_names" argument to the acts_as_versioned extension,
 allowing to specify custom column names (inspired by a patch by
 Alex Bodnaru).
- Made M2MCOL_NAMEFORMAT option accept a callable, so that more complex naming
 generation can be used if so desired.
- Added two new extensions (contributed by Alex Bodnaru)
 - "perform_ddl" allows to execute one or several DDL statements upon table
   creation.
 - "preload_data" allows to insert data into the entity table just after it
   has been created.
- EntityCollection gained a working extend method

Changes:
- Moved class instrumentation to a separate function: instrument_class
- Moved all methods of the "Entity" base class, to the "EntityBase" class, so
 that people who want to provide their own base class but don't want to loose
 all the methods provided by "Entity" can simply inherit from EntityBase
 instead of copy-pasting the code for all its methods.
- Renamed remote_side and local_side ManyToMany arguments to remote_colname and
 local_colname respectively to not collide with the remote_side argument
 provided by SA (it doesn't make much sense on ManyToMany relationships but
 still).
- Delete Elixir properties in the setup phase rather than as soon as they are
 attached to their class. It makes it possible to access them or refer to them
 after the class is defined (but before setup).
- Deprecated act_as_list extension in favor of SQLAlchemy's orderinglist
 extension (closes #53).
- Made manually defined mapper options take precedence over Elixir-generated
 ones. Not very useful yet since most are expecting Column objects.
- Default table_options (defined in options_defaults['table_options']) are now
 also used for ManyToMany tables (closes #94).
- Provide our own Session.mapper equivalent to avoid SQLAlchemy 0.5.5+
 deprecation warning. This mapper autosave object instances on __init__ unless
 save_on_init=False is passed as a mapper argument (closes #92).

Bug fixes:
- Fixed Elixir to work with the future SQLAlchemy 0.6 (trunk as of 6377).
- Changed the pattern used by default to generate column names for
 self-referencial ManyToMany relationships so that the meaning of
 bidirectional self-referential relationships does not depend on the order of
 declaration of each side (closes #69). See upgrade notes for details.
- Changed slightly the pattern used to generate the name of the table for
 bidirectional self-referential ManyToMany relationships so that it doesn't
 depend on the order of declaration of each side (closes #19).
 See upgrade notes for details.
- default EntityCollection raise an exception instead of returning None when
 trying to resolve an inexisting Entity from outside of another entity (for
 example through EntityCollection.__getattr__
- Fixed the case where you specify both "primaryjoin" and "colname" arguments
 (useless in this case, but harmless) on a ManyToOne relationship of an
 autoloaded entity.
- Fixed bug which broke the "identity" (Entity) option
- Fixed documentation about local_side and remote_side arguments being
 required if the entity containing the relationship is autoloaded, when it is
 only required if the relationship is self-referencial, and primaryjoin or
 secondaryjoin as not been specified manually.
- Added missing documentation for the "filter" argument on OneToMany
 relationships.
- Fixed the act_as_list extension's move_to_bottom method to work on MySQL
 (closes #34).
- Fixed event methods not being called when they are defined on a parent class.
 (introduced in release 0.5.0).
- Added workaround for an odd mod_python behavior (class.__module__ returns a
 weird name which is not in sys.modules).
- tablename, remote_colname, local_colname, schema and table_kwargs can now be
 defined on either side of a ManyToMany relationship and will propagate to
 the other side if that other side doesn't specify anything for that argument.
 Also added an assertion to catch the case where the same/mirror
 argument is specified on both sides but with different values.
- Fixed filter argument on OneToMany relationship leaking the filter to the
 unfiltered relationship.
- Fixed encrypted extension to not encrypt several times an instance attributes
 when that instance is flushed several times before being expunged from the
 session.
- Fixed using to_dict with a ManyToOne relationship in the "deep" set and that
 relationship being None in the entity being converted.

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"SQLElixir" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/sqlelixir?hl=en
-~----------~----~----~----~------~----~------~--~---





--
alex

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to