1Changes in old packages
2=======================
3
4The following list of changes is for modules and packages that where merged
5into XIST (starting with XIST 3.2) or into the former core package (starting
6with XIST 2.12).
7
8
9Changes in the new core package
10-------------------------------
11
12Changes in 1.11.1 (released 01/11/2008)
13"""""""""""""""""""""""""""""""""""""""
14
15*	Added missing source file ``_xml_codec_include.c`` to the source
16	distributions.
17
18
19Changes in 1.11 (released 01/07/2008)
20"""""""""""""""""""""""""""""""""""""
21
22*	``root:`` URLs are now treated as local files for purposes of file i/o.
23
24*	:class:`ll.make.ModuleAction` no longer supports modules that fiddle with
25	``sys.modules``.
26
27*	The function :func:`ll.misc.tokenizepi` can be used to split a string
28	according to the processing instruction tags in the string (this formerly
29	was part of :mod:`ll.xist.xsc`).
30
31*	:mod:`ll.make` has been changed interally to store modification timestamp,
32	which should fix the implementation of :class:`PhonyAction` and makes it
33	possible to use :class:`PhonyAction` objects as inputs to other actions.
34
35*	:mod:`ll.make` has a new action :class:`ImportAction`. This action doesn't
36	take any input. It imports a module specified by name, e.g.
37	``make.ImportAction("cStringIO")`` (Note that you should not import one
38	module via :class:`ModuleAction` and :class:`ImportAction` (or a normal
39	import) as this will return two different module objects).
40
41*	Make actions don't have the input actions as a constructor parameter any
42	longer. The input action can now only be set via :meth:`__div__`.
43
44*	:mod:`ll.make` has been updated to support the actions required by XIST 3.0.
45
46*	The functions :func:`misc.item`, :func:`misc.first`, :func:`misc.last` and
47	:func:`misc.count` have been reimplemented in C and should be faster now
48	(especally :func:`item` for negative indexes).
49
50*	:class:`misc.Namespace` is gone and has been replaced with :class:`misc.Pool`
51	which works similar to the pools use by XIST (in fact XISTs pool class is
52	a subclass of :class:`misc.Pool`).
53
54*	The module :mod:`xml_codec` has been added. It contains a complete codec
55	for encoding and decoding XML.
56
57
58Changes in 1.10.1 (released 07/20/2007)
59"""""""""""""""""""""""""""""""""""""""
60
61*	Fix option handling in :mod:`ll.daemon` (values from the optionparser where
62	never used).
63
64
65Changes in 1.10 (released 06/21/2007)
66"""""""""""""""""""""""""""""""""""""
67
68*	:mod:`ll.daemon` now uses :mod:`optparse` to parse the command line options.
69	Start options ``restart`` and ``run`` have been added.
70
71
72Changes in 1.9.1 (released 04/03/2007)
73""""""""""""""""""""""""""""""""""""""
74
75*	Fixed a bug in :class:`ll.url.SshConnection`, which was missing a call to
76	:func:`urllib.url2pathname`.
77
78
79Changes in 1.9 (released 03/30/2007)
80""""""""""""""""""""""""""""""""""""
81
82*	:class:`ll.url.Context` no longer relies on automatic cleanup for closing
83	connections. Instead when a :class:`Context` object is used in a
84	:keyword:`with` block, all connections will be closed at the end of the
85	block. This should finally fix the problem with hanging threads at the end
86	of the program.
87
88*	A script ``ucp.py`` has been added that can be used to copy stuff around::
89
90		$ ucp -v http://www.python.org ssh://root@www.example.net/~joe/public_html/index.html -u joe -g users
91
92
93Changes in 1.8 (released 03/12/2007)
94""""""""""""""""""""""""""""""""""""
95
96*	In calls to :class:`ll.url.URL` methods that get forwarded to a connection
97	it's now possible to pass keyword arguments for the connection constructor
98	directly to the called method, i.e. you can do::
99
100		>>> u = url.URL("ssh://root@www.example.com/etc/passwd")
101		>>> u.size(identity="/root/.ssh/id_rsa")
102		1550
103
104
105Changes in 1.7.5 (released 03/09/2007)
106""""""""""""""""""""""""""""""""""""""
107
108*	:class:`ll.url.Resource` now has a method :meth:`encoding` that returns
109	:const:`None` (for "encoding unknown").
110
111
112Changes in 1.7.4 (released 03/08/2007)
113""""""""""""""""""""""""""""""""""""""
114
115*	:class:`ll.url.SshConnection` objects now supports the :obj:`identity`
116	parameter. This can be used to specify the filename to be used as the
117	identity file (private key) for authentication.
118
119
120Changes in 1.7.3 (released 02/22/2007)
121""""""""""""""""""""""""""""""""""""""
122
123*	:class:`ll.url.SshConnection` now has a new method :meth:`close` which can
124	be used to shut down the communication channel. As a :class:`SshConnection`
125	no longer stores a reference to the context, this means that ssh
126	connections are shut down immediately after the end of the context in which
127	they are stored. This avoids a problem with hanging threads.
128
129
130Changes in 1.7.2 (released 02/02/2007)
131""""""""""""""""""""""""""""""""""""""
132
133*	Fixed a bug in :func:`ll.url._import`.
134
135
136Changes in 1.7.1 (released 01/24/2007)
137""""""""""""""""""""""""""""""""""""""
138
139*	:mod:`ll.astyle` has been updated to the current trunk version of
140	IPython__.
141
142	__ http://ipython.scipy.org/
143
144*	As the :mod:`new` module is deprecated, use :mod:`types` instead.
145
146
147Changes in 1.7 (released 11/23/2006)
148""""""""""""""""""""""""""""""""""""
149
150*	Fixed a bug in the user switching in :class:`ll.daemon.Daemon`.
151
152*	Added a new action class :class:`GetAttrAction` to :mod:`ll.make`. This
153	action gets an attribute of its input object.
154
155
156Changes in 1.6.1 (released 11/22/2006)
157""""""""""""""""""""""""""""""""""""""
158
159*	:class:`ll.make.ModuleAction` now puts a real filename into the modules
160	``__file__`` attribute, so that source code can be displayed in stacktraces.
161
162*	:mod:`ll.astyle` has been fixed to work with the current trunk version of
163	IPython__.
164
165	__ http://ipython.scipy.org/
166
167
168Changes in 1.6 (released 11/08/2006)
169""""""""""""""""""""""""""""""""""""
170
171*	:mod:`ll.url` now supports ssh URLs which are files on remote hosts.
172	This requires `py.execnet`_. Most of the file data and metadata handling
173	has been rewritten to support the requirements of ssh URLs.
174
175	.. _py.execnet: http://codespeak.net/py/current/doc/execnet.html
176
177*	:class:`ll.make.ModeAction` and :class:`ll.make.OwnerAction` are subclasses
178	of :class:`ll.make.ExternalAction` now. This means they will execute even
179	in "infoonly" mode.
180
181*	Fixed a bug in :meth:`ll.make.JoinAction.get`.
182
183*	Remove the pid file for :meth:`ll.sisyphus.Job` when a
184	:class:`KeyboardInterrupt` happens and we're running on Python 2.5.
185
186*	Fixed a longstanding bug in :meth:`ll.sisyphus.Job` which resulted in the
187	pid file not being written in certain situations.
188
189*	:class:`ll.daemon.Daemon` now allows to switch the group too.
190
191
192Changes in 1.5 (released 09/24/2006)
193""""""""""""""""""""""""""""""""""""
194
195*	:class:`ll.make.XISTTextAction` is compatible to XIST 2.15 now.
196
197*	The functions :func:`ll.url.Dirname` and :func:`ll.url.Filename` have been
198	removed (use :func:`ll.url.Dir` and :func:`ll.url.File` instead).
199
200*	The methods :meth:`ll.url.URL.isLocal` and :meth:`ll.url.URL.asFilename`
201	have been removed (use :meth:`ll.url.URL.islocal` and :meth:`ll.url.URL.local`
202	instead).
203
204
205Changes in 1.4 (released 08/23/2006)
206""""""""""""""""""""""""""""""""""""
207
208*	A new module has been added: :mod:`ll.daemon` can be used on UNIX to fork a
209	daemon running.
210
211
212Changes in 1.3.2 (released 07/25/2006)
213""""""""""""""""""""""""""""""""""""""
214
215*	:class:`ll.make.ModuleAction` now normalizes line feeds, so that this
216	action can now be used directly on Windows too.
217
218
219Changes in 1.3.1 (released 07/06/2006)
220""""""""""""""""""""""""""""""""""""""
221
222*	An option ``showinfoonly`` has been added to :class:`ll.make.Project`
223	(defaulting to ``False``). This option determines whether actions that run
224	in ``infoonly`` mode are reported or not.
225
226
227Changes in 1.3 (released 06/28/2006)
228""""""""""""""""""""""""""""""""""""
229
230*	:mod:`ll.make` has been rewritten. Now there's no longer a distinction
231	between :class:`Target`\s and :class:`Action`\s. Actions can be chained more
232	easily and creating an action and registering it with the project are two
233	separate steps. Actions can no longer be shared, as each action stores its
234	own input actions (but output actions are not stored). "Ids" have been
235	renamed to "keys" (and :class:`DBID`/:class:`OracleID` to
236	:class:`DBKey`/:class:`OracleKey`). :class:`ImportAction` has been renamed
237	to :class:`ModuleAction` and can now turn any string into a module.
238
239*	In :mod:`ll.url` modification dates for local files now include
240	microseconds (if the OS supports it).
241
242*	A class :class:`Queue` has been added to :mod:`ll.misc` which provides FIFO
243	queues.
244
245*	A decorator :func:`withdoc` has been added to :mod:`ll.misc` that sets the
246	docstring on the function it decorates.
247
248*	:mod:`setuptools` is now supported for installation.
249
250
251Changes in 1.2 (released 12/13/2005)
252""""""""""""""""""""""""""""""""""""
253
254*	:const:`None` is now allowed as a proper data object in :mod:`ll.make` actions.
255
256*	:mod:`ll.xpit` now supports conditionals (i.e. the new processing
257	instruction targets ``if``, ``elif``, ``else`` and ``endif``. Now there
258	*must* be a space after the target name.
259
260
261Changes in 1.1.1 (released 11/15/2005)
262""""""""""""""""""""""""""""""""""""""
263
264*	Fixed a bug in :meth:`ll.make.Project.buildwithargs`.
265
266
267Changes in 1.1 (released 10/31/2005)
268""""""""""""""""""""""""""""""""""""
269
270*	:class:`ll.make.TOXICAction` no longer takes an :obj:`encoding` argument in
271	the constructor, but works on unicode strings directly.
272
273*	Two new actions (:class:`DecodeAction` and :class:`EncodeAction`) have been
274	added to :mod:`ll.make`.
275
276
277Changes in 1.0.2 (released 10/24/2005)
278""""""""""""""""""""""""""""""""""""""
279
280*	Fixed a bug in :meth:`ll.make.Project.destroy` that broke the
281	:meth:`recreate` method.
282
283
284Changes in 1.0.1 (released 10/18/2005)
285""""""""""""""""""""""""""""""""""""""
286
287*	Fixed a bug in :meth:`ll.make.Project.__contains__.`
288
289
290Changes in 1.0 (released 10/13/2005)
291""""""""""""""""""""""""""""""""""""
292
293*	This package now contains the following modules, that have been distributed
294	as separate packages previously: :mod:`ansistyle`, :mod:`color`,
295	:mod:`make`, :mod:`misc` (which contains the stuff from the old :mod:`ll`
296	package), :mod:`sisyphus`, :mod:`url` and :mod:`xpit`.
297
298*	:class:`ll.misc.Iterator` now has a method :meth:`get` that will return a
299	default value when the iterator doesn't have the appropriate item.
300
301*	In :mod:`ll.make` the output has been fixed: The ``showactionfull`` flag is
302	checked before the ``showaction`` flag and target id's will always be
303	output in this mode.
304
305
306Changes in the old core package
307-------------------------------
308
309Changes in ll-core 0.3 (released 05/24/2005)
310""""""""""""""""""""""""""""""""""""""""""""
311
312*	Functions will now no longer be turned into :func:`staticmethod` objects
313	automatically when used in a :class:`Namespace`.
314
315*	The iterator tools from :mod:`ll.xist.xfind` (:func:`item`, :func:`first`,
316	:func:`last`, :func:`count` and :class:`Iterator`) have been move here,
317	as they are in no way specific to XIST.
318
319*	A test suite has been added.
320
321*	The wrapper function returned by :func:`notimplemented` will now have an
322	attribute :attr:`__wrapped__` that points back to the original function.
323
324
325Changes in ll-core 0.2.1 (released 01/21/2005)
326""""""""""""""""""""""""""""""""""""""""""""""
327
328*	:meth:`__getitem__` now raises a KeyError if the attribute doesn't exist.
329
330
331Changes in ll-core 0.2 (released 01/11/2005)
332""""""""""""""""""""""""""""""""""""""""""""
333
334*	:class:`Namespace` now has a :meth:`__getitem__` method, so a
335	:class:`Namespace` class can be used in a call to the :func:`eval` function.
336
337
338Changes in ll-core 0.1 (released 01/03/2005)
339
340*	Initial release
341
342
343Changes in ll-ansistyle
344-----------------------
345
346Changes in ll-ansistyle 1.1 (released 06/28/2005)
347"""""""""""""""""""""""""""""""""""""""""""""""""
348
349*	The methods :meth:`pushcolor` and :meth:`popcolor` have been resurrected.
350	Without them switching to a new color and back would have to be done in a
351	single call to :meth:`feed`.
352
353
354Changes in ll-ansistyle 1.0 (released 06/08/2005)
355"""""""""""""""""""""""""""""""""""""""""""""""""
356
357*	:mod:`ll.ansistyle` has been completely reimplemented to use an iterator
358	interface instead of a stream interface.
359
360*	Support for underlined and blinking text has been added.
361
362*	A py.test_ based test suite has been added.
363
364	.. _py.test: http://codespeak.net/py/current/doc/test.html
365
366
367Changes in ll-ansistyle 0.6.1 (released 03/22/2005)
368"""""""""""""""""""""""""""""""""""""""""""""""""""
369
370*	Added a note about the package init file to the installation documentation.
371
372
373Changes in ll-ansistyle 0.6 (released 01/03/2005)
374"""""""""""""""""""""""""""""""""""""""""""""""""
375
376*	:mod:`ansistyle` requires the core module and Python 2.4 now.
377
378
379Changes in ll-ansistyle 0.5 (released 05/21/2004)
380"""""""""""""""""""""""""""""""""""""""""""""""""
381
382*	:class:`Text` has been derived from :class:`list` directly, so it inherits
383	all list methods.
384
385*	The method :meth:`getcolor` has been dropped. The class attribute :attr:`color`
386	is used now instead.
387
388
389Changes in ll-ansistyle 0.4 (released 07/31/2003)
390"""""""""""""""""""""""""""""""""""""""""""""""""
391
392*	The names of the methods :meth:`pushColor`, :meth:`popColor`,
393	:meth:`getColor` and :meth:`escapeChar` have been changed to lowercase.
394
395*	:mod:`ansistyle` requires Python 2.3 now.
396
397
398Changes in ll-ansistyle 0.3.1 (released 11/14/2002)
399"""""""""""""""""""""""""""""""""""""""""""""""""""
400
401*	Added source code encodings to all Python files.
402
403
404Changes in ll-ansistyle 0.3 (released 08/27/2002)
405"""""""""""""""""""""""""""""""""""""""""""""""""
406
407*	:mod:`ansistyle` has been moved to the :mod:`ll` package.
408
409
410Changes in ll-ansistyle 0.2.2 (released 02/12/2002)
411"""""""""""""""""""""""""""""""""""""""""""""""""""
412
413*	Fixed a bug in :meth:`Text.insert`.
414
415
416Changes in ll-ansistyle 0.2.1 (released 04/11/2001)
417"""""""""""""""""""""""""""""""""""""""""""""""""""
418
419*	ansistyle now compiles under Windows with Visual C++. A binary distribution
420	archive is available from the FTP directory.
421
422
423Changes in ll-ansistyle 0.2 (released 04/02/2001)
424"""""""""""""""""""""""""""""""""""""""""""""""""
425
426*	ansistyle now supports background colors. You can specify the background
427	color via the bits 4-7 of the color, i.e. for the background color
428	b = 0,...,7, and the foreground color f=0,...,15 the color value is
429	``(b<<4)|f``.
430
431
432Changes in ll-ansistyle 0.1.1 (released 03/21/2001)
433"""""""""""""""""""""""""""""""""""""""""""""""""""
434
435*	Fixed a minor bug in :meth:`ansistyle.Text.__repr__`
436
437
438Changes in ll-ansistyle 0.1 (released 02/18/2001)
439"""""""""""""""""""""""""""""""""""""""""""""""""
440
441*	Initial release
442
443
444Changes in ll-color
445-------------------
446
447Changes in ll-color 0.3.1 (released 03/22/2005)
448"""""""""""""""""""""""""""""""""""""""""""""""
449
450*	Added a note about the package init file to the installation documentation.
451
452
453Changes in ll-color 0.3 (released 01/21/2005)
454"""""""""""""""""""""""""""""""""""""""""""""
455
456*	Two new methods (:meth:`abslum` and :meth:`rellum`) have been added that
457	return a color with modified luminosity.
458
459
460Changes in ll-color 0.2 (released 01/03/2005)
461"""""""""""""""""""""""""""""""""""""""""""""
462
463*	:mod:`color` requires the core module and Python 2.4 now.
464
465*	Various bug fixes.
466
467
468Changes in ll-color 0.1.1 (released 05/07/2004)
469"""""""""""""""""""""""""""""""""""""""""""""""
470
471*	Fixed a bug in the :attr:`css` property.
472
473
474Changes in ll-color 0.1 (released 05/07/2004)
475"""""""""""""""""""""""""""""""""""""""""""""
476
477*	Initial release.
478
479
480Changes in ll-make
481------------------
482
483Changes in ll-make 1.1.2 (released 10/04/2005)
484""""""""""""""""""""""""""""""""""""""""""""""
485
486*	Fixed a bug in the handling of color environment variables.
487
488
489Changes in ll-make 1.1.1 (released 09/02/2005)
490""""""""""""""""""""""""""""""""""""""""""""""
491
492*	Specifying colors via environment variables now works.
493
494*	It's possible to specify a default for the ``show...`` options via
495	environment variables.
496
497*	:class:`CacheAction` now drops the data in its :meth:`clear` method.
498
499
500Changes in ll-make 1.1 (released 09/01/2005)
501""""""""""""""""""""""""""""""""""""""""""""
502
503*	New action classes have been added: :class:`PickleAction`,
504	:class:`UnpickleAction`, :class:`NullAction` and :class:`CacheAction`.
505
506*	During calls to :meth:`Target.clear` and :meth:`Target.dirty` the action
507	methods with the same name are now called.
508
509
510Changes in ll-make 1.0 (released 08/29/2005)
511""""""""""""""""""""""""""""""""""""""""""""
512
513*	:class:`Target` objects may now cache the objects that they create, so it can
514	be reused for different outputs.
515
516*	The :class:`Action` chain has been split into four chains that will be used
517	in different situations. Each target has an internal and external
518	representation (e.g. the Python ``str`` object (the internal representation),
519	that is the content of a file (the external representation). The read chain
520	creates the internal representation from the external one, the write chain
521	creates the external representation from the internal one. The convert chain
522	converts between different internal representations. The use chain is called
523	when external and internal representation exist and are up to date.
524
525*	The internal representation of a target is now available via the method
526	:meth:`getdata`.
527
528*	Importing Python modules is now done via an :class:`ImportAction`.
529
530*	:class:`ImportAction` and :class:`UseModuleAction` can be used to
531	automatically track module dependencies.
532
533*	During build operations the currently "running" project is available as
534	``ll.make.currentproject``.
535
536*	Two new action classes are available: :class:`SelectMainAction` and
537	:class:`JoinOrderedAction`, which can be used to select the input
538	data at the start of a convert chain.
539
540
541Changes in ll-make 0.26 (released 05/29/2005)
542"""""""""""""""""""""""""""""""""""""""""""""
543
544*	Uses :mod:`ansistyle` 1.1 now.
545
546*	Introduced a new :class:`Action` class named :class:`ChainedAction` that
547	consists of a list of other actions. Each :class:`Target` now only has one
548	action to update this target, but this action might be a
549	:class:`ChainedAction`. :class:`Action` objects can be added (which results
550	in a :class:`ChainedAction`).
551
552
553Changes in ll-make 0.25 (released 05/20/2005)
554"""""""""""""""""""""""""""""""""""""""""""""
555
556*	:mod:`make` is compatible with XIST 2.10 now.
557
558
559Changes in ll-make 0.24 (released 04/11/2005)
560"""""""""""""""""""""""""""""""""""""""""""""
561
562*	:class:`XPITAction` now works if there is no namespace available. In this
563	case only the global namespace will be passed to the expressions.
564
565
566Changes in ll-make 0.23.1 (released 03/22/2005)
567"""""""""""""""""""""""""""""""""""""""""""""""
568
569*	Added a note about the package init file to the installation documentation.
570
571
572Changes in ll-make 0.23 (released 02/14/2005)
573"""""""""""""""""""""""""""""""""""""""""""""
574
575*	Actions can now be displayed during the make process in two ways: a short
576	name (this uses the method :meth:`desc`) and a longer description (using the
577	method :meth:`fulldesc`). You can activate the full description via the
578	command line option ``-vf`` and deactivate it with ``-vF``.
579	In interactive mode you can use the attribute :attr:`showactionsfull`.
580
581
582Changes in ll-make 0.22 (released 01/21/2005)
583"""""""""""""""""""""""""""""""""""""""""""""
584
585*	:class:`XPITAction` will now pass the project, target and action to the
586	embedded Python expression as global variables.
587
588
589Changes in ll-make 0.21 (released 01/19/2005)
590"""""""""""""""""""""""""""""""""""""""""""""
591
592*	An action class :class:`XPITAction` has been added for use with
593	:mod:`ll.xpit`.
594
595*	Setting a project dirty (so that out-of-dateness will be rechecked)
596	has been factored into a separate method.
597
598
599Changes in ll-make 0.20 (released 01/03/2005)
600"""""""""""""""""""""""""""""""""""""""""""""
601
602*	:mod:`make` requires the core module and Python 2.4 now.
603
604
605Changes in ll-make 0.19.1 (released 11/26/2004)
606"""""""""""""""""""""""""""""""""""""""""""""""
607
608*	Fixed print of tracebacks when :attr:`ignoreerrors` is true.
609
610
611Changes in ll-make 0.19 (released 10/29/2004)
612"""""""""""""""""""""""""""""""""""""""""""""
613
614*	:mod:`ll.make` is compatible with XIST 2.6 now (and incompatible with
615	XIST 2.5).
616
617
618Changes in ll-make 0.18.2 (released 10/12/2004)
619"""""""""""""""""""""""""""""""""""""""""""""""
620
621*	Retry with absolute and real URLs in :meth:`__candidates` even if the
622	argument is already an :class:`ll.url.URL` object. This works around an
623	URL normalization bug under Windows.
624
625
626Changes in ll-make 0.18.1 (released 08/27/2004)
627"""""""""""""""""""""""""""""""""""""""""""""""
628
629*	``Target.actions`` is now a list instead of a tuple.
630
631
632Changes in ll-make 0.18 (released 07/06/2004)
633"""""""""""""""""""""""""""""""""""""""""""""
634
635*	Added a new action class :class:`TOXICPrettifyAction` that uses the new
636	:func:`prettify` function introduced in :mod:`ll.toxic` version 0.3.
637
638
639Changes in ll-make 0.17 (released 06/02/2004)
640"""""""""""""""""""""""""""""""""""""""""""""
641
642*	Renamed :class:`OracleTarget` to :class:`DBTarget`.
643
644*	Reporting :class:`PhonyTarget` objects has been moved to a separate method
645	named :meth:`reportphonytargets`.
646
647
648Changes in ll-make 0.16 (released 05/31/2004)
649"""""""""""""""""""""""""""""""""""""""""""""
650
651*	The method :meth:`buildWithArgs` has been dropped. Use :meth:`buildwithargs`
652	now.
653
654*	Argument parsing has been made extensible. The method :meth:`optionparser`
655	must return an instance of :class:`optparse.OptionParser`. The method
656	:meth:`parseoptions` parses the argument sequence passed in (defaults to
657	``sys.argv[1:]`` and returns a tuple with ``(values, args)`` (just like
658	:meth:`optparse.OptionParser.parse_args` does).
659
660*	The arguments :obj:`ignoreerrors`, :obj:`color`, :obj:`maxinputreport`
661	have been removed from the :class:`Project` constructor. If you really need
662	different values for these, simply change the attributes after creating the
663	:class:`Project` object.
664
665*	:meth:`Project.__getitem__` and :meth:`Project.__contains__` now recognize
666	database ids.
667
668
669Changes in ll-make 0.15.1 (released 05/25/2004)
670"""""""""""""""""""""""""""""""""""""""""""""""
671
672*	Fixed formatting bugs in :class:`OracleReadResource`.
673
674
675Changes in ll-make 0.15 (released 05/25/2004)
676"""""""""""""""""""""""""""""""""""""""""""""
677
678*	There's a new option ``-vl`` that reports the recursion level as an
679	indentation during the build process. This makes it easier to see, what
680	depends on what. The indentation per level can be specified with the
681	environment variable ``LL_MAKE_INDENT``.
682
683*	The environment variable ``MAKE_REPRANSI`` has been renamed to
684	``LL_MAKE_REPRANSI``.
685
686
687Changes in ll-make 0.14.2 (released 05/25/2004)
688"""""""""""""""""""""""""""""""""""""""""""""""
689
690*	If a target has prerequisites, the time to rebuild those will be reported
691	in the progress report too (if time reporting is on (via the option
692	``-vt``)).
693
694*	Fix a bug in :class:`XISTPublishAction`.
695
696
697Changes in ll-make 0.14.1 (released 05/21/2004)
698"""""""""""""""""""""""""""""""""""""""""""""""
699
700*	The default color for output has been removed.
701
702*	In the progress report URLs relative to the home directory are now tried too
703	to find the shortest URL for display.
704
705*	Fix a bug in :class:`JoinedReadAction` and various other bugs.
706
707
708Changes in ll-make 0.14 (released 05/20/2004)
709"""""""""""""""""""""""""""""""""""""""""""""
710
711*	Actions have been made much more atomic and flexible. For each target a
712	chain of actions will be executed. The first action loads the file. The next
713	actions transform the content, after that an action will save the result to a
714	file. Finally other actions can modify this file (what has formerly been
715	known as "secondary actions").
716
717	For example: to transform an XIST file now you need a :class:`ReadAction`, a
718	:class:`XISTParseAction`, a :class:`XISTConvertAction`, a
719	:class:`XISTPublishAction` and a :class:`WriteAction`. The base :class:`URL`s
720	for parsing and publishing have been moved from :class:`XISTTarget` to
721	:class:`XISTParseAction` and :class:`XISTPublishAction`.
722
723*	:class:`DBID` has been rewritten. For Oracle :class:`DBID` objects it's
724	possible to read and write functions and procedures via a file-like
725	interface.
726
727*	Support for `Apache FOP`_ and ll-toxic_ has been added.
728
729	.. _Apache FOP: http://xml.apache.org/fop/index.html
730	.. _ll-toxic: http://www.livinglogic.de/Python/toxic/
731
732*	The :class:`Target` methods :meth:`sources` and :meth:`targets` have been
733	renamed to :meth:`inputs` and :meth:`outputs` (related methods have been
734	renamed too).
735
736*	The options for selecting the verbosity of the progress report have been
737	combined into one option ``-v``.
738
739*	The progress report tries to shorten URLs by displaying relative URLs
740	(relative to the current directory) if those are shorter (which they usually
741	are).
742
743
744Changes in ll-make 0.13.1 (released 05/05/2004)
745"""""""""""""""""""""""""""""""""""""""""""""""
746
747* Fixed a small bug in :meth:`Project.__contains__`.
748
749
750Changes in ll-make 0.13 (released 01/12/2004)
751"""""""""""""""""""""""""""""""""""""""""""""
752
753*	Now after the build the import cache ``ll.url.importcache`` will be restored
754	to the state before the call. This fixes a bug, where a module that was
755	loaded from another module (not as a :class:`PythonTarget`), didn't get
756	cleared from the import cache.
757
758
759Changes in ll-make 0.12 (released 01/02/2004)
760"""""""""""""""""""""""""""""""""""""""""""""
761
762*	Adapted to XIST 2.4. :class:`XISTTarget` now has two attributes ``parser``
763	and ``publisher`` which will be used by :class:`XISTAction` for parsing and
764	publishing targets.
765
766*	Changed the assertions that check that :class:`XISTAction`,
767	:class:`CopyAction` and :class:`SplatAction` have only one source into
768	exceptions.
769
770*	:meth:`Project.__getitem__` and related methods will now only try absolute
771	file paths, if the URL really is local.
772
773*	Dropped the deprecated project method :meth:`has`.
774
775*	For parsing the command line option :mod:`optparse` is used now instead of
776	:mod:`getopt`.
777
778
779Changes in ll-make 0.11.7 (released 12/15/2003)
780"""""""""""""""""""""""""""""""""""""""""""""""
781
782*	When building a target fails, the file will now only be removed if it exists.
783
784
785Changes in ll-make 0.11.6 (released 12/08/2003)
786"""""""""""""""""""""""""""""""""""""""""""""""
787
788*	Remove the module from the import cache in :meth:`PythonTarget.clear`, so
789	that the module will be reloaded when :meth:`Project.recreate` is used.
790
791*	Made compatible with XIST 2.3.
792
793
794Changes in ll-make 0.11.5 (released 12/06/2003)
795"""""""""""""""""""""""""""""""""""""""""""""""
796
797*	Now when a project is rebuilt, all loaded Python modules will be removed
798	from the import cache before rebuilding commences. This should fix
799	intermodule dependencies.
800
801
802Changes in ll-make 0.11.4 (released 12/06/2003)
803"""""""""""""""""""""""""""""""""""""""""""""""
804
805*	Added methods :meth:`itersources`, :meth:`itertargets`,
806	:meth:`itersourcedeps` and :meth:`itertargetdeps` to the :class:`Target`
807	class.
808
809
810Changes in ll-make 0.11.3 (released 11/22/2003)
811"""""""""""""""""""""""""""""""""""""""""""""""
812
813*	:meth:`__getitem__` and :meth:`__contains__` of the :class:`Project` class
814	now first try with an absolute filename and then with the real filename
815	(i.e. all links resolved).
816
817
818Changes in ll-make 0.11.2 (released 08/06/2003)
819"""""""""""""""""""""""""""""""""""""""""""""""
820
821*	A few of the :class:`Project` attributes have been renamed to avoid name
822	clashes when a class was derived from :class:`Project` and
823	:class:`ll.sisyphus.Job`.
824
825
826Changes in ll-make 0.11.1 (released 08/01/2003)
827"""""""""""""""""""""""""""""""""""""""""""""""
828
829*	Fixed a bug in :meth:`Project.build`: Timestamps were not cleared on the
830	second call to :meth:`build` when the first one had failed.
831
832*	Timestamp handling was broken. Timestamps from the filesystem were in UTC,
833	but the timestamp set after calls to :meth:`Target.update` were in local
834	time. This has been fixed now.
835
836
837Changes in ll-make 0.11 (released 07/31/2003)
838"""""""""""""""""""""""""""""""""""""""""""""
839
840*	Calling the XIST conversion in :class:`XISTAction` has been moved from
841	:meth:`execute` to a new method :meth:`convert` to be easier to customize.
842
843*	:mod:`make` requires Python 2.3 now.
844
845
846Changes in ll-make 0.10 (released 07/02/2003)
847"""""""""""""""""""""""""""""""""""""""""""""
848
849*	Targets will now be removed when building them fails.
850
851
852Changes in ll-make 0.9.5 (released 05/02/2003)
853""""""""""""""""""""""""""""""""""""""""""""""
854
855*	:meth:`Project.__getitem__` now retries with a canonical filename
856	(i.e. the result of the :meth:`real`) before giving up.
857
858
859Changes in ll-make 0.9.4 (released 04/24/2003)
860""""""""""""""""""""""""""""""""""""""""""""""
861
862*	All primary actions now make sure that the output file is removed when an
863	error happens. The next call to a make script will again try to generate
864	the output instead of silently skipping the half finished (but seemingly up
865	to date) file.
866
867
868Changes in ll-make 0.9.3 (released 04/23/2003)
869""""""""""""""""""""""""""""""""""""""""""""""
870
871*	Use the enhanced :meth:`import_` method from :mod:`ll.url` 0.7.
872
873*	Add a ``doc`` attribute to :class:`PhonyTarget` which can be used in help
874	messages (e.g. when :meth:`buildWithArgs` is called without arguments).
875
876
877Changes in ll-make 0.9.2 (released 04/15/2003)
878""""""""""""""""""""""""""""""""""""""""""""""
879
880*	Fixed a small bug in the deprecated :meth:`Project.has`.
881
882
883Changes in ll-make 0.9.1 (released 03/11/2003)
884""""""""""""""""""""""""""""""""""""""""""""""
885
886*	Fixed a small bug in :meth:`Target.lastmodified`.
887
888
889Changes in ll-make 0.9 (released 03/10/2003)
890""""""""""""""""""""""""""""""""""""""""""""
891
892*	Generating a :class:`Publisher` in an :class:`XISTAction` has been moved to
893	a separate method :meth:`publisher`.
894
895*	Each target can now be assigned a sequence of actions. There are new action
896	classes :class:`ModeAction` and :class:`OwnerAction` that change the access
897	permissions or owner of a file that has been created by a previous action
898	in an action sequence.
899
900*	Updated the timestamp functionality so that with Python 2.3 the
901	:mod:`datetime` module will be used for timestamps.
902
903
904Changes in ll-make 0.8 (released 03/03/2003)
905""""""""""""""""""""""""""""""""""""""""""""
906
907*	The project method :meth:`has` has been deprecated. Use :meth:`has_key` or
908	the new :meth:`__contains__` for that. This means that all dictionary access
909	method try strings, URLs and absolute URLs now.
910
911*	Populating a project can now be done in the overwritable method
912	:meth:`create`. There is a new method :meth:`clear` which removes all
913	targets from the project. Use the method :meth:`recreate` to recreate
914	a project, i.e. call :meth:`clear` and :meth:`create`.
915
916
917Changes in ll-make 0.7 (released 02/26/2003)
918""""""""""""""""""""""""""""""""""""""""""""
919
920*	Made compatible with XIST 1.5 again: ``prefixes`` is only passed to the
921	parser, when it is not :const:`None`.
922
923*	:meth:`has` and :meth:`has_key` have been changed to do the same as
924	:meth:`__getitem__`, i.e. retry with an URL or absolute URL in case of
925	an error.
926
927*	:meth:`build` can now be called multiple times and will reset timestamp
928	information on all subsequent calls. This makes it possible to rerun a
929	build process without having to recreate the project with its targets
930	and dependencies (provided that no targets have to be added or removed).
931
932
933Changes in ll-make 0.6.1 (released 02/14/2003)
934""""""""""""""""""""""""""""""""""""""""""""""
935
936*	:class:`XISTTarget` has new attributes :attr:`parser`, :attr:`handler` and
937	:attr:`prefixes` that can be specified in the constructor and will be used
938	for parsing.
939
940
941Changes in ll-make 0.6 (released 11/20/2002)
942""""""""""""""""""""""""""""""""""""""""""""
943
944*	:meth:`Project.__getitem__` now raises an :class:`UndefinedTargetError`
945	exception with the original key if retrying with an :class:`URL` object
946	fails.
947
948*	The methods :meth:`Target.sources` and :meth:`Target.targets` have been
949	changed to return the :class:`Target` objects instead of the :class:`Dep`
950	objects. The old functionality is still available as
951	:meth:`Target.sourcedeps` and :meth:`Target.targetdeps`. The same has been
952	done for the method :meth:`Target.newerSources` (and the method name has
953	been made lowercase).
954
955
956Changes in ll-make 0.5 (released 11/13/2002)
957""""""""""""""""""""""""""""""""""""""""""""
958
959*	:class:`Project` is derived from :class:`dict` now.
960
961*	Calling :meth:`Project.buildWithArgs` with an empty argument list now
962	lists all :class:`PhonyTarget` objects.
963
964
965Changes in ll-make 0.4.2 (released 11/11/2002)
966""""""""""""""""""""""""""""""""""""""""""""""
967
968*	Added a new target class :class:`JavaPropAction`, for Java property files.
969
970*	Added a :meth:`__len__` to the :class:`Project` class.
971
972
973Changes in ll-make 0.4.1 (released 10/25/2002)
974""""""""""""""""""""""""""""""""""""""""""""""
975
976*	Added a new action class :class:`SplatAction`, that can be used for
977	replacing strings in files.
978
979*	Speed up dependency creation by adding slot declarations.
980
981
982Changes in ll-make 0.4 (released 08/27/2002)
983""""""""""""""""""""""""""""""""""""""""""""
984
985*	Adapted to XIST 2.0.
986
987
988Changes in ll-make 0.3.2 (released 06/16/2002)
989""""""""""""""""""""""""""""""""""""""""""""""
990
991*	Work around a problem with unicode objects in ``sys.path``. This workaround
992	will disappear as soon as Python 2.3 is released.
993
994*	Use the method :meth:`doPublication` for publishing nodes. (This requires
995	XIST 1.4.4.)
996
997
998Changes in ll-make 0.3.1 (released 03/28/2002)
999""""""""""""""""""""""""""""""""""""""""""""""
1000
1001*	Added a warning when the id of a new target already exists in the project,
1002	i.e. when the target is redefined.
1003
1004*	Added a warning for file modification timestamps from the future.
1005
1006
1007Changes in ll-make 0.3 (released 03/18/2002)
1008""""""""""""""""""""""""""""""""""""""""""""
1009
1010*	Now :class:`url.URL` is used everywhere instead of
1011	:class:`fileutils.Filename`
1012
1013
1014Changes in ll-make 0.2.3 (released 02/22/2002)
1015""""""""""""""""""""""""""""""""""""""""""""""
1016
1017*	Added a new class :class:`DBID` that can be used as an id for database
1018	content.
1019
1020*	Ported to Python 2.2
1021
1022
1023Changes in ll-make 0.2.2 (released 01/25/2001)
1024""""""""""""""""""""""""""""""""""""""""""""""
1025
1026*	Verbosity can now be specified via several :class:`Project` constructor
1027	arguments.
1028
1029*	:meth:`Action.converter` now sets the attribute ``makeaction`` on the
1030	returned :class:`Converter` object.
1031
1032
1033Changes in ll-make 0.2.1 (released 10/03/2001)
1034""""""""""""""""""""""""""""""""""""""""""""""
1035
1036*	Support for the :obj:`root` paramenter for the :meth:`convert` method in
1037	:class:`XISTAction`.
1038
1039
1040Changes in ll-make 0.2 (released 10/02/2001)
1041""""""""""""""""""""""""""""""""""""""""""""
1042
1043*	Dependencies now have a type (a subclass of :class:`Dep`). This allows to
1044	mark certain dependencies as "special".
1045
1046*	:meth:`Project.build` can now be called with a :class:`Target` or a
1047	filename as a string.
1048
1049
1050Changes in ll-make 0.1 (released 07/27/2001)
1051""""""""""""""""""""""""""""""""""""""""""""
1052
1053*	Initial release.
1054
1055
1056Changes in ll-sisyphus
1057----------------------
1058
1059
1060Changes in ll-sisyphus 0.10.1 (released 03/22/2005)
1061"""""""""""""""""""""""""""""""""""""""""""""""""""
1062
1063*	Added a note about the package init file to the installation documentation.
1064
1065
1066Changes in ll-sisyphus 0.10 (released 01/03/2005)
1067"""""""""""""""""""""""""""""""""""""""""""""""""
1068
1069*	:mod:`sisyphus` requires the core module and Python 2.4 now.
1070
1071
1072Changes in ll-sisyphus 0.9.1 (released 04/28/2004)
1073""""""""""""""""""""""""""""""""""""""""""""""""""
1074
1075*	Fixed a bug related to logging empty strings.
1076
1077
1078Changes in ll-sisyphus 0.9 (released 11/13/2003)
1079""""""""""""""""""""""""""""""""""""""""""""""""
1080
1081*	Lowercased the constructor arguments :obj:`maxRuntime`, :obj:`raiseErrors`
1082	and :obj:`printKills`.
1083
1084*	When the job is started it checks whether it's predecessor is still running
1085	(i.e. it checks whether the pid from the run file really exists).
1086
1087*	Added a method :meth:`logErrorOnly` that writes to the error log only (this
1088	is used when the message about a job still running is written to the error
1089	log, so the progress log from the previous job execution won't be disturbed).
1090
1091*	The loop log now contains the exception value in case of an error.
1092
1093
1094Changes in ll-sisyphus 0.8 (released 07/31/2003)
1095""""""""""""""""""""""""""""""""""""""""""""""""
1096
1097*	:mod:`sisyphus` now uses and requires Python 2.3.
1098
1099*	The logging methods can now log everything. If the logged object is not a
1100	string, :mod:`pprint` is used for formatting.
1101
1102*	The number of seconds is now properly formatted with hours, minutes and
1103	seconds in the logfiles.
1104
1105*	A few methods have been lowercased.
1106
1107*	When a job fails the method :meth:`failed` is called now. This gives the
1108	job the change to clean up.
1109
1110
1111Changes in ll-sisyphus 0.7 (released 03/11/2003)
1112""""""""""""""""""""""""""""""""""""""""""""""""
1113
1114*	:mod:`sisyphus` now uses the :mod:`ll.url` module, :mod:`ll.fileutils`
1115	is no longer required.
1116
1117
1118Changes in ll-sisyphus 0.6.2 (released 12/03/2002)
1119""""""""""""""""""""""""""""""""""""""""""""""""""
1120
1121*	error reports are now logged to the process log too.
1122
1123
1124Changes in ll-sisyphus 0.6.1 (released 09/10/2002)
1125""""""""""""""""""""""""""""""""""""""""""""""""""
1126
1127*	The :class:`Job` constructor has a new argument :obj:`printKills` which
1128	specifies whether killing a previous job should be printed (i.e. mailed
1129	from cron).
1130
1131
1132Changes in ll-sisyphus 0.6 (released 08/27/2002)
1133""""""""""""""""""""""""""""""""""""""""""""""""
1134
1135*	:mod:`sisyphus` has been moved to the :mod:`ll` package.
1136
1137
1138Changes in ll-sisyphus 0.5.3 (released 05/07/2002)
1139""""""""""""""""""""""""""""""""""""""""""""""""""
1140
1141*	Derive :class:`Job` from :class:`object` to be able to use new style classes
1142	in mixins in subclasses.
1143
1144
1145Changes in ll-sisyphus 0.5.2 (released 07/19/2001)
1146""""""""""""""""""""""""""""""""""""""""""""""""""
1147
1148*	Made compatible with fileutils 0.2.
1149
1150
1151Changes in ll-sisyphus 0.5.1 (released 04/12/2001)
1152""""""""""""""""""""""""""""""""""""""""""""""""""
1153
1154*	Fixed a severe bug (missing call to :func:`os.path.expanduser`), that
1155	prevented :class:`Job` from working.
1156
1157
1158Changes in ll-sisyphus 0.5 (released 03/29/2001)
1159""""""""""""""""""""""""""""""""""""""""""""""""
1160
1161*	The :class:`Job` constructor has a new parameter :obj:`raiseErrors`. When
1162	set to true exceptions will not only be written to the logfile but raised,
1163	which results in a output to the terminal and an email from the cron daemon.
1164
1165
1166Changes in ll-sisyphus 0.4 (released 03/26/2001)
1167""""""""""""""""""""""""""""""""""""""""""""""""
1168
1169*	The class :class:`LogFile` has been moved to a seperate module named
1170	:mod:`fileutils`.
1171
1172
1173Changes in ll-sisyphus 0.3 (released 02/16/2001)
1174""""""""""""""""""""""""""""""""""""""""""""""""
1175
1176*	Initial public release
1177
1178
1179Changes in ll-url
1180-----------------
1181
1182
1183Changes in ll-url 0.15.1 (released 03/22/2005)
1184""""""""""""""""""""""""""""""""""""""""""""""
1185
1186*	Added a note about the package init file to the installation documentation.
1187
1188
1189Changes in ll-url 0.15 (released 02/24/2005)
1190""""""""""""""""""""""""""""""""""""""""""""
1191
1192*	The :attr:`mimetype` property of :class:`ReadResource` is no longer a tuple,
1193	but a plain string.
1194
1195*	:class:`ReadResource` has a new property :attr:`encoding`, which is the
1196	character encoding of the resource.
1197
1198*	A bug in the ``lastmodified`` property of :class:`WriteResource` has been
1199	fixed.
1200
1201
1202Changes in ll-url 0.14.2 (released 02/22/2005)
1203""""""""""""""""""""""""""""""""""""""""""""""
1204
1205*	``url.URL("file:foo/").local()`` will now always end in a directory
1206	separator. This didn't work on Windows before.
1207
1208
1209Changes in ll-url 0.14.1 (released 01/13/2005)
1210""""""""""""""""""""""""""""""""""""""""""""""
1211
1212*	On Windows ``url.File("c:\\foo").abs()`` generated ``URL('file:///C|/foo')``.
1213	Now the result will always be ``URL('file:/C|/foo')``. The same fix has been
1214	made for :meth:`real` and the constructor.
1215
1216
1217Changes in ll-url 0.14 (released 01/03/2005)
1218""""""""""""""""""""""""""""""""""""""""""""
1219
1220*	:mod:`url` requires the core module and Python 2.4 now.
1221
1222
1223Changes in ll-url 0.13 (released 11/25/2004)
1224""""""""""""""""""""""""""""""""""""""""""""
1225
1226*	The helper function :func:`_unescape` will now interpret ``%u`` escapes
1227	(produced by Microsoft software). The patch has been contributed by
1228	Artiom Morozov.
1229
1230
1231Changes in ll-url 0.12.1 (released 11/03/2004)
1232""""""""""""""""""""""""""""""""""""""""""""""
1233
1234*	Fixed a bug in the C helper function :func:`_unescape` (forget to clear
1235	the exception).
1236
1237*	Dropped the system default encoding from the list of encodings that will be
1238	tried when UTF-8 fails in :func:`_unescape`.
1239
1240
1241Changes in ll-url 0.12 (released 01/12/2004)
1242""""""""""""""""""""""""""""""""""""""""""""
1243
1244*	:func:`removefromimportcache` has been dropped, now you can assign the
1245	import cache directly (as the module level attribute :attr:`importcache`.
1246	Removing modules from the import cache can now be done via
1247	``url.importcache.remove(mod)``.
1248
1249
1250Changes in ll-url 0.11.7 (released 12/23/2003)
1251""""""""""""""""""""""""""""""""""""""""""""""
1252
1253*	Fixed a bug in :meth:`Path.real` that only surfaced on Windows.
1254
1255
1256Changes in ll-url 0.11.6 (released 12/06/2003)
1257""""""""""""""""""""""""""""""""""""""""""""""
1258
1259*	Added a function :func:`removefromimportcache`.
1260
1261
1262Changes in ll-url 0.11.5 (released 11/22/2003)
1263""""""""""""""""""""""""""""""""""""""""""""""
1264
1265*	Fixed a bug with the :obj:`scheme` argument of the methods :meth:`real`
1266	and :meth:`abs`.
1267
1268
1269Changes in ll-url 0.11.4 (released 11/19/2003)
1270""""""""""""""""""""""""""""""""""""""""""""""
1271
1272*	:attr:`realurl` has been renamed to :attr:`finalurl` and now works for
1273	local URLs too (it will be the same as the original URL).
1274
1275
1276Changes in ll-url 0.11.3 (released 11/17/2003)
1277""""""""""""""""""""""""""""""""""""""""""""""
1278
1279*	Added an attribute :attr:`realurl` to :class:`ReadResource` which contains
1280	the real URL (which might be different from the URL passed to the
1281	constructor, because of a redirect).
1282
1283
1284Changes in ll-url 0.11.2 (released 11/17/2003)
1285""""""""""""""""""""""""""""""""""""""""""""""
1286
1287*	URLs that have an authority part but a relative path will be properly
1288	formatted, i.e. the leading ``/`` will be included.
1289
1290
1291Changes in ll-url 0.11.1 (released 08/13/2003)
1292""""""""""""""""""""""""""""""""""""""""""""""
1293
1294*	The :class:`URL` method :meth:`rename` has been fixed.
1295
1296*	A bug has been fixed that created relative paths for HTTP URLs that didn't
1297	have a trailing ``/``.
1298
1299
1300Changes in ll-url 0.11 (released 08/04/2003)
1301""""""""""""""""""""""""""""""""""""""""""""
1302
1303*	A method :meth:`withoutfrag` has been added. :meth:`withFragment` has been
1304	renamed to :meth:`withfrag` and the property :attr:`fragment` has been
1305	renamed to :attr:`frag`.
1306
1307
1308Changes in ll-url 0.10 (released 07/31/2003)
1309""""""""""""""""""""""""""""""""""""""""""""
1310
1311*	:mod:`url` requires Python 2.3 now.
1312
1313*	The method :mod:`insert` has been fixed.
1314
1315
1316Changes in ll-url 0.9.1 (released 07/17/2003)
1317"""""""""""""""""""""""""""""""""""""""""""""
1318
1319*	Fixed a bug that drops the filename in :meth:`relative` when both URLs have
1320	the same filenames but a different query.
1321
1322*	The fragment is now properly escaped when the URL is regenerated.
1323
1324
1325Changes in ll-url 0.9 (released 07/09/2003)
1326"""""""""""""""""""""""""""""""""""""""""""
1327
1328*	:meth:`withExt` and friends have been lowercased.
1329
1330*	The :attr:`path` has been changed from a string to an object of the new
1331	class :class:`Path`. This new class provides many of the path related
1332	functionality of URLs.
1333
1334*	The method :meth:`URL.import_` no longer uses the import machinery (from
1335	the :mod:`imp` module), but :func:`execfile`. This has the following
1336	consequences:
1337
1338	-	You can only import files with the extension ``.py``.
1339
1340	-	The imported module no longer retains deleted attributes of the
1341		previous version.
1342
1343	-	The file will be compiled even if a bytecode file exists.
1344
1345
1346Changes in ll-url 0.8 (released 06/04/2003)
1347"""""""""""""""""""""""""""""""""""""""""""
1348
1349*	Added methods :meth:`abs` and :meth:`__rdiv__` to :class:`URL`.
1350
1351*	The method :meth:`real` now has an argument :obj:`scheme` that specifies
1352	which scheme should the use for the resulting URL.
1353
1354*	Now the query part of an :class:`URL` will be parsed into the attribute
1355	:attr:`query_parts` (which is a dictionary). If the query can't be parsed,
1356	:attr:`query_parts` will be ``False``, but :attr:`query` will still contain
1357	the complete query part.
1358
1359
1360Changes in ll-url 0.7.1 (released 05/01/2003)
1361"""""""""""""""""""""""""""""""""""""""""""""
1362
1363*	Made :meth:`clearimportcache` a class method.
1364
1365
1366Changes in ll-url 0.7 (released 04/23/2003)
1367"""""""""""""""""""""""""""""""""""""""""""
1368
1369*	Introduced :meth:`local` as a synonym for :meth:`asFilename`, :func:`Dir`
1370	as a synonym for :func:`Dirname` and :func:`File` as a synonym for
1371	:func:`Filename`.
1372
1373*	Added functions :func:`first`, :func:`firstdir` and :func:`firstfile`,
1374	that returns the first URL from a list that exists, is a directory or
1375	a file.
1376
1377*	The method :meth:`import_` uses a cache now. Different caching strategies
1378	can be chosen through the :obj:`mode` parameter.
1379
1380
1381Changes in ll-url 0.6.2 (released 03/07/2002)
1382"""""""""""""""""""""""""""""""""""""""""""""
1383
1384*	The method :meth:`real` checked whether the referenced file really is a
1385	directory. This has the problem that the directory/file must exist. Now
1386	the directoryness of the URL itself is used.
1387
1388
1389Changes in ll-url 0.6.1 (released 03/06/2002)
1390"""""""""""""""""""""""""""""""""""""""""""""
1391
1392*	Fixed a bug in :meth:`chown`: Attributes are not available for
1393	:func:`pwd.getpwnam()` and :func:`grp.getgrnam()` results under Python 2.2.
1394	Use the tuple entry instead.
1395
1396*	Added methods :meth:`mtime`, :meth:`atime` and :meth:`size` to :class:`URL`.
1397
1398
1399Changes in ll-url 0.6 (released 03/05/2002)
1400"""""""""""""""""""""""""""""""""""""""""""
1401
1402*	Now all arguments for :meth:`walk` default to :const:`False`.
1403
1404*	Added new convenience methods :meth:`walkfiles` and :meth:`walkdirs`.
1405
1406*	An :class:`URL` can now be iterated. This is equivalent to
1407	``walk(dirsbefore=True, files=True)``.
1408
1409*	Many functions from :mod:`os` and :mod:`os.path` have been added as
1410	methods to :mod:`ll.url`. This was inspired by Jason Orendorff's
1411	:mod:`path` module__.
1412
1413	__ http://www.jorendorff.com/articles/python/path/
1414
1415*	The method :meth:`import_` is now available in the :class:`URL` class too.
1416
1417*	When Python 2.3 is used timestamp will now be :class:`datetime.datetime`
1418	objects and :mod:`mx.DateTime` is no longer required. With Python 2.2
1419	:mod:`mx.DateTime` will still be used.
1420
1421
1422Changes in ll-url 0.5.1 (released 01/07/2002)
1423"""""""""""""""""""""""""""""""""""""""""""""
1424
1425*	Added a :file:`LICENSE` file.
1426
1427
1428Changes in ll-url 0.5 (released 11/14/2002)
1429"""""""""""""""""""""""""""""""""""""""""""
1430
1431*	:class:`WriteResource` has been largely rewritten to elminate the overhead
1432	of calls the :meth:`write`. Access to properties might be a little slower
1433	now, because :class:`WriteResource` has been optimized for maximum writing
1434	speed.
1435
1436*	Added source code encoding statements to the Python files.
1437
1438
1439Changes in ll-url 0.4.3 (released 11/11/2002)
1440"""""""""""""""""""""""""""""""""""""""""""""
1441
1442*	Fixed a refcounting leak in the new version of :func:`_normalizepath`.
1443
1444
1445Changes in ll-url 0.4.2 (released 11/08/2002)
1446"""""""""""""""""""""""""""""""""""""""""""""
1447
1448*	:func:`_normalizepath` has been reimplemented in C for performance reasons.
1449
1450
1451Changes in ll-url 0.4.1 (released 10/29/2002)
1452"""""""""""""""""""""""""""""""""""""""""""""
1453
1454*	:class:`ReadResource` and :class:`WriteResource` now have a method
1455	:meth:`import_`, that imports the file as a Python module (ignoring the
1456	file extension).
1457
1458
1459Changes in ll-url 0.4 (released 10/18/2002)
1460"""""""""""""""""""""""""""""""""""""""""""
1461
1462*	Added a :file:`HOWTO` file.
1463
1464*	Made the docstrings compatible with XIST 2.0.
1465
1466*	The :attr:`imagesize` property now raises an :class:`IOError` if the PIL
1467	is not available.
1468
1469
1470Changes in ll-url 0.3.1 (released 09/09/2002)
1471"""""""""""""""""""""""""""""""""""""""""""""
1472
1473*	:class:`WriteResource` will now generate an empty file, even if
1474	:meth:`write` is never called. This is checked in :meth:`close`.
1475
1476*	:class:`WriteResource` gained a destructor that will call :meth:`close`.
1477
1478
1479Changes in ll-url 0.3 (released 08/27/2002)
1480"""""""""""""""""""""""""""""""""""""""""""
1481
1482*	:mod:`url` has been moved to the :mod:`ll` package.
1483
1484
1485Changes in ll-url 0.2 (released 06/18/2002)
1486"""""""""""""""""""""""""""""""""""""""""""
1487
1488*	:func:`_escape` now always uses unicode strings. 8bit strings will be
1489	converted to unicode before the UTF-8 version will be encoded.
1490
1491*	:func:`_unescape` now always emits unicode strings. If the UTF-8 decoding
1492	does not work, the system default encoding will be tried, and finally
1493	Latin-1 will be used.
1494
1495*	:func:`_escape` and :func:`_unescape` have been rewritten in C for
1496	performance reasons.
1497
1498
1499Changes in ll-url 0.1.8 (released 05/07/2002)
1500"""""""""""""""""""""""""""""""""""""""""""""
1501
1502*	Illegal ``%`` escapes now only issue a warning and will be used literally
1503	when the warning framework doesn't raise an exception.
1504
1505
1506Changes in ll-url 0.1.7 (released 04/30/2002)
1507"""""""""""""""""""""""""""""""""""""""""""""
1508
1509*	Removed the illegal scheme handling change from 0.1.6 again. Now this has
1510	to be done before constructing an :class:`URL`.
1511
1512
1513Changes in ll-url 0.1.6 (released 04/26/2002)
1514"""""""""""""""""""""""""""""""""""""""""""""
1515
1516*	Now when the parser discovers an illegal scheme, you get another chance:
1517	Beginning whitespace will be stripped and it will be retried.
1518
1519
1520Changes in ll-url 0.1.5 (released 04/25/2002)
1521"""""""""""""""""""""""""""""""""""""""""""""
1522
1523*	Fixed a bug in :meth:`__div__`: Now ``URL("http://foo/bar")/"/baz"`` works.
1524
1525
1526Changes in ll-url 0.1.4 (released 04/15/2002)
1527"""""""""""""""""""""""""""""""""""""""""""""
1528
1529*	When assigning to the :attr:`url` property, the scheme will now only be set
1530	when it consists of legal characters. This means that parsing
1531	``/foo.php?x=http://www.bar.com`` won't try to set a scheme
1532	``/foo.php?x=http``, but will use an empty scheme.
1533
1534
1535Changes in ll-url 0.1.3 (released 04/09/2002)
1536"""""""""""""""""""""""""""""""""""""""""""""
1537
1538*	Make :attr:`ext` and :attr:`file` work with opaque :class:`URL`\s.
1539
1540*	Forgot the make :attr:`resdata` assignable. Fixed.
1541
1542*	Now the scheme to be used can be specified for the various filename
1543	functions.
1544
1545*	Added a method :meth:`withFragment` that returns a copy of the :class:`URL`
1546	with a new fragment.
1547
1548*	Use the :mod:`email` package instead of :mod:`rfc822`	for :func:`formatdate`.
1549
1550*	No longer quote ``[`` and ``]`` to be compatible with the ezt templates from
1551	ViewCVS__.
1552
1553	__ http://viewcvs.sf.net/
1554
1555*	When joining URLs the right hand URL no longer inherits the scheme, if it
1556	has not scheme, but the path is absolute::
1557
1558		>>> url.URL("root:foo.html")/url.URL("/cgi-bin/")
1559		URL('/cgi-bin/')
1560
1561
1562Changes in ll-url 0.1.2 (released 03/26/2002)
1563"""""""""""""""""""""""""""""""""""""""""""""
1564
1565*	Fixed a bug in :meth:`URL.__eq__` and :meth:`URL.__hash__`: ``query`` and
1566	``fragment`` were not used. This has been fixed.
1567
1568
1569Changes in ll-url 0.1.1 (released 03/20/2002)
1570"""""""""""""""""""""""""""""""""""""""""""""
1571
1572*	Fixed a bug in :attr:`ReadResource.contentlength`, which tried to convert
1573	the :func:`stat` result to a :class:`DateTime` object.
1574
1575
1576Changes in ll-url 0.1 (released 03/18/2002)
1577"""""""""""""""""""""""""""""""""""""""""""
1578
1579*	Initial release
1580
1581
1582Changes in ll-xpit
1583------------------
1584
1585
1586Changes in ll-xpit 0.2.1 (released 03/22/2005)
1587""""""""""""""""""""""""""""""""""""""""""""""
1588
1589*	Added a note about the package init file to the installation documentation.
1590
1591
1592Changes in ll-xpit 0.2 (released 01/21/2005)
1593""""""""""""""""""""""""""""""""""""""""""""
1594
1595*	:func:`convert` now takes both a global and a local namespace and will
1596	raise an exception when an unknown processing instruction target is
1597	encountered.
1598
1599
1600Changes in ll-xpit 0.1 (released 01/19/2005)
1601""""""""""""""""""""""""""""""""""""""""""""
1602
1603*	Initial release.
1604
1605
1606Changes to ll-orasql
1607--------------------
1608
1609Changes in ll-orasql 1.27.1 (released 03/31/2009)
1610"""""""""""""""""""""""""""""""""""""""""""""""""
1611
1612*	Fixed a bug in the dependency checking for :meth:`Connnection.itertables`.
1613
1614*	``oradelete`` now has a new option to use ``truncate table`` instead of
1615	``delete from``.
1616
1617
1618Changes in ll-orasql 1.27 (released 03/31/2009)
1619"""""""""""""""""""""""""""""""""""""""""""""""
1620
1621*	Added a new script ``oradelete`` that can be used to delete all records from
1622	all tables and to reset all sequences.
1623
1624*	:class:`Connection` has a new method :meth:`itersequences`.
1625
1626*	Fixed a bug in the generated SQl code for triggers (the name always included
1627	the name of the original schema).
1628
1629
1630Changes in ll-orasql 1.26 (released 03/27/2009)
1631"""""""""""""""""""""""""""""""""""""""""""""""
1632
1633*	:mod:`ll.orasql` now requires cx_Oracle 5.0 compiled in Unicode mode
1634	(i.e. with ``WITH_UNICODE=1``). Lots of unicode handling stuff has been
1635	rewritten to take advantage of Unicode mode.
1636
1637*	``orafind`` has a new option ``--encoding`` to decode the searchstring on the
1638	commandline.
1639
1640*	The :class:`Pool` constructor now supports the additional arguments
1641	:obj:`getmode` and :obj:`homogeneous` from cx_Oracle 5.0.
1642
1643*	Fix a typo in :meth:`Privilege.grantddl`.
1644
1645
1646Changes in ll-orasql 1.25.4 (released 01/21/2009)
1647"""""""""""""""""""""""""""""""""""""""""""""""""
1648
1649*	Procedures and functions with timestamp arguments can now be called.
1650
1651
1652Changes in ll-orasql 1.25.3 (released 11/07/2008)
1653"""""""""""""""""""""""""""""""""""""""""""""""""
1654
1655*	Procedures and functions now should handle arguments of type ``BLOB``
1656	correctly.
1657
1658
1659Changes in ll-orasql 1.25.2 (released 08/29/2008)
1660"""""""""""""""""""""""""""""""""""""""""""""""""
1661
1662*	:class:`Record` has a new method :meth:`get` which works like the dictionary
1663	method :meth:`get`.
1664
1665
1666Changes in ll-orasql 1.25.1 (released 07/21/2008)
1667"""""""""""""""""""""""""""""""""""""""""""""""""
1668
1669*	``orafind.py`` now has an additional options ``readlobs`` (defaulting
1670	to false). If this option is set, the value of LOBs in the records found,
1671	will be printed.
1672
1673
1674Changes in ll-orasql 1.25 (released 06/17/2008)
1675"""""""""""""""""""""""""""""""""""""""""""""""
1676
1677*	A new script has been added: ``orafind.py`` will search for a specified
1678	string in all columns of all tables in a schema.
1679
1680
1681Changes in ll-orasql 1.24.1 (released 05/30/2008)
1682"""""""""""""""""""""""""""""""""""""""""""""""""
1683
1684*	Fixed two bugs in :meth:`Callable._calcargs` and :meth:`Connection.getobject`.
1685
1686
1687Changes in ll-orasql 1.24 (released 05/20/2008)
1688"""""""""""""""""""""""""""""""""""""""""""""""
1689
1690*	:meth:`Connection.getobject`, :class:`Procedure` and :class:`Function` now
1691	support functions and procedures in packages.
1692
1693*	Added :meth:`__repr__` to the exception classes.
1694
1695
1696Changes in ll-orasql 1.23.4 (released 04/04/2008)
1697"""""""""""""""""""""""""""""""""""""""""""""""""
1698
1699*	All database scripts now have an additional option ``encoding`` that
1700	specifies the encoding for the output script.
1701
1702
1703Changes in ll-orasql 1.23.3 (released 04/03/2008)
1704"""""""""""""""""""""""""""""""""""""""""""""""""
1705
1706*	Fixed a regression in the scripts ``oracreate.py``, ``oradrop.py`` and
1707	``oragrant.py``.
1708
1709
1710Changes in ll-orasql 1.23.2 (released 04/01/2008)
1711"""""""""""""""""""""""""""""""""""""""""""""""""
1712
1713*	When calling functions/procedures, arguments are now wrapped in variable
1714	objects for their real type instead of ones for the type the function or
1715	procedure expects.
1716
1717
1718Changes in ll-orasql 1.23.1 (released 03/25/2008)
1719"""""""""""""""""""""""""""""""""""""""""""""""""
1720
1721*	Added a :meth:`__contains__` to :class:`Record` for checking the existence
1722	of a field.
1723
1724
1725Changes in ll-orasql 1.23 (released 03/25/2008)
1726"""""""""""""""""""""""""""""""""""""""""""""""
1727
1728*	Calling procedures and functions has been rewritten: :mod:`ll.orasql` will
1729	only pass those parameters to the procedure/function that are passed to the
1730	call (or variables for out parameters). Internally this is handled by
1731	executing the call as a parameterized query calling the procedure/function
1732	with named arguments.
1733
1734*	:class:`FetchRecord` has been renamed to :class:`Record` (and is used for
1735	the result of procedure and function calls now, which required some internal
1736	changes to :class:`FetchRecord`). The former :class:`Record` has been renamed
1737	to :class:`Args` as its only use now is collecting arguments for
1738	procedure/function calls. (The method :meth:`fromdata` has been dropped.)
1739
1740*	The :meth:`__repr__` output of :class:`Argument` objects now shows the
1741	datatype.
1742
1743
1744Changes in ll-orasql 1.22 (released 03/19/2008)
1745"""""""""""""""""""""""""""""""""""""""""""""""
1746
1747*	Added a new method :meth:`_getobject` to :class:`Connection` that does
1748	what :meth:`getobject` does, but is case sensitive (This is used internally
1749	by :meth:`Synonym.getobject`).
1750
1751*	The methods :meth:`xfetchone`, :meth:`xfetchmany`, :meth:`xfetchall`,
1752	:meth:`xfetch`, :meth:`xexecute` and :meth:`xexecutemany` have been dropped
1753	again. Fetch result objects are now of type :class:`FetchRecord`. Field
1754	access is available via index (i.e. ``row[0]``), key (``row["name"]``)
1755	and attribute (``row.name``). These result objects are generated via the
1756	:attr:`rowfactory` attribute (which was added in cx_Oracle 4.3.2).
1757	All fetch and execute methods support unicode values.
1758
1759
1760Changes in ll-orasql 1.21.1 (released 03/17/2008)
1761"""""""""""""""""""""""""""""""""""""""""""""""""
1762
1763*	Updated the scripts to work with the new execute methods.
1764
1765
1766Changes in ll-orasql 1.21 (released 03/13/2008)
1767"""""""""""""""""""""""""""""""""""""""""""""""
1768
1769*	:class:`Connection` has a new method :meth:`getobject`, which returns the
1770	schema object with a specified name.
1771
1772*	:class:`Synonym` has a new method :meth:`getobject`, that returns the object
1773	for which the :class:`Synonym` object is a synonym.
1774
1775*	The name of :class:`Procedure` and :class:`Function` objects now is case
1776	sensitive when calling the procedure or function.
1777
1778
1779
1780Changes in ll-orasql 1.20 (released 02/07/2008)
1781"""""""""""""""""""""""""""""""""""""""""""""""
1782
1783*	The fancy fetch methods have been renamed to :meth:`xfetchone`,
1784	:meth:`xfetchmany`, :meth:`xfetchall` and :meth:`xfetch`. :meth:`__iter__`
1785	no longer gets overwritten. New methods :meth:`xexecute` and
1786	:meth:`xexecutemany` have been added, that support passing unicode
1787	parameters.
1788
1789
1790Changes in ll-orasql 1.19 (released 02/01/2008)
1791"""""""""""""""""""""""""""""""""""""""""""""""
1792
1793*	All docstrings use ReST now.
1794
1795
1796Changes in ll-orasql 1.18 (released 01/07/2008)
1797"""""""""""""""""""""""""""""""""""""""""""""""
1798
1799*	Updated the docstrings to XIST 3.0.
1800
1801*	Added ReST versions of the documentation.
1802
1803
1804Changes in ll-orasql 1.17.5 (released 08/09/2007)
1805"""""""""""""""""""""""""""""""""""""""""""""""""
1806
1807*	Fixed a bug in the error handling of wrong arguments when calling
1808	functions or procedures.
1809
1810
1811Changes in ll-orasql 1.17.4 (released 04/30/2007)
1812"""""""""""""""""""""""""""""""""""""""""""""""""
1813
1814*	The threshold for string length for procedure and function arguments has
1815	been reduced to 4000.
1816
1817
1818Changes in ll-orasql 1.17.3 (released 03/08/2007)
1819"""""""""""""""""""""""""""""""""""""""""""""""""
1820
1821*	``BLOB`` arguments for procedures and functions are always passed as
1822	variables now.
1823
1824
1825Changes in ll-orasql 1.17.2 (released 03/07/2007)
1826"""""""""""""""""""""""""""""""""""""""""""""""""
1827
1828*	Arguments for procedures and functions that are longer that 32000 characters
1829	are passed as variables now (the threshold was 32768 before and didn't work).
1830
1831
1832Changes in ll-orasql 1.17.1 (released 03/02/2007)
1833"""""""""""""""""""""""""""""""""""""""""""""""""
1834
1835*	Fix an inverted logic bug in :meth:`Record.fromdata` that surfaced in unicode
1836	mode: ``BLOB``\s were treated as string and ``CLOB``\s as binary data.
1837
1838
1839Changes in ll-orasql 1.17 (released 02/23/2007)
1840"""""""""""""""""""""""""""""""""""""""""""""""
1841
1842*	The :obj:`readlobs` and :obj:`unicode` parameters are now honored when
1843	calling procedures and functions via :class:`Procedure` and
1844	:class:`Function` objects.
1845
1846
1847Changes in ll-orasql 1.16 (released 02/21/2007)
1848"""""""""""""""""""""""""""""""""""""""""""""""
1849
1850*	A parameter :obj:`unicode` has been added to various constructors and methods.
1851	This parameter can be used to get strings (i.e. ``VARCHAR2`` and ``CLOB``\s)
1852	as :class:`unicode` object instead of :class:`str` objects.
1853
1854
1855Changes in ll-orasql 1.15 (released 02/17/2007)
1856"""""""""""""""""""""""""""""""""""""""""""""""
1857
1858*	Fixed an output bug in ``oradiff.py`` when running in full output mode.
1859
1860*	A parameter :obj:`readlobs` has been added to various constructors and
1861	methods that can be used to get small (or all) ``LOB`` values as strings in
1862	cursor fetch calls.
1863
1864
1865Changes in ll-orasql 1.14 (released 02/01/2007)
1866"""""""""""""""""""""""""""""""""""""""""""""""
1867
1868*	A new method :meth:`iterprivileges` has been added to :class:`Connection`.
1869
1870*	A script ``oragrant.py`` has been added for copying privileges.
1871
1872
1873Changes in ll-orasql 1.13 (released 11/06/2006)
1874"""""""""""""""""""""""""""""""""""""""""""""""
1875
1876*	Two new methods (:meth:`itertables` and :meth:`iterfks`) have been added to
1877	:class:`Connection`. They yield all table definitions or all foreign keys
1878	respectively.
1879
1880*	A new method :meth:`isenabled` has been added to :class:`ForeignKey`.
1881
1882*	A :meth:`__str__` method has been added to :class:`Object`.
1883
1884*	A bug in ``oramerge.py`` has been fixed: In certain situations ``oramerge.py``
1885	used merging actions that were meant to be used for the preceeding object.
1886
1887
1888Changes in ll-orasql 1.12.2 (released 10/18/2006)
1889"""""""""""""""""""""""""""""""""""""""""""""""""
1890
1891*	Fixed a bug that showed up when an index and a foreign key of the same name
1892	existed.
1893
1894
1895Changes in ll-orasql 1.12.1 (released 09/19/2006)
1896"""""""""""""""""""""""""""""""""""""""""""""""""
1897
1898*	Fixed a bug in :meth:`Index.__xattrs__`.
1899
1900
1901Changes in ll-orasql 1.12 (released 09/06/2006)
1902"""""""""""""""""""""""""""""""""""""""""""""""
1903
1904*	:class:`Function` objects are now callable too. They return the return value
1905	and a :class:`Record` containing the modified input parameters.
1906
1907
1908Changes in ll-orasql 1.11.1 (released 08/29/2006)
1909"""""""""""""""""""""""""""""""""""""""""""""""""
1910
1911*	Fixed a bug in :meth:`Column.modifyddl`.
1912
1913
1914Changes in ll-orasql 1.11 (released 08/22/2006)
1915"""""""""""""""""""""""""""""""""""""""""""""""
1916
1917*	The class :class:`Column` has gained a few new methods: :meth:`datatype`,
1918	:meth:`default`, :meth:`nullable` and :meth:`comment`.
1919
1920*	Calling a procedure will now raise a :class:`SQLObjectNotFoundError` error,
1921	if the procedure doesn't exist.
1922
1923
1924Changes in ll-orasql 1.10 (released 08/11/2006)
1925"""""""""""""""""""""""""""""""""""""""""""""""
1926
1927*	The classes :class:`Proc` and :class:`LLProc` have been removed. The
1928	functionality of :class:`Proc` has been merged into
1929	:class:`ProcedureDefinition` (with has been renamed to :class:`Procedure`).
1930	Information about the procedure arguments is provided by the
1931	:meth:`iteraguments` method.
1932
1933*	All other subclasses of :class:`Definition` have been renamed to remove the
1934	"Definition" for the name to reduce typing. (Methods have been renamed
1935	accordingly too.)</li>
1936
1937*	:func:`oramerge.main` and :func:`oradiff.main` now accept option arrays as
1938	arguments.
1939
1940*	``oradiff.py`` has finally been fixed.
1941
1942
1943Changes in ll-orasql 1.9.4 (released 08/09/2006)
1944""""""""""""""""""""""""""""""""""""""""""""""""
1945
1946*	Fixed a bug in ``oradiff.py``.
1947
1948
1949Changes in ll-orasql 1.9.3 (released 08/08/2006)
1950""""""""""""""""""""""""""""""""""""""""""""""""
1951
1952*	Fixed a bug in ``oramerge.py``.
1953
1954
1955Changes in ll-orasql 1.9.2 (released 08/04/2006)
1956""""""""""""""""""""""""""""""""""""""""""""""""
1957
1958*	Fixed a bug in :meth:`TableDefinition.iterdefinitions`.
1959
1960
1961Changes in ll-orasql 1.9.1 (released 08/02/2006)
1962""""""""""""""""""""""""""""""""""""""""""""""""
1963
1964*	Fixed a bug in ``oracreate.py``.
1965
1966
1967Changes in ll-orasql 1.9 (released 07/24/2006)
1968""""""""""""""""""""""""""""""""""""""""""""""
1969
1970*	Dependencies involving :class:`MaterializedViewDefinition` and
1971	:class:`IndexDefinition` objects generated by constraints work properly now,
1972	so that iterating all definitions in create order really results in a
1973	working SQL script.
1974
1975*	A method :meth:`table` has been added to :class:`PKDefinition`,
1976	:class:`FKDefinition`, :class:`UniqueDefinition` and
1977	:class:`IndexDefinition`. This method returns the :class:`TableDefinition` to
1978	object belongs to.
1979
1980*	A method :meth:`pk` has been added to :class:`FKDefinition`. It returns the
1981	primary key that this foreign key references.
1982
1983*	Indexes and constraints belonging to skipped tables are now skipped too in
1984	``oracreate.py``.
1985
1986*	Arguments other than ``sys.argv[1:]`` can now be passed to the
1987	``oracreate.py`` and ``oradrop.py`` :func:`main` functions.
1988
1989
1990Changes in ll-orasql 1.8.1 (released 07/17/2006)
1991""""""""""""""""""""""""""""""""""""""""""""""""
1992
1993*	:mod:`ll.orasql` can now handle objects name that are not in uppercase.
1994
1995
1996Changes in ll-orasql 1.8 (released 07/14/2006)
1997""""""""""""""""""""""""""""""""""""""""""""""
1998
1999*	:meth:`Connection.iterobjects` has been renamed to :meth:`iterdefinitions`.
2000
2001*	Each :class:`Definition` subclass has a new classmethod
2002	:meth:`iterdefinitions` that iterates through all definitions of this type
2003	in a schema (or all schemas).
2004
2005*	Each :class:`Definition` subclass has new methods :meth:`iterreferences` and
2006	:meth:`iterreferencedby` that iterate through related definitions. The
2007	methods :meth:`iterreferencesall` and :meth:`iterreferencedbyall` do this
2008	recursively. The method :meth:`iterdependent` is gone now.
2009
2010*	The method :meth:`iterschema` of :class:`Connection` now has an additional
2011	parameter :obj:`schema`. Passing ``"all"`` for :obj:`schema` will give you
2012	statistics for the complete database not just one schema.
2013
2014*	A new definition class :class:`MaterializedViewDefinition` has been added
2015	that handles materialized views. Handling of create options is rudimentary
2016	though. Patches are welcome.
2017
2018*	:class:`TableDefinition` has a three new methods: :meth:`ismview` returns
2019	whether the table is a materialized view; :meth:`itercomments` iterates
2020	through comments and :meth:`iterconstraints` iterates through primary keys,
2021	foreign keys and unique constraints.
2022
2023*	The method :meth:`getcursor` will now raise a :class:`TypeError` if it can't
2024	get a cursor.
2025
2026
2027Changes in ll-orasql 1.7.2 (released 07/05/2006)
2028""""""""""""""""""""""""""""""""""""""""""""""""
2029
2030*	``RAW`` fields in tables are now output properly in
2031	:meth:`TableDefinition.createddl`.
2032
2033*	A class :class:`PackageBodyDefinition` has been added. ``oracreate.py`` will
2034	output package body definitions and ``oradrop.py`` will drop them.
2035
2036
2037Changes in ll-orasql 1.7.1 (released 07/04/2006)
2038""""""""""""""""""""""""""""""""""""""""""""""""
2039
2040*	Duplicate code in the scripts has been removed.
2041
2042*	Fixed a bug in ``oramerge.py``: If the source to be diffed was long enough
2043	the call to ``diff3`` deadlocked.
2044
2045
2046Changes in ll-orasql 1.7 (released 06/29/2006)
2047""""""""""""""""""""""""""""""""""""""""""""""
2048
2049*	The method :meth:`iterobjects` has been moved from :class:`Cursor` to
2050	:class:`Connection`.
2051
2052*	The method :meth:`itercolumns` has been moved from :class:`Cursor` to
2053	:class:`TableDefinition`.
2054
2055*	:class:`LLProc` now recognizes the ``c_out`` parameter used by
2056	:mod:`ll.toxic` 0.8.
2057
2058*	Support for positional arguments has been added for :class:`Proc` and
2059	:class:`LLProc`. Error messages for calling procedures have been enhanced.
2060
2061*	:class:`SequenceDefinition` now has a new method :meth:`createddlcopy` that
2062	returns code that copies the sequence value. ``oracreate.py`` has a new
2063	option ``-s``/``--seqcopy`` that uses this feature.
2064
2065*	:mod:`setuptools` is now supported for installation.
2066
2067
2068Changes in ll-orasql 1.6 (released 04/26/2006)
2069""""""""""""""""""""""""""""""""""""""""""""""
2070
2071*	Added a :class:`SessionPool` (a subclass of :class:`SessionPool` in
2072	:mod:`cx_Oracle`) whose :meth:`acquire` method returns
2073	:mod:`ll.orasql.Connection` objects.
2074
2075
2076Changes in ll-orasql 1.5 (released 04/05/2006)
2077""""""""""""""""""""""""""""""""""""""""""""""
2078
2079*	Added a class :class:`IndexDefinition` for indexes. ``oracreate.py`` will
2080	now issue create statements for indexes.
2081
2082
2083Changes in ll-orasql 1.4.3 (released 12/07/2005)
2084""""""""""""""""""""""""""""""""""""""""""""""""
2085
2086*	Fixed a bug with empty lines in procedure sources.
2087
2088*	Remove spurious spaces at the start of procedure and function definitions.
2089
2090
2091Changes in ll-orasql 1.4.2 (released 12/07/2005)
2092""""""""""""""""""""""""""""""""""""""""""""""""
2093
2094*	Fixed a bug that the DDL output of Java source.
2095
2096*	Trailing whitespace in each line of procedures, functions etc. is now stripped.
2097
2098
2099Changes in ll-orasql 1.4.1 (released 12/06/2005)
2100""""""""""""""""""""""""""""""""""""""""""""""""
2101
2102*	Fixed a bug that resulted in omitted field lengths.
2103
2104
2105Changes in ll-orasql 1.4 (released 12/05/2005)
2106""""""""""""""""""""""""""""""""""""""""""""""
2107
2108*	The option ``-m``/``--mode`` has been dropped from the script
2109	``oramerge.py``.
2110
2111*	A new class :class:`ColumnDefinition` has been added to :mod:`ll.orasql`.
2112	The :class:`Cursor` class has a new method :meth:`itercolumns` that iterates
2113	the :class:`ColumnDefinition` objects of a table.
2114
2115*	``oramerge.py`` now doesn't output a merged ``create table`` statement, but
2116	the appropriate ``alter table`` statements.
2117
2118
2119Changes in ll-orasql 1.3 (released 11/24/2005)
2120""""""""""""""""""""""""""""""""""""""""""""""
2121
2122*	Added an option ``-i`` to ``oracreate.py`` and ``oradrop.py`` to
2123	ignore errors.
2124
2125*	The argument :obj:`all` of the cursor method :meth:`iterobjects` is now
2126	named :obj:`schema` and may have three values: ``"own"``, ``"dep"`` and
2127	``"all"``.
2128
2129*	Added an script ``oramerge.py`` that does a three way merge of three database
2130	schemas and outputs the resulting script.
2131
2132*	DB links are now copied over in :class:`SynonymDefinition` objects.
2133
2134
2135Changes in ll-orasql 1.2 (released 10/24/2005)
2136""""""""""""""""""""""""""""""""""""""""""""""
2137
2138*	Added a argument to :meth:`createddl` and :meth:`dropddl` to specify if
2139	terminated or unterminated DDL is wanted (i.e. add ``;`` or ``/`` or not).
2140
2141*	:class:`CommentsDefinition` has been renamed to :class:`CommentDefinition`
2142	and holds the comment for one field only.
2143
2144*	:class:`JavaSourceDefinition` has been added.
2145
2146*	The scripts ``oracreate.py``, ``oradrop.py`` and ``oradiff.py`` now skip
2147	objects with ``"$"`` in their name by default. This can be changed with the
2148	``-k`` option (but this will lead to unexecutable scripts).
2149
2150*	``oradiff.py`` has a new options ``-b``: This allows you to specify
2151	how whitespace should be treated.
2152
2153*	Added an option ``-x`` to ``oracreate.py`` to make it possible to
2154	directly execute the DDL in another database.
2155
2156*	Fixed a bug in :class:`SequenceDefinition` when the ``CACHE`` field was ``0``.
2157
2158
2159Changes in ll-orasql 1.1 (released 10/20/2005)
2160""""""""""""""""""""""""""""""""""""""""""""""
2161
2162*	A script ``oradiff.py`` has been added which can be used for diffing Oracle
2163	schemas.
2164
2165*	Definition classes now have two new methods :meth:`cdate` and :meth:`udate`
2166	that give the creation and modification time of the schema object
2167	(if available).
2168
2169*	A ``"flat"`` iteration mode has been added to :meth:`Cursor.iterobjects` that
2170	returns objects unordered.
2171
2172*	:class:`Connection` has a new method :meth:`connectstring`.
2173
2174*	A class :class:`LibraryDefinition` has been added.
2175
2176*	:meth:`CommentsDefinition.createddl` returns ``""`` instead of ``"\n"`` now
2177	if there are no comments.
2178
2179*	:class:`SQLObjectNotfoundError` has been renamed to
2180	:class:`SQLObjectNotFoundError`.
2181
2182
2183Changes in ll-orasql 1.0 (released 10/13/2005)
2184""""""""""""""""""""""""""""""""""""""""""""""
2185
2186*	:mod:`ll.orasql` requires version 1.0 of the core package now.
2187
2188*	A new generator method :func:`iterobjects` has been added to the
2189	:class:`Cursor` class. This generator returns "definition objects" for all
2190	the objects in a schema in topological order (i.e. if the name of an object
2191	(e.g. a table) is generated it will only depend on objects whose name has
2192	been yielded before). SQL for recreating and deleting these SQL objects can
2193	be generated from the definition objects.
2194
2195*	Two scripts (``oracreate.py`` and ``oradrop.py``) have been added, that
2196	create SQL scripts for recreating or deleting the content of an Oracle schema.
2197
2198
2199Changes in ll-orasql 0.7 (released 08/09/2005)
2200""""""""""""""""""""""""""""""""""""""""""""""
2201
2202*	The commands generated by :func:`iterdrop` no longer have a terminating ``;``,
2203	as this seems to confuse Oracle/cx_Oracle.
2204
2205
2206Changes in ll-orasql 0.6 (released 06/20/2005)
2207""""""""""""""""""""""""""""""""""""""""""""""
2208
2209*	Two new functions have been added: :func:`iterdrop` is a generator that
2210	yields information about how to clear the schema (i.e. drop all table,
2211	sequences, etc.). :func:`itercreate` yields information about how to recreate
2212	a schema.
2213
2214
2215Changes in ll-orasql 0.5 (released 06/07/2005)
2216""""""""""""""""""""""""""""""""""""""""""""""
2217
2218*	Date values are now supported as ``OUT`` parameters.
2219
2220
2221Changes in ll-orasql 0.4.1 (released 03/22/2005)
2222""""""""""""""""""""""""""""""""""""""""""""""""
2223
2224*	Added a note about the package init file to the installation documentation.
2225
2226
2227Changes in ll-orasql 0.4 (released 01/03/2005)
2228""""""""""""""""""""""""""""""""""""""""""""""
2229
2230*	:mod:`ll.orasql` now requires ll-core.
2231
2232*	Procedures can now be called with string arguments longer that 32768
2233	characters. In this case the argument will be converted to a variable before
2234	the call. The procedure argument must be a ``CLOB`` in this case.
2235
2236*	Creating :class:`Record` instances from database data is now done by the
2237	class method :meth:`Record.fromdata`. This means it's now possible to use any
2238	other class as long as it provides this method.
2239
2240
2241Changes in ll-orasql 0.3 (released 12/09/2004)
2242""""""""""""""""""""""""""""""""""""""""""""""
2243
2244*	:mod:`ll.orasql` requires cx_Oracle 4.1 now.
2245
2246
2247Changes in ll-orasql 0.2.1 (released 09/09/2004)
2248""""""""""""""""""""""""""""""""""""""""""""""""
2249
2250*	Fixed a regression bug in :meth:`Proc._calcrealargs` as cursors will now
2251	always return :class:`Record` objects.
2252
2253
2254Changes in ll-orasql 0.2 (released 09/08/2004)
2255""""""""""""""""""""""""""""""""""""""""""""""
2256
2257*	Now generating :class:`Record` object is done automatically in a subclass of
2258	:class:`cx_Oracle.Cursor`. So now it's possible to use :mod:`ll.orasql` as an
2259	extended :mod:`cx_Oracle`.
2260
2261
2262Changes in ll-orasql 0.1 (released 07/15/2004)
2263""""""""""""""""""""""""""""""""""""""""""""""
2264
2265*	Initial release.
2266
2267
2268Changes to ll-nightshade
2269------------------------
2270
2271Changes in ll-nightshade 0.14.1 (released 03/09/2009)
2272"""""""""""""""""""""""""""""""""""""""""""""""""""""
2273
2274*	:class:`ll.nightshade.Call` now commits any changes that might have been done
2275	by the function or procedure.
2276
2277
2278Changes in ll-nightshade 0.14 (released 01/14/2009)
2279"""""""""""""""""""""""""""""""""""""""""""""""""""
2280
2281*	:class:`ll.nightshade.Connection` has new methods :meth:`commit`,
2282	:meth:`rollback`, :meth:`close` and  :meth:`cancel`.
2283
2284
2285Changes in ll-nightshade 0.13.1 (released 08/29/2008)
2286"""""""""""""""""""""""""""""""""""""""""""""""""""""
2287
2288*	:meth:`Connect.cursor` now passes keyword arguments through to
2289	:meth:`ll.orasql.Connection.cursor`.
2290
2291
2292Changes in ll-nightshade 0.13 (released 02/15/2008)
2293"""""""""""""""""""""""""""""""""""""""""""""""""""
2294
2295*	CherryPy 3.0 is required now.
2296
2297*	The :func:`conditional` decorator has been removed. You can use CherryPy's
2298	``tools.etags`` tool.
2299
2300*	The :func:`cache` decorator has been removed. You can use CherryPy's
2301	``tools.caching`` tool.
2302
2303
2304Changes in ll-nightshade 0.12 (released 02/01/2008)
2305"""""""""""""""""""""""""""""""""""""""""""""""""""
2306
2307*	All docstrings use ReST now.
2308
2309
2310Changes in ll-nightshade 0.11 (released 01/07/2008)
2311"""""""""""""""""""""""""""""""""""""""""""""""""""
2312
2313*	Updated the docstrings to XIST 3.0.
2314
2315*	Added ReST versions of the documentation.
2316
2317
2318Changes in ll-nightshade 0.10 (released 09/04/2007)
2319"""""""""""""""""""""""""""""""""""""""""""""""""""
2320
2321*	When a :class:`Connect` object is used as a decorator the database connection
2322	is no longer passed to the decorated function. This means that there will no
2323	longer be any signature mismatch between the original function and the
2324	decorated function. However the :class:`Connect` object must be stored
2325	somewhere else and the user must call the new :meth:`cursor` method to get a
2326	cursor.
2327
2328*	Keyword argument in the :class:`Connect` constructor are passed on to the
2329	:func:`connect` call.
2330
2331
2332Changes in ll-nightshade 0.9 (released 07/18/2007)
2333""""""""""""""""""""""""""""""""""""""""""""""""""
2334
2335*	Added support for the ``Cache-Control`` header.
2336
2337
2338Changes in ll-nightshade 0.8.1 (released 06/26/2007)
2339""""""""""""""""""""""""""""""""""""""""""""""""""""
2340
2341*	Fixed a bug in :meth:`Call.__call__` (calling the procedure wasn't retried
2342	after the connection got lost).
2343
2344
2345Changes in ll-nightshade 0.8 (released 06/21/2007)
2346""""""""""""""""""""""""""""""""""""""""""""""""""
2347
2348*	:class:`withconnection` has been renamed to :class:`Connect` and the
2349	implementation of :meth:`__call__` has been fixed.
2350
2351*	:class:`Call` now needs a :class:`Connect` object as the second argument in
2352	the constructor (instead of taking :obj:`connectstring`, :obj:`pool` and
2353	:obj:`retry` arguments).
2354
2355
2356Changes in ll-nightshade 0.7.1 (released 05/12/2007)
2357""""""""""""""""""""""""""""""""""""""""""""""""""""
2358
2359*	Fixed a bug that surfaced after the connection to the database was lost.
2360
2361
2362Changes in ll-nightshade 0.7 (released 03/16/2007)
2363""""""""""""""""""""""""""""""""""""""""""""""""""
2364
2365*	A new decorator :class:`withconnection` has been added. This can be use to
2366	retry database operations in case of stale connections.
2367
2368
2369Changes in ll-nightshade 0.6 (released 03/12/2007)
2370""""""""""""""""""""""""""""""""""""""""""""""""""
2371
2372*	Initial public release.
2373