dropwizard-java8 bundle merged into mainline #1365dropwizard-spdy module is removed in favor of dropwizard-http2 #1330logback-access for HTTP request logging #1415toString method during deserializing enum values from JSON #1340SizeUnit suffixes #1380ResourceTestRule are registered by default #1387RequestLogFactory #1290inheritedChannel option #1410DropwizardAppRule at the suite level #1411MigrationBundles #1430Application.run method #1503ConfigurationSourceProvider for reading resources from classpath #1314@UnwrapValidatedValue annotation to BaseReporterFactory.frequency #1308, #1309DataSourceFactory by deprecating PooledDataSourceFactory#getHealthCheckValidationQuery() and PooledDataSourceFactory#getHealthCheckValidationTimeout() #1321, #1322null values in JAX-RS resource method parameters of type Optional<T> as absent value after conversion #1323CachingAuthenticator with caching results of failed authentication attempts #1082ServerFactory #785FileAppenderFactory. #1000FileAppenderFactory #1218MetricRegistry during bootstrap (e.g. with HdrHistogram) #1015ObjectMapper during bootstrap. #1112toString #1104Configuration via test rules #1131SessionFactory #1182null values in JAX-RS resource method parameters of type Optional<T> as absent value after conversion #1323@UnitOfWork (#850, #915)dropwizard-spdy from NPN to ALPNdropwizard-spdyTask, using metrics annotations.@PATCH annotation for Jersey resource methods to indicate use of the HTTP PATCH method.HttpClientBuilder and JerseyClientBuilder.DropwizardAppTestRule.ScanningHibernateBundle, which scans packages for entities, instead of requiring you to add them individually.CachingAuthenticator that match a specified Predicate.--catalog and --schema options to Liquibase.stackTracePrefix configuration option to SyslogAppenderFactory to configure the pattern prepended to each line in the stack-trace sent to syslog. Defaults to the TAB character, “t”. Note: this is different from the bang prepended to text logs (such as “console”, and “file”), as syslog has different conventions for multi-line messages.Optional values using validation annotations. Such values require the @UnwrapValidatedValue annotation, in addition to the validations you wish to use.User-Agent for HttpClient. Configurable via the userAgent configuration option.AllowedMethodsFilter. Configure allowed HTTP methods for both the application and admin connectors with allowedMethods.CredentialProvider for HTTP clients.SyslogAppenderFactory failing when the application name contains a PCRE reserved character (e.g. / or $).DiscoverableSubtypeResolver using the system ClassLoader, instead of the local one.--dump to fail to dump the database.DropwizardAppTestRule so that it no longer requires a configuration path to operate. When no path is specified, it will now use the applications’ default configuration.Bootstrap so that getMetricsFactory() may now be overridden to provide a custom instance to the framework to use.io.dropwizard group ID and namespace.dropwizard-configuration,
dropwizard-jackson, dropwizard-jersey, dropwizard-jetty, dropwizard-lifecycle,
dropwizard-logging, dropwizard-servlets, dropwizard-util, dropwizard-validation.Environment to separate classes: JerseyEnvironment,
LifecycleEnvironment, etc.dropwizard-views-freemarker and dropwizard-views-mustache.
dropwizard-views just provides infrastructure now.Service to Application.dropwizard-forms, which provides support for multipart MIME entities.dropwizard-spdy.AppenderFactory, allowing for arbitrary logging appenders for application and request
logs.ConnectorFactory, allowing for arbitrary Jetty connectors.ServerFactory, with multi- and single-connector implementations.ReporterFactory, for metrics reporters, with Graphite and Ganglia implementations.ConfigurationSourceProvider to allow loading configuration files from sources other than
the filesystem.ServerFactory. To bind to privileged ports (e.g. 80), enable startsAsRoot and set user
and group, then start your application as the root user.check command, which loads and validates the service configuration.dropwizard-client.deflate-encoded requests and responses.@Session HttpSession session to have the session context injected.@Session Flash message to have any existing flash message injected.enums with fuzzy matching rules (i.e., whitespace
stripping, -/_ equivalence, case insensitivity, etc.).HibernateBundle#configure(Configuration) for customization of Hibernate configuration.DateTime arguments and results when using JDBI.--migrations command-line option to migrate command to supply the migrations
file explicitly.application/json responses.AsyncRequestLog; now standardized on Jetty 9 NCSA format.DatabaseConfiguration to DataSourceFactory, and ConfigurationStrategy to
DatabaseConfiguration.dropwizard-db to use tomcat-jdbc instead of tomcat-dbcp.ResourceTest with ResourceTestRule, a JUnit TestRule.ManagedSessionFactory.ObjectMapperFactory; use ObjectMapper instead.Validator; use javax.validation.Validator instead.dropwizard-migrations.TaskServlet.retries to HttpClientConfiguration.ServerLifecycleListener instances.dropwizard-hibernate.dropwizard-migrations.http.acceptorThreadCount to http.acceptorThreads.ssl.keyStorePath to ssl.keyStore.JerseyClient. Use Jersey’s Client class instead.dropwizard-jdbi.Database. Use JDBI’s DBI class instead.Json class. Use ObjectMapperFactory and ObjectMapper instead.Validator.Optional resource method parameters.ResourceTest.dropwizard-testing.Environment into Bootstrap and Environment, and broke configuration of each into
Service‘s #initialize(Bootstrap) and #run(Configuration, Environment).AbstractService and Service.ScalaService, so be sure to add ScalaBundle.JerseyClientFactory without an Environment.Optional support for JDBI.AsyncRequestLog.UUIDParam.Note
Upgrading to 0.6.0 will require changing your code. First, your Service subclass will
need to implement both #initialize(Bootstrap<T>) and
#run(T, Environment). What used to be in initialize should be moved to run.
Second, your representation classes need to be migrated to Jackson 2. For the most part,
this is just changing imports to com.fasterxml.jackson.annotation.*, but there are
some subtler changes in functionality.
Finally, references to 0.5.x’s Json, JerseyClient, or JDBI classes should be
changed to Jackon’s ObjectMapper, Jersey’s Client, and JDBI’s DBI
respectively.
dropwizard-testing dependency.*.mustache) to dropwizard-views.DnsResolver implementations in HttpClientFactory.JerseyClientConfiguration#compressRequestEntity for disabling the compression of request
entities.Environment#scanPackagesForResourcesAndProviders for automatically detecting Jersey
providers and resources.Environment#setSessionHandler.AssetServlet:Last-Modified-At timestamps.JacksonMessageBodyProvider:@JsonIgnoreType.@MinSize, @MaxSize, and @SizeRange validations.@MinDuration, @MaxDuration, and @DurationRange validations.TaskServlet problems with custom context paths.jersey-text-framework-core as an explicit dependency of dropwizard-testing. This
helps out some non-Maven build frameworks with bugs in dependency processing.addProvider to JerseyClientFactory.NullPointerException problems with anonymous health check classes.ByteBuffer instances as JSON.supportedProtocols to SSL configuration, and disabled SSLv2 by default.Optional<Integer> query parameters and others.jersey-freemarker dependency from dropwizard-views.server command optional.Log.forThisClass().@JsonIgnoreType to JacksonMessageBodyProvider.JsonProcessingExceptionMapper. Now returns human-readable error messages for malformed
or invalid JSON as a 400 Bad Request. Also handles problems with JSON generation and object
mapping in a developer-friendly way.ConfiguredCommand.logging.console.format, logging.file.format, and logging.syslog.format
parameters for custom log formats.ResourceTest to allow for enabling/disabling specific Jersey features.Configuration serializable as JSON.Command.java.util.logging level changes.AssetServlet.withBundle to ScalaService to enable bundle mix-ins.Optional.AssetBundle.WebApplicationException``s being thrown by ``JerseyClient.Log#fatal methods.logging.file.filenamePattern with logging.file.currentLogFilename and
logging.file.archivedLogFilenamePattern.logging.file.retainedFileCount with logging.file.archivedFileCount.http.requestLog now has console, file, and syslog
sections.ResourceTest#addProvider(Class<?>).ETag and Last-Modified support to AssetServlet.off logging levels conflicting with YAML’s helpfulness.Optional support for some JDBC drivers.ResourceTest#getJson().CacheBuilderSpec instances from JSON/YAML.AssetsBundle and servlet to using cache builder specs.CachingAuthenticator to using cache builder specs.400 Bad Request instead of a
500 Server Error response.connectionTimeout, maxConnectionsPerRoute, and keepAlive to
HttpClientConfiguration.HostAndPort in configuration properties.Log.dropwizard-templates and added dropwizard-views instead.AbstractParam#getMediaType().NullPointerException when getting logging levels via JMX.@BearerToken and added dropwizard-auth instead.@CacheControl for resource methods.AbstractService#getJson() for full Jackson customization.ThreadNameFilter is now added by default. The thread names Jetty worker threads are set to the
method and URI of the HTTP request they are currently processing.-Ddw.http.port=8090 will override the configuration file to set http.port to 8090.ManagedCommand. It was rarely used and confusing.http.adminPort is the same as http.port, the admin servlet will be hosted under
/admin. This allows Dropwizard applications to be deployed to environments like Heroku, which
require applications to open a single port.http.adminUsername and http.adminPassword to allow for Basic HTTP Authentication
for the admin servlet.logging.console.timeZone and logging.file.timeZone to control the time zone of
the timestamps in the logs. Defaults to UTC.jackson-datatype-guava for JSON serialization/deserialization of Guava
types.InstrumentedQueuedThreadPool from metrics-jetty.Service vs. ScalaService.Configuration subclass and its fields. Configuration files which don’t end in .yaml or
.yml are treated as JSON.Json to no longer be a singleton.JsonHelpers in dropwizard-testing to use normalized JSON strings to compare
JSON.DatabaseConfiguration. It’s no longer a map of connection names to configuration
objects.Database to use the validation query in DatabaseConfiguration for its #ping()
method.HttpConfiguration defaults to match Jetty’s defaults.Log#setLevel(Level).Service#getJerseyContainer, which allows services to fully customize the Jersey
container instance.http.contextParameters configuration parameter.ServerCommand. For the last time.metrics-jetty. This allows for much
lower-level metrics about your service, including whether or not your thread pools are overloaded.ResourceTest to dropwizard-testing, which uses the Jersey Test Framework to provide
full testing of resources.AssetServlet and AssetsBundle.rootPath to Configuration. It allows you to serve Jersey assets off a specific path
(e.g., /resources/* vs /*).AssetServlet now looks for index.htm when handling requests for the root URI.@Timed, @Metered, or @ExceptionMetered are
now instrumented via metrics-jersey.ServerCommand.ServerCommand#run() non-final.ManagedCommand to provide access to the Environment, among other things.JerseyClient‘s thread pool managed.Duration and Size configuration parameters.ConfiguredCommand.Log, a simple front-end for logging.