Skip to content

Latest commit

 

History

History
961 lines (855 loc) · 38.1 KB

CHANGELOG.md

File metadata and controls

961 lines (855 loc) · 38.1 KB

v1.0.0-rc.6

12/01/2015

    • Refactor Config classes for improved performance!
    • Refactor Data classes to use NestedArrayAccess instead of DataMutatorTrait
    • Added support for classes and id on medium objects to set CSS values
    • Data objects: Allow function call chaining
    • Data objects: Lazy load blueprints only if needed
    • Automatically create unique security salt for each configuration
    • Added Hungarian translation
    • Added support for User groups
    • Improved robots.txt to disallow crawling of non-user folders
    • Nonces only generated once per action and process
    • Added IP into Nonce string calculation
    • Nonces now use random string with random salt to improve performance
    • Improved list form handling #475
    • Vendor library updates
    • Fixed help output for bin/plugin
    • Fix for nested logic for lists and form parsing #273
    • Fix for array form fields and last entry not getting deleted
    • Should not be able to set parent to self #308

v1.0.0-rc.5

11/20/2015

    • Added nonce functionality for all admin forms for improved security
    • Implemented the ability for Plugins to provide their own CLI commands through bin/plugin
    • Added Croatian translation
    • Added missing umask_fix property to system.yaml
    • Added current theme's config to global config. E.g. config.theme.dropdown_enabled
    • Added append_url_extension option to system config & page headers
    • Users have a new state property to allow disabling/banning
    • Added new Page.relativePagePath() helper method
    • Added new |pad Twig filter for strings (uses str_pad())
    • Added lighttpd.conf for Lightly web server
    • Clear previously applied operations when doing a reset on image media
    • Password no longer required when editing user
    • Improved support for trailing / URLs
    • Improved .nginx.conf configuration file
    • Improved .htaccess security
    • Updated vendor libs
    • Updated composer.phar
    • Use streams instead of paths for clearCache()
    • Use PCRE_UTF8 so unicode strings can be regexed in Truncator
    • Handle case when login plugin is disabled
    • Improved quality functionality in media handling
    • Added some missing translation strings
    • Deprecated bin/grav newuser in favor of bin/plugin login new-user
    • Moved fallback types to use any valid media type
    • Renamed system.pages.fallback_types to system.media.allowed_fallback_types
    • Removed version number in default generator meta tag
    • Disable time limit in case of slow downloads
    • Removed default hash in system.yaml
    • Fix for media using absolute URLs causing broken links
    • Fix theme auto-loading #432
    • Don't create empty <style> or <script> scripts if no data
    • Code cleanups
    • Fix undefined variable in Config class
    • Fix exception message when label is not set
    • Check in Plugins::get() to ensure plugins exists
    • Fixed GZip compression making output buffering work correctly with all servers and browsers
    • Fixed date representation in system config

v1.0.0-rc.4

10/29/2015

    • Fixed a fatal error if you have a collection with missing or invalid @page: /route

v1.0.0-rc.3

10/29/2015

    • New Page collection options! @self.parent, @self.siblings, @self.descendants + more
    • Whitelist of file types for fallback route functionality (images by default)
    • Assets switched from defines to streams
    • README.md typos fixed
    • Fixed issue with routes that have lang string in them (/en/english)
    • Trim strings before validation so whitespace is not satisfy 'required'

v1.0.0-rc.2

10/27/2015

    • Added support for CSS Asset groups
    • Added a wrapped_site system option for themes/plugins to use
    • Pass Page object as event to onTwigPageVariables() event hook
    • New Data.items() method to get all items
    • Missing pipelined remote asset will now fail quietly
    • More reliably handle inline JS and CSS to remove only surrounding HTML tags
    • Medium.meta returns new Data object so null checks are possible
    • Improved Medium metadata merging to allow for automatic title/alt/class attributes
    • Moved Grav object to global variable rather than template variable (useful for macros)
    • German language improvements
    • Updated bundled composer
    • Accept variety of true values in User.authorize() method
    • Fix for Validation throwing an error if no label set

