diff --git a/.travis.yml b/.travis.yml
index 8f54f5d9..b90416fa 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -17,3 +17,4 @@ matrix:
allow_failures:
- rvm: jruby-18mode
- rvm: jruby-19mode
+
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 51b454c4..768b0492 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,27 @@
-Master
+3.0.12
===
+* Update to listen 0.7.x. No longer depend on rb-inotify. *nix users should add to Gemfile.
+* Support Haml 4
+* :debug_assets can no longer be turned on in the build environment.
+* Helpers now work with JS/CSS files with .erb processing.
+* Provide an informative exception when link_to is used improperly.
+* Force .svgz files to be treated as binary.
+* Add a url_for method that performs the link_to magic URL generation without a link. Make form_for use url_for. #739
+* Fix issues when combining relative assets and cache buster.
+* Support the .yaml extension for data files.
+* Handle non-english default languages in i18n. Fixes #584. #771
+* Allow frontmatter to be parsed on templates outside the project root
+* Improve detection of binary files. #763
+* Add before_render and after_render hooks that can be used by extensions to modify templates before they're rendered or modify the rendered output before it's returned. #761 & #774
+* Tightened up dependencies
+* Print the command for running middleman in verbose mode with quotes so Bundler doesn't swallow the verbose flag. #750
+
+3.0.11
+====
+
+* Mitigate major perf regression caused by the Middleman::Util#binary? method
+
3.0.10
====
diff --git a/Gemfile b/Gemfile
index 4964e94b..141836c1 100644
--- a/Gemfile
+++ b/Gemfile
@@ -1,4 +1,7 @@
-source 'https://rubygems.org'
+source 'http://rubygems.org'
+
+# Make sure to use Haml 4 for tests
+gem "haml", "~> 4.0.0"
# Build and doc tools
gem "rake", "~> 10.0.3"
@@ -12,15 +15,14 @@ gem "rspec", "~> 2.12"
# Optional middleman dependencies, included for tests
gem "sinatra"
-gem "slim", "~> 1.2.0"
-gem "coffee-filter", "~> 0.1.1"
-gem "liquid", "~> 2.2"
-gem "less", "~> 2.2"
-gem "stylus", "~> 0.6.2"
+gem "slim", :require => false
+gem "liquid", "~> 2.2", :require => false
+gem "less", "~> 2.2", :require => false
+gem "stylus", :require => false
platforms :ruby do
gem "therubyracer", "0.10.2"
- gem "redcarpet", "~> 2.1.1"
+ gem "redcarpet"
end
platforms :jruby do
diff --git a/middleman-core/lib/middleman-core/renderers/coffee_script.rb b/middleman-core/lib/middleman-core/renderers/coffee_script.rb
index 5027089c..69b141fe 100644
--- a/middleman-core/lib/middleman-core/renderers/coffee_script.rb
+++ b/middleman-core/lib/middleman-core/renderers/coffee_script.rb
@@ -11,25 +11,29 @@ module Middleman
class << self
# Once registered
def registered(app)
- app.before_configuration do
- template_extensions :coffee => :js
- end
-
# Tell Tilt to use it as well (for inline scss blocks)
::Tilt.register 'coffee', DebuggingCoffeeScriptTemplate
::Tilt.prefer(DebuggingCoffeeScriptTemplate)
+
+ app.before_configuration do
+ template_extensions :coffee => :js
+ DebuggingCoffeeScriptTemplate.middleman_app = self
+ end
end
alias :included :registered
end
# A Template for Tilt which outputs debug messages
class DebuggingCoffeeScriptTemplate < ::Tilt::CoffeeScriptTemplate
+ # Make the current Middleman app accessible to the template
+ cattr_accessor :middleman_app
+
# Add exception messaging
# @param [Class] context
# @param [Hash] locals
# @return [String]
def evaluate(context, locals, &block)
- return super if context.build?
+ return super if middleman_app.build?
begin
super
diff --git a/middleman-core/lib/middleman-core/templates/extension/Gemfile b/middleman-core/lib/middleman-core/templates/extension/Gemfile
index 69ea7ad0..cef80b09 100644
--- a/middleman-core/lib/middleman-core/templates/extension/Gemfile
+++ b/middleman-core/lib/middleman-core/templates/extension/Gemfile
@@ -1,4 +1,6 @@
-source :rubygems
+# If you have OpenSSL installed, we recommend updating
+# the following line to use "https"
+source 'http://rubygems.org'
# Specify your gem's dependencies in <%= name %>.gemspec
gemspec
diff --git a/middleman-core/lib/middleman-core/templates/shared/Gemfile.tt b/middleman-core/lib/middleman-core/templates/shared/Gemfile.tt
index bd733a4f..879edf32 100644
--- a/middleman-core/lib/middleman-core/templates/shared/Gemfile.tt
+++ b/middleman-core/lib/middleman-core/templates/shared/Gemfile.tt
@@ -1,3 +1,5 @@
-source :rubygems
+# If you have OpenSSL installed, we recommend updating
+# the following line to use "https"
+source 'http://rubygems.org'
gem "middleman", "~><%= Middleman::VERSION %>"
\ No newline at end of file
diff --git a/middleman-core/middleman-core.gemspec b/middleman-core/middleman-core.gemspec
index 506f7137..9915ef22 100644
--- a/middleman-core/middleman-core.gemspec
+++ b/middleman-core/middleman-core.gemspec
@@ -32,5 +32,7 @@ Gem::Specification.new do |s|
s.add_dependency("activesupport", ["~> 3.2.6"])
# Watcher
- s.add_dependency("listen", ["~> 0.5.2"])
+ s.add_dependency("listen", ["~> 0.7.3"])
+ s.add_dependency("rb-fsevent", ["~> 0.9.3"]) # OS X
+ # s.add_dependency("rb-inotify", ["~> 0.9.0"]) # Linux
end
diff --git a/middleman-more/features/minify_css.feature b/middleman-more/features/minify_css.feature
index eb39da6b..0c707861 100644
--- a/middleman-more/features/minify_css.feature
+++ b/middleman-more/features/minify_css.feature
@@ -53,13 +53,11 @@ Feature: Minify CSS
When I go to "/inline-css.html"
Then I should see:
"""
-
"""
@@ -83,7 +81,7 @@ Feature: Minify CSS
When I go to "/inline-css.html"
Then I should see:
"""
-
"""
@@ -123,9 +121,7 @@ Feature: Minify CSS
When I go to "/inline-css.html"
Then I should see:
"""
-
"""
\ No newline at end of file
diff --git a/middleman-more/features/minify_javascript.feature b/middleman-more/features/minify_javascript.feature
index 06795274..b0ca848d 100644
--- a/middleman-more/features/minify_javascript.feature
+++ b/middleman-more/features/minify_javascript.feature
@@ -10,15 +10,13 @@ Feature: Minify Javascript
When I go to "/inline-js.html"
Then I should see:
"""
-