This file is indexed.

/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 &mdash; 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&#8217;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> &raquo;</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 &#8216;Issue #&#8217; 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&#8217;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: &#8216;module&#8217; object has no attribute &#8216;SIGHUP&#8217;
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 &gt;= 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&#8217;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: &#8216;USER&#8217; 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
&#8216;dummy&#8217; (just prints message to console) and &#8216;smtp&#8217;</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 &#8211;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>&#8211;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&#8217;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&#8217;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 &#8211;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 &#8216;display&#8217; 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 &#8216;has_key()&#8217; 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 &#8216;level&#8217; 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 &#8211;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[&#8216;HOME&#8217;] 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 &#8216;app&#8217; 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.&lt;shortcut&gt;</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 &#8216;base&#8217;.  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 &#8216;base&#8217; 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> -&gt; <cite>__handlers__</cite>, <cite>hooks</cite> -&gt; <cite>__hooks__</cite>, <cite>SAVED_STDOUT</cite>
-&gt; <cite>__saved_stdout__</cite>, and <cite>SAVED_STDERR</cite> -&gt; <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 &#8216;namespace&#8217; 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 &#8216;shell&#8217; 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 &#8216;argument_formatter&#8217; 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 &#8216;bootstrap&#8217; 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 &#8216;cement_xxx_hook&#8217; to just &#8216;xxx&#8217;.  For example, the
&#8216;cement_pre_setup_hook&#8217; is now simply &#8216;pre_setup&#8217;.  Additionally, the
&#8216;cement_on_close_hook&#8217; is now broken out into &#8216;pre_close&#8217;, and
&#8216;post_close&#8217;.</li>
<li>The cement.core.hooks.register decorator was replaced with a  simple
function of the same name.  New usage is:
register(&#8216;hook_name&#8217;, hook_func).</li>
<li>Plugins, extensions, and the application bootstrap now attempt to
call a &#8216;load()&#8217; function, meaning library code and loading code can
live in the same file (i.e. hooks won&#8217;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 &#8216;cement2&#8217; back to &#8216;cement&#8217;.</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 &#8216;config_section&#8217; 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 &#8216;meta_override&#8217; and &#8216;core_meta_override&#8217; 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&#8217;t expand &#8216;~&#8217;</li>
<li><a class="reference external" href="https://github.com/datafolklabs/cement/issues/91">Issue #91</a> - Logging to file doesn&#8217;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 &#8216;setup()&#8217; functions to &#8216;_setup()&#8217;</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 &#8216;app&#8217; 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 &#8216;daemon&#8217; extension.  Process is daemonized by
passing the &#8216;&#8211;daemon&#8217; 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 &#8216;cement_add_args_hook&#8217; and
&#8216;cement_validate_config&#8217; 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 &#8216;meta&#8217; classes to Python-proper &#8216;Meta&#8217;, and
interfaces to use &#8216;IMeta&#8217;.  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>
        &copy; 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>