v1.0.0-rc.1

10/23/2015

    • Use native PECL YAML parser if installed for 4X speed boost in parsing YAML files
    • Support for inherited theme class
    • Added new default language prepend system configuration option
    • New |evaluate Twig filter to evaluate a string as twig
    • New system option to ignore all hidden files and folders
    • New system option for default redirect code
    • Added ability to append specific [30x] codes to redirect URLs
    • Added url_taxonomy_filters for page collections
    • Added @root page and recurse flag for page collections
    • Support for multiple page collection types as an array
    • Added Dutch language file
    • Added Russian language file
    • Added remove method to User object
    • Moved hardcoded mimetypes to media.yaml to be treated as Page media files
    • Set errors: display: false by default in system.yaml
    • Strip out extra slashes in the URI
    • Validate hostname to ensure it is valid
    • Ignore more SCM folders in Backups
    • Removed home_redirect settings from system.yaml
    • Added Page media as root twig object for consistency
    • Updated to latest vendor libraries
    • Optimizations to Asset pipeline logic for minor speed increase
    • Block direct access to a variety of files in .htaccess for increased security
    • Debugbar vendor library update
    • Always fallback to english if other translations are not available
    • Fix for redirecting external URL with multi-language
    • Fix for Asset pipeline not respecting asset groups
    • Fix language files with child/parent theme relationships
    • Fixed a regression issue resulting in incorrect default language
    • Ensure error handler is initialized before URI is processed
    • Use default language in Twig if active language is not set
    • Fixed issue with safeEmailFilter() Twig filter not separating with ; properly
    • Fixed empty YAML file causing error with native PECL YAML parser
    • Fixed SVG mimetype
    • Fixed incorrect Cache-control: max-age value format

v0.9.45

10/08/2015

    • Fixed a regression issue resulting in incorrect default language

v0.9.44

10/07/2015

    • Added Redis back as a supported cache mechanism
    • Allow Twig nicetime translations
    • Added -y option for 'Yes to all' in bin/gpm update
    • Added CSS media attribute to the Assets manager
    • New German language support
    • New Czech language support
    • New French language support
    • Added modulus twig filter
    • URL decode in medium actions to allow complex syntax
    • Take into account HTTP_HOST before SERVER_NAME (helpful with Nginx)
    • More friendly cache naming to ease manual management of cache systems
    • Added default Apache resource for DirectoryIndex
    • Fix GPM failure when offline
    • Fix open_basedir error in bin/gpm install
    • Fix an HHVM error in Truncator
    • Fix for XSS vulnerability with params
    • Fix chaining for responsive size derivatives
    • Fix for saving pages when removing the page title and all other header elements
    • Fix when saving array fields
    • Fix for ports being included in HTTP_HOST
    • Fix for Truncator to handle PHP tags gracefully
    • Fix for locate style lang codes in getNativeName()
    • Urldecode image basenames in markdown

v0.9.43

09/16/2015

    • Added new AudioMedium for HTML5 audio
    • Added ability for Assets to be added and displayed in separate groups
    • New support for responsive image derivative sizes
    • GPM theme install now uses a copy method so new files are not lost (e.g. /css/custom.css)
    • Code analysis improvements and cleanup
    • Removed Twig panel from debugger (no longer supported in Twig 1.20)
    • Updated composer packages
    • Prepend active language to convertUrl() when used in markdown links
    • Added some pre/post flight options for installer via blueprints
    • Hyphenize the site name in the backup filename
    • Fix broken routable logic
    • Check for phpinfo() method in case it is restricted by hosting provider
    • Fixes for windows when running GPM
    • Fix for ampersand (&) causing error in truncateHtml() via Page.summary()

v0.9.42

09/11/2015

    • Fixed User.authorise() to be backwards compabile

v0.9.41

