Replaced access of the private field _sections in the Configuration object with proper access to the keyed item. The issue described in #10143 has not been reproduced, but this change should avoid a traceback if there is a case in which the ticket-workflow section is missing from trac.ini, because an empty Section object is constructed in the Configuration class under this scenario.

This is an imperfect fix. I don't like that the chart shows an explicit
dependency between the group and the milestone. But it does make the
schedule correct.

I'd like to undo this and add code in the area where I propagate
dependencies down from parents to children to make groups depend on
their milestone only in the augmented graph within the scheduler. That
would make the schedule correct and eliminate the stray dependency line
on the chart. But that's more work than I can do now and this is
better.

Misc refactoring. The data dictionary in process_ticket was being implicitly populated. Changed this to explicit population of the dictionary to improve code clarify and make it easier to eliminate unused variables.

[12034] was not correct in stating that the 0.11 and 0.12 branches were the same. [10525] on the 0.12 branch not only broke 0.11 compatibility, but a read-only db connection was being passed to a method that called the commit operation. Restored 0.11 compatibility to the trunk.

Removed the navigation_item option, in order to simplify the behavior following [10525]. It is no longer possible to specify which navigation item is highlighted when the path matches versions, however this option did not seem very useful anyway, since the primary use cases will be captured by the roadmap_navigation option. If roadmap_navigation is true, the Roadmap entry in the main navigation will link to the versions page, and the Roadmap navigation entry will be highlighted when the path matches versions. If roadmap_navigation is false, a Versions entry will be added to the main navigation and will link to the versions page, and the Versions navigation entry will be highlighted when the patch matches versions.

Get the attachments: max_size option from Config rather than re-defining the option.

It appears that this plugin may rely on a patched instance of Trac. The attachment fieldset and children are now added to the newticket form, but attachments are not added to the ticket when it is created.

Oct 16, 2012:

Fixed a basic Trac 0.12 incompatibility issue, due to the change in timestamp storage from seconds to microsecond format. Changed get_templates_dirs to return an empty list, since this plugin provides no templates.

This must have haunted TagsPlugin applications on Trac-0.11 since [10789], but
without a bug report only attempts to add more unit tests revealed this flaw.

Turned out that in Trac-0.11 its possible to register a Trac Component twice
for the same ExtensionPoint interface by class inheritance, wheretrac.core.implements is explicitely written in both, class and base class.
My bad to change TicketTagProvider to inherit from DefaultTagProvider
without actually checking for side-effects, especially against any Trac
revision before Trac-0.13dev at that time.

When testing with a sample then a real chart on the same page I wasn't
seeing the sample because the chart ID had only 1-second resolution and
the sample drew so fast that the real chart had the same ID. Now we use
microseconds for chart IDs.

"Real" tasks always pass all parameters but the sample tasks omit
trailing parameters that are null. The Gantt argument was added last
without care taken to add empty arguments before it with "". This
moves it first because it must always be there. Then the samples with
optional final arguments can be constructed properly.