/usr/share/doc/python-cement-doc/html/changes.html is in python-cement-doc 2.10.0-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 | <!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ChangeLog — Cement 2.10.0 documentation</title>
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<link rel="top" title="Cement 2.10.0 documentation" href="index.html"/>
<link rel="next" title="Contributors" href="contributors.html"/>
<link rel="prev" title="Cement Framework" href="index.html"/>
<script src="_static/js/modernizr.min.js"></script>
</head>
<body class="wy-body-for-nav" role="document">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search">
<a href="index.html" class="icon icon-home"> Cement
</a>
<div class="version">
2.10
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<ul class="current">
<li class="toctree-l1 current"><a class="current reference internal" href="#">ChangeLog</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#thu-july-14-2016">2.10.0 - Thu July 14, 2016</a></li>
<li class="toctree-l2"><a class="reference internal" href="#wed-feb-24-2016">2.8.0 - Wed Feb 24, 2016</a></li>
<li class="toctree-l2"><a class="reference internal" href="#thu-may-14-2015">2.6.0 - Thu May 14, 2015</a></li>
<li class="toctree-l2"><a class="reference internal" href="#wed-sep-17-2014">2.4.0 - Wed Sep 17, 2014</a></li>
<li class="toctree-l2"><a class="reference internal" href="#wed-jan-29-2014">2.2.0 - Wed Jan 29, 2014</a></li>
<li class="toctree-l2"><a class="reference internal" href="#tue-oct-29-2013">2.1.4 - Tue Oct 29, 2013</a></li>
<li class="toctree-l2"><a class="reference internal" href="#thu-nov-1st-2012">2.1.2 - Thu Nov 1st, 2012</a></li>
<li class="toctree-l2"><a class="reference internal" href="#fri-aug-03-2012">2.0.0 - Fri Aug 03, 2012</a></li>
<li class="toctree-l2"><a class="reference internal" href="#sun-jul-16-2012">1.9.14 - Sun Jul 16, 2012</a></li>
<li class="toctree-l2"><a class="reference internal" href="#thu-jul-05-2012">1.9.12 - Thu Jul 05, 2012</a></li>
<li class="toctree-l2"><a class="reference internal" href="#wed-jul-04-2012">1.9.10 - Wed Jul 04, 2012</a></li>
<li class="toctree-l2"><a class="reference internal" href="#thu-may-3-2012">1.9.8 - Thu May 3, 2012</a></li>
<li class="toctree-l2"><a class="reference internal" href="#wed-apr-18-2012">1.9.6 - Wed Apr 18, 2012</a></li>
<li class="toctree-l2"><a class="reference internal" href="#wed-dec-21-2011">1.9.4 - Wed Dec 21, 2011</a></li>
<li class="toctree-l2"><a class="reference internal" href="#wed-nov-02-2011">1.9.2 - Wed Nov 02, 2011</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="contributors.html">Contributors</a></li>
<li class="toctree-l1"><a class="reference internal" href="upgrading.html">Upgrading</a></li>
<li class="toctree-l1"><a class="reference internal" href="whats_new.html">What’s New</a></li>
<li class="toctree-l1"><a class="reference internal" href="projects_built_on_cement.html">Projects Built on Cement™</a></li>
<li class="toctree-l1"><a class="reference internal" href="faq.html">Frequenty Asked Questions</a></li>
<li class="toctree-l1"><a class="reference internal" href="api/index.html">API Reference</a></li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="dev/index.html">Developer Documentation</a></li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="examples/index.html">Examples</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" role="navigation" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="index.html">Cement</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="index.html">Docs</a> »</li>
<li>ChangeLog</li>
<li class="wy-breadcrumbs-aside">
<a href="_sources/changes.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="section" id="changelog">
<span id="id1"></span><h1>ChangeLog<a class="headerlink" href="#changelog" title="Permalink to this headline">¶</a></h1>
<p>All bugs/feature details can be found at:</p>
<blockquote>
<div><a class="reference external" href="https://github.com/datafolklabs/cement/issues/XXXXX">https://github.com/datafolklabs/cement/issues/XXXXX</a></div></blockquote>
<p>Where XXXXX is the ‘Issue #’ referenced below. Additionally, this change log
is available online at:</p>
<blockquote>
<div><a class="reference external" href="http://builtoncement.com/2.8/changes/">http://builtoncement.com/2.8/changes/</a></div></blockquote>
<p>See the <a class="reference internal" href="upgrading.html#upgrading"><span class="std std-ref">Upgrading</span></a> section for more information related to
any incompatible changes, and how to update your application to fix them.
Also check out the <a class="reference internal" href="whats_new.html#whats-new"><span class="std std-ref">What’s New</span></a> section for details on new features.</p>
<div class="section" id="thu-july-14-2016">
<h2>2.10.0 - Thu July 14, 2016<a class="headerlink" href="#thu-july-14-2016" title="Permalink to this headline">¶</a></h2>
<p>Bugs:</p>
<blockquote>
<div><ul class="simple">
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/363">Issue #363</a> - CementTestCase does not delete temporary
files/directories</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/346">Issue #346</a> - AttributeError: ‘module’ object has no attribute ‘SIGHUP’
on Windows</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/352">Issue #352</a> - <code class="docutils literal"><span class="pre">CementApp.extend()</span></code> breaks on <code class="docutils literal"><span class="pre">CementApp.reload()</span></code></li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/366">Issue #366</a> - Output handler override options dissappear</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/385">Issue #385</a> - JsonOutputHandler/YamlOutputHandler/MustacheOutputHandler
Do not pass keyword args down to backend render functions</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/393">Issue #393</a> - <code class="docutils literal"><span class="pre">CementApp.Meta.hooks</span></code> ignored for hooks defined by
extensions</li>
</ul>
</div></blockquote>
<p>Features:</p>
<blockquote>
<div><ul class="simple">
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/350">Issue #350</a> - Support for plugin directories</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/370">Issue #370</a> - Handlebars templating support</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/pull/371">PR #371</a> - Jinja2 templating support</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/373">Issue #373</a> - Switch over to using Flake8 for PEP8 and style compliance</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/pull/375">PR #375</a> - Redis cache handler support</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/379">Issue #379</a> - Support for alternative config file extensions</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/380">Issue #380</a> - Support for Cython/Compiled Plugins</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/389">Issue #389</a> - ConfigObj support for Python 3</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/394">Issue #394</a> - Watchdog extension for cross-platform filesystem event
monitoring</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/395">Issue #395</a> - Ability to pass metadata keyword arguments to handlers
via <code class="docutils literal"><span class="pre">CementApp.Meta.meta_defaults</span></code>.</li>
</ul>
</div></blockquote>
<p>Refactoring;</p>
<blockquote>
<div><ul class="simple">
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/386">Issue #386</a> - Partially deprecated use of <code class="docutils literal"><span class="pre">imp</span></code> in favor of
<code class="docutils literal"><span class="pre">importlib</span></code> on Python >= 3.1</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/390">Issue #390</a> - ArgparseArgumentHandler should store unknown arguments</li>
</ul>
</div></blockquote>
<p>Incompatible:</p>
<blockquote>
<div><ul class="simple">
<li>None</li>
</ul>
</div></blockquote>
<p>Deprecation:</p>
<blockquote>
<div><ul class="simple">
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/365">Issue #365</a> - Deprecated <code class="docutils literal"><span class="pre">LoggingLogHandler.warn()</span></code></li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/372">Issue #372</a> - Deprecated Explicit Python 3.2 Support</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/376">Issue #376</a> - Deprecated <code class="docutils literal"><span class="pre">cement.core.interface.list()</span></code></li>
</ul>
</div></blockquote>
</div>
<div class="section" id="wed-feb-24-2016">
<h2>2.8.0 - Wed Feb 24, 2016<a class="headerlink" href="#wed-feb-24-2016" title="Permalink to this headline">¶</a></h2>
<p>Bugs:</p>
<blockquote>
<div><ul class="simple">
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/310">Issue #310</a> - Resolved issue where console/file logs had duplicate
entries under certain circumstances.</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/314">Issue #314</a> - Resolved inconsistent behavor in <code class="docutils literal"><span class="pre">colorlog</span></code> extension.</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/316">Issue #316</a> - Running Nose tests with <code class="docutils literal"><span class="pre">-s</span></code> option causes traceback</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/317">Issue #317</a> - Calling <code class="docutils literal"><span class="pre">CementApp.run()</span></code> should return results from
<code class="docutils literal"><span class="pre">Controller._dispatch()</span></code></li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/320">Issue #320</a> - Partials not rendering with Mustache templates</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/325">Issue #325</a> - Wrap Utility Doesn’t Support Unicode</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/328">Issue #328</a> - Post Run Hook Not Executing</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/331">Issue #331</a> - KeyError: ‘USER’ When Running Nose Tests</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/338">Issue #338</a> - Support non-ascii encoding for email subject and body</li>
</ul>
</div></blockquote>
<p>Features:</p>
<blockquote>
<div><ul class="simple">
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/205">Issue #205</a> - Added new <code class="docutils literal"><span class="pre">ArgparseController</span></code> and <code class="docutils literal"><span class="pre">expose</span></code> decorator
in <code class="docutils literal"><span class="pre">ext_argparse</span></code> to eventually replace <code class="docutils literal"><span class="pre">CementBaseController</span></code>.</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/299">Issue #299</a> - Added Argcomplete Framework Extension</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/322">Issue #322</a> - Added Tabulate Framework Extension (tabulatized output)</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/336">Issue #336</a> - Added Support for <code class="docutils literal"><span class="pre">CementApp.reload()</span></code> (SIGHUP)</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/337">Issue #337</a> - Added <code class="docutils literal"><span class="pre">app.run_forever()</span></code> alternative run method.</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/342">Issue #342</a> - Added Alarm/Timeout Support</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/343">Issue #343</a> - Memcached Extension/Pylibmc Now Supports Python 3</li>
</ul>
</div></blockquote>
<p>Refactoring:</p>
<blockquote>
<div><ul class="simple">
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/311">Issue #311</a> - Refactor Hooks/Handlers into CementApp</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/319">Issue #319</a> - Use <code class="docutils literal"><span class="pre">os.devnull</span></code> instead of internal <code class="docutils literal"><span class="pre">NullOut</span></code> hack.</li>
</ul>
</div></blockquote>
<p>Incompatible:</p>
<blockquote>
<div><ul class="simple">
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/311">Issue #311</a> - Hook <code class="docutils literal"><span class="pre">signal</span></code> now requires <code class="docutils literal"><span class="pre">app</span></code> argument.</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/313">Issue #313</a> - Default <code class="docutils literal"><span class="pre">Cement.Meta.exit_on_close</span></code> to <code class="docutils literal"><span class="pre">False</span></code>.
Calls to <code class="docutils literal"><span class="pre">sys.exit()</span></code> should be explicit by the app developer, and
not implied by the framework.</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/332">Issue #332</a> - Output Handler Interface Must Support Keyword Arguments</li>
</ul>
</div></blockquote>
</div>
<div class="section" id="thu-may-14-2015">
<h2>2.6.0 - Thu May 14, 2015<a class="headerlink" href="#thu-may-14-2015" title="Permalink to this headline">¶</a></h2>
<p>Bugs:</p>
<blockquote>
<div><ul class="simple">
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/294">Issue #294</a> - Added work-around for scenario where an app wants to
support arbitrary positional argument with a value of <code class="docutils literal"><span class="pre">default</span></code>.
By default, this will attempt to explicitly call the <code class="docutils literal"><span class="pre">default</span></code> command
rather than using <code class="docutils literal"><span class="pre">default</span></code> as the argument. This fix adds
<code class="docutils literal"><span class="pre">CementBaseController.Meta.default_func</span></code> allowing the developer to
override the name of the default function that is called if no matching
sub-command is passed.</li>
</ul>
</div></blockquote>
<p>Features:</p>
<blockquote>
<div><ul class="simple">
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/197">Issue #197</a> - Added support for colorized logging.</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/281">Issue #281</a> - Added support for Python <cite>with</cite> statement.</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/282">Issue #282</a> - Added support to define/register hooks and handlers via
<code class="docutils literal"><span class="pre">CementApp.Meta</span></code>.</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/290">Issue #290</a> - Added ability to disable Cement framework logging via
<code class="docutils literal"><span class="pre">CementApp.Meta.framework_logging</span> <span class="pre">=</span> <span class="pre">False</span></code>.</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/297">Issue #297</a> - Added <strong>experimental</strong> support for reloading
configurations anytime config files and/or plugin config files are
modified. Optional extension <cite>ext_reload_config</cite>.</li>
</ul>
</div></blockquote>
<p>Incompatible:</p>
<blockquote>
<div><ul class="simple">
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/308">Issue #308</a> - No longer require explicit
<code class="docutils literal"><span class="pre">CementApp.Meta.base_controller</span></code> if a controller with the label of
<code class="docutils literal"><span class="pre">base</span></code> is registered. This is potentially backward in-compatible in
that previously <code class="docutils literal"><span class="pre">CementBaseController.Meta.label</span></code> defaulted to
<code class="docutils literal"><span class="pre">base</span></code>. It now defaults to <code class="docutils literal"><span class="pre">None</span></code>, which makes more sense but will
break for any controllers that have not explicitly set a <code class="docutils literal"><span class="pre">label</span></code> of
<code class="docutils literal"><span class="pre">base</span></code>.</li>
</ul>
</div></blockquote>
</div>
<div class="section" id="wed-sep-17-2014">
<h2>2.4.0 - Wed Sep 17, 2014<a class="headerlink" href="#wed-sep-17-2014" title="Permalink to this headline">¶</a></h2>
<p>Bugs:</p>
<blockquote>
<div><ul class="simple">
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/211">Issue #211</a> - LoggingLogHandler namespace causes issues (regression)</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/235">Issue #235</a> - Duplicate Config Section when plugin already loaded</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/246">Issue #246</a> - Plugin extension does not disable after already being
enabled</li>
</ul>
</div></blockquote>
<p>Features:</p>
<blockquote>
<div><ul class="simple">
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/119">Issue #119</a> - Added cement.utils.shell.Prompt to quickly gather user
input in several different ways.</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/182">Issue #182</a> - Added a mail interface with basic implementations of
‘dummy’ (just prints message to console) and ‘smtp’</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/229">Issue #229</a> - Ability to override handlers via command line options.
Also related: <a class="reference external" href="https://github.com/datafolklabs/cement/issues/225">Issue #225</a>.</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/248">Issue #248</a> - Added documentation for BASH Auto-Completion example.</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/249">Issue #249</a> - Allow utils.shell.exec_cmd* to accept additional.
parameters, passing all <cite>args</cite> and <cite>kwargs</cite> down to subprocess.Popen.
Allows features such as changing the current working directory, and
setting a timeout value, etc (everything that Popen supports).</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/257">Issue #257</a> - CementBaseController._dispatch() should return result
of controller function.</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/259">Issue #259</a> - Add yaml and yaml_configobj config handlers.</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/262">Issue #262</a> - Add json and json_configobj config handlers.</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/267">Issue #267</a> - Add support for multiple <cite>plugin_dirs</cite> and
<cite>plugin_config_dirs</cite></li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/269">Issue #269</a> - Allow app.close() to accept an exit code, and exit with
that code.</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/270">Issue #270</a> - Add support for multiple template_dirs</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/274">Issue #274</a> - Add cement.core.interface.list function</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/275">Issue #275</a> - Added <cite>examples/</cite> directory with working examples based
on Examples section of the documentation.</li>
</ul>
</div></blockquote>
<p>Incompatible:</p>
<blockquote>
<div><ul class="simple">
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/227">Issue #227</a> - Standardize handler config section naming conventions.
All handler config sections are now labeled after <code class="docutils literal"><span class="pre">interface.handler</span></code>
(i.e. <code class="docutils literal"><span class="pre">output.json</span></code>, or <code class="docutils literal"><span class="pre">mail.sendgrid</span></code>, etc).</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/229">Issue #229</a> - Handler override options deprecate the use of <code class="docutils literal"><span class="pre">--json</span></code>,
and <code class="docutils literal"><span class="pre">--yaml</span></code> output handler options.</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/260">Issue #260</a> - Extensions/Plugins/Bootstrap modules must accept <cite>app</cite>
argument in <cite>load()</cite> function. See Upgrading doc for more information.</li>
</ul>
</div></blockquote>
</div>
<div class="section" id="wed-jan-29-2014">
<h2>2.2.0 - Wed Jan 29, 2014<a class="headerlink" href="#wed-jan-29-2014" title="Permalink to this headline">¶</a></h2>
<p>Bugs:</p>
<blockquote>
<div><ul class="simple">
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/211">Issue #211</a> - LoggingLogHandler namespace causes issues</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/215">Issue #215</a> - Epilog not printed on –help</li>
</ul>
</div></blockquote>
<p>Features:</p>
<blockquote>
<div><ul class="simple">
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/209">Issue #209</a> - Added app.debug property to allow developers to know if
<cite>–debug</cite> was passed at command line of via the config</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/219">Issue #219</a> - Merged ext.memcached into mainline</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/222">Issue #222</a> - Merged ext.configobj into mainline</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/223">Issue #223</a> - Merged ext.genshi into mainline</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/224">Issue #224</a> - Merged ext.yaml into mainline</li>
</ul>
</div></blockquote>
<p>Incompatible:</p>
<blockquote>
<div><ul class="simple">
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/202">Issue #202</a> - Deprecated namespace packaging for cement and cement.ext.
Resolves issues with certain IDE’s and other situations where the lack
of a proper <code class="docutils literal"><span class="pre">__init__.py</span></code> causes issues. This change means that
external extensions can no longer share the <code class="docutils literal"><span class="pre">cement.ext</span></code> module
namespace, and must have it’s own unique module path.</li>
</ul>
</div></blockquote>
<p>Misc:</p>
<blockquote>
<div><ul class="simple">
<li>Official Git repo relocated to: <a class="reference external" href="http://github.com/datafolklabs/cement">http://github.com/datafolklabs/cement</a></li>
</ul>
</div></blockquote>
</div>
<div class="section" id="tue-oct-29-2013">
<h2>2.1.4 - Tue Oct 29, 2013<a class="headerlink" href="#tue-oct-29-2013" title="Permalink to this headline">¶</a></h2>
<p>Bugs:</p>
<blockquote>
<div><ul class="simple">
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/191">Issue #191</a> - KeyError when using minimal logger with –debug</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/199">Issue #199</a> - Moved post_argument_parsing hook down, after
arguments_override_config logic happens.</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/204">Issue #204</a> - utils.misc.wrap should handle None type</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/208">Issue #208</a> - LoggingLogHandler does not honor Meta.config_section</li>
</ul>
</div></blockquote>
<p>Features:</p>
<blockquote>
<div><ul class="simple">
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/190">Issue #190</a> - Merged daemon extension into core</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/194">Issue #194</a> - Added pre_argument_parsing/post_argument_parsing hooks</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/196">Issue #196</a> - Added utils.misc.wrap</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/200">Issue #200</a> - Merged ext.mustache into mainline.</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/203">Issue #203</a> - Added support for external template directory</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/207">Issue #207</a> - Added support for alternative ‘display’ name for stacked
controllers</li>
</ul>
</div></blockquote>
<p>Incompatible:</p>
<blockquote>
<div><ul class="simple">
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/163">Issue #163</a> - LoggingLogHandler.Meta.clear_loggers was changed from a
boolean option, to a list. Additionally,
LoggingLogHandler.clear_loggers() now requires a <cite>namespace</cite> argument.
ILog interface no longer defines <cite>clear_loggers()</cite> as a required
function (though ILog interfaces are welcome to implement one if
necessary).</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/173">Issue #173</a> - Deprecated ‘has_key()’ from configparser extension</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/201">Issue #201</a> - Add Deprecation Warning for CementApp.get_last_rendered()</li>
</ul>
</div></blockquote>
</div>
<div class="section" id="thu-nov-1st-2012">
<h2>2.1.2 - Thu Nov 1st, 2012<a class="headerlink" href="#thu-nov-1st-2012" title="Permalink to this headline">¶</a></h2>
<p>This is a branch off of the 2.0.x stable code base. Maintenance releases for
2.0.x will happen under the stable/2.0.x git branch, while forward feature
development will happen here under as 2.1.x under the git master branch.</p>
<p>Bugs:</p>
<blockquote>
<div><ul class="simple">
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/162">Issue #162</a> - Unable to set log ‘level’ by config</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/167">Issue #167</a> - Non-stacked controllers not listed in –help</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/169">Issue #169</a> - Fixed tests.utils.shell_tests timeout issue</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/171">Issue #171</a> - No handlers could be found for logger</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/183">Issue #183</a> - os.environ[‘HOME’] does not exist on Windows</li>
</ul>
</div></blockquote>
<p>Features:</p>
<blockquote>
<div><ul class="simple">
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/161">Issue #161</a> - Ability to override <cite>usage</cite></li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/164">Issue #164</a> - Store previously rendered data as app._last_rendered, and
retrievable by app.get_last_rendered().</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/165">Issue #165</a> - Allow utils.fs.backup() to support a suffix kwarg</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/166">Issue #166</a> - Ability to set the ‘app’ for CementTestCase.make_app()</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/170">Issue #170</a> - Added support for <cite>nested</cite> and <cite>embedded</cite> controllers.</li>
</ul>
</div></blockquote>
<p>Misc:</p>
<blockquote>
<div><ul class="simple">
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/172">Issue #172</a> - 100% PEP8 Compliant</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/160">Issue #160</a> - Refactor CementApp._resolve_handler() as
handler.resolve()</li>
</ul>
</div></blockquote>
<p>Deprecation Notices:</p>
<blockquote>
<div><ul class="simple">
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/173">Issue #173</a> - ConfigParserConfigHandler.has_key() is now deprecated,
and will be removed in future versions. Please use <cite>if key in
app.config.keys(section)</cite> instead.</li>
</ul>
</div></blockquote>
<p>Incompatible Changes:</p>
<blockquote>
<div><ul class="simple">
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/141">Issue #141</a> - Removed shortcuts from CementBaseController (such as
log, pargs, etc). Use <cite>self.app.<shortcut></cite> instead.</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/167">Issue #167</a> - Listed above, in order to fix this issue as well as
restrict future issues we implemented a hard requirement that all
base controllers have the label ‘base’. This should not be a major
change for anyone using Cement 2.0.x as it is a simple 1 line change
in any one application. As all documentation encourages the use of the
label ‘base’ it should not be a wide spread incompatibility.</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/179">Issue #179</a> - CementBaseController <cite>hidden</cite>, <cite>visible</cite>, and <cite>exposed</cite>
have been removed, and replaced by other private means of managing
the dispatch of commands.</li>
<li>CementBaseController no longer implements a <cite>default</cite> command.</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/177">Issue #177</a> - Renamed several cement.core.backend pieces including:
<cite>handlers</cite> -> <cite>__handlers__</cite>, <cite>hooks</cite> -> <cite>__hooks__</cite>, <cite>SAVED_STDOUT</cite>
-> <cite>__saved_stdout__</cite>, and <cite>SAVED_STDERR</cite> -> <cite>__saved_stderr__</cite>.</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/178">Issue #178</a> - Moved <cite>backend.defaults()</cite> to
<cite>utils.misc.init_defaults()</cite>, and <cite>backend.minimal_logger()</cite> to
<cite>utils.misc.minimal_logger()</cite></li>
</ul>
</div></blockquote>
</div>
<div class="section" id="fri-aug-03-2012">
<h2>2.0.0 - Fri Aug 03, 2012<a class="headerlink" href="#fri-aug-03-2012" title="Permalink to this headline">¶</a></h2>
<p>This is the initial stable release of the 2.0.x branch. Future releases of
this branch will include bug/security fixes and minor feature updates.
Forward moving feature development will continue out of the 2.1.x branch.</p>
<p>Bugs:</p>
<blockquote>
<div><ul class="simple">
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/143">Issue #143</a> - Incorrect doc regarding logging. The LoggingLogHandler
now supports an optional ‘namespace’ argument allowing the developer
to override the log prefix.</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/150">Issue #150</a> - foundation.CementApp.Meta.argv now defaults to None,
but is overridden in __init__() with sys.argv if no other argv is
passed as meta.</li>
</ul>
</div></blockquote>
<p>Features:</p>
<blockquote>
<div><ul class="simple">
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/138">Issue #138</a> - Added ‘shell’ argument to utils.shell.exec_cmd() and
utils.shell.exec_cmd2().</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/140">Issue #140</a> - Included ~/.myapp/config in default config search</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/144">Issue #144</a> - Added a note on Contributing, as well as a CONTRIBUTORS
file.</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/152">Issue #152</a> - Added ‘argument_formatter’ to ControllerBaseClass.Meta.</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/153">Issue #153</a> - Added spawn_process() and spawn_thread() to utils.shell.</li>
</ul>
</div></blockquote>
<p>Incompatible Changes:</p>
<blockquote>
<div><ul>
<li><dl class="first docutils">
<dt><a class="reference external" href="https://github.com/datafolklabs/cement/issues/100">Issue #100</a> - Interfaces audit.</dt>
<dd><ul class="first last simple">
<li>ILog.level() redefined as ILog.get_level()</li>
<li>IPlugin.loaded_plugins attribute redefined as
IPlugin.get_loaded_plugins()</li>
<li>IPlugin.enable_plugins attribute redefined as
IPlugin.get_enabled_plugins()</li>
<li>IPlugin.disabled_plugins attribute redefined as
IPlugin.get_disabled_plugins()</li>
</ul>
</dd>
</dl>
</li>
<li><p class="first"><a class="reference external" href="https://github.com/datafolklabs/cement/issues/145">Issue #145</a> - The IArgument interface no longer specifies that the
<cite>parsed_args</cite> be maintained by the handler implementation. This means
that <cite>app.args.parsed_args</cite> is no longer available, however
<cite>app.pargs</cite> functions just the same as it points to
<cite>app._parsed_args</cite>.</p>
</li>
<li><dl class="first docutils">
<dt><a class="reference external" href="https://github.com/datafolklabs/cement/issues/148">Issue #148</a> - The CementExtensionHandler.loaded_extensions property is</dt>
<dd><p class="first last">now a callable at CementExtensionHandler.get_loaded_extensions().</p>
</dd>
</dl>
</li>
<li><dl class="first docutils">
<dt><a class="reference external" href="https://github.com/datafolklabs/cement/issues/151">Issue #151</a> - Removed all previously deprecated code including:</dt>
<dd><ul class="first last simple">
<li>Removed CementApp.Meta.defaults, and CementBaseHandler.Meta.defaults.
Now use <cite>config_defaults</cite> instead.</li>
<li>Removed cement.foundation.lay_cement(). Now use CementApp directly.</li>
<li>Removed cement.handler.enabled(). Now use <cite>handler.registered()</cite>
instead.</li>
</ul>
</dd>
</dl>
</li>
<li><p class="first"><a class="reference external" href="https://github.com/datafolklabs/cement/issues/154">Issue #154</a> - Validate for handler config_defaults and config_section
by default. Only incompatible if not previously sub-classing from
handler.CementBaseHandler.</p>
</li>
<li><p class="first"><a class="reference external" href="https://github.com/datafolklabs/cement/issues/157">Issue #157</a> - CementRuntimeError renamed as FrameworkError</p>
</li>
<li><p class="first"><a class="reference external" href="https://github.com/datafolklabs/cement/issues/158">Issue #158</a> - CementSignalError renamed as CaughtSignal</p>
</li>
<li><p class="first"><a class="reference external" href="https://github.com/datafolklabs/cement/issues/159">Issue #159</a> - CementInterfaceError renamed as InterfaceError</p>
</li>
</ul>
</div></blockquote>
<p>Misc:</p>
<blockquote>
<div><ul class="simple">
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/155">Issue #155</a> - Removed unused CementArgumentError, and
CementConfigError. These types of exceptions should be defined at
the application level.</li>
</ul>
</div></blockquote>
</div>
<div class="section" id="sun-jul-16-2012">
<h2>1.9.14 - Sun Jul 16, 2012<a class="headerlink" href="#sun-jul-16-2012" title="Permalink to this headline">¶</a></h2>
<p>Bugs:</p>
<blockquote>
<div><ul class="simple">
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/127">Issue #127</a> - Inherited positional arguments listed multiple times</li>
</ul>
</div></blockquote>
<p>Feature Enhancements:</p>
<blockquote>
<div><ul class="simple">
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/131">Issue #131</a> - Controller aliases</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/126">Issue #126</a> - Add a ‘bootstrap’ importer to CementApp</li>
<li>Added cement.utils.test.CementTestCase for improved testing.</li>
</ul>
</div></blockquote>
<p>Incompatible Changes:</p>
<blockquote>
<div><ul>
<li><dl class="first docutils">
<dt><a class="reference external" href="https://github.com/datafolklabs/cement/issues/129">Issue #129</a> - Simplify extensions/plugins/hooks/etc.</dt>
<dd><ul class="first last simple">
<li>Hooks renamed from ‘cement_xxx_hook’ to just ‘xxx’. For example, the
‘cement_pre_setup_hook’ is now simply ‘pre_setup’. Additionally, the
‘cement_on_close_hook’ is now broken out into ‘pre_close’, and
‘post_close’.</li>
<li>The cement.core.hooks.register decorator was replaced with a simple
function of the same name. New usage is:
register(‘hook_name’, hook_func).</li>
<li>Plugins, extensions, and the application bootstrap now attempt to
call a ‘load()’ function, meaning library code and loading code can
live in the same file (i.e. hooks won’t be registered just because
you imported an extension to sub-class a handler, etc).</li>
</ul>
</dd>
</dl>
</li>
<li><p class="first">cement.utils.test_helper moved to cement.utils.test.</p>
</li>
<li><p class="first">By default, command line arguments no longer override config settings.
This is now configurable by the CementApp.Meta.arguments_override_config
boolean. Related: <a class="reference external" href="https://github.com/datafolklabs/cement/issues/136">Issue #136</a>.</p>
</li>
</ul>
</div></blockquote>
</div>
<div class="section" id="thu-jul-05-2012">
<h2>1.9.12 - Thu Jul 05, 2012<a class="headerlink" href="#thu-jul-05-2012" title="Permalink to this headline">¶</a></h2>
<p>Bugs:</p>
<blockquote>
<div><ul class="simple">
<li>Fixed version mis-hap in setup.py</li>
</ul>
</div></blockquote>
</div>
<div class="section" id="wed-jul-04-2012">
<h2>1.9.10 - Wed Jul 04, 2012<a class="headerlink" href="#wed-jul-04-2012" title="Permalink to this headline">¶</a></h2>
<p>Feature Enhancements:</p>
<blockquote>
<div><ul class="simple">
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/118">Issue #118</a> - Added utils.fs.backup() to safely backup files/dirs.</li>
</ul>
</div></blockquote>
<p>Misc:</p>
<blockquote>
<div><ul class="simple">
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/111">Issue #111</a> - Use relative imports (makes cement more portable as it
can be included and distributed with 3rd party sources).</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/120">Issue #120</a> - Use standard json rather than relying on jsonpickle</li>
</ul>
</div></blockquote>
<p>Incompatible Changes:</p>
<blockquote>
<div><ul class="simple">
<li>core.util.abspath moved to utils.fs.abspath</li>
<li>core.util.is_true moved to utils.misc.is_true</li>
<li>Namespace reverted from ‘cement2’ back to ‘cement’.</li>
<li>The following extensions have been removed from the cement source tree,
and are now available externally (see: <a class="reference external" href="http://github.com/cement">http://github.com/cement</a>): daemon,
memcached, configobj, yaml, genshi.</li>
</ul>
</div></blockquote>
</div>
<div class="section" id="thu-may-3-2012">
<h2>1.9.8 - Thu May 3, 2012<a class="headerlink" href="#thu-may-3-2012" title="Permalink to this headline">¶</a></h2>
<p>Feature Enhancements:</p>
<blockquote>
<div><ul class="simple">
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/95">Issue #95</a> - Add a ‘config_section’ Meta default for all handlers.
Required to parse config options for a handler.</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/97">Issue #97</a> - Add a standard cache handler interface.</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/105">Issue #105</a> - Add ‘meta_override’ and ‘core_meta_override’ list to
CementApp().Meta. Also resolves <a class="reference external" href="https://github.com/datafolklabs/cement/issues/104">Issue #104</a>.</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/108">Issue #108</a> - Add CementApp.extend() functionality.</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/109">Issue #109</a> - Add cement.ext.memcached extension</li>
</ul>
</div></blockquote>
<p>Incompatible Changes:</p>
<blockquote>
<div><ul class="simple">
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/103">Issue #103</a> - plugin_bootstrap_module renamed as plugin_bootstrap.</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/106">Issue #106</a> - Deprecate Meta.defaults in favor of Meta.config_defaults</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/107">Issue #107</a> - Make the app name the default config section, not [base]</li>
</ul>
</div></blockquote>
</div>
<div class="section" id="wed-apr-18-2012">
<h2>1.9.6 - Wed Apr 18, 2012<a class="headerlink" href="#wed-apr-18-2012" title="Permalink to this headline">¶</a></h2>
<p>Bug Fixes:</p>
<blockquote>
<div><ul class="simple">
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/89">Issue #89</a> - Secondary controllers display under other controllers</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/90">Issue #90</a> - Logging to file doesn’t expand ‘~’</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/91">Issue #91</a> - Logging to file doesn’t create basedir</li>
</ul>
</div></blockquote>
<p>Feature Enhancements:</p>
<blockquote>
<div><ul class="simple">
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/88">Issue #88</a> - Add cement.ext.genshi extension, provides Genshi Text
Templating Launguage support.</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/93">Issue #93</a> - Add epilog support for CementBaseController.</li>
</ul>
</div></blockquote>
<p>Refactoring:</p>
<blockquote>
<div><ul class="simple">
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/87">Issue #87</a> - Refactor Meta handling</li>
</ul>
</div></blockquote>
<p>Incompatible Changes:</p>
<blockquote>
<div><ul class="simple">
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/96">Issue #96</a> - Move ‘setup()’ functions to ‘_setup()’</li>
<li>Moved CementBaseController.dispatch() to _dispatch()</li>
<li>Moved CementBaseController.usage_text to _usage_text()</li>
<li>Moved CementBaseController.help_text to _help_text()</li>
<li>backend.defaults() no longer accepts an app name as an argument.</li>
<li>foundation.lay_cement() is deprecated. Use foundation.CementApp()
directly.</li>
<li>No longer pass anything but ‘app’ object to handlers _setup() functions.</li>
<li>handler.enabled() is deprecated. Use handler.registered().</li>
</ul>
</div></blockquote>
</div>
<div class="section" id="wed-dec-21-2011">
<h2>1.9.4 - Wed Dec 21, 2011<a class="headerlink" href="#wed-dec-21-2011" title="Permalink to this headline">¶</a></h2>
<p>Bug Fixes:</p>
<blockquote>
<div><ul class="simple">
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/73">Issue #73</a> - Hooks broken in Python 3</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/81">Issue #81</a> - Controller defaults should be processed before base
controller.setup()</li>
</ul>
</div></blockquote>
<p>Feature Enhancements:</p>
<blockquote>
<div><ul class="simple">
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/65">Issue #65</a> - Added ‘daemon’ extension. Process is daemonized by
passing the ‘–daemon’ option. Handles switching the run user/group, as
well as managing a pid file.</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/72">Issue #72</a> - Added new framework hooks.</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/76">Issue #76</a> - Added app.close() functionality including a
cement_on_close_hook() allowing plugins/extensions/etc to be able to
cleanup on application exit.</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/77">Issue #77</a> - Added default signal handler for SIGINT/SIGTERM as well as
the cement_signal_hook which is called when any catch_signals are
encountered.</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/78">Issue #78</a> - Added cement_pre_render_hook, and cement_post_render_hook
allowing developers to control the data that is rendered to console.</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/84">Issue #84</a> - Ability to run all tests from utils/run_tests.sh</li>
</ul>
</div></blockquote>
<p>Incompatible Changes:</p>
<blockquote>
<div><ul class="simple">
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/72">Issue #72</a> - The framework hooks ‘cement_add_args_hook’ and
‘cement_validate_config’ were removed in favor of the new pre/post setup
and run hooks.</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/82">Issue #82</a> - Change ‘meta’ classes to Python-proper ‘Meta’, and
interfaces to use ‘IMeta’. Old functionality will be completely removed
before Cement stable release.</li>
</ul>
</div></blockquote>
</div>
<div class="section" id="wed-nov-02-2011">
<h2>1.9.2 - Wed Nov 02, 2011<a class="headerlink" href="#wed-nov-02-2011" title="Permalink to this headline">¶</a></h2>
<p>This is an initial beta release of Cement, and therefore no bugs or features
are listed. Future releases will detail all changes.</p>
</div>
</div>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="contributors.html" class="btn btn-neutral float-right" title="Contributors" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a>
<a href="index.html" class="btn btn-neutral" title="Cement Framework" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a>
</div>
<hr/>
<div role="contentinfo">
<p>
© Copyright 2009-2016, Data Folk Labs, LLC.
</p>
</div>
Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'./',
VERSION:'2.10.0',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html',
HAS_SOURCE: true
};
</script>
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="_static/js/theme.js"></script>
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.StickyNav.enable();
});
</script>
</body>
</html>
|