09/11/2015

    • New and improved multibyte-safe TruncateHTML function and filter
    • Added support for custom page date format
    • Added a string Twig filter to render as json_encoded string
    • Added authorize Twig filter
    • Added support for theme inheritance in the admin
    • Support for multiple content collections on a page
    • Added configurable files/folders ignores for pages
    • Added the ability to set the default PHP locale and override via multi-lang configuration
    • Added ability to save as YAML via admin
    • Added check for mbstring support
    • Added new redirect header for pages
    • Changed dependencies from develop to master
    • Updated logging to log everything from debug level on (was warning)
    • Added missing accounts/ folder
    • Default to performing a 301 redirect for URIs with trailing slashes
    • Improved Twig error messages
    • Allow validating of forms from anywhere such as plugins
    • Added logic so modular pages are by default non-routable
    • Hide password input in bin/grav newuser command
    • Fixed Pages.all() not returning modular pages
    • Fix for modular template types not getting found
    • Fix for markdown_extra: overriding markdown:extra: setting
    • Fix for multi-site routing
    • Fix for multi-lang page name error
    • Fixed a redirect loop in URI class
    • Fixed a potential error when unsupported_inline_types is empty
    • Correctly generate 2x retina image
    • Typo fixes in page publish/unpublish blueprint

v0.9.40

08/31/2015

    • Added some new Twig filters: defined, rtrim, ltrim
    • Admin support for customizable page file name + template override
    • Better message for incompatible/unsupported Twig template
    • Improved User blueprints with better help
    • Switched to composer install rather than update by default
    • Admin autofocus on page title
    • .htaccess hardening (.htaccess & htaccess.txt)
    • Cache safety checks for missing folders
    • Fixed issue with unescaped o character in date formats

v0.9.39

08/25/2015

    • Page.active() not triggering on homepage
    • Fix for invalid session name in Opera browser

v0.9.38

08/24/2015

    • Added language to user blueprint
    • Added translations to blueprints
    • New extending logic for blueprints
    • Blueprints are now loaded with Streams to allow for better overrides
    • Added new Symfony dump() method
    • Catch YAML header parse exception so site doesn't die
    • Better Page.parent() logic
    • Improved GPM display layout
    • Tweaked default page layout
    • Unset route and slug for improved reliability of route changes
    • Added requirements to README.md
    • Updated various libraries
    • Allow use of custom page date field for dateRange collections
    • Slug fixes with GPM
    • Unset plaintext password on save
    • Fix for trailing / not matching active children

v0.9.37

08/12/2015

    • Fixed issue when saving header.process in page forms via the admin plugin
    • Fixed error due to use of set_time_limit that might be disabled on some hosts

v0.9.36

08/11/2015

    • Added a new newuser CLI command to create user accounts
    • Added default blueprint for all templates
    • Support user and system language translation merging
    • Added isSymlink method in GPM to determine if Grav is symbolically linked or not
    • Refactored page recursing
    • Updated blueprints to use new toggles
    • Updated blueprints to use current date for date format fields
    • Updated composer.phar
    • Use sessions for admin even when disabled for site
    • Use GRAV_ROOT in session identifier

v0.9.35

08/06/2015

    • Added body_classes field
    • Added visiblity toggle and help tooltips on new page form
    • Added new Page.unsetRoute() method to allow admin to regenerate the route
    • User save no longer stores username each time
    • Page list form field now shows all pages except root
    • Removed required option from page title
    • Added configuration settings for running Nginx in sub directory
    • Fixed deep translation merging
    • Fixed broken metadata merging with site defaults
    • Fixed broken summary field
    • Fixed broken robots field
    • Fixed GPM issue when using cURL, throwing an Undefined offset: 1 exception
    • Removed duplicate hidden page type field

v0.9.34

08/04/2015

    • Added new cache_all system setting + media cache() method
    • Added base languages configuration
    • Added property language to page to help plugins identify page language
    • New Utils::arrayFilterRecursive() method
    • Improved Session handling to support site and admin independently
    • Allow Twig variables to be modified in other events
    • Blueprint updates in preparation for Admin plugin
    • Changed Inflector from static to object and added multi-language support
    • Support for admin override of a page's blueprints
    • Removed unused use in VideoMedium that was causing error
    • Array fix in User.authorise() method
    • Fix for typo in translations_fallback
    • Fixed moving page to the root

