comparison docs/pages/support/changelog.md @ 741:0c3b811d2c26

docs: Add changelog page.
author Ludovic Chabant <ludovic@chabant.com>
date Thu, 02 Jun 2016 20:21:47 -0700
parents
children 377f4b626e74
comparison
equal deleted inserted replaced
740:3ab6f7a3a2c7 741:0c3b811d2c26
1 ---
2 title: Changelog
3 layout: simple
4 ---
5
6 # Changelog
7
8
9 ## 1. PieCrust 2.0.0b6 (2016-06-02)
10
11
12 ### 1.0 Commands
13
14 * bake: Fix some crashes with new blog archive/taxonomy for incremental bakes.
15 * admin: Add support for ``.well-known`` folder.
16 * admin: Fix crash when previewing a website.
17 * serve: Fix some problems with trailing slashes.
18 * routes: Show the route template function.
19 * purge: Delete the whole cache directory, not just the current sub-cache.
20 * bake: Add blog archives generator.
21 * bake: Add the timestamp of the page to each record entry.
22 * bake: Fix some bugs with taxonomy combinations.
23 * bake: Replace hard-coded taxonomy support with "generator" system.
24 * themes: Add support for loading from a library of themes.
25 * bake: Don't clean the ``baker`` cache on a force bake.
26 * bake: Some more optimizations.
27 * showrecord: Don't print the record when you just want the stats.
28 * bake: Re-enable faster serialization between processes.
29 * bake: Add stat about aborted jobs
30 * bake: Use threads to read/write from/to the main arbitrator process.
31 * bake: Show more stats.
32 * bake: Use standard pickle and queue for now to fix some small issues.
33 * bake: Fix a crash when a rendering error occurs.
34 * chef: Fix ``--debug-only`` argument.
35 * bake: Change ``show-timers`` to ``show-stats`` , add stats.
36 * serve: Fix some crashes introduced by recent refactor.
37 * admin: Fix crash when running FoodTruck as a standalone web app.
38 * themes: Add support for a ``--theme`` argument to ``chef`` .
39 * admin: Add support for Git source-control.
40 * admin: Fix OS-specific new line problems when editing pages.
41 * admin: Show a more classic blog post listing in FoodTruck.
42 * admin: run an asset processing loop in the background.
43 * admin: Run the asset pipeline before showing the admin panel.
44
45 ### 1.1 Core
46
47 * internal: Remove threading stuff we don't need anymore.
48 * routing: Correctly call the underlying route template function from a merged one.
49 * routing: Fix problems with route functions.
50 * templating: Make blog archives generator expose more templating data.
51 * bug: Also look for format changes when determining if a page needs parsing.
52 * internal: Update the cache version to force re-gen the configuration settings.
53 * routing: Cleanup URL routing and improve page matching.
54 * internal: Remove unused code.
55 * rendering: Use ``fastpickle`` serialization before JSON.
56 * internal: Prevent crash because of missing logger.
57 * internal: Fix some bugs with the ``fastpickle`` module.
58 * debug: Pass the exceptions untouched when debugging.
59 * debug: Show more stuff pertaining to data providers in the debug window.
60 * data: Support both objects and dictionaries in ``MergedMapping`` .
61 * internal: Remove exception logging that shouldn't happen. Better message.
62 * internal: Remove unused piece of code.
63 * templating: Use HTTPS URLs for a couple things.
64 * internal: Don't run regexes for the 99% case of pages with no segments.
65 * internal: Fix compatibility with older Python 3.x.
66 * internal: Remove unused import.
67 * render: Change how we store render passes info.
68 * formatting: Don't import ``hoedown`` until we need it.
69 * formatting: Add a ``hoedown`` formatter.
70 * internal: Fix incorrect check for cache times.
71 * internal: More work/fixes on how default/theme/user configs are merged.
72 * internal: Bump cache version.
73 * internal: Refactor config loading some more.
74 * internal: Improve how theme configuration is validated and merged.
75 * internal: Get rid of the whole "sub cache" business.
76 * internal: Fix a bug with registering taxonomy terms that are not strings.
77 * internal: Move some basic FoodTruck SCM code to the base.
78
79 ### 1.2 Project
80
81 * cm: Fix ``setup.py`` script.
82 * docs: Use HTTPS version of Google Fonts.
83 * tests: Add some tests for blog archives and multi-blog features.
84 * tests: Add more tests for merged mappings.
85 * cm: Ignore bdist output directory.
86 * cm: Fix a packaging bug, update package metadata.
87 * tests: Add another app config test.
88 * cm: It's fun to send typos to Travis-CI.
89 * cm: Don't raise an exception when no version file exists.
90 * cm: Make Travis-CI test packaging.
91 * cm: Don't always generation the version when running ``setuptools`` .
92 * tests: Add ability to run tests with a theme site.
93 * tests: Improve failure reporting.
94 * cm: Add AppVeyor support.
95 * cm: Also test Python 3.5 with Travis.
96 * cm: Improve documentation generation script.
97 * cm: Ignore ``py.test`` cache.
98 * docs: Use new config variants format.
99 * tests: Fix logic for making time-based tests not fail randomly.
100 * docs: Add information on more global ``chef`` options.
101
102 ### 1.3 Miscellaneous
103
104 * Merge changes.
105 * Merge changes.
106 * jinja: Add ``md5`` filter.
107 * Fix 404 broken link
108
109 ## 2. PieCrust 2.0.0b5 (2016-02-16)
110
111
112 ### 2.0 Commands
113
114 * admin: Remove settings view.
115 * admin: Don't require ``bcrypt`` for running FoodTruck with ``chef`` .
116
117 ### 2.1 Core
118
119 * internal: Remove SyntaxWarning from MacOS wrappers.
120
121 ### 2.2 Project
122
123 * cm: Regenerate the CHANGELOG.
124 * cm: Tweaks to the release script.
125 * cm: Fix CHANGELOG newlines on Windows.
126 * cm: Update npm modules and bower packages before making a release.
127 * cm: Fixes and tweaks to the documentation generation task.
128 * cm: Update node module versions.
129 * cm: Update the node modules before building the documentation.
130 * cm: Get a new version of pytest-cov to avoid a random multiprocessing bug.
131 * cm: Ignore more things for pytest.
132 * cm: Move all scripts into a ``garcon`` package with ``invoke`` support.
133 * cm: Exclude the correct directories from vim-gutentags.
134 * cm: Fix categorization of CHANGELOG entries for new commands.
135 * cm: Regenerate the CHANGELOG.
136
137 ## 3. PieCrust 2.0.0b4 (2016-02-09)
138
139
140 ### 3.0 Commands
141
142 * chef: Fix the ``--config-set`` option.
143 * admin: Make the publish UI handle new kinds of target configurations.
144 * admin: Fix crashes when creating a new page.
145 * admin: Fix responsive layout.
146 * admin: Use ``HGPLAIN`` for the Mercurial VCS provider.
147 * publish: Add option to change the source for the ``rsync`` publisher.
148 * publish: Change the ``shell`` config setting name for the command to run.
149 * publish: Add the ``rsync`` publisher.
150 * publish: Polish/refactor the publishing workflows.
151 * admin: Make the sidebar togglable for smaller screens.
152 * admin: Change the default admin server port to 8090, add ``--port`` option.
153 * admin: Improve publish logs showing as alerts in the admin panel.
154 * publish: Make the ``shell`` log update faster by flushing the pipe.
155 * publish: Add publish command.
156 * chef: Add ``--pid-file`` option.
157 * admin: Use the app directory, not the cwd, in case of ``--root`` .
158 * admin: Configuration changes.
159 * admin: Fix "Publish started" message showing up multiple times.
160 * admin: Show the install page if no secret key is available.
161 * admin: Prompt the user for a commit message when committing a page.
162 * admin: Fix creating pages.
163 * admin: Better UI for publishing websites.
164 * admin: Better error reporting, general clean-up.
165 * admin: Fix constructor for Mercurial SCM.
166 * admin: Set the ``DEBUG`` flag before the app runs so we can read it during setup.
167 * admin: Ability to configure SCM stuff per site.
168 * admin: Better production config for FoodTruck, provide proper first site.
169 * admin: Make sure we have a valid default site to start with.
170 * admin: Dashboard UI cleaning, re-use utility function for page summaries.
171 * admin: Add summary of page in source listing.
172 * admin: New ``admin`` command to manage FoodTruck-related things.
173 * admin: Add "FoodTruck" admin panel from the side experiment project.
174 * bake: Add new performance timers.
175 * bake: Add support for a "known" page setting that excludes it from the bake.
176 * bake: Add option to bake assets for FoodTruck. This is likely temporary.
177 * sources: Add method to get a page factory from a path.
178 * sources: Add code to support "interactive" metadata acquisition.
179 * serve: Make it possible to preview pages with a custom root URL.
180 * serve: Fix corner cases where the pipeline doesn't run correctly.
181 * showconfig: Don't crash when the whole config should be shown.
182 * bake: Don't re-setup logging for workers unless we're sure we need it.
183 * serve: Fix error reporting when the background pipeline fails.
184 * chef: Add ``--debug-only`` option to only show debug logging for a given logger.
185 * routes: Add better support for taxonomy slugification.
186 * serve: Improve reloading and shutdown of the preview server.
187 * serve: Don't crash when looking at the debug info in a stand-alone window.
188 * serve: Improve debug information in the preview server.
189 * serve: Refactor the server to make pieces usable by the debugging middleware.
190 * serve: Fix timing information in the debug window.
191 * serve: Extract some of the server's functionality into WSGI middlewares.
192 * serve: Rewrite of the Server-Sent Event code for build notifications.
193 * serve: Werkzeug docs say you need to pass a flag with ``wrap_file`` .
194 * bake: Add a flag to know which record entries got collapsed from last run.
195 * bake: Set the flags, don't combine.
196
197 ### 3.1 Core
198
199 * debug: Fix debug window CSS.
200 * debug: Don't show parentheses on redirected properties.
201 * debug: Fix how the linker shows children/siblings/etc. in the debug window.
202 * internal: Some fixes to the new app configuration.
203 * internal: Refactor the app configuration class.
204 * cli: More proper argument parsing for the main/root arguments.
205 * cli: Add ``--no-color`` option.
206 * internal: Rename ``raw_content`` to ``segments`` since it's what it is.
207 * bug: Fix a crash when some errors occur during page rendering.
208 * data: Fix a crash bug when no parent page is set on an iterator.
209 * bug: Correctly handle root URLs with special characters.
210 * debug: Fix a crash when rendering debug info for some pages.
211
212 ### 3.2 Project
213
214 * docs: Make FoodTruck screenshots the proper size.
215 * cm: Add script to generate documentation.
216 * docs: Add documentation about FoodTruck.
217 * docs: Add raw files for FoodTruck screenshots.
218 * docs: Add documentation about the ``publish`` command.
219 * cm: Add some pretty little icons in the README.
220 * tests: Add unicode tests for case-sensitive file-systems.
221 * cm: Merge the 2 foodtruck folders, cleanup.
222 * cm: Fix Gulp config.
223 * docs: Fix broken link.
224 * cm: Put Bower/Gulp/etc. stuff all at the root.
225 * cm: Add requirements for FoodTruck.
226 * cm: Ignore more stuff for CtrlP or Gutentags.
227 * tests: Fix (hopefully) time-sensitive tests.
228 * cm: CHANGELOG generator can handle future versions.
229 * docs: Remove LessCSS dependencies in the tutorial, fix typos.
230 * tests: Fix broken unit test.
231 * tests: Fix another broken test.
232 * docs: Add reference entry about the ``site/slugify_mode`` setting.
233 * tests: Fix broken test.
234 * tests: Print more information when a bake test fails to find an output file.
235
236 ## 4. PieCrust 2.0.0b3 (2015-08-01)
237
238
239 ### 4.0 Commands
240
241 * import: Correctly convert unicode characters in site configuration.
242 * import: Fix the PieCrust 1 importer.
243 * import: Add some debug logging.
244
245 ### 4.1 Core
246
247 * internal: Fix a severe bug with the file-system wrappers on OSX.
248 * templating: Make more date functions accept 'now' as an input.
249
250 ### 4.2 Project
251
252 * cm: Update changelog.
253 * cm: Changelog generator script.
254 * cm: Add a Gutentags config file for ``ctags`` generation.
255 * tests: Check accented characters work in configurations.
256 * cm: Ignore Rope cache.
257
258 ## 5. PieCrust 2.0.0b2 (2015-07-29)
259
260
261 ### 5.0 Commands
262
263 * prepare: More help about scaffolding.
264
265 ### 5.1 Core
266
267 * bug: Fix crash running ``chef help scaffolding`` outside of a website.
268
269 ## 6. PieCrust 2.0.0b1 (2015-07-29)
270
271
272 ### 6.0 Commands
273
274 * prepare: Fix the RSS template.
275 * serve: Improve Jinja rendering error reporting.
276 * serve: Don't show the same error message twice.
277 * serve: Say what page a rendering error happened in.
278 * serve: Improve error reporting when pages are not found.
279 * bake: Add a processor to generate a Pygments style CSS file.
280 * bake: Fix logging configuration for multi-processing on Windows.
281 * themes: Improve CLI, add ``deactivate`` command.
282 * themes: Don't fixup template directories, it's actually better as-is.
283 * serve: Try to serve taxonomy pages after all normal pages have failed.
284 * serve: Fix a crash when matching taxonomy URLs with incorrect URLs.
285 * bake: Fix random crash with the Sass processor.
286 * themes: Add a ``link`` sub-command to install a theme via a symbolic link.
287 * themes: Add config paths to the cache key.
288 * themes: Proper template path fixup for the theme configuration.
289 * bake: Set the worker ID in the configuration. It's useful.
290 * themes: Fix crash when invoking command with no sub-command.
291
292 ### 6.1 Core
293
294 * templating: Add ``now`` global to Jinja, improve date error message.
295 * bug: Of course I broke something. Some exceptions need to pass through Jinja.
296 * bug: Fix file-system wrappers for non-Mac systems.
297 * bug: Forgot to add a new file like a big n00b.
298 * config: Make sure ``site/auto_formats`` has at least ``html`` .
299 * internal: Return ``None`` instead of raising an exception when finding pages.
300 * internal: Improve handling of taxonomy term slugification.
301 * formatting: Add support for Markdown extension configs.
302 * templating: ``highlight_css`` can be passed the name of a Pygments style.
303 * bug: Fix a crash with the ``ordered`` page source when sorting pages.
304 * internal: Fix some edge-cases for splitting sub-URIs.
305 * internal: Fix timing info.
306 * templating: Make Jinja support arbitrary extension, show warning for old stuff.
307 * internal: Correctly split sub URIs. Add unit tests.
308
309 ### 6.2 Project
310
311 * tests: Help the Yaml loader figure out the encoding on Windows.
312 * cm: Re-fix Mac file-system wrappers.
313 * cm: Add ``unidecode`` to requirements.
314 * tests: Fix processing test after adding ``PygmentsStyleProcessor`` .
315 * docs: Use fenced code block syntax.
316 * docs: Add some syntax highlighting to tutorial pages.
317 * docs: Make code prettier :)
318 * docs: Always use Pygments styles. Use the new CSS generation processor.
319 * docs: Configure fenced code blocks in Markdown with Pygments highlighting.
320 * docs: Add some API documentation.
321 * docs: Start a proper "code/API" section.
322 * cm: Error in ``.hgignore`` . Weird.
323 * docs: No need to specify the layout here.
324 * docs: Make the "deploying" page consistent with "publishing".
325 * docs: More generic information about baking and publishing.
326 * tests: Fix the Mustache tests on Windows.
327 * tests: Fix ``find`` tests on Windows.
328 * tests: Fix processing tests on Windows.
329 * tests: Normalize test paths using the correct method.
330 * cm: Fix benchmark website generation on Windows.
331 * cm: Ignore ``.egg-info`` stuff.
332
333 ### 6.3 Miscellaneous
334
335 * bake/serve: Improve support for unicode, add slugification options.
336 * cosmetic: Remove debug print here too.
337 * cosmetic: Remove debug printing.
338 * sass: Overwrite the old map file with the new one always.
339 * less: Fix issues with the map file on Windows.
340 * jinja: Support ``.j2`` file extensions.
341
342 ## 7. PieCrust 2.0.0a13 (2015-07-14)
343
344
345 ### 7.0 Commands
346
347 * bake: Fix a bug with copying assets when ``pretty_urls`` are disabled.
348
349 ### 7.1 Core
350
351 * bug: Fix copying of page assets during the bake.
352 * bug: Correctly setup the environment/app for bake workers.
353
354 ## 8. PieCrust 2.0.0a12 (2015-07-14)
355
356
357 ### 8.0 Commands
358
359 * bake: Pass the config variants and values from the CLI to the baker.
360 * bake: Add CLI argument to specify job batch size.
361 * bake: Use batched jobs in the worker pool.
362 * bake: Correctly use the ``num_worers`` setting.
363 * bake: Abort "render first" jobs if we start using other pages.
364 * bake: Don't pass the previous record entries to the workers.
365 * bake: Optimize the bake by not using custom classes for passing info.
366 * serve: Use Werkzeug's HTTP exceptions correctly.
367 * serve: Fix bug with creating routing metadata from the URL.
368 * bake: Commonize worker pool code between html and asset baking.
369 * bake: Tweaks to the ``sitemap`` processor. Add tests.
370 * bake: Pass the sub-cache directory to the bake workers.
371 * bake: Improve performance timers reports.
372 * serve: Fix crash on start.
373 * bake: Improve bake record information.
374 * bake: Make pipeline processing multi-process.
375 * bake: Enable multiprocess baking.
376
377 ### 8.1 Core
378
379 * bug: Fix CLI crash caused by configuration variants.
380 * internal: Handle data serialization more under the hood.
381 * internal: Add support for fake pickling of date/time structures.
382 * internal: Just use the plain old standard function.
383 * rendering: Truly skip formatters that are not enabled.
384 * templating: Let Jinja2 cache the parsed template for page contents.
385 * internal: Add a ``fastpickle`` module to help with multiprocess serialization.
386 * bug: Fix infinite loop in Jinja2 rendering.
387 * performance: Only use Jinja2 for rendering text if necessary.
388 * performance: Use the fast YAML loader if available.
389 * performance: Add profiling to the asset pipeline workers.
390 * internal: Remove unnecessary import.
391 * performance: Refactor how data is managed to reduce copying.
392 * bug: Fix routing bug introduced by 21e26ed867b6.
393 * bug: Fix a crash when errors occur while processing an asset.
394 * reporting: Print errors that occured during pipeline processing.
395 * templating: Add modification time of the page to the template data.
396 * reporting: Better error messages for incorrect property access on data.
397 * internal: Floats are also allowed in configurations, duh.
398 * internal: Create full route metadata in one place.
399 * templating: Workaround for a bug with Pystache.
400 * templating: Fix Pystache template engine.
401 * performance: Compute default layout extensions only once.
402 * performance: Quick and dirty profiling support for bake workers.
403 * internal: Fix caches being orphaned from their directory.
404 * render: Lazily import Textile package.
405 * internal: Remove unnecessary code.
406 * internal: Optimize page data building.
407 * internal: Optimize page segments rendering.
408 * internal: Add utility function for incrementing performance timers.
409 * internal: Move ``MemCache`` to the ``cache`` module, remove threading locks.
410 * internal: Register performance timers for plugin components.
411 * internal: Allow re-registering performance timers.
412 * debug: Fix serving of resources now that the module moved to a sub-folder.
413 * debug: Better debug info output for iterators, providers, and linkers.
414 * debug: Add support for more attributes for the debug info.
415 * debug: Log error when an exception gets raised during debug info building.
416 * linker: Add ability to return the parent and ancestors of a page.
417
418 ### 8.2 Project
419
420 * cm: Fix wrong directory for utilities.
421 * cm: Add script to generate benchmark websites.
422 * cm: Use Travis CI's new infrastructure.
423 * tests: Fix Jinja2 test.
424 * cm: Move build directory to util to avoid conflicts with pip.
425 * tests: Fix crash in processing tests.
426 * tests: Add pipeline processing tests.
427 * docs: Add the ``--pre`` flag to ``pip install`` while PieCrust is in beta.
428
429 ### 8.3 Miscellaneous
430
431 * Fixed 'bootom' to 'bottom'
432 * markdown: Cache the formatter once.
433
434 ## 9. PieCrust 2.0.0a11 (2015-05-18)
435
436
437 ### 9.0 Commands
438
439 * bake: Return all errors from a bake record entry when asked for it.
440 * serve: Fix bug where ``?!debug`` doesn't get appending correctly.
441 * serve: Remove development assert.
442
443 ### 9.1 Core
444
445 * linker: Fix linker returning the wrong value for ``is_dir`` in some situations.
446 * linker: Fix error when trying to list non-existing children.
447 * pagination: Fix regression bug with previous/next posts.
448 * data: Fix regression bug with accessing page metadata that doesn't exist.
449
450 ### 9.2 Project
451
452 * tests: More accurate marker position for diff'ing strings.
453 * tests: Fail bake tests with a proper error message when bake fails.
454 * tests: Move all bakes/cli/servings tests files to have a YAML extension.
455 * tests: Also mock ``open`` in Jinja to be able to use templates in bake tests.
456 * tests: Add support for testing the Chef server.
457
458 ### 9.3 Miscellaneous
459
460 * jinja: Look for ``html`` extension first instead of last.
461
462 ## 10. PieCrust 2.0.0a10 (2015-05-15)
463
464
465 ### 10.2 Project
466
467 * setup: Add ``requirements.txt`` to ``MANIFEST.in`` so it can be used by the setup.
468
469 ## 11. PieCrust 2.0.0a9 (2015-05-11)
470
471
472 ### 11.0 Commands
473
474 * serve: Add a generic WSGI app factory.
475 * serve: Compatibility with ``mod_wsgi`` .
476 * serve: Add a WSGI utility module for easily getting a default app.
477 * serve: Add ability to suppress the debug info window programmatically.
478 * serve: Split the server code in a couple modules inside a ``serving`` package.
479
480 ### 11.1 Core
481
482 * internal: Make it possible to pass ``argv`` to the main Chef function.
483 * data: Fix problems with using non-existing metadata on a linked page.
484 * routing: Fix bugs with matching URLs with correct route but missing metadata.
485
486 ### 11.2 Project
487
488 * tests: Add a Chef test for the ``find`` command.
489 * tests: Add support for "Chef tests", which are direct CLI tests.
490 * docs: Add lame bit of documentation on publishing your website.
491 * docs: Add documentation for deploying as a dynamic CMS.
492 * tests: Fix serving unit-tests.
493 * setup: Keep the requirements in sync between ``setuptools`` and ``pip`` .
494
495 ## 12. PieCrust 2.0.0a8 (2015-05-03)
496
497
498 ### 12.0 Commands
499
500 * theme: Fix link to PieCrust documentation.
501 * serve: Giant refactor to change how we handle data when serving pages.
502 * sources: Default source lists pages in order.
503 * serve: Refactoring and fixes to be able to serve taxonomy pages.
504 * sources: Fix how the ``autoconfig`` source iterates over its structure.
505 * bake: Fix crash when handling bake errors.
506
507 ### 12.1 Core
508
509 * caching: Use separate caches for config variants and other contexts.
510 * linker: Don't put linker stuff in the config.
511 * config: Add method to deep-copy a config and validate its contents.
512 * internal: Return the first route for a source if no metadata match is needed.
513
514 ### 12.2 Project
515
516 * tests: Changes to output report and hack for comparing outputs.
517
518 ### 12.3 Miscellaneous
519
520 * Update development ``requirements.txt`` , add code coverage tools.
521 * Update ``requirements.txt`` .
522
523 ## 13. PieCrust 2.0.0a7 (2015-04-20)
524
525
526 ### 13.0 Commands
527
528 * import: Use the proper baker setting in the Jekyll importer.
529 * serve: Don't access the current render pass info after rendering is done.
530 * chef: Fix pre-parsing.
531 * chef: Add a ``--config-set`` option to set ad-hoc site configuration settings.
532 * find: Don't change the pattern when there's none.
533 * bake: Improve render context and bake record, fix incremental bake bugs.
534 * bake: Several bug taxonomy-related fixes for incorrect incremental bakes.
535 * bake: Use a rotating bake record.
536 * showrecord: Add ability to filter on the output path.
537 * serve: Fix crash on URI parsing.
538
539 ### 13.1 Core
540
541 * data: Also expose XML date formatting as ``xmldate`` in Jinja.
542 * pagination: Make pagination use routes to generate proper URLs.
543 * internal: Remove unused code.
544 * config: Add ``default_page_layout`` and ``default_post_layout`` settings.
545 * internal: Template functions could potentially be called outside of a render.
546 * internal: Fix stupid routing bug.
547 * internal: Use hashes for cache paths.
548 * internal: Try handling URLs in a consistent way.
549
550 ### 13.2 Project
551
552 * docs: Add documentation for importing content from other engines.
553 * build: Put dev-only lib requirements into a ``dev-requirements.txt`` file.
554 * docs: Add "active page" style for the navigation menu.
555 * tests: Improve bake tests output, add support for partial output checks.
556 * tests: Add more utility functions to the mock file-system.
557 * docs: Add new site configuration settings to the reference documentation.
558 * tests: Support for YAML-based baking tests. Convert old code-based ones.
559 * tests: Remove debug output.
560 * tests: Add ``os.rename`` to the mocked functions.
561 * tests: Fix test.
562 * tests: Raise an exception instead of crashing rudely.
563
564 ### 13.3 Miscellaneous
565
566 * cleancss: Fix stupid bug.
567
568 ## 14. PieCrust 2.0.0a6 (2015-03-30)
569
570
571 ### 14.0 Commands
572
573 * import: Wordpress importer puts drafts in a ``draft`` folder. Ignore other statuses.
574 * plugins: Remove unused API endpoints.
575 * plugins: Fix crash for sites that don't specify a ``site/plugins`` setting.
576 * plugins: Change how plugins are loaded. Add a ``plugins`` command.
577 * import: Show help if no sub-command was specified.
578 * plugins: First pass for a working plugin loader functionality.
579 * import: Make the Wordpress importer extendable, rename it to ``wordpressxml`` .
580 * import: Add an XML-based Wordpress importer.
581 * sources: Make sure page sources have some basic config info they need.
582 * import: Put importer metadata on the class, and allow return values.
583 * import: Upgrade more settings for the PieCrust 1 importer.
584 * serve: Don't crash when a post URL doesn't match our expectations.
585 * serve: Correctly show timing info even when not in debug mode.
586 * theme: Fix the default theme's templates after changes in Jinja's wrapper.
587 * themes: Add the ``chef themes`` command
588 * sources: Generate proper slugs in the ``autoconfig`` and ``ordered`` sources.
589 * bake: Don't store internal config values in the bake record.
590 * sources: Use ``posts_*`` and ``items_*`` settings more appropriately.
591 * serve: Use Etags and 304 responses for assets.
592 * sources: The ordered source returns names without prefixes in ``listPath`` .
593 * sources: Fix a bug where the ``posts`` source wasn't correctly parsing URLs.
594 * sources: Refactor ``autoconfig`` source, add ``OrderedPageSource`` .
595 * bake: Don't include the site root when building output paths.
596 * serve: Fix a bug where empty route metadata is not the same as invalid route.
597 * serve: Print nested exception messages in the dev server.
598 * serve: Keep the ``?!debug`` when generating URLs if it is enabled.
599 * serve: Fix exiting the server with ``CTRL+C`` when the SSE response is running.
600 * serve: Don't expose the debug info right away when running with ``--debug`` .
601 * bake: Fix processing record bugs and error logging for external processes.
602 * bake: Change arguments to selectively bake to make them symmetrical.
603 * serve: Add server sent events for showing pipeline errors in the debug window.
604 * showrecord: Show the overall status (success/failed) of the bake.
605 * bake: Better error handling for site baking.
606 * bake: Better error handling for the processing pipeline.
607 * serve: Don't have 2 processing loops running when using ``--use-reloader`` .
608 * theme: Updated "quickstart" text shown for new websites.
609 * serve: Run the asset pipeline asynchronously.
610 * bake: Changes in how assets directories are configured.
611 * serve: Correctly pass on the HTTP status code when an error occurs.
612 * bake: Remove ``--portable`` option until it's (maybe) implemented.
613 * showrecord: Also show the pipeline record.
614 * showrecord: Show relative paths.
615 * serve: Make the server find assets generated by external tools.
616 * prepare: Add user-defined scaffolding templates.
617 * sources: Pass any current mode to ``_populateMetadata`` when finding pages.
618
619 ### 14.1 Core
620
621 * data: Better error message for old date formats, add ``emaildate`` filter.
622 * pagination: Add support for ``site/default_pagination_source`` .
623 * config: Assign correct data endpoint for blogs to be v1-compatible.
624 * internal: Add utility function to get a page from a source.
625 * internal: Be more forgiving about building ``Taxonomy`` objects. Add ``setting_name`` .
626 * config: Make sure ``site/plugins`` is transformed into a list.
627 * internal: Remove mentions of plugins directories and sources.
628 * config: Make YAML consider ``omap`` structures as normal maps.
629 * data: Fix incorrect next/previous page URLs in pagination data.
630 * data: Temporary hack for asset URLs.
631 * data: Don't nest filters in the paginator -- nest clauses instead.
632 * data: Correctly build pagination filters when we know items are pages.
633 * internal: Re-use the cached resource directory.
634 * routing: Better generate URLs according to the site configuration.
635 * data: Add a top level wrapper for ``Linker`` .
636 * internal: Code reorganization to put less stuff in ``sources.base`` .
637 * internal: Fix bug with the default source when listing ``/`` path.
638 * data: ``Linker`` refactor.
639 * internal: Add support for "wildcard" loader in ``LazyPageConfigData`` .
640 * internal: Removing some dependency of filters and iterators on pages.
641 * internal: Make the simple page source use ``slug`` everywhere.
642 * data: Fix typos and stupid errors.
643 * data: Make the ``Linekr`` use the new ``getSettingAccessor`` API.
644 * data: Add ability for ``IPaginationSource`` s to specify how to get settings.
645 * data: Only expose the ``family`` linker.
646 * internal: Bump the processing record version.
647 * internal: Remove the (unused) ``new_only`` flag for pipeline processing.
648 * data: Improve the Linker and RecursiveLinker features. Add tests.
649 * internal: A bit of input validation for source APIs.
650 * internal: Add ability to get a default value if a config value doesn't exist.
651 * render: Add support for a Mustache template engine.
652 * render: Don't always use a ``.html`` extension for layouts.
653 * render: When a template engine can't be found, show the correct name in the error.
654
655 ### 14.2 Project
656
657 * docs: Quick support info page.
658 * tests: Add utility function to create multiple mock pages in one go.
659 * tests: Add a blog data provider test.
660 * tests: Bad me, the tests were broken. Now they're fixed.
661 * docs: Add documentation on making a plugin.
662 * docs: Add documentation on the asset pipeline.
663 * docs: Fix link, add another link.
664 * docs: A whole bunch of drafts for content model and reference pages.
665 * docs: Fix missing link.
666 * docs: Documentation for iterators and filtering.
667 * docs: Add the ability to use Pygments highlighting.
668 * docs: Pagination and assets' documentation.
669 * tests: Fixes for running on Windows.
670 * docs: Still more documentation.
671 * docs: Properly escape examples with Jinja markup.
672 * docs: Last part of the tutorial.
673 * docs: More tutorial text.
674 * docs: Tutorial part 2.
675 * docs: Tweak CSS for boxed text.
676 * docs: Change docs' templates after changes in Jinja's wrapper.
677 * docs: Add information about the asset pipeline.
678 * docs: Add a page explaining how PieCrust works at a high level.
679 * docs: Still adding more pages.
680 * tests: Fix linker tests.
681 * docs: Website configuration reference.
682 * docs: Add website configuration page.
683 * docs: More on creating websites.
684 * docs: Documentation on website structure.
685 * docs: Add some general information on ``chef`` .
686 * docs: Tutorial part 1.
687 * docs: Fix URLs to the docs source.
688 * docs: Add embryo of a documentation website.
689 * tests: Fix tests for base sources.
690 * tests: Remove debug output.
691 * tests: Add tests for Jinja template engine.
692 * build: Add ``pystache`` to ``requirements.txt`` .
693 * tests: Patch ``os.path.exists`` and improve patching for ``open`` .
694 * tests: Add help functions to get and render a simple page.
695
696 ### 14.3 Miscellaneous
697
698 * bake/serve: Fix how taxonomy index pages are setup and rendered.
699 * dataprovider: Use the setting name for a taxonomy to match page config values.
700 * cleancss: Add option to specify an output extension, like ``.min.css`` .
701 * jinja: Add a global function to render Pygments' CSS styles.
702 * jinja: Fix Twig compatibility for block trimming.
703 * sitemap: Fix broken API call.
704 * jinja: Provide a more "standard" Jinja configuration by default.
705 * logging: If an error doesn't have a message, print its type.
706 * Use the site root for docs assets.
707 * Temporary root URL for publishing.
708 * Add bower configuration file.
709 * Merge docs.
710 * cosmetic: PEP8 compliance.
711 * bake/serve: Make previewed and baked URLs consistent.
712 * oops: Remove debug print.
713 * Merge code changes.
714 * less: Generate a proper, available URL for the LESS CSS map file.
715 * sitemap: Fixed typo bug.
716 * cosmetic: Fix PEP8 spacing.
717 * processing: Use the correct full path for mounts.
718 * processing: Don't fail if an asset we want to remove has already been removed.
719 * processing: Add ``concat`` , ``uglifyjs`` and ``cleancss`` processors.
720 * processing: More powerful syntax to specify pipeline processors.
721 * markdown: Let the user specify extensions in one line.
722 * processing: Add ability to specify processors per mount.
723 * builtin: Remove ``plugins`` command, it's not ready yet.
724 * processing: Add Compass and Sass processors.
725 * cosmetic: Fix some PEP8 issues.
726 * cosmetic: Fix some PEP8 issues.
727 * processing: Add more information to the pipeline record.
728
729 ## 15. PieCrust 2.0.0a5 (2015-01-03)
730
731
732 ### 15.0 Commands
733
734 * routes: When matching URIs, return metadata directly instead of the match object.
735 * serve: Always force render the page being previewed.
736 * routes: Actually match metadata when finding routes, fix problems with paths.
737 * sources: Add an ``IListableSource`` interface for sources that can be listed.
738 * sources: Make the ``SimplePageSource`` more extensible, fix bugs in ``prose`` source.
739 * serve: Add option to use the debugger without ``--debug`` .
740 * routes: Show regex patterns for routes.
741 * chef: Work around a bug in MacOSX where the default locale doesn't work.
742 * bake: Don't crash stupidly when there was no previous version.
743 * prepare: Show a more friendly user message when no arguments are given.
744 * find: Fix the ``find`` command, add more options.
745 * sources: Add ``chef sources`` command to list page sources.
746 * paths: properly format lists of paths.
747
748 ### 15.1 Core
749
750 * linker: Actually implement the ``Linker`` class, and use it in the page data.
751
752 ### 15.2 Project
753
754 * setup: Make version generation compatible with PEP440.
755 * build: Add Travis-CI config file.
756 * tests: Add unit tests for routing classes.
757 * tests: Fix serving test.
758
759 ### 15.3 Miscellaneous
760
761 * cosmetic: pep8 compliance.
762 * Moved all installation instructions to a new ``INSTALL`` file.
763 * Add support for KeyboardInterrupt in bake process.
764 * Fix some indentation and line lengths.
765 * First draft of the ``prose`` page source.
766 * Simplify ``AutoConfigSource`` by inheriting from ``SimplePageSource`` .
767 * Properly use, or not, the debugging when using the chef server.
768 * Match routes completely, not partially.
769 * Make a nice error message when a layout hasn't been found.
770 * Better combine user sources/routes with the default ones.
771 * Forgot this wasn't C++.
772 * Split baking code in smaller files.
773 * Add ``ctrlpignore`` file.
774 * Add ``autoconfig`` page source.
775 * Pass date information to routing when building URLs.
776 * Don't fail if trying to clean up a file that has already been deleted.
777 * Fix unit tests.
778 * Fix a bug with page references in cases of failure. Add unit tests.
779 * Use ordered dictionaries to preserve priorities between auto-formats.
780 * Better date/time handling for pages:
781 * Switch the PieCrust server to debug mode with ``?!debug`` in the URL.
782 * Display page tags with default theme.
783 * Fix outdate information and bug in default theme's main page.
784 * Make configuration class more like ``dict`` , add support for merging ``dicts`` .
785 * Fixed outdate information in error messages' footer.
786 * Oops.
787 * Don't use Werkzeug's reloader in non-debug mode unless we ask for it.
788 * More installation information in the README file.
789 * Optimize server for files that already exist.
790 * Don't colour debug output.
791 * Ignore messages' counter.
792 * Handle the case where the debug server needs to serve an asset created after it was started.
793 * Add ability for the processing pipeline to only process new assets.
794 * Fix error reporting and counting of lines.
795 * Fix how we pass the out directory to the baking modules.
796 * Check we don't give null values to the processing pipeline.
797 * Update system messages.
798 * Add Textile formatter.
799 * Upgrade system messages to the new folder structure.
800 * Fix generation of system messages.
801 * Fix stupid bug.
802 * Better error management and removal support in baking/processing.
803 * Slightly more robust dependency handling for the LESS processor.
804 * Don't stupidly crash in the RequireJS processor.
805 * Changes to the asset processing pipeline:
806 * Cosmetic fix.
807 * Fix search for root folder. Must have been drunk when I wrote this originally.
808 * When possible, try and batch-load pages so we only lock once.
809 * Re-enable proper caching of rendered segments in server.
810 * Use cache paths that are easier to debug than hashes.
811 * Quick fix for making the server correctly update referenced pages.
812 * Prepare the server to support background asset pipelines.
813 * Fix post sources datetimes by adding missing metadata when in "find" mode.
814 * Properly add the config time to a page's datetime.
815 * Better support for times in YAML interop.
816 * Don't look for tests inside the ``build`` directory.
817 * Property clean all caches when force baking, except the ``app`` cache.
818 * Fix a bug with the posts source incorrectly escaping regex characters.
819 * Better ``prepare`` command, with templates and help topics.
820 * Changes to ``help`` command and extendable commands:
821 * Exit with the proper code.
822 * Add ``--log-debug`` option.
823 * Improvements and fixes to incremental baking.
824 * Fixed a bug with the ``shallow`` source. Add unit tests.
825 * Unused import.
826 * Use the ``OrderedDict`` correctly when fresh-loading the app config.
827 * More options for the ``showrecord`` command.
828 * Improvements to incremental baking and cache invalidating.
829 * PyYAML supports sexagesimal notation, so handle that for page times.
830 * Fixes to the ``cache`` Jinja tag.
831 * Remove unneeded trace.
832 * Merge changes.
833 * Allow adding to the default content model instead of replacing it.
834 * Ability to output debug logging to ``stdout`` when running unit-tests.
835 * Add a ``BakeScheduler`` to handle build dependencies. Add unit-tests.
836 * Don't complain about missing ``pages`` or ``posts`` directories by default.
837 * Support for installing from Git.
838 * Propertly create ``OrderedDict`` s when loading YAML.
839 * Better date creation for blog post scaffolding.
840 * Use ``SafeLoader`` instead of ``BaseLoader`` for Yaml parsing.
841 * Fix ``setuptools`` install.
842 * Ignore ``setuptools`` build directory.
843 * Always use version generated by ``setup.py`` . Better version generation.
844 * I don't care what the YAML spec says, ordered maps are the only sane way.
845 * Add ``compressinja`` to install/env requirements.
846 * Jinja templating now has ``spaceless`` , ``|keys`` and ``|values`` .
847 * PieCrust 1 import: clean empty directories and convert some config values.
848 * In-place upgrade for PieCrust 1 sites.
849 * Simple importer for PieCrust 1 websites.
850 * Print the help by default when running ``chef`` with no command.
851 * Add ``import`` command, Jekyll importer.
852 * Better handling of Jinja configuration.
853 * More robust Markdown configuration handling.
854 * Add ``help`` function, cleanup argument handling.
855 * Make template directories properly absolute.
856 * Processors can match on other things than just the extension.
857 * Use properly formatted date components for the blog sources.
858 * Setup the server better.
859 * Don't use file-system caching for rendered segments yet.
860 * Use the item name for the ``prepare`` command.
861 * Properly override pages between realms.
862 * Fix cache validation issue with rendered segments, limit disk access.
863 * Give the proper URL to ``Paginator`` in the ``paginate`` filter.
864 * Cache rendered segments to disk.
865 * Apparently Jinja doesn't understand ``None`` the way I thought.
866 * Don't recursively clean the cache.
867 * Correctly set the ``debug`` flag on the app.
868 * Proper debug logging.
869 * Fix a crash when checking for timestamps on template files.
870 * Error out if ``date`` filter is used with PHP date formats.
871 * Fix stupid debug logging bug.
872 * Better error reporting and cache validation.
873 * Fix running ``chef`` outside of a website. Slightly better error reporting.
874 * Don't look at theme sources in ``chef prepare`` .
875 * New site layout support.
876 * More unit tests, fix a bug with the skip patterns.
877 * Add ``sitemap`` processor.
878 * Get the un-paginated URL of a page early and pass that around.
879 * Fix problems with asset URLs.
880 * Make sure ``.html`` is part of auto-formats.
881 * Fix stupid bug in default source, add some unit tests.
882 * More unit tests for output bake paths.
883 * The ``date`` filter now supports passing ``"now"`` as in Twig.
884 * Various fixes for the default page source:
885 * Use the same defaults as in PieCrust 1.
886 * Copy page assets to bake output, use correct slashes when serving assets.
887 * Mock ``os.path.isfile`` , and fix a few other test utilities.
888 * Don't try to get the name of a source that doesn't have one.
889 * Correctly match skip patterns.
890 * Fix for pages listing pages from other sources.
891 * Add support for Markdown extensions.
892 * Add the ``paginate`` filter to Jinja, activate ``auto_reload`` .
893 * Slightly better exception throwing in the processing pipeline.
894 * The LESS compiler must be launched in a shell on Windows.
895 * Correctly set the current page on a pagination slicer.
896 * Fix how the ``Paginator`` gets the numer of items per page.
897 * Properly escape HTML characters in the debug info, add more options.
898 * Make the ``Assetor`` iterate over paths.
899 * Define page slugs properly, avoid recursions with debug data.
900 * Fixes for Windows, make ``findPagePath`` return a ref path.
901 * Fix some bugs with iterators, add some unit tests.
902 * Add packaging and related files.
903 * Update the ``requirements`` file.
904 * More PieCrust 3 fixes, and a couple of miscellaneous bug fixes.
905 * More Python 3 fixes, modularization, and new unit tests.
906 * Upgrade to Python 3.
907 * Added requirements file for ``pip`` .
908 * Gigantic change to basically make PieCrust 2 vaguely functional.
909 * Added unit tests (using ``py.test`` ) for ``Configuration`` .
910 * Re-arranged modules to reduce dependencies to builtin stuff.
911 * Initial commit.