- Add support for Rails 8 and add test infrastructure to ensure future compatibility with Rails 7.0, 7.1, and 8.0. #115, #117, #121
- Improve out-of-the-box compatibility with Rails by reading
default_url_options
,relative_url_root
, andforce_ssl
settings on boot and applying them to Parklife'sconfig.base
(force_ssl
has been set totrue
inproduction.rb
since Rails 7.1). #118 - Improve out-of-the-box compatibility with Sinatra 4.1 which has host authorisation middleware enabled by default in development mode and would otherwise respond to Parklife requests with a 403 status. Additionally the generated Sinatra production build script now sets the environment variable
APP_ENV=production
to enable production mode. #123, #122 - When discovering HTML links ignore
<a>
elements without anhref
. #107
- Don't error when the public directory doesn't exist #105
-
Allow assigning a URI object to config.base #98
-
Add a
parklife config
command to output the full Parklife config #97 -
Improved Rails integration #96
Parklife now integrates with Rails via Railties and can therefore hook into the app's configuration before it's initialised. This allows Parklife to remove the host authorisation middleware that's present in development and otherwise causes Parklife requests to receive a 403 response.
Upgrading: For an existing Parklife+Rails integration move requiring
parklife/rails
above requiringconfig/environment
in the Parkfile. -
Prevent
Encoding::UndefinedConversionError
error when writing a binary response #94
- Ensure the generated static-build script is executable. #89
- RuboCop. #87
- Allow passing
--base
to allparklife
commands. #85 - Configure Rails
default_url_options
andrelative_url_root
when setting Parklife base. #85 - Add
parklife get PATH
command to fetch and output a path. #83 - Add a
parklife init
command to create a starter Parkfile and friends. #82 - Fix the HOST header for a non-standard port. #81
- Allow overriding
config.base
from the CLI build command with the--base
option. #78 - Support mounting the app at a path. #78
- Remove Capybara and use Rack::Test directly. #78
- Rename
config.rack_app
toconfig.app
. #78 - Don't save the response when
on_404=:skip
. #77 - More accurate progress dots. #75
- Default
build_dir
tobuild
. #73 - Fix build paths when
build_dir
isn't a full path. #73 - Ignore pathless links - for instance #fragments and mailto. #72
- First official version hosted on RubyGems.org.
- Provide alternatives to blowing up if a 404 is encountered. #70
- Add the ability to crawl a route by adding
crawl: true
to it. #65
The day I started using Parklife in production for my website.