v0.9.33

07/21/2015

    • Added new onImageMediumSaved() event (useful for post-image processing)
    • Added Vary: Accept-Encoding option
    • Multilang-safe delimeter position
    • Refactored Twig classes and added optional umask setting
    • Removed pageinit() timing
    • Page->routable() now takes published() state into account
    • Improved how page extension is set
    • Support Language->translate() method taking string and array
    • Fixed backup command to include empty folders

v0.9.32

07/14/2015

    • Detect users preferred language via http_accept_language setting
    • Added new translateArray() language method
    • Support en translations by default for plugins & themes
    • Improved default generator tag
    • Minor language tweaks and fixes
    • Fix for session active language and homepage redirects
    • Ignore root-level page rather than throwing error

v0.9.31

07/09/2015

    • Added xml, json, css and js to valid media file types
    • Better handling of unsupported media type downloads
    • Improved bin/grav backup command to mimic admin plugin location/name
    • Critical fix for broken language translations
    • Fix for Twig markdown filter error
    • Safety check for download extension

v0.9.30

07/08/2015

    • BIG NEWS! Extensive Multi-Language support is all new in 0.9.30!
    • Translation support via Twig filter/function and PHP method
    • Page specific default route
    • Page specific route aliases
    • Canonical URL route support
    • Added built-in session support
    • New Page.rawRoute() to get a consistent folder-based route to a page
    • Added option to always redirect to default page on alias URL
    • Added language safe redirect function for use in core and plugins
    • Improved Page.active() and Page.activeChild() methods to support route aliases
    • Various spelling corrections in .php comments, .md and .yaml files
    • Utils::startsWith() and Utils::endsWith() now support needle arrays
    • Added a new timer around pageInitialized event
    • Updated jQuery library to v2.1.4
    • In-page CSS and JS files are now handled properly
    • Fix for enable_media_timestamp not working properly

v0.9.29

06/22/2015

    • New and improved Regex-powered redirect and route alias logic
    • Added new onBuildPagesInitialized event for memory critical or time-consuming plugins
    • Added a setSummary() method for pages
    • Improved MergeConfig() logic for more control
    • Travis skeleton build trigger implemented
    • Set composer.json versions to stable versions where possible
    • Disabled last_modified and etag page headers by default (causing too much page caching)
    • Preload classes during bin/gpm selfupgrade to avoid issues with updated classes
    • Fix for directory relative down links

v0.9.28

06/16/2015

    • Added method to set raw markdown on a page
    • Added ability to enabled system and page level etag and last_modified headers
    • Improved image path processing
    • Improved query string handling
    • Optimization to image handling supporting URL encoded filenames
    • Use global composer when available rather than Grv provided one
    • Use PHP_BINARY contant rather than php executable
    • Updated Doctrine Cache library
    • Updated Symfony libraries
    • Moved convertUrl() method to Uri object
    • Fix incorrect slug causing problems with CLI uninstall
    • Fix Twig runtime error with assets pipeline in sufolder installations
    • Fix for + in image filenames
    • Fix for dot files causing issues with page processing
    • Fix for Uri path detection on Windows platform
    • Fix for alternative media resolutions
    • Fix for modularTypes key properties

v0.9.27

05/09/2015

    • Added new composer CLI command
    • Added page-level summary header overrides
    • Added size back for Media objects
    • Refactored Backup command in preparation for admin plugin
    • Added a new parseLinks method to Plugins class
    • Added starts_with and ends_with Twig filters
    • Optimized install of vendor libraries for speed improvement
    • Improved configuration handling in preparation for admin plugin
    • Cache optimization: Don't cache Twig templates when you pass dynamic params
    • Moved Utils::rcopy to Folder::rcopy
    • Improved Folder::doDelete
    • Added check for required Curl in GPM
    • Updated included composer.phar to latest version
    • Various blueprint fixes for admin plugin
    • Various PSR and code cleanup tasks
    • Fix issue with Gzip not working with onShutDown() event
    • Fix for URLs with trailing slashes
    • Handle condition where certain errors resulted in blank page
    • Fix for issue with theme name equal to base_url and asset pipeline
    • Fix to properly normalize font rewrite path
    • Fix for absolute URLs below the current page
    • Fix for .. page references

