pico/CHANGELOG.md
2015-11-03 17:32:58 +01:00

7.1 KiB

*** Pico Changelog ***

2015.11.XX - version 1.0.0-beta.1

  • NOTE: This changelog only provides basic information about the enormous changes introduced with Pico 1.0.0-beta.1. Please refer to the UGPRADE section of the docs for details.
  • [Security] (9e2604a) Prevent content_dir breakouts using malicious URLs
  • [New] Pico is on its way to its first stable release!
  • [New] Provide pre-bundled releases
  • [New] Heavily expanded documentation (inline code docs, user docs, dev docs)
  • [New] New routing system using the QUERY_STRING method; Pico now works out-of-the-box with any webserver and without URL rewriting; use %base_url%?sub/page in markdown files and {{ "sub/page"|link }} in Twig templates to declare internal links
  • [New] Brand new plugin system with dependencies (see PicoPluginInterface and AbstractPicoPlugin); if you're plugin dev, you really should take a look at the UPGRADE section of the docs!
  • [New] Introducing the PicoDeprecated plugin to maintain full backward compatibility with Pico 0.9 and Pico 0.8
  • [New] Support YAML-style meta header comments (---)
  • [New] Various new placeholders to use in content files (e.g. %site_title%)
  • [New] Provide access to all meta headers in content files (%meta.*%)
  • [New] Provide access to meta headers in $page arrays ($page['meta'])
  • [New] The file extension of content files is now configurable
  • [New] Add Pico::setConfig() method to predefine config variables
  • [New] Supporting per-directory 404.md files
  • [New] #103: Providing access to sub.md even when the sub directory exists, provided that there is no sub/index.md
  • [New] #249: Support the .twig file extension for templates
  • [New] #268, 269: Now using Travis CI; performing basic code tests and implementing an automatic release process
  • [Changed] Complete code refactoring
  • [Changed] Source code now follows PSR code styling
  • [Changed] Replacing constants (e.g. ROOT_DIR) with constructor parameters
  • [Changed] Paths (e.g. content_dir) are now relative to Picos root dir
  • [Changed] Adding Pico::run() method that performs Picos processing and returns the rendered contents
  • [Changed] Renaming all plugin events; adding some new events
  • [Changed] Pico_Plugin is now the fully documented DummyPlugin
  • [Changed] Meta data must start on the first line of the file now
  • [Changed] Dropping the need to register meta headers for the convenience of users and pure (!) theme devs; plugin devs are still REQUIRED to register their meta headers during onMetaHeaders
  • [Changed] Exclude inaccessible files from pages list
  • [Changed] With alphabetical order, index files (e.g. sub/index.md) are now always placed before their sub pages (e.g. sub/foo.md)
  • [Changed] Pico requires PHP >= 5.3.6 (due to erusev/parsedown-extra)
  • [Changed] Pico now implicitly uses a existing content directory without the need to configure this in the config/config.php explicitly
  • [Changed] Composer: Require a v0.7 release of erusev/parsedown-extra
  • [Changed] #93, #158: Pico doesn't parse all content files anymore; moved to PicoParsePagesContent plugin, but still impacts performance; Note: This means $page['content'] isn't available anymore, but usually the new $page['raw_content'] is suitable as replacement.
  • [Changed] #116: Parse meta headers using the Symfony YAML component
  • [Changed] #244: Replace opendir() with scandir()
  • [Changed] #246: Move config.php to config/ directory
  • [Changed] #253: Assume HTTPS if page is requested through port 443
  • [Changed] A vast number of small improvements and changes...
  • [Fixed] Sorting by date now uses timestamps and works as expected
  • [Fixed] Fixing $currentPage, $nextPage and $previousPage
  • [Fixed] #99: Support content filenames with spaces
  • [Fixed] #140, #241: Use file paths as page identifiers rather than titles
  • [Fixed] #248: Always set a timezone; adding $config['timezone'] option
  • [Fixed] A vast number of small bugs...
  • [Removed] Removing the default Twig cache dir
  • [Removed] Removing various empty index.html files
  • [Removed] Moving Picos excerpt feature to PicoExcerpt plugin

2015.04.28 - version 0.9

  • [New] Default theme is now mobile-friendly
  • [New] Description meta now available in content areas
  • [New] Add description to composer.json
  • [Changed] content folder is now content-sample
  • [Changed] config.php moved to config.php.template
  • [Changed] Updated documentation & wiki
  • [Changed] Removed Composer, Twig files in /vendor, you must run composer install now
  • [Changed] Localized date format; strftime() instead of date()
  • [Changed] Added ignore for tmp file extensions in the get_files() method
  • [Changed] michelf/php-markdown is replaced with erusev/parsedown-extra
  • [Changed] $config is no global variable anymore
  • [Fixed] Pico now only removes the 1st comment block in .md files
  • [Fixed] Issue wherein the alphabetical sorting of pages did not happen

2013.10.23 - version 0.8

  • [New] Added ability to set template in content meta
  • [New] Added before_parse_content and after_parse_content hooks
  • [Changed] content_parsed hook is now deprecated
  • [Changed] Moved loading the config to nearer the beginning of the class
  • [Changed] Only append ellipsis in limit_words() when word count exceeds max
  • [Changed] Made private methods protected for better inheritance
  • [Fixed] Fixed get_protocol() method to work in more situations

2013.09.04 - version 0.7

  • [New] Added before_read_file_meta and get_page_data plugin hooks to customize page meta data
  • [Changed] Make get_files() ignore dotfiles
  • [Changed] Make get_pages() ignore Emacs and temp files
  • [Changed] Use composer version of Markdown
  • [Changed] Other small tweaks
  • [Fixed] Date warnings and other small bugs

2013.05.07 - version 0.6.2

  • [Changed] Replaced glob_recursive with get_files

2013.05.07 - version 0.6.1

  • [New] Added "content" and "excerpt" fields to pages
  • [New] Added excerpt_length config setting

2013.05.06 - version 0.6

  • [New] Added plugin functionality
  • [Changed] Other small cleanup

2013.05.03 - version 0.5

  • [New] Added ability to order pages by "alpha" or "date" (asc or desc)
  • [New] Added prev_page, current_page, next_page and is_front_page template vars
  • [New] Added "Author" and "Date" title meta fields
  • [Changed] Added "twig_config" to settings
  • [Changed] Updated documentation
  • [Fixed] Query string 404 bug

2013.05.01 - version 0.4.1

  • [New] Added CONTENT_EXT global
  • [Changed] Use .md files instead of .txt

2013.05.01 - version 0.4

  • [New] Add get_pages() function for listing content
  • [New] Added changelog.txt
  • [Changed] Updated default theme
  • [Changed] Updated documentation

2013.04.27 - version 0.3

  • [Fixed] get_config() function

2013.04.26 - version 0.2

  • [Changed] Updated Twig
  • [Changed] Better checking for HTTPS
  • [Fixed] Add 404 header to 404 page
  • [Fixed] Case sensitive folder bug

2012.04.04 - version 0.1

  • Initial release