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