2016-01-26 04:46:07 +08:00
|
|
|
CHANGES
|
|
|
|
|
2016-07-19 11:50:45 +08:00
|
|
|
0.9 (July 18, 2016)
|
2016-06-07 23:27:14 +08:00
|
|
|
- New core
|
|
|
|
- New experimental QUIC support with -quic flag (HTTPS only)
|
2016-07-19 11:50:45 +08:00
|
|
|
- New -type option to specify other server types
|
2016-06-08 04:33:06 +08:00
|
|
|
- Moved ~/.caddy/letsencrypt to ~/.caddy/acme and reorganized assets
|
2016-06-07 23:27:14 +08:00
|
|
|
- Moved caddy package to top level folder, and pushed main to subfolder
|
2016-07-19 11:50:45 +08:00
|
|
|
- New {request} placeholder to dump entire request (without body)
|
|
|
|
- New {hostonly} placeholder for only hostname portion of host value
|
2016-06-07 23:27:14 +08:00
|
|
|
- Site addresses can have paths
|
|
|
|
- Site addresses can make some use of wildcards in domains
|
2016-06-08 04:33:06 +08:00
|
|
|
- Renamed -directives flag to -plugins
|
|
|
|
- Restarting no longer requires spawning a new process
|
|
|
|
- Removed -restart option
|
2016-07-03 08:07:24 +08:00
|
|
|
- fastcgi: Env variables now support placeholders
|
|
|
|
- import: Import paths now relative to Caddyfile, not current working dir
|
2016-06-07 23:27:14 +08:00
|
|
|
- markdown: Overhauled; removed site generation features
|
2016-07-03 08:07:24 +08:00
|
|
|
- proxy: More control of headers; deprecating proxy_header subdirective
|
2016-06-07 23:27:14 +08:00
|
|
|
- proxy: Specify multiple upstreams with optional port ranges
|
2016-07-03 08:07:24 +08:00
|
|
|
- proxy: New preset 'transparent' to simplify common pass-thru headers
|
|
|
|
- proxy: Chooses longest matching path; order declared is irrelevant
|
|
|
|
- redir: Added if and if_op subdirectives to make conditional redirects
|
|
|
|
- rewrite: Support for if_op to change how conditions are evaluated
|
2016-06-07 23:27:14 +08:00
|
|
|
- tls: Generate self-signed certificates in memory
|
2016-06-22 21:09:27 +08:00
|
|
|
- tls: Support for ACME DNS challenge with 10 providers
|
2016-06-07 23:27:14 +08:00
|
|
|
- tls: Support for TLS-SNI challenge during restarts
|
2016-06-08 04:33:06 +08:00
|
|
|
- Various bug fixes and enhancements
|
2016-04-28 02:51:53 +08:00
|
|
|
|
|
|
|
|
2016-04-26 22:36:59 +08:00
|
|
|
0.8.3 (April 26, 2016)
|
2016-04-18 23:43:21 +08:00
|
|
|
- Built with Go 1.6.2
|
2016-04-26 22:36:59 +08:00
|
|
|
- New pprof middleware for exposing process profiling endpoints
|
|
|
|
- New expvar middleware for exposing memory/GC performance
|
2016-03-22 02:36:00 +08:00
|
|
|
- New -restart option to force in-process restarts on Unix systems
|
2016-04-06 09:04:08 +08:00
|
|
|
- Only fail to start if managed certificate is expired (issue #642)
|
2016-03-20 09:49:19 +08:00
|
|
|
- Toggle case-sensitive path matching with environment variable
|
2016-04-06 09:04:08 +08:00
|
|
|
- File server now adds ETag header for static files
|
2016-04-26 22:36:59 +08:00
|
|
|
- browse: Replace .LinkedPath action with .BreadcrumbMap
|
2016-04-06 09:04:08 +08:00
|
|
|
- fastcgi: New except clause to exclude paths
|
2016-03-17 01:43:57 +08:00
|
|
|
- proxy: New max_conns setting to limit max connections per upstream
|
2016-04-26 22:36:59 +08:00
|
|
|
- proxy: New replaceable value for name of upstream host
|
|
|
|
- templates: New utility actions for dealing with strings
|
2016-04-06 09:04:08 +08:00
|
|
|
- tls: Customize certificate key with key_type (+ECC)
|
2016-04-26 22:36:59 +08:00
|
|
|
- tls: Session ticket keys are now rotated
|
|
|
|
- Many other minor internal improvements and bug fixes
|
2016-03-17 01:43:57 +08:00
|
|
|
|
2016-04-28 02:51:53 +08:00
|
|
|
|
2016-02-26 01:26:42 +08:00
|
|
|
0.8.2 (February 25, 2016)
|
|
|
|
- On-demand TLS can obtain certificates during handshakes
|
2016-02-19 11:57:38 +08:00
|
|
|
- Built with Go 1.6
|
|
|
|
- Process log (-log) is rotated when it gets large
|
2016-02-26 01:26:42 +08:00
|
|
|
- Managed certificates get renewed 30 days early instead of just 14
|
2016-02-19 11:57:38 +08:00
|
|
|
- fastcgi: Allow scheme prefix before address
|
|
|
|
- markdown: Support for definition lists
|
|
|
|
- proxy: Allow proxy to insecure HTTPS backends
|
|
|
|
- proxy: Support proxy to unix socket
|
2016-02-26 01:26:42 +08:00
|
|
|
- rewrite: Status code can be 2xx or 4xx
|
2016-02-19 11:57:38 +08:00
|
|
|
- templates: New .Markdown action to interpret included file as Markdown
|
2016-02-26 01:26:42 +08:00
|
|
|
- templates: .Truncate now truncates from end of string when length is negative
|
|
|
|
- tls: Set hard limit for certificates obtained with on-demand TLS
|
|
|
|
- tls: Load certificates from directory
|
|
|
|
- tls: Add SHA384 cipher suites
|
2016-02-19 11:57:38 +08:00
|
|
|
- Multiple bug fixes and internal changes
|
|
|
|
|
|
|
|
|
2016-01-26 04:46:07 +08:00
|
|
|
0.8.1 (January 12, 2016)
|
|
|
|
- Improved OCSP stapling
|
|
|
|
- Better graceful reload when new hosts need certificates from Let's Encrypt
|
|
|
|
- Current pidfile is now deleted when Caddy exits
|
|
|
|
- browse: New default template
|
|
|
|
- gzip: Added min_length setting
|
|
|
|
- import: Support for glob patterns (*) to import multiple files
|
|
|
|
- rewrite: New complex rules with conditions, regex captures, and status code
|
|
|
|
- tls: Removed DES ciphers from default cipher suite list
|
|
|
|
- tls: All supported certificates are OCSP-stapled
|
|
|
|
- tls: Allow custom configuration without specifying certificate and key
|
|
|
|
- tls: No longer allow HTTPS over port 80
|
|
|
|
- Dozens of bug fixes, improvements, and more tests across the board
|
|
|
|
|
2016-02-19 11:57:38 +08:00
|
|
|
|
2016-06-07 23:27:14 +08:00
|
|
|
0.8 (December 4, 2015)
|
2016-01-26 04:46:07 +08:00
|
|
|
- HTTPS by default via Let's Encrypt (certs & keys are fully managed)
|
|
|
|
- Graceful restarts (on POSIX-compliant systems)
|
|
|
|
- Major internal refactoring to allow use of Caddy as library
|
|
|
|
- New directive 'mime' to customize Content-Type based on file extension
|
|
|
|
- New -accept flag to accept Let's Encrypt SA without prompt
|
|
|
|
- New -email flag to customize default email used for ACME transactions
|
|
|
|
- New -ca flag to customize ACME CA server URL
|
|
|
|
- New -revoke flag to revoke a certificate
|
|
|
|
- New -log flag to enable process log
|
|
|
|
- New -pidfile flag to enable writing pidfile
|
|
|
|
- New -grace flag to customize the graceful shutdown timeout
|
|
|
|
- New support for SIGHUP, SIGTERM, and SIGQUIT signals
|
|
|
|
- browse: Render filenames with multiple whitespace properly
|
|
|
|
- core: Use environment variables in Caddyfile
|
|
|
|
- markdown: Include Last-Modified header in response
|
|
|
|
- markdown: Render tables, strikethrough, and fenced code blocks
|
|
|
|
- proxy: Ability to exclude/ignore paths from proxying
|
|
|
|
- startup, shutdown: Better Windows support
|
|
|
|
- templates: Bug fix for .Host when port is absent
|
|
|
|
- templates: Include Last-Modified header in response
|
|
|
|
- templates: Support for custom delimiters
|
|
|
|
- tls: For non-local hosts, default port is now 443 unless specified
|
|
|
|
- tls: Force-disable HTTPS
|
|
|
|
- tls: Specify Let's Encrypt email address
|
|
|
|
- Many, many more tests and numerous bug fixes and improvements
|
|
|
|
|
|
|
|
|
|
|
|
0.7.6 (September 28, 2015)
|
|
|
|
- Pass in simple Caddyfile as command line arguments
|
|
|
|
- basicauth: Support for legacy htpasswd files
|
|
|
|
- browse: JSON response with file listing
|
|
|
|
- core: Caddyfile as command line argument
|
|
|
|
- errors: Can write full stack trace to HTTP response for debugging
|
|
|
|
- errors, log: Roll log files after certain size or age
|
|
|
|
- proxy: Fix for 32-bit architectures
|
|
|
|
- rewrite: Better compatibility with fastcgi and PHP apps
|
|
|
|
- templates: Added .StripExt and .StripHTML methods
|
|
|
|
- Internal improvements and minor bug fixes
|
|
|
|
|
|
|
|
|
|
|
|
0.7.5 (August 5, 2015)
|
|
|
|
- core: All listeners bind to 0.0.0.0 unless 'bind' directive is used
|
|
|
|
- fastcgi: Set HTTPS env variable if connection is secure
|
|
|
|
- log: Output to system log (except Windows)
|
|
|
|
- markdown: Added dev command to disable caching during development
|
|
|
|
- markdown: Fixed error reporting during initial site generation
|
|
|
|
- markdown: Fixed crash if path does not exist when server starts
|
|
|
|
- markdown: Fixed site generation and link indexing when files change
|
|
|
|
- templates: Added .NowDate for use in date-related functions
|
|
|
|
- Several bug fixes related to startup and shutdown functions
|
|
|
|
|
|
|
|
|
|
|
|
0.7.4 (July 30, 2015)
|
|
|
|
- browse: Sorting preference persisted in cookie
|
|
|
|
- browse: Added index.txt and default.txt to list of default files
|
|
|
|
- browse: Template files may now use Caddy template actions
|
|
|
|
- markdown: Template files may now use Caddy template actions
|
|
|
|
- markdown: Several bug fixes, especially for large and empty Markdown files
|
|
|
|
- markdown: Generate index pages to link to markdown pages (sitegen only)
|
|
|
|
- markdown: Flatten structure of front matter, changed template variables
|
|
|
|
- redir: Can use variables (placeholders) like log formats can
|
|
|
|
- redir: Catch-all redirects no longer preserve path; use {uri} instead
|
|
|
|
- redir: Syntax supports redirect tables by opening a block
|
|
|
|
- templates: Renamed .Date to .Now and added .Truncate, .Replace actions
|
|
|
|
- Other minor internal improvements and more tests
|
|
|
|
|
|
|
|
|
|
|
|
0.7.3 (July 15, 2015)
|
|
|
|
- errors: Error log now shows timestamp with each entry
|
|
|
|
- gzip: Fixed; Default filtering is by extension; removed MIME type filter
|
|
|
|
- import: Fixed; works inside and outside server blocks
|
|
|
|
- redir: Query string preserved on catch-all redirects
|
|
|
|
- templates: Proper 403 or 404 errors for restricted or missing files
|
|
|
|
|
|
|
|
|
|
|
|
0.7.2 (July 1, 2015)
|
|
|
|
- Custom builds through caddyserver.com - extend Caddy by writing addons
|
|
|
|
- browse: Sort by clicking column heading or using query string
|
|
|
|
- core: Serving hostname that doesn't resolve issues warning then listens on 0.0.0.0
|
|
|
|
- errors: Missing error page during parse time is warning, not error
|
|
|
|
- ext: Extension only appended if request path does not end in /
|
|
|
|
- fastcgi: Fix for backend responding without status text
|
|
|
|
- fastcgi: Fix PATH_TRANSLATED when PATH_INFO is empty (RFC 3875)
|
|
|
|
- git: Removed from core (available as add-on)
|
|
|
|
- gzip: Enable by file path and/or extension
|
|
|
|
- gzip: Customize compression level
|
|
|
|
- log: Fix for missing status in log entry when error unhandled
|
|
|
|
- proxy: Strip prefix from path for proxy to path
|
|
|
|
- redir: Meta tag redirects
|
|
|
|
- templates: Support for nested includes
|
|
|
|
- Internal improvements and more tests
|
|
|
|
|
|
|
|
|
|
|
|
0.7.1 (June 2, 2015)
|
|
|
|
- basicauth: Patched timing vulnerability
|
|
|
|
- proxy: Support for WebSocket backends
|
|
|
|
- tls: Client authentication
|
|
|
|
|
|
|
|
|
2016-06-07 23:27:14 +08:00
|
|
|
0.7 (May 25, 2015)
|
2016-01-26 04:46:07 +08:00
|
|
|
- New directive 'internal' to protect resources with X-Accel-Redirect
|
|
|
|
- New -version flag to show program name and version
|
|
|
|
- core: Fixed escaped backslash characters inside quoted strings
|
|
|
|
- core: Fixed parsing Caddyfile for IPv6 addresses missing ports
|
|
|
|
- core: A notice is shown when non-local address resolves to loopback interface
|
|
|
|
- core: Warns if file descriptor limit is too low for production site (Mac/Linux)
|
|
|
|
- fastcgi: Support for Unix sockets
|
|
|
|
- git: Fixed issue that prevented pulling at designated interval
|
|
|
|
- header: Remove a header field by prefixing field name with "-"
|
|
|
|
- markdown: Simple static site generation
|
|
|
|
- markdown: Support for metadata ("front matter") at beginning of files
|
|
|
|
- rewrite: Experimental support for regular expressions
|
|
|
|
- tls: Customize cipher suites and protocols
|
|
|
|
- tls: Removed RC4 ciphers
|
|
|
|
- Other internal improvements that are not user-facing (more tests, etc.)
|
|
|
|
|
|
|
|
|
2016-06-07 23:27:14 +08:00
|
|
|
0.6 (May 7, 2015)
|
2016-01-26 04:46:07 +08:00
|
|
|
- New directive 'git' to automatically pull changes
|
|
|
|
- New directive 'bind' to override host server binds to
|
|
|
|
- New -root flag to specify root path to default site
|
|
|
|
- Ability to receive config data piped through stdin
|
|
|
|
- core: Warning if root directory doesn't exist at startup
|
|
|
|
- core: Entire process dies if any server fails to start
|
|
|
|
- gzip: Fixed Content-Length value when proxying requests
|
|
|
|
- errors: Error log now includes file and line number of panics
|
|
|
|
- fastcgi: Pass custom environment variables
|
|
|
|
- fastcgi: Support for HEAD, OPTIONS, PUT, PATCH, and DELETE methods
|
|
|
|
- fastcgi: Fixed SERVER_SOFTWARE variables
|
|
|
|
- markdown: Support for index files when URL points to a directory
|
|
|
|
- proxy: Load balancing with multiple backends, health checks, failovers, and multiple policies
|
|
|
|
- proxy: Add custom headers
|
|
|
|
- startup/shutdown: Run command in background with '&' at end
|
|
|
|
- templates: Added .tpl and .tmpl as default extensions
|
|
|
|
- templates: Support for index files when URL points to a directory
|
|
|
|
- templates: Changed .RemoteAddr to .IP and stripped out remote port
|
|
|
|
- tls: TLS disabled (with warning) for servers that are explicitly http://
|
|
|
|
- websocket: Fixed SERVER_SOFTWARE and GATEWAY_INTERFACE variables
|
|
|
|
- Many internal improvements
|
|
|
|
|
|
|
|
|
|
|
|
0.5.1 (April 30, 2015)
|
|
|
|
- Default host is now 0.0.0.0 (wildcard)
|
|
|
|
- New -host and -port flags to override default host and port
|
|
|
|
- core: Support for binding to 0.0.0.0
|
|
|
|
- core: Graceful error handling during heavy load; proper error responses
|
|
|
|
- errors: Fixed file path handling
|
|
|
|
- errors: Fixed panic due to nil log file
|
|
|
|
- fastcgi: Support for index files
|
|
|
|
- fastcgi: Fix for handling errors that come from responder
|
|
|
|
|
|
|
|
|
2016-06-07 23:27:14 +08:00
|
|
|
0.5 (April 28, 2015)
|
2016-01-26 04:46:07 +08:00
|
|
|
- Initial release
|