mirror of
https://github.com/middleman/middleman.git
synced 2022-11-09 12:20:27 -05:00
11c8c21738
Further information in the original issue: https://github.com/middleman/middleman/issues/2530
330 lines
15 KiB
Markdown
330 lines
15 KiB
Markdown
# 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 or `sass_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 ea2115f3f87d6e881fe9517dc65735c96735faf3.
|
|
|
|
### 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 ea2115f3f87d6e881fe9517dc65735c96735faf3 any `5.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 to `transform_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?` and `production?` 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 Maybe[String](#1906)
|
|
- 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 the `id` key in frontmatter, proxy or page will set an ID on a resource which can be referenced by `url_for` and `link_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` or `path`.
|
|
- 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` and `langs` to `locale` and `locales`.
|
|
- 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 local `relative: 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` to `middleman 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` and `import_path SOURCE_FOLDER` to copy resources from outside the project in. Does NOT do file change watching. Perfect for `bower_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` to `Extension.expose_to_application` for adding extension-local methods to the shared app instance.
|
|
- rename `app.add_to_config_context` to `Extension.expose_to_config` for adding extension-local methods to the sandboxed scope of `config.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` as `middleman.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`, not `my_snippet.html.erb`.
|
|
- Removed the `proxy` and `ignore` options for the `page` command in `config.rb`. Use the `proxy` and `ignore` commands instead of passing these options to `page`.
|
|
- The `page` command in `config.rb` can now be used to add data to the page via the `data` argument. It is accessed the same way as frontmatter data, via `current_resource.data`.
|
|
- Add support for `environments` with the `-e` CLI flag. Loads additional config from `environments/envname.rb`. Removed `development?` helper in favor of `environment?(:development)`. Added `server?` helper to differentiate between build and server mode.
|
|
- Removed `with_layout`. Use loops of `page` instead.
|
|
- Removed Queryable Sitemap API
|
|
- Removed `css_compressor` setting, use `activate :minify_css, :compressor =>` instead.
|
|
- Removed `js_compressor` setting, use `activate :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. Use `current_resource` instead.
|
|
- Dropped support for providing a block to `page` & `proxy`.
|
|
- Dropped support for instance variables inside templates.
|
|
- Moved all rendering into `TemplateRenderer` and `FileRenderer`
|
|
- Placed all template evaluation inside the `TemplateContext` class
|
|
- Remove deprecated `request` instance
|
|
- Remove old module-style extension support
|
|
- Placed all `config.rb` evaluation inside the `ConfigContext` 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 in `config.rb`
|