v0.9.26

04/24/2015

    • Fixed issue with homepage routes failing with 'dirname' error

v0.9.25

04/24/2015

    • Added support for E-Tag, Last-Modified, Cache-Control and Page-based expires headers
    • Refactored media image handling to make it more flexible and support absolute paths
    • Refactored page modification check process to make it faster
    • User account improvements in preparation for admin plugin
    • Protect against timing attacks
    • Reset default system expires time to 0 seconds (can override if you need to)
    • Fix issues with spaces in webroot when using bin/grav install
    • Fix for spaces in relative directory
    • Bug fix in collection filtering

v0.9.24

04/15/2015

    • Added support for chunked downloads of Assets
    • Added new onBeforeDownload() event
    • Added new download() and getMimeType() methods to Utils class
    • Added configuration option for supported page types
    • Added assets and media timestamp options (off by default)
    • Added page expires configuration option
    • Fixed issue with Nginx/Gzip and ob_flush() throwing error
    • Fixed assets actions on 'direct media' URLs
    • Fix for 'direct assets` with any parameters

v0.9.23

04/09/2015

    • Fix for broken GPM selfupgrade (Grav 0.9.21 and 0.9.22 will need to manually upgrade to this version)

v0.9.22

04/08/2015

    • Fix to normalize GRAV_ROOT path for Windows
    • Fix to normalize Media image paths for Windows
    • Fix for GPM selfupgrade when you are on latest version

v0.9.21

04/07/2015

    • Major Media functionality enhancements: SVG, Animated GIF, Video support!
    • Added ability to configure default image quality in system configuration
    • Added sizes attributes for custom retina image breakpoints
    • Don't scale @1x retina images
    • Add filter to Iterator class
    • Updated various composer packages
    • Various PSR fixes

v0.9.20

03/24/2015

    • Added addAsyncJs() and addDeferJs() to Assets manager
    • Added support for extranal URL redirects
    • Fix unpredictable asset ordering when set from plugin/system
    • Updated nginx.conf to ensure system assets are accessible
    • Ensure images are served as static files in Nginx
    • Updated vendor libraries to latest versions
    • Updated included composer.phar to latest version
    • Fixed issue with markdown links to # breaking HTML

v0.9.19

02/28/2015

    • Added named assets capability and bundled jQuery into Grav core
    • Added first() and last() to Iterator class
    • Improved page modification routine to skip dot files
    • Only use files to calculate page modification dates
    • Broke out Folder iterators into their own classes
    • Various Sensiolabs Insight fixes
    • Fixed Iterator.nth() method

v0.9.18

02/19/2015

    • Added ability for GPM install to automatically install _demo content if found (w/backup)
    • Added ability for themes and plugins to have dependencies required to install via GPM
    • Added ability to override the system timezone rather than relying on server setting only
    • Added new Twig filter random_string for generating random id values
    • Added new Twig filter markdown for on-the-fly markdown processing
    • Added new Twig filter absoluteUrl to convert relative to absolute URLs
    • Added new processTemplate() method to Twig object for on-the-fly processing of twig template
    • Added rcopy() and contains() helper methods in Utils
    • Provided new param_sep variable to better support Apache on Windows
    • Moved parsedown configuration into the trait
    • Added optional deep-copy option to mergeConfig() for plugins
    • Updated bundled composer.phar package
    • Various Sensiolabs Insight fixes - Silver level now!
    • Various PSR Fixes
    • Fix for windows platforms not displaying installed themes/plugins via GPM
    • Fix page IDs not picking up folder-only pages

