Further information in the original issue: https://github.com/middleman/middleman/issues/2530
15 KiB
master
- Minify JS: migrate default compressor from Uglifier to Terser, to support ES6 (#2530)
- Require Ruby 3.1+
- Support TOML as frontmatter and data.
- Handle the removal of a file in dependencies. Fixes (#2292)
- Update rubocop + use enable-frozen-string-literal (#2354)
- Add ability to external pipeline ignore process exit code (#2353)
- Trigger a reload for the preview server when data changes (#2340)
- Always write
deps.yml
if--track-dependencies
is set and the file doesn't exist - Add
--dependency-file
flag to configure the file location. - Allow multi-line frontmatter delimiters to support frontmatter in comment blocks (makes IDE syntax highlighting better). (#2385)
5.0.0.rc.1 (2019-05-24)
- Support NO_COLOR: https://no-color.org
- Update activesupport to 5.x and padrino to 0.14.x
- Add
--dry-run
to run a build, but skip outputting to disk. - Incremental builds:
--track-dependencies
and--only-changed
flags (#2220) - Remove Rack support in favor of
resource.filters << proc { |oldbody| newbody }
manipulate_resource_list_container!
as a faster, less functional approach.- i18n was accidentally duplicating requests for extension-based template (file.es.html)
- Make sass cache configurable with either
SASS_CACHE_LOCATION
env variable orsass_cache_location
Middleman config variable. (#2213) - Fix Internal Server Error from
__middleman
meta page in dev. (#2187) - Reduce mutex hits in parallel build (#2107)
- Docker-ized CLI
- Add Errno::ENETUNREACH to exception list in BasicNetworkResolver (#2195)
- Update Rubocop and apply new lint rules
- Do not create unnecessary array in IgnoreDescriptor (#2183)
- Fix reload of watched sources with destination_dir (#2190)
- Fix localization and recursion issues of Traversal::parent. (#2188)
- Use EnhancedHash for partial locals (#2169)
- Test against Ruby 2.5 (#2166)
- Update Rubocop and Yard (#2161)
- Discover template in local directory if applicable (#2157)
- Better error message when init fails to clone git repo (#2159)
- Allow bundle path to be specified in init command (#2154)
- Add ExtensionManager#active? to check if extension is active (#2156)
- Clear lazy map after resolving Tilt templates (#2132)
- Fix ignore of I18n files (#2143)
- Fix redirect destination lookup (#2140)
- Add LD-JSON to MinifyJavaScript content types allowed to be compressed (#2138)
- chmod before closing file to fix compatibility with JRuby (#2133)
- Keeps full file path for chained templates (#2117)
- Use i18n fallbacks when looking up localized paths (#2116)
- Compat with latest rails/activesupport < 5.2 (#2095)
- Update "Port in use"-message for PreviewServer (#2089)
- I18n: Keep fragment and query in url_for (#2062)
- Add support for locale suffixes to link_to (#2065)
- Allow absolute :data_dir paths. Addresses (#2042)
4.4.2 (2021-11-04)
- Use compiled regex for performance improvement (#2502)
4.4.0 (2021-06-17)
-
Use compiled regex for performance improvement (#2502)
-
Allow users to use Active Support 6.1
-
Allow users to use Active Support 6.0 (#2462)
-
Allow users to use Rack 2.2+ (#2460)
-
Bump backports gemfile
-
4.x support for 3.0 (#2424)
-
Travis -> Actions (#2427)
-
Support TOML as a frontmatter or data format (#2405)
-
Replace URI.escape with WEBrick::HTTPUtils.escape (#2383)
Fixes
warning: URI.escape is obsolete
warnings.Similar to (#2312) and the fix
7c155c2
4.3.11 (2020-09-16)
- Fix: rack.rb:89: warning: URI.unescape is obsolete (#2312)
4.3.10 (2020-09-11)
- Bump version
4.3.9 (2020-09-10)
- Fix: build error using liquid (#2083)
4.3.8 (2020-08-13)
- Update kramdown to avoid CVE-2020-14001 in v4 (#2348)
4.3.7 (2020-05-28)
-
Loosen activesupport dependence (#2327)
What
Change the maximum version of activesupport required to be any 5.x version, bringing the dependency back inline prior to it being restricted in commit
ea2115f3f8
.Why
There is a vulnerability reported in activesupport that is fixed in version 5.2.4.3, which middleman-core does not allow to be used due to its
< 5.1
version requirement.Prior to commit
ea2115f3f8
any5.x
version was allowed because the dependency was defined as~> 5.0
, however in that commit that intended to loosen the minimum dependency it appears the maximum dependency was tightened. There is no explanation in the commit or its related PR (#1976) about this so it could have been an accident. -
Add empty image alt tag if alt text not specified (#2323)
Middleman's image_tag helper wraps the Padrino image_tag helper. By default, the Padrino image_tag helper adds an alt tag based on the image filename when one isn't explicitly set.
Alt text based on the filename is not helpful to users and therefore bad for accessibility.
To avoid this, explicitly set an empty alt tag value before calling Padrino's image_tag if the user hasn't specified a value.
4.3.6 (2020-02-21)
- Disable therubyracer
- Reset Content-Length header when rewriting (#2316)
- Add Ruby 2.7.0 to CI
4.3.5 (2019-08-10)
-
Fix i18n with anchor v4 (#2287)
-
apply fix from
fix-i18n-with-anchor
to 4.x branch -
also fix markdown anchors
-
add tests for
i18n_link_to
and kramdown:anchor
-
pass
&:to_sym
as an argument totransform_keys!
instead of a block.
-
4.3.4 (2019-05-13)
- Fix
ignore
of files controlled by i18n. (#2039, #2143)
4.3.3 (2019-02-18)
- Add
--bail
to fail a build upon the first error and show the error messages. (#2246)
4.3.2 (2019-01-16)
- Resolve Haml 5 warnings (#2149)
4.3.1 (2019-01-14)
- Fix sassc imports of gem files that expect old sass to be present.
4.3.0 (2019-01-11)
- Only SassC from now on.
- Fix regression (all the way back to v3) for Integer/Date keys in YAML. (#2238)
- Fix API to allow rack server according to docs (middleman/middlemanapp.com#794)
- Require i18n ~> 0.8.0 to handle 0.7.0 security issue.
- Allow Bundler 2
4.2.1
- Fix some issues with Ruby 2.4.0
4.2.0
Fix (#1951). A failed build would "clean" all files in build. Possibly breaking change, "clean" and "after_build" are only run for successful builds.
4.1.14
Fix (#2019). Always logging boolean on starting up.
4.1.13
- Change how config options are passed to Thor. Removes new Thor warnings from (#2017)
4.1.12
- Fix broken
ignore { |p| true }
form.
4.1.11
- Upgrade to Rack 2.
4.1.10
- Fix unicode issues in URL deeplinks.
- Add prefix option to asset_hash (#1949)
4.1.9
- Fix
--watcher-*
CLI flags. - Allow spaces in paths to work with
link_to
. Fixes (#1914) - Add support for dotenv
- Fix asset_url with asset_hash (#1919)
- Allow partial lookups without a current_resource (#1912)
4.1.8
- Expose
development?
andproduction?
helpers to template context. - require the
try
core extension (#1911) - Fix contract for Sitemap::Store.register_resource_list_manipulator (#1907)
- Loosen contract on Resource#source_file to MaybeString
- Let collection loops access ConfigContext for helpers. (#1879)
- Use https:// to clone templates (#1901)
- Allow numbers to be unique page_ids (#1886)
- Prevent infinite loop when encountering files where base filename is a possible templating engine
4.1.7
- Upgrade fastimage to 2.0
- Fix shutdown of external_pipeline commands when config.rb is changed. (#1877)
- Allow calls to
app.
to work as collections after initial config parse. (#1876)
4.1.5-4.1.6
- Fix file recursion when looking for possible asset dependencies. Major preview server performance improvement.
4.1.4
- Unify default extensions for all URL processing extensions. (#1855)
- Fix URL regex for
content:
context of CSS. (#1853) - Make sure CLI config over-rides
config.rb
order. - Fix relative assets in some contexts. (#1842)
4.1.3
- Expose all top-level config options to CLI (flags now match config. latency -> watcher_latency, etc).
- Fix directory indexes with
.htm
and.xhtml
files. (#1821)
4.1.2
- Add
page_id
concept. Using theid
key in frontmatter, proxy or page will set an ID on a resource which can be referenced byurl_for
andlink_to
. - Allow looking for
Gemfile
when setting up a project to fail gracefully. - Send correct exit code when external_pipeline fails during build.
- Fix error when customizing
layouts_dir
. (#1028) - Fix collections (commands in loops) not being processed by
page
command. (#1226) - Correctly asset_hash sourcemap references.
4.1.1
- Fix bad code that made
/__middleman/
break.
4.1.0
- Add rewrite_ignore option to asset_hash, asset_host, cache_buster & relative_assets. This proc let's you opt-out of the extension behavior on a per-path basis.
- gzip extension now compresses svgs by default
- Fix the
encoding
option. - Fix relative paths on
image_tag
helper. - Correctly exit with error code on failed
init
- Fixed
asset_hash
when path has query string or #hashes - Fix new extension template
- Don't parse frontmatter on ignored files.
- Fix displaying frontmatter on
/__middleman/sitemap
- Add
skip_build_clean
config which when set to a block, will avoid removing non-generated paths from build, like .git (#1716) - Minor performance improvements
- DRY-up config.rb-specific commands like
ignore
orpath
. - Fix automatic images with absolute (or images dir missing) paths in markdown. Fixes (#1755)
- Fix asset_host in combination with Google Analytics snippet. (#1751)
- Show an error message when git CLI is not available. (#1765)
- Correctly show file names of GZIP'ed assets. (#1364)
- Build file output is now parallel-ized! Use
middleman build --no-parallel
to disable. - Make template file extensions that get layouts by default configurable via
config[:extensions_with_layout]
- Remove
=
from inline url matcher. This means paths in HTML attributes MUST be quoted. Fixes (#1780)
4.0.0
- Add
:locales
and:data
source types to the list of files which trigger a live-reload. - Rename i18n
lang
andlangs
tolocale
andlocales
. - Avoid matching URLs across new lines. (#1689)
- Load Middleman Directory when doing
init
over SSL - Fix
external_pipeline
first runs running out of sequence.
4.0.0.rc.2
- Rather than applying layouts to all files which are not .txt, .css, .js, .json: the new behavior is to only default layouts to active for .html
- Switch from Ruby Sass to SassC.
relative_assets
extension overrides localrelative: false
option to stylesheet/javascript tag helpers.- Add
before_server
-hook to the preview server which is run before the Webrick server is started - Add
-d
tomiddleman server
to make it run as daemon - Trigger "Possible File Change" events on files which share an output or template type with a changed file. Allows LiveReload to update on partial changes.
- Added
import_file SOURCE, TARGET
andimport_path SOURCE_FOLDER
to copy resources from outside the project in. Does NOT do file change watching. Perfect forbower_components
.
4.0.0.rc.1
- Removed ability to use JSON as frontmatter. Still allowed in data/ folder.
- Added YAML data postscript. Like frontmatter, but reversed. Attach content after the key/value data as a
:postscript
key to the data structure (if Hash).
4.0.0.beta.2
- Fixed regression causing exceptions to be silently thrown away outside of
--verbose
mode in the dev server. - Pull in
--ssl
option from stable. - Replace
hooks
gem with custom callback solution.
4.0.0.beta.1
- Add
resources
class method to extensions to allow simple string-based resource generation. - rename
app.add_to_instance
toExtension.expose_to_application
for adding extension-local methods to the shared app instance. - rename
app.add_to_config_context
toExtension.expose_to_config
for adding extension-local methods to the sandboxed scope ofconfig.rb
- Add
Extension.expose_to_template
, which auto binds copies of extension-local methods into a Template context. - Remove side-loading of CLI tasks from
tasks/
- Add the option of naming
config.rb
asmiddleman.rb
. - Builder extracted from Thor.
after_build
hook now passes an instance of a Builder instead of the Thor CLI. - New FileWatcher API.
- Remove the
partials_dir
setting. Partials should live next to content, or be addressed with absolute paths. - Partials must be named with a leading underscore.
_my_snippet.html.erb
, notmy_snippet.html.erb
. - Removed the
proxy
andignore
options for thepage
command inconfig.rb
. Use theproxy
andignore
commands instead of passing these options topage
. - The
page
command inconfig.rb
can now be used to add data to the page via thedata
argument. It is accessed the same way as frontmatter data, viacurrent_resource.data
. - Add support for
environments
with the-e
CLI flag. Loads additional config fromenvironments/envname.rb
. Removeddevelopment?
helper in favor ofenvironment?(:development)
. Addedserver?
helper to differentiate between build and server mode. - Removed
with_layout
. Use loops ofpage
instead. - Removed Queryable Sitemap API
- Removed
css_compressor
setting, useactivate :minify_css, :compressor =>
instead. - Removed
js_compressor
setting, useactivate :minify_javascript, :compressor =>
instead. - Removed ability to server folders of content statically (non-Middleman projects).
- Prevent local templates being loaded when $HOME is not set
- Removed "Implied Extension feature"
- Remove 'upgrade' and 'install' CLI commands.
- Gemfile may be in a parent directory of your Middleman project root (where 'config.rb' is).
- All dependencies for your Middleman project must be expressed in
Gemfile
- Bundler is no longer optional. - Asciidoc information now available with the
asciidoc
local, which is a normal hash. - Remove
page
template local. Usecurrent_resource
instead. - Dropped support for providing a block to
page
&proxy
. - Dropped support for instance variables inside templates.
- Moved all rendering into
TemplateRenderer
andFileRenderer
- Placed all template evaluation inside the
TemplateContext
class - Remove deprecated
request
instance - Remove old module-style extension support
- Placed all
config.rb
evaluation inside theConfigContext
class - The preview server can now serve over HTTPS using the
--https
flag. It will use an automatic self-signed cert which can be overridden using--ssl_certificate
and--ssl_private_key
. These settings can also be set inconfig.rb