v0.9.17

02/05/2015

    • Added full HHVM support! Get your speed on with Facebook's crazy fast PHP JIT compiler
    • More flexible page summary control
    • Support CamelCase plugin and theme class names. Replaces dashes and underscores
    • Moved summary delimiter into site.yaml so it can be configurable
    • Various PSR fixes
    • Fix for mergeConfig() not falling back to defaults
    • Fix for addInlineCss() and addInlineJs() Assets not working between Twig tags
    • Fix for Markdown adding HTML tags into inline CSS and JS

v0.9.16

01/30/2015

    • Added Retina and Responsive image support via Grav media and srcset image attribute
    • Added image debug option that overlays responsive resolution
    • Added a new image cache stream
    • Improved the markdown Lightbox functionality to better mimic Twig version
    • Fullsize Lightbox can now have filters applied
    • Added a new mergeConfig() method to Plugin class to merge system + page header configuration
    • Added a new disable() method to Plugin class to programmatically disable a plugin
    • Updated Parsedown and Parsedown Extra to address bugs
    • Various PSR fixes
    • Fix bug with image dispatch in traditionally non-routable pages
    • Fix for markdown link not working on non-current pages
    • Fix for markdown images not being found on homepage

v0.9.15

01/23/2015

    • Typo in video mime types
    • Fix for old markdown_extra system setting not getting picked up
    • Fix in regex for Markdown links with numeric values in path
    • Fix for broken image routing mechanism that got broken at some point
    • Fix for markdown images/links in pages with page slug override

v0.9.14

01/23/2015

    • Added GZip support
    • Added multiple configurations via setup.php
    • Added base structure for unit tests
    • New onPageContentRaw() plugin event that processes before any page processing
    • Added ability to dynamically set Metadata on page
    • Added ability to dynamically configure Markdown processing via Parsedown options
    • Refactored page.content() method to be more flexible and reliable
    • Various updates and fixes for streams resulting in better multi-site support
    • Updated Twig, Parsedown, ParsedownExtra, DoctrineCache libraries
    • Refactored Parsedown trait
    • Force modular pages to be non-visible in menus
    • Moved RewriteBase before Exploits in .htaccess
    • Added standard video formats to Media support
    • Added priority for inline assets
    • Check for uniqueness when adding multiple inline assets
    • Improved support for Twig-based URLs inside Markdown links and images
    • Improved Twig url() function
    • Fix for HTML entities quotes in Metadata values
    • Fix for published setting to have precedent of publish_date and unpublish_date
    • Fix for onShutdown() events not closing connections properly in php-fpm environments

v0.9.13

01/09/2015

    • Added new published true|false state in page headers
    • Added publish_date in page headers to automatically publish page
    • Added unpublish_date in page headers to automatically unpublish page
    • Added dateRange() capability for collections
    • Added ability to dynamically control Cache lifetime programmatically
    • Added ability to sort by anything in the page header. E.g. sort: header.taxonomy.year
    • Added various helper methods to collections: copy, nonVisible, modular, nonModular, published, nonPublished, nonRoutable
    • Modified all Collection methods so they can be chained together: $collection->published()->visible()
    • Set default Cache lifetime to default of 1 week (604800 seconds) - was infinite
    • House-cleaning of some unused methods in Pages object
    • Fix uninstall GPM command that was broken in last release
    • Fix for intermittent undefined index error when working with Collections
    • Fix for date of some pages being set to incorrect future timestamps

v0.9.12

01/06/2015

    • Added an all-access robots.txt file for search engines
    • Added new GPM uninstall command
    • Added support for in-page Twig processing in modular pages
    • Added configurable support for undefined Twig functions and filters
    • Fall back to default .html template if error occurs on non-html pages
    • Added ability to have PSR-1 friendly plugin names (CamelCase, no-dashes)
    • Fix to composer.json to deter API rate-limit errors
    • Added non-exception-throwing handler for undefined methods on Medium objects
    • Fix description for self-upgrade method of GPM command
    • Fix for incorrect version number when performing GPM update
    • Fix for argument description of GPM install command
    • Fix for recalcitrant CodeKit mac application

v0.9.11

12/21/2014

    • Added support for simple redirects as well as routes
    • Handle Twig errors more cleanly
    • Fix for error caused by invalid or missing user agent string
    • Fix for directory relative links and URL fragments (#pagelink)
    • Fix for relative links with no subfolder in base_url

v0.9.10

12/12/2014

    • Added Facebook-style nicetime date Twig filter
    • Moved clear-cache functionality into Cache object required for Admin plugin
    • Fix for undefined index with previous/next buttons

v0.9.9

12/05/2014

    • Added new @page collection type
    • Added ksort and contains Twig filters
    • Added gist Twig function
    • Refactored Page previous/next/adjacent functionality
    • Updated to Symfony 2.6 for yaml/console/event-dispatcher libraries
    • More PSR code fixes
    • Fix for over-escaped apostrophes in YAML

v0.9.8

12/01/2014

    • Added configuration option to set default lifetime on cache saves
    • Added ability to set HTTP status code from page header
    • Implemented simple wild-card custom routing
    • Fixed elusive double load to fully cache issue (crossing fingers...)
    • Ensure Twig tags are treated as block items in markdown
    • Removed some older deprecated methods
    • Ensure onPageContentProcessed() event only fires when not cached
    • More PSR code fixes
    • Fix issue with miscalculation of blog separator location ===

v0.9.7

11/24/2014

    • Nginx configuration updated
    • Added gitter.im badge to README
    • Removed set_time_limit() and put checks around ignore_user_abort
    • More PSR code fixes
    • Fix issue with non-valid asset path showing up when they shouldn't
    • Fix for JS asset pipeline and scripts that don't end in ;
    • Fix for schema-based markdown URLs broken routes (eg mailto:)

v0.9.6

11/17/2014

    • Moved base_url variables into Grav container
    • Forced media sorting to use natural sort order by default
    • Various PSR code tidying
    • Added filename, extension, thumb to all medium objects
    • Fix for infinite loop in page.content()
    • Fix hostname for configuration overrides
    • Fix for cached configuration
    • Fix for relative URLs in markdown on installs with no base_url
    • Fix for page media images with uppercase extension

v0.9.5

11/09/2014

    • Added quality setting to medium for compression configuration of images
    • Added new onPageContentProcessed() event that is post-content processing but pre-caching
    • Added support for AND and OR taxonomy filtering. AND by default (was OR)
    • Added specific clearing options for CLI clear-cache command
    • Moved environment method to URI so it can be accessible in plugins and themes
    • Set Grav's output variable to public so it can be manipulated in onOutputGenerated event
    • Updated vendor libraries to latest versions
    • Better handing of 'home' in active menu state detection
    • Various PSR code tidying
    • Improved some error messages and notices
    • Force route rebuild when configuration changes
    • Fix for 'installed undefined' error in CLI versions command
    • Do not remove the JSON/Text error handlers
    • Fix for supporting inline JS and CSS when Asset pipeline enabled
    • Fix for Data URLs in CSS being badly formed
    • Fix Markdown links with fragment and query elements

v0.9.4

10/29/2014

    • New improved Debugbar with messages, timing, config, twig information
    • New exception handling system utilizing Whoops
    • New logging system utilizing Monolog
    • Support for auto-detecting environment configuration
    • New version command for CLI
    • Integrate Twig dump() calls into Debugbar
    • Selfupgrade now clears cache on successful upgrade
    • Selfupgrade now supports files without extensions
    • Improved error messages when plugin is missing
    • Improved security in .htaccess
    • Support CSS/JS/Image assets in vendor/system folders via .htaccess
    • Add support for system timers
    • Improved and optimized configuration loading
    • Automatically disable Debugbar on non-HTML pages
    • Disable Debugbar by default
    • More YAML blueprint fixes
    • Fix potential double // in assets
    • Load debugger as early as possible

v0.9.3

10/09/2014

    • GPM (Grav Package Manager) Added
    • Support for multiple Grav configurations
    • Dynamic media support via URL
    • Added inlineCss and inlineJs support for Assets
    • YAML caching for increased performance
    • Use stream wrapper in pages, plugins and themes
    • Switched to RocketTheme toolbox for some core functionality
    • Renamed setup CLI command to sandbox
    • Broke cache types out into multiple directories in the cache folder
    • Removed vendor libs from github repository
    • Various PSR cleanup of code
    • Various Blueprint updates to support upcoming admin plugin
    • Added ability to filter page children for normal/modular/all
    • Added sort_by_key twig filter
    • Added visible() and routable() filters to page collections
    • Use session class in shutdown process
    • Improvements to modular page loading
    • Various code cleanup and optimizations
    • Fixed file checking not updating the last modified time. For real this time!
    • Switched debugger to PRODUCTION mode by default
    • Various fixes in URI class for increased reliability

v0.9.2

09/15/2014

    • New flexible site and page metadata support including ObjectGraph and Facebook
    • New method to get user IP address in URI object
    • Added new onShutdown() event that fires after connection is closed for Async features
    • Skip assets pipeline minify on Windows platforms by default due to PHP issue 47689
    • Fixed multiple level menus not highlighting correctly
    • Updated some blueprints in preparation for admin plugin
    • Fail gracefully when theme does not exist
    • Add stream support into ResourceLocator::addPath()
    • Separate themes from plugins, add themes:// stream and onTask events
    • Added barDump() to Debugger
    • Removed stray test page
    • Override modified only if a non-markdown file was modified
    • Added assets attributes support
    • Auto-run composer install when running the Grav CLI
    • Vendor folder removed from repository
    • Minor configuration performance optimizations
    • Minor debugger performance optimizations
    • Fix url() twig function when Grav isn't installed at root
    • Workaround for PHP bug 52065
    • Fixed getList() method on Pages object that was not working
    • Fix for open_basedir error
    • index.php now warns if not running on PHP 5.4
    • Removed memcached option (redundant)
    • Removed memcache from auto setup, added memcache server configuration option
    • Fix broken password validation
    • Back to proper PSR-4 Autoloader

v0.9.1

09/02/2014

    • Added new theme:// PHP stream for current theme
    • Default to new file modification checking rather than folder
    • Added support for various markdown link formats to convert to Grav-friendly URLs
    • Moved configure() from Theme to Themes class
    • Fix autoloading without composer update -o
    • Added support for Twig url method
    • Minor code cleanup
    • Fixed issue with page changes not being picked up
    • Fixed Minify to provide @supports tag compatibility
    • Fixed ResourceLocator not working with multiple paths
    • Fixed issue with Markdown process not stripping LFs
    • Restrict file type extensions for added security
    • Fixed template inheritance
    • Moved Browser class to proper location

v0.9.0

08/25/2014

    • Addition of Dependency Injection Container
    • Refactored plugins to use Symfony Event Dispatcher
    • New Asset Manager to provide unified management of JavaScript and CSS
    • Asset Pipelining to provide unification, minify, and optimization of JavaScript and CSS
    • Grav Media support directly in Markdown syntax
    • Additional Grav Generator meta tag in default themes
    • Added support for PHP Stream Wrapper for resource location
    • Markdown Extra support
    • Browser object for fast browser detection
    • PSR-4 Autoloader mechanism
    • Tracy Debugger new detect option to detect running environment
    • Added new random collection sort option
    • Make media images progressive by default
    • Additional URI filtering for improved security
    • Safety checks to ensure PHP 5.4.0+
    • Move to Slidebars side navigation in default Antimatter theme
    • Updates to .htaccess including section on RewriteBase which is needed for some hosting providers
    • Fixed issue when installing in an apache userdir (~username) folder
    • Various mobile CSS issues in default themes
    • Various minor bug fixes

v0.8.0

08/13/2014

    • Initial Release