Release Notes
Please refer to GitHub releases for the most up-to-date release notes.
v2.0.0: Dec 10, 2019
Add TLS socket logging appender (#2317)
Add opt-in
EmptyOptionalNoContentExceptionMapper
for returning 204 responses on emptyOptional
responses (#2350)Add configuration for excluding mime types and paths to gzip (#2356)
Support expirable log level configurations (#2375)
Add additional syslog logging facilities (#2381)
Add opt-in logging throttling via the
messageRate
config property (#2384)Fix
UUIDParams
accepting input of incorrect length (#2382)Fix resource endpoints injected via DI not being logged on startup (#2389)
Disable protocols less secure than TLS v1.2 by default (#2417)
Add
totalSizeCap
to file log appender (#2502)Gzipped content encoded requests and responses are compatible with Servlet 3.1 and Async IO (#2566)
Retired use of deprecated Apache
StrSubstitutor
andStrLookup
classes and replaced them with Apache’sStringSubstitutor
andStringLookup
(#2462)Deprecate
Bundle
in favor ofConfiguredBundle<T>
(#2516)Allow unknown JSON properties (i.e. disable
DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES
) by default (#2570)Deprecate
*Param
classes and will be removed in 3.0.0 (#2637)Add data size class adhering to the correct SI and IEC prefixes (#2686)
Added PortDescriptor class and method in ServerLifeCycleListener to provide a list of PortDescriptors, detailing all listening information for the application (#2711)
Add support for proxy-protocol in http connector configuration (#2709)
Disable using
X-Forwarded-*
headers by default (#2748)Fix typo by renaming
ResilentSocketOutputStream
toResilientSocketOutputStream
(#2766)Adds an opt-in URI request logging filter factory (UriFilterFactory) (#2794)`
Add support for configuring Jetty’s cookie compliance (#2812)
Deprecate
Authorizer.authorize(principal, role)
in favor ofAuthorizer.authorize(principal, role, context)
(#2837)Fix undefined config environment variables with a default value causing an exception in strict mode (#2801)
Removed
dropwizard-jdbi
as official module and moved it into it’s own project: dropwizard-jdbi (#2922)Add
@JsonProperty
to AbstractServerFactory settersAdd InjectValidatorBundle that enable context injection into validators
Add JUnit 5 Example to Testing Clients (#2367)
Add TLS socket logging appender
Add a
JSONUnauthorizedHandler
(#2839)Add config settings for tasks and health check resources (#3037)
Add current class loader to javassist ClassPool
Add mapping for Jetty alpn-boot to Java versions (#2948)
Add missing “to” in BaseConfigurationFactory exception messages (#2869)
Add new constructors to allow specifying a response content type for Task and PostBodyTask, keeping the default as text/plain;charset=UTF-8
Add pip requirements file with Sphinx and dependencies
Add possibility to disable logging bootstrap for ResourceTestRule (#2338)
Add safe Jackson deserializers to prevent a DoS attack (#2511)
Add support for PATCH request to ResourceTestRule client (#2410)
Add support for SLF4J markers to dropwizard-json-logging (#2899)
Add support for disabled metric attributes on ConsoleReporterFa… (#2976)
Add support for logging caller data in dropwizard-json-logging
Add support for pathQuery json access log attribute
Added support for independently client-specified JCE Providers for both keystore and truststore (#2390)
Addressed ThrottlingLoggingAppenderTest issues
Adds a request logging url filter. Fixes #2794
Allow full customization of HttpClientBuilder (#2864)
Allow overriding
ViewMessageBodyWriter#detectLocale()
(#2967)Allow reporting Metrics on stop (#2558)
Allow simple logger level config to support “OFF” (#2819)
Allow to disable logging bootstrap in DAOTest
Allow to setNormalizeUri on HTTP client
Appropriately log ssl params
Avoid error message while signing artifacts
Be more precise about use of Metered and Timed annotations
Catch EofException at the jetty handler level
Checkout all freemarker templates with lf line endings
Compiler Warning Cleanup (#2466)
ConnectorProvider Not Set Silently
Convert to lazy evaluation for json event creation (#2506)
Correctly log resource paths with relative path segments (#2923)
Default values allowed on strict undefined config env vars
Dependency reorganization (#2897)
Deprecate
*Param
classesDisable Errorprone: EqualsGetClass check (#2718)
Disable
FAIL_ON_UNKNOWN_PROPERTIES
by defaultDocument TeeFilter for JSON log format (#2596)
DropwizardTestSupport sets ConfigurationFactoryFactory too early (#2551)
Enable Jackson Afterburner only on Java 8 (#2966)
Ensure
DropwizardResourceConfig#forTesting()
is using a random portExclude javax.el and jakarta.el-api, using glassfish jakarta.el instead (#2750)
Explicitly create BootstrapServiceRegistry in SessionFactoryFac… (#2977)
Extend from AbstractHandlerContainer instead of AbstractHandler (#2460)
Fix Incomplete TaskServletTest Method Stubbing To Avoid NullpointerException In Tests (#3032)
Fix Integration Testing Example (#2364)
Fix Jackson (fuzzy) enum handling (#2599)
Fix date formatting pattern in test (#2585)
Fix deprecation usage of argparse4j
Fix errorpone warnings (#2399)
Fix escape signs and broken @see section (#2331)
Fix for InvalidKeyException: Illegal key size (#2411, #2408)
Fix illegal reflection warning in DropwizardResourceConfig (#2964)
Fix incorrect reading of somaxconn for tcp backlog on linux (#2430)
Include default requestLog format string in documentation (#2500, #2526)
Fix jersey attempting to resolve auth filter fields
Fix shared metrics race with multiple environments
Fix tests: Disable FAIL_ON_UNKNOWN_PROPERTIES
Fixed flaky test in CachingAuthorizer (#2683)
Improve Dropwizard test support (#2673)
Improve validation message for min/max duration
Include all Apache Tomcat JDBC ConnectionPool metrics (#2475)
Increases the values in the hibernate validator annotations to actual minimums
Let async logs finish in throttling append test
Make Duration, DataSize, and Size serializable (#2975)
Mark PermissiveEnumDeserializer as cacheable (#2446)
Merge pull request #2316 from dropwizard/move-to-junit5
Merge pull request #2320 from nickbabcock/remove-prereq-
Merge pull request #2324 from nickbabcock/jersey-resolv
Merge pull request #2325 from xiaodong-xie/upgrade-liquibase
Merge pull request #2339 from nickbabcock/argparse4j
Merge pull request #2341 from nickbabcock/freemarker-attributes
Merge pull request #2342 from nickbabcock/env-metric-race
Merge pull request #2344 from manuel-hegner/feature/improve_self_validation
Merge pull request #2349 from nickbabcock/fix-javadoc-errors
Merge pull request #2404 from nickbabcock/cleanup-params-test
Merge pull request #2405 from nickbabcock/log-ssl
Merge pull request #2409 from nickbabcock/inclusive
Merge pull request #2414 from tsundberg/timed-and-meterd-cannot-be-used-at-the-same-time
Merge pull request #2448 from dropwizard/resource-config-random-port
Merge pull request #2487 from zmarois/patch-1
Merge pull request #2509 from mattnelson/json_uri_query
Merge pull request #2514 from bennyz/redundant-the
Merge pull request #2519 from dropwizard/dependency-updates
Merge pull request #2522 from alex-shpak/feature/inject-validator-2
Merge pull request #2541 from shail/eofExceptionIssue
Merge pull request #2549 from minisu/patch-3
Merge pull request #2573 from isaki/throttle_revisit
Merge pull request #2575 from isaki/cache_auth_test_fix
Merge pull request #2576 from sergioescala/removing_unnecessary_import
Merge pull request #2578 from nickbabcock/cve-suppress
Merge pull request #2600 from dropwizard/issue-2539
Merge pull request #2643 from nickbabcock/before-after
Merge pull request #2659 from dropwizard/errorprone-nullaway
Merge pull request #2665 from nickbabcock/sona-example
Merge pull request #2675 from dennyac/dropwizard-jersey-metrics-documentation
Merge pull request #2684 from nickbabcock/logging-docs
Merge pull request #2692 from FredDeschenes/2.0-release-notes-abstractbinder
Merge pull request #2693 from dropwizard/remove-checkstyle
Merge pull request #2703 from slivkamiro/feature/validation-query
Merge pull request #2722 from dropwizard/issue-2721
Merge pull request #2741 from davnicwil/specify-task-response-type
Merge pull request #2760 from dropwizard/issue-2759
Merge pull request #2764 from tristanbuckner/reset_closed_client
Merge pull request #2767 from nickbabcock/test-bind
Merge pull request #2775 from nickbabcock/remove-doc
Merge pull request #2786 from josephlbarnett/javassist-classpath
Merge pull request #2803 from koraytugay/patch-1
Merge pull request #2804 from stevenbenitez/fix/caching-authenticator-doc
Merge pull request #2805 from mzamani1/fix-conscrypt-docs
Merge pull request #2811 from cyberdelia/normalize-uri
Merge pull request #2854 from toadzky/fix-hibernate-validator-values-on-server-factory
Merge pull request #2874 from jamesalfei/master
Merge pull request #2883 from dropwizard/dependency-cleanup
Merge pull request #2919 from alexey-wg2/remove-duplicated-service-entry
Merge pull request #2940 from msymons/master
Merge pull request #2943 from gisripa/requestAttrs_json_logging
Merge pull request #3021 from cjhawley/patch-1
Migrate jetty min data rates to Sizes
Migrate tests to JUnit 5.4.0 (#2493)
Migrate to jetty-only gzip handler (#2566)
Move ResilientSocketOutputStream into io.dropwizard.logging (#2925)
Nested calls to
@UnitOfWork
methods cause inconsistent behaviour (#2913)Only override ConfigurationSourceProvider if explicitly provided (#2720)
Overhaul logging resource endpoints
Refactor inject validator bundle to use resourceContext directly
Register HK2 AbstractBinder with Jersey (#3000)
Remove metrics-ganglia completely (#2310)
Remove restrictions on generic type for ConfiguredBundle
Replace InjectValidatorBundle with feature and register by default
Replace JSON string asserts in MultipleContentTypeTest (#3056)
Replace ThrottlingAppenderWrapper with external version
Replace livereload and Guard with sphinx-autobuild
Replace remaining use of Hamcrest with AssertJ (#2444)
Request Uri event should not contain params in tests (#2504)
Return 404 for POST /admin/tasks (#2627)
Rework resource config test for resilient CI
Rewrite of throttling logging appender testing (#2458)
Satisfy optional check before unwrap analyses (#2644)
Simplify SelfValidatingValidator (#2413)
Support URL encoded entry names in
ResourceURL#isDirectory()
(#2674)Support configuration of exception details with JSON logging (#2501)
Support custom request executor in HttpClientBuilder (#2959)
Support dumping Jetty config on start/stop (#2743)
Support for requestAttributes in Json access log
Support handling failed commands via
Application#onFatalError(…
(#3020)Support nested JUnit 5 tests with
DropwizardExtension
(#2924)Surround bootclasspath in quotes for special characters in user home
Test deserializing config without JsonAutoDetect
Test support cleanup on before exceptions
UUID param to length check input
Use AtomicReference in LogConfigurationTask for timer
Use Dropwizard’s CharStreams class in DefaultServerFactoryTest
Use Java Stream API in DbDumpCommandTest (#2326)
Use commons-text native undef var detection (#2829)
Use correct property for Dropwizard versions in dropwizard-bom
Use custom public and secret keyrings when signing
Use instrumented thread factory (#2649)
Use strict illegal-access policy on Java 9 and later (#2965)
Allowing validation query to be null #2702
make it possible to created subclass of apache http builder (#2958)
Update JdbiFactory to use metrics’ InstrumentedSqlLogger (#2682)
Version updates
Bump byte-buddy to 1.10.4 (#2611, #2631, #2707, #2710, #2782, #2835, #2849, #2860, #2876, #2984, #3018, #3041)
Bump checker-qual to 3.0.0 (#2676, #2728, #2756, #2790, #2827, #2865, #2866, #2894, #2902, #2955, #3048, #3012)
Bump commons-lang3 to 3.9 (#2732)
Bump Mustache compiler to 0.9.6 (#2616)
Bump Freemarker to 2.3.29 (#2887)
Bump hibernate-core to 5.4.10.Final (#2706, #2785, #2863, #2952, #2993, #3007, #3026, #3052)
Bump hibernate-validator to 6.1.0.Final (#2629, #2662, #2705, #2802, #3003)
Bump Apache HttpClient to 4.5.10 (#2615, #2715, #2799, #2914)
Bump Jackson to 2.10.0 (#2393, #2777, #2826, #2870, #3019, #2944)
Bump jakarta.el to 3.0.3 (#2912)
Bump JAXB API to 2.3.1 (#2608)
Bump JDBI3 to 3.11.1 (#2369, #2451, #2546, #2731, #2726, #2744, #2754, #2762, #2855, #2872, #2907, #2929, #3027, #3030)
Bump Jetty to 9.4.24.v20191120 (#2346, #2657, #2734, #2740, #2752, #2800, #2879, #2956, #2997, #3031, #3033)
Bump Liquibase to 3.8.2 (#2386, #2621, #2845, #2890, #3016, #3038)
Bump logback-throttling-appender to 1.1.0 (#2928)
Bump Objenesis to 3.1 (#2968)
Bump tomcat-jdbc to 9.0.29 (#2636, #2700, #2733, #2776, #2793, #2838, #2885, #2979, #2935, #3034)
Bump JUnit 5 to 5.5.2 (#2347, #2604, #2635, #2651, #2697, #2698, #2724, #2727, #2822, #2842, #2848, #2850, #2910, #2911)
Bump Mockito to 3.2.0 (#2630, #2654, #2680, #2695, #2725, #2730, #2784, #2834, #2957, #3044)
Bump assertj-core to 3.14.0 (#2648, #2666, #2696, #2861, #2862, #2867, #3004)
Bump hsqldb to 2.5.0 (#2788)
Bump Sphinx to 2.2.2 (#2328, #2606, #2632, #2689, #2712, #2729, #2789, #2796, #2810, #2886, #3002, #3049)
v1.3.16: Oct 20, 2019
Upgrade to Jackson 2.9.10.20191020 to address CVE-2019-16942, CVE-2019-16943, and CVE-2019-17531 (#2988)
v1.3.15: Sep 25, 2019
Upgrade to Jackson 2.9.10 to address multiple security issues (#2939)
v1.3.14: Aug 7, 2019
Upgrade to Jackson 2.9.9.20190807 to address multiple security issues (#2871)
v1.3.13: July 16, 2019
Upgrade to Jackson Databind 2.9.9.1 to address CVE-2019-12086 (#2825)
Add a
JSONUnauthorizedHandler
(#2841)
v1.3.12: May 25, 2019
Upgrade to Jackson 2.9.9 to address CVE-2019-12086 (#2779)
v1.3.11: May 9, 2019
Upgrade Jetty to 9.4.18.v20190429
v1.3.10: Apr 29, 2019
Upgrade Jetty to 9.4.17.v20190418
Upgrade commons-lang3 to 3.8.1 to make BOM compatible with Java 11 (#2679)
v1.3.9: Feb 24, 2019
Remove prerequisites from archetype-generated POM (#2320)
Upgrade to Jackson 2.9.8, addressing various CVEs (#2591)
Upgrade JDBI3 to 3.5.1 (#2593)
Upgrade Dropwizard Metrics to 4.0.5 (#2594)
Upgrade Jetty to 9.4.14.v20181114 (#2592)
Update dependencies to latest patch versions (#2628) * Joda-Time 2.10.1 * Apache HttpClient 4.5.7 * Apache Tomcat JDBC Pool: 9.0.14 * Hibernate ORM 5.2.18.Final * Liquibase 3.6.3 * Freemarker 2.3.28 * Mustache 0.9.6 * Javassist 3.24.1-GA * Classmate 1.4.0 * HSQLDB 2.4.1 * Mockito 2.24.0
Upgrade to SLF4J 1.7.26 (CVE-2018-8088)
Upgrade to Tomcat JDBC Connection Pool 9.0.16
Upgrade to Hibernate Validator 5.4.3.Final
v1.3.8: Jan 2, 2019
Fix CVE-2018-10237 by upgrading Guava to 24.1.1 (#2587)
v1.3.7: Oct 2, 2018
Fix incorrect reading of
somaxconn
for TCP backlog on Linux (#2430)
v1.3.6: Oct 1, 2018
Fix a DoS attack vulnerability in Jackson: FasterXML/jackson-databind#2141 (#2511)
v1.3.5: Jun 25, 2018
Upgrade to Jetty 9.4.11.v20180605 to address various security issues
v1.2.8: Jun 25, 2018
Upgrade to Jetty 9.4.11.v20180605 to address various security issues
v1.1.8: Jun 25, 2018
Upgrade to Jetty 9.4.11.v20180605 to address various security issues
v1.3.4: Jun 14, 2018
v1.2.7: Jun 14, 2018
v1.3.3: Jun 6, 2018
v1.3.2: May 11, 2018
v1.2.6: May 11, 2018
v1.3.1: Apr 4, 2018
Upgrade to Jackson 2.9.5 (CVE-2018-7489)
v1.2.5: Apr 4, 2018
Upgrade to Jackson 2.9.5 (CVE-2018-7489)
v1.3.0: Mar 14, 2018
Add Dropwizard testing module for JUnit 5 #2166
Support for building and running Dropwizard on JDK9 #2197
Support for running Dropwizard with native SSL via Conscrypt #2230
Add support for JSON logs in Dropwizard #2232
Add a TCP and UDP log appenders to Dropwizard #2291
Add support for providing a custom logging layout during logging bootstrap #2260
Add context path to logged endpoints #2254
Support multiple extensions for views (breaking change) #2213
Enable auto escaping of strings in Freemarker templates #2251
Allow dynamic constraint validation messages #2246
Add the
@SelfValidation
annotation as a powerful alternative to@ValidationMethod
#2150Set a minimal duration for
DatasourceFactory.maxWaitForConnection()
#2130Migrate deprecated classes from commons-lang to commons-text #2208
Support for setting the
immediateFlush
option for file logging #2193Use
InstrumentedQueuedThreadPool
for admin endpoint #2186Add support for configuring
ServiceUnavailableRetryStrategy
for HTTP clients #2185Add possibility to configure Jetty’s
minRequestDataRate
#2184Add exclusive mode to
@MinDuration
and@MaxDuration
annotations #2167Strip the
Content-Length
header after decompressing HTTP requests #2271Add support for providing a custom layout during logging bootstrap #2260
Add support for PATCH request to Jersey test client #2288
Add configuration option to
EventJsonLayoutBaseFactory
to flatten MDC #2293Allow to use custom security provider in HTTP client #2299
Make
ignoreExceptionOnPreLoad
onPoolProperties
configurable #2300Allow lazy initialization of resources in
ResourceTestRule
#2304Make sure Jersey test client uses Dropwizard’s
ObjectMapper
#2277Allow customizing Hibernate Configuration in
DAOTest
#2301Upgrade to Apache Commons Lang3 3.7
Upgrade to Apache Commons Text 1.2
Upgrade to Apache HttpClient 4.5.5
Upgrade to Apache Tomcat JDBC 9.0.5
Upgrade to Argparse4j 0.8.1
Upgrade to AssertJ 3.9.1
Upgrade to Dropwizard Metrics 4.0.2
Upgrade to Error Prone 2.2.0
Upgrade to Guava 24.0-jre
Upgrade to Hibernate 5.2.15.Final
Upgrade to Jackson 2.9.4
Upgrade Jadira to 7.0.0-rc1 #2272
Upgrade to Jdbi 3.1.0 #2289
Upgrade to JUnit 5.0.3
Upgrade to Mockito 2.15.0
Upgrade to NullAway 0.3.2
v1.2.4: Feb 23, 2018
Upgrade Jackson to 2.9.4 in 1.2.* to address a CVE #2269
v1.1.7: Feb 23, 2018
Upgrade to Jackson 2.8.11 to address CVE-2017-17485 #2270
v1.2.3: Jan 24, 2018
Enable auto escaping of strings in Freemarker templates #2251
v1.2.2: Nov 27, 2017
Don’t shut down asynchronous executor in Jersey #2221
Add possibility to possibility to extend DropwizardApacheConnector #2220
v1.2.1: Nov 22, 2017
v1.1.6: Nov 2, 2017
Support fromString in FuzzyEnumParamConverter #2161
v1.1.5: Oct 17, 2017
Correctly set up SO_LINGER for the HTTP connector #2176
v1.2.0: Oct 6 2017
Support configuring FileAppender#bufferSize #1951
Improve error handling of @FormParam resources #1982
Add JDBC interceptors through configuration #2030
Support Dropwizard applications without logback #1900
Replace deprecated SizeAndTimeBasedFNATP with SizeAndTimeBasedRollingPolicy #2010
Decrease allowable tomcat jdbc validation interval to 50ms #2051
Add support for setting several cipher suites for HTTP/2 #2119
Remove Dropwizard’s Jackson dependency on Logback #2112
Handle badly formed “Accept-Language” headers #2103
Use LoadingCache in CachingAuthorizer #2096
Client NTLM Authentication #2091
Add optional Jersey filters #1948
Upgrade to Apache commons-lang3 3.6
Upgrade to AssertJ 3.8.0
Upgrade to classmate 1.3.4
Upgrade to Guava 23.1
Upgrade to H2 1.4.196
Upgrade to Hibernate 5.2.11.Final
Upgrade to Hibernate Validator 5.4.1.Final
Upgrade to HSQLDB 2.4.0
Upgrade to Jackson 2.9.1
Upgrade to Jetty 9.4.7.v20170914
Upgrade to JMH 1.19
Upgrade to Joda-Time 2.9.9
Upgrade to Logback 1.2.3
Upgrade to Metrics 3.2.5
Upgrade to Mockito 2.10.0
Upgrade to Mustache.java 0.9.5
Upgrade to Objenesis 2.6
Upgrade to SLF4J 1.7.25
Upgrade to tomcat-jdbc 8.5.23
v1.1.4: Aug 24 2017
Upgrade to Jackson 2.8.10 #2120
v1.1.3: Jul 31 2017
Handle badly formed ‘Accept-Language’ headers #2097
Upgrade to Jetty 9.4.6.v20170531 to address CVE-2017-9735 #2113
v1.1.2 June 27 2017
Updated Jackson to 2.8.9. Fixes a security vulnerability with default typing #2086
Use the correct JsonFactory in JSON configuration parsing #2046
Support of extending of DBIFactory #2067
Add time zone to Java 8 datetime mappers #2069
v1.0.8 June 27 2017
Updated Jackson to 2.7.9.1. Fixes a security vulnerability with default typing #2087
v1.1.1 May 19 2017
Set the console logging context after a reset #1973
Set logging context for file appenders before setting the buffer size #1975
Remove javax.el from jersey-bean-validation #1976
Exclude duplicated JTA 1.1 from dropwizard-hibernate dependencies #1977
Add missing @UnwrapValidatedValue annotations #1993
Fix HttpSessionListener.sessionDestroyed is not being called #2032
Add flag to make ThreadNameFilter optional #2014
v1.1.0: Mar 21 2017
Upgraded to Hibernate ORM 5.2.7, introducing a series of deprecations and API changes in preparation for Hibernate ORM 6 #1871
Add runtime certificate reload via admin task #1799
List available tasks lexically via admin task #1939
Add support for optional resource protection #1931
Invalid enum request parameters result in 400 response with possible choices #1734
Enum request parameters are deserialized in the same fuzzy manner, as the request body #1734
Request parameter name displayed in response to parse failure #1734
Add
DurationParam
as a possible request parameter #1734Add
SizeParam
as a possible request parameter #1751Allow overriding of a default
ExceptionMapper
without re-registering all other defaults #1768Allow overriding of default
JsonProvider
#1788Finer-grain control of exception behaviour in view renderers #1820
Default
WebApplicationException
handler preserves exception HTTP headers #1912JerseyClientBuilder can create rx-capable client #1721
Configurable response for empty
Optional
return values #1784Add web test container agnostic way of invoking requests in
ResourceTestRule
#1778Remove OptionalValidatedValueUnwrapper #1583
Allow constraints to be applied to type #1586
Use LoadingCache in CachingAuthenticator #1615
Switch cert and peer validation to false by default #1855
Introduce CachingAuthorizer #1639
Enhance logging of registered endpoints #1804
Flush loggers on command exit instead of destroying logging #1947
Add support for neverBlock on AsyncAppenders #1917
Allow to disable caching of Mustache views #1289
Add the
httpCompliance
option to the HTTP configuration #1825Add the
blockingTimeout
option to the HTTP configuration #1795Make
GZipHandler
sync-flush configurable #1685Add
min
andmins
as validDuration
abbreviations #1833Register Jackson parameter-names modules #1908
Native Jackson deserialization of enums when Jackson annotations are present #1909
Add
JsonConfigurationFactory
for first-class support of the JSON configuration #1897Support disabled and enabled attributes for metrics #1957
Support
@UnitOfWork
in sub-resources #1959Upgraded to Jackson 2.8.7
Upgraded to Hibernate Validator 5.3.4.Final
Upgraded to Hibernate ORM 5.2.8.Final
Upgraded to Jetty 9.4.2.v20170220
Upgraded to tomcat-jdbc 8.5.9
Upgraded to Objenesis 2.5.1
Upgraded to AssertJ 3.6.2
Upgraded to classmate 1.3.3
Upgraded to Metrics 3.2.2 #1970
Upgraded to Mustache 0.9.4 #1766
Upgraded to Mockito 2.7.12
Upgraded to Liquibase 3.5.3
Upgraded to Logback 1.2.1 #1918
Upgraded to JDBI 2.78
Upgraded to Jersey 2.25.1
Upgraded to javassist 3.21.0-GA
Upgraded to Guava 21.0
Upgraded to SLF4J 1.7.24
Upgraded to H2 1.4.193
Upgraded to Joda-Time 2.9.7
Upgraded to commons-lang3 3.5
Upgraded to Apache HTTP Client 4.5.3
Upgraded to Jadira Usertype Core 6.0.1.GA
v1.0.7 Mar 20 2017
Upgrade to Metrics 3.1.4 #1969
v1.0.6 Jan 30 2017
v1.0.5 Nov 18 2016
Fix request logs with request parameter in layout pattern #1828
v1.0.4 Nov 14 2016
v1.0.3: Oct 28 2016
v1.0.2: Sep 23 2016
Fix absence of request logs in Dropwizard 1.0.1 #1737
v1.0.1: Sep 21 2016
Allow use of custom HostnameVerifier on clients #1664
Allow to configure failing on unknown properties in the Dropwizard configuration #1677
Fix request attribute-related race condition in Logback request logging #1678
Log Jetty initialized SSLContext not the Default #1698
Fix NPE of non-resource sub-resource methods #1718
v1.0.0: Jul 26 2016
Using Java 8 as baseline
dropwizard-java8
bundle merged into mainline #1365HTTP/2 and server push support #1349
dropwizard-spdy
module is removed in favor ofdropwizard-http2
#1330Switching to
logback-access
for HTTP request logging #1415Support for validating return values in JAX-RS resources #1251
Consistent handling null entities in JAX-RS resources #1251
Support for validating bean members in JAX-RS resources #1572
Returning an HTTP 500 error for entities that can’t be serialized #1347
Support serialisation of lazy loaded POJOs in Hibernate #1466
Support fallback to the
toString
method during deserializing enum values from JSON #1340Support for setting default headers in Apache HTTP client #1354
Printing help once on invalid command line arguments #1376
Support for case insensitive and all single letter
SizeUnit
suffixes #1380Added a development profile to the build #1364
All the default exception mappers in
ResourceTestRule
are registered by default #1387Allow DB minSize and initialSize to be zero for lazy connections #1517
Ability to provide own
RequestLogFactory
#1290Support for authentication by polymorphic principals #1392
Support for configuring Jetty’s
inheritedChannel
option #1410Support for using
DropwizardAppRule
at the suite level #1411Support for adding multiple
MigrationBundles
#1430Support for obtaining server context paths in the
Application.run
method #1503Support for unlimited log files for file appender #1549
Support for log file names determined by logging policy #1561
Default Graphite reporter port changed from 8080 to 2003 #1538
Upgraded to Apache HTTP Client 4.5.2
Upgraded to argparse4j 0.7.0
Upgraded to Guava 19.0
Upgraded to H2 1.4.192
Upgraded to Hibernate 5.1.0 #1429
Upgraded to Hibernate Validator 5.2.4.Final
Upgraded to HSQLDB 2.3.4
Upgraded to Jadira Usertype Core 5.0.0.GA
Upgraded to Jackson 2.7.6
Upgraded to JDBI 2.73 #1358
Upgraded to Jersey 2.23.1
Upgraded to Jetty 9.3.9.v20160517 #1330
Upgraded to JMH 1.12
Upgraded to Joda-Time 2.9.4
Upgraded to Liquibase 3.5.1
Upgraded to liquibase-slf4j 2.0.0
Upgraded to Logback 1.1.7
Upgraded to Mustache 0.9.2
Upgraded to SLF4J 1.7.21
Upgraded to tomcat-jdbc 8.5.3
Upgraded to Objenesis 2.3
Upgraded to AssertJ 3.4.1
Upgraded to Mockito 2.0.54-beta
v0.9.2: Jan 20 2016
Support
@UnitOfWork
annotation outside of Jersey resources #1361
v0.9.1: Nov 3 2015
Add
ConfigurationSourceProvider
for reading resources from classpath #1314Add
@UnwrapValidatedValue
annotation to BaseReporterFactory.frequency #1308, #1309Fix serialization of default configuration for
DataSourceFactory
by deprecatingPooledDataSourceFactory#getHealthCheckValidationQuery()
andPooledDataSourceFactory#getHealthCheckValidationTimeout()
#1321, #1322Treat
null
values in JAX-RS resource method parameters of typeOptional<T>
as absent value after conversion #1323
v0.9.0: Oct 28 2015
Various documentation fixes and improvements
New filter-based authorization & authentication #952, #1023, #1114, #1162, #1241
Fixed a security bug in
CachingAuthenticator
with caching results of failed authentication attempts #1082Correct handling misconfigured context paths in
ServerFactory
#785Logging context paths during application startup #994, #1072
Support for Jersey Bean Validation #842
Returning descriptive constraint violation messages #1039,
Trace logging of failed constraint violations #992
Returning correct HTTP status codes for constraint violations #993
Fixed possible XSS in constraint violations #892
Support for including caller data in appenders #995
Support for defining custom logging factories (e.g. native Logback) #996
Support for defining the maximum log file size in
FileAppenderFactory
. #1000Support for fixed window rolling policy in
FileAppenderFactory
#1218Support for individual logger appenders #1092
Support for disabling logger additivity #1215
Sorting endpoints in the application startup log #1002
Dynamic DNS resolution in the Graphite metric reporter #1004
Support for defining a custom
MetricRegistry
during bootstrap (e.g. with HdrHistogram) #1015Support for defining a custom
ObjectMapper
during bootstrap. #1112Added facility to plug-in custom DB connection pools (e.g. HikariCP) #1030
Support for setting a custom DB pool connection validator #1113
Support for enabling of removing abandoned DB pool connections #1264
Support for credentials in a DB data source URL #1260
Support for simultaneous work of several Hibernate bundles #1276
HTTP(S) proxy support for Dropwizard HTTP client #657
Support external configuration of TLS properties for Dropwizard HTTP client #1224
Support for not accepting GZIP-compressed responses in HTTP clients #1270
Support for setting a custom redirect strategy in HTTP clients #1281
Apache and Jersey clients are now managed by the application environment #1061
Support for request-scoped configuration for Jersey client #939
Respecting Jackson feature for deserializing enums using
toString
#1104Support for passing explicit
Configuration
via test rules #1131On view template error, return a generic error page instead of template not found #1178
In some cases an instance of Jersey HTTP client could be abruptly closed during the application lifetime #1232
Improved build time build by running tests in parallel #1032
Added JMH benchmarks #990
Allow customization of Hibernate
SessionFactory
#1182Removed javax.el-2.x in favour of javax.el-3.0
Upgraded to argparse4j 0.6.0
Upgrade to AssertJ 2.2.0
Upgraded to JDBI 2.63.1
Upgraded to Apache HTTP Client 4.5.1
Upgraded to Dropwizard Metrics 3.1.2
Upgraded to Freemarker 2.3.23
Upgraded to H2 1.4.190
Upgraded to Hibernate 4.3.11.Final
Upgraded to Jackson 2.6.3
Upgraded to Jadira Usertype Core 4.0.0.GA
Upgraded to Jersey 2.22.1
Upgraded to Jetty 9.2.13.v20150730
Upgraded to Joda-Time 2.9
Upgraded to JSR305 annotations 3.0.1
Upgraded to Hibernate Validator 5.2.2.Final
Upgraded to Jetty ALPN boot 7.1.3.v20150130
Upgraded to Jetty SetUID support 1.0.3
Upgraded to Liquibase 3.4.1
Upgraded to Logback 1.1.3
Upgraded to Metrics 3.1.2
Upgraded to Mockito 1.10.19
Upgraded to SLF4J 1.7.12
Upgraded to commons-lang3 3.4
Upgraded to tomcat-jdbc 8.0.28
v0.8.5: Nov 3 2015
Treat
null
values in JAX-RS resource method parameters of typeOptional<T>
as absent value after conversion #1323
v0.8.4: Aug 26 2015
Upgrade to Apache HTTP Client 4.5
Upgrade to Jersey 2.21
Fixed user-agent shadowing in Jersey HTTP Client #1198
v0.8.3: Aug 24 2015
Fixed an issue with closing the HTTP client connection pool after a full GC #1160
v0.8.2: Jul 6 2015
v0.8.1: Apr 7 2015
Fixed transaction committing lifecycle for
@UnitOfWork
(#850, #915)Fixed noisy Logback messages on startup (#902)
Ability to use providers in TestRule, allows testing of auth & views (#513, #922)
Custom ExceptionMapper not invoked when Hibernate rollback (#949)
Support for setting a time bound on DBI and Hibernate health checks
Default configuration for views
Ensure that JerseyRequest scoped ClientConfig gets propagated to HttpUriRequest
More example tests
Fixed security issue where info is leaked during validation of unauthenticated resources(#768)
v0.8.0: Mar 5 2015
Migrated
dropwizard-spdy
from NPN to ALPNDropped support for deprecated SPDY/2 in
dropwizard-spdy
Upgrade to argparse4j 0.4.4
Upgrade to commons-lang3 3.3.2
Upgrade to Guava 18.0
Upgrade to H2 1.4.185
Upgrade to Hibernate 4.3.5.Final
Upgrade to Hibernate Validator 5.1.3.Final
Upgrade to Jackson 2.5.1
Upgrade to JDBI 2.59
Upgrade to Jersey 2.16
Upgrade to Jetty 9.2.9.v20150224
Upgrade to Joda-Time 2.7
Upgrade to Liquibase 3.3.2
Upgrade to Mustache 0.8.16
Upgrade to SLF4J 1.7.10
Upgrade to tomcat-jdbc 8.0.18
Upgrade to JSR305 annotations 3.0.0
Upgrade to Junit 4.12
Upgrade to AssertJ 1.7.1
Upgrade to Mockito 1.10.17
Support for range headers
Ability to use Apache client configuration for Jersey client
Warning when maximum pool size and unbounded queues are combined
Fixed connection leak in CloseableLiquibase
Support ScheduledExecutorService with daemon thread
Improved DropwizardAppRule
Better connection pool metrics
Removed final modifier from Application#run
Fixed gzip encoding to support Jersey 2.x
Configuration to toggle regex [in/ex]clusion for Metrics
Configuration to disable default exception mappers
Configuration support for disabling chunked encoding
Documentation fixes and upgrades
v0.7.1: Jun 18 2014
Added instrumentation to
Task
, using metrics annotations.Added ability to blacklist SSL cipher suites.
Added
@PATCH
annotation for Jersey resource methods to indicate use of the HTTPPATCH
method.Added support for configurable request retry behavior for
HttpClientBuilder
andJerseyClientBuilder
.Added facility to get the admin HTTP port in
DropwizardAppTestRule
.Added
ScanningHibernateBundle
, which scans packages for entities, instead of requiring you to add them individually.Added facility to invalidate credentials from the
CachingAuthenticator
that match a specifiedPredicate
.Added a CI build profile for JDK 8 to ensure that Dropwizard builds against the latest version of the JDK.
Added
--catalog
and--schema
options to Liquibase.Added
stackTracePrefix
configuration option toSyslogAppenderFactory
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.Added ability to validate
Optional
values using validation annotations. Such values require the@UnwrapValidatedValue
annotation, in addition to the validations you wish to use.Added facility to configure the
User-Agent
forHttpClient
. Configurable via theuserAgent
configuration option.Added configurable
AllowedMethodsFilter
. Configure allowed HTTP methods for both the application and admin connectors withallowedMethods
.Added support for specifying a
CredentialProvider
for HTTP clients.Fixed silently overriding Servlets or ServletFilters; registering a duplicate will now emit a warning.
Fixed
SyslogAppenderFactory
failing when the application name contains a PCRE reserved character (e.g./
or$
).Fixed regression causing JMX reporting of metrics to not be enabled by default.
Fixed transitive dependencies on log4j and extraneous sl4j backends bleeding in to projects. Dropwizard will now enforce that only Logback and slf4j-logback are used everywhere.
Fixed clients disconnecting before the request has been fully received causing a “500 Internal Server Error” to be generated for the request log. Such situations will now correctly generate a “400 Bad Request”, as the request is malformed. Clients will never see these responses, but they matter for logging and metrics that were previously considering this situation as a server error.
Fixed
DiscoverableSubtypeResolver
using the systemClassLoader
, instead of the local one.Fixed regression causing Liquibase
--dump
to fail to dump the database.Fixed the CSV metrics reporter failing when the output directory doesn’t exist. It will now attempt to create the directory on startup.
Fixed global frequency for metrics reporters being permanently overridden by the default frequency for individual reporters.
Fixed tests failing on Windows due to platform-specific line separators.
Changed
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.Changed
Bootstrap
so thatgetMetricsFactory()
may now be overridden to provide a custom instance to the framework to use.Upgraded to Guava 17.0 Note: this addresses a bug with BloomFilters that is incompatible with pre-17.0 BloomFilters.
Upgraded to Jackson 2.3.3
Upgraded to Apache HttpClient 4.3.4
Upgraded to Metrics 3.0.2
Upgraded to Logback 1.1.2
Upgraded to h2 1.4.178
Upgraded to JDBI 2.55
Upgraded to Hibernate 4.3.5 Final
Upgraded to Hibernate Validator 5.1.1 Final
Upgraded to Mustache 0.8.15
v0.7.0: Apr 04 2014
Upgraded to Java 7.
Moved to the
io.dropwizard
group ID and namespace.Extracted out a number of reusable libraries:
dropwizard-configuration
,dropwizard-jackson
,dropwizard-jersey
,dropwizard-jetty
,dropwizard-lifecycle
,dropwizard-logging
,dropwizard-servlets
,dropwizard-util
,dropwizard-validation
.Extracted out various elements of
Environment
to separate classes:JerseyEnvironment
,LifecycleEnvironment
, etc.Extracted out
dropwizard-views-freemarker
anddropwizard-views-mustache
.dropwizard-views
just provides infrastructure now.Renamed
Service
toApplication
.Added
dropwizard-forms
, which provides support for multipart MIME entities.Added
dropwizard-spdy
.Added
AppenderFactory
, allowing for arbitrary logging appenders for application and request logs.Added
ConnectorFactory
, allowing for arbitrary Jetty connectors.Added
ServerFactory
, with multi- and single-connector implementations.Added
ReporterFactory
, for metrics reporters, with Graphite and Ganglia implementations.Added
ConfigurationSourceProvider
to allow loading configuration files from sources other than the filesystem.Added setuid support. Configure the user/group to run as and soft/hard open file limits in the
ServerFactory
. To bind to privileged ports (e.g. 80), enablestartsAsRoot
and setuser
andgroup
, then start your application as the root user.Added builders for managed executors.
Added a default
check
command, which loads and validates the service configuration.Added support for the Jersey HTTP client to
dropwizard-client
.Added Jackson Afterburner support.
Added support for
deflate
-encoded requests and responses.Added support for HTTP Sessions. Add the annotated parameter to your resource method:
@Session HttpSession session
to have the session context injected.Added support for a “flash” message to be propagated across requests. Add the annotated parameter to your resource method:
@Session Flash message
to have any existing flash message injected.Added support for deserializing Java
enums
with fuzzy matching rules (i.e., whitespace stripping,-
/__
equivalence, case insensitivity, etc.).Added
HibernateBundle#configure(Configuration)
for customization of Hibernate configuration.Added support for Joda Time
DateTime
arguments and results when using JDBI.Added configuration option to include Exception stack-traces when logging to syslog. Stack traces are now excluded by default.
Added the application name and PID (if detectable) to the beginning of syslog messages, as is the convention.
Added
--migrations
command-line option tomigrate
command to supply the migrations file explicitly.Validation errors are now returned as
application/json
responses.Simplified
AsyncRequestLog
; now standardized on Jetty 9 NCSA format.Renamed
DatabaseConfiguration
toDataSourceFactory
, andConfigurationStrategy
toDatabaseConfiguration
.Changed logging to be asynchronous. Messages are now buffered and batched in-memory before being delivered to the configured appender(s).
Changed handling of runtime configuration errors. Will no longer display an Exception stack-trace and will present a more useful description of the problem, including suggestions when appropriate.
Changed error handling to depend more heavily on Jersey exception mapping.
Changed
dropwizard-db
to usetomcat-jdbc
instead oftomcat-dbcp
.Changed default formatting when logging nested Exceptions to display the root-cause first.
Replaced
ResourceTest
withResourceTestRule
, a JUnitTestRule
.Dropped Scala support.
Dropped
ManagedSessionFactory
.Dropped
ObjectMapperFactory
; useObjectMapper
instead.Dropped
Validator
; usejavax.validation.Validator
instead.Fixed a shutdown bug in
dropwizard-migrations
.Fixed formatting of “Caused by” lines not being prefixed when logging nested Exceptions.
Fixed not all available Jersey endpoints were being logged at startup.
Upgraded to argparse4j 0.4.3.
Upgraded to Guava 16.0.1.
Upgraded to Hibernate Validator 5.0.2.
Upgraded to Jackson 2.3.1.
Upgraded to JDBI 2.53.
Upgraded to Jetty 9.0.7.
Upgraded to Liquibase 3.1.1.
Upgraded to Logback 1.1.1.
Upgraded to Metrics 3.0.1.
Upgraded to Mustache 0.8.14.
Upgraded to SLF4J 1.7.6.
Upgraded to Jersey 1.18.
Upgraded to Apache HttpClient 4.3.2.
Upgraded to tomcat-jdbc 7.0.50.
Upgraded to Hibernate 4.3.1.Final.
v0.6.2: Mar 18 2013
Added support for non-UTF8 views.
Fixed an NPE for services in the root package.
Fixed exception handling in
TaskServlet
.Upgraded to Slf4j 1.7.4.
Upgraded to Jetty 8.1.10.
Upgraded to Jersey 1.17.1.
Upgraded to Jackson 2.1.4.
Upgraded to Logback 1.0.10.
Upgraded to Hibernate 4.1.9.
Upgraded to Hibernate Validator 4.3.1.
Upgraded to tomcat-dbcp 7.0.37.
Upgraded to Mustache.java 0.8.10.
Upgraded to Apache HttpClient 4.2.3.
Upgraded to Jackson 2.1.3.
Upgraded to argparse4j 0.4.0.
Upgraded to Guava 14.0.1.
Upgraded to Joda Time 2.2.
Added
retries
toHttpClientConfiguration
.Fixed log formatting for extended stack traces, also now using extended stack traces as the default.
Upgraded to FEST Assert 2.0M10.
v0.6.1: Nov 28 2012
Fixed incorrect latencies in request logs on Linux.
Added ability to register multiple
ServerLifecycleListener
instances.
v0.6.0: Nov 26 2012
Added Hibernate support in
dropwizard-hibernate
.Added Liquibase migrations in
dropwizard-migrations
.Renamed
http.acceptorThreadCount
tohttp.acceptorThreads
.Renamed
ssl.keyStorePath
tossl.keyStore
.Dropped
JerseyClient
. Use Jersey’sClient
class instead.Moved JDBI support to
dropwizard-jdbi
.Dropped
Database
. Use JDBI’sDBI
class instead.Dropped the
Json
class. UseObjectMapperFactory
andObjectMapper
instead.Decoupled JDBI support from tomcat-dbcp.
Added group support to
Validator
.Moved CLI support to argparse4j.
Fixed testing support for
Optional
resource method parameters.Fixed Freemarker support to use its internal encoding map.
Added property support to
ResourceTest
.Fixed JDBI metrics support for raw SQL queries.
Dropped Hamcrest matchers in favor of FEST assertions in
dropwizard-testing
.Split
Environment
intoBootstrap
andEnvironment
, and broke configuration of each intoService
’s#initialize(Bootstrap)
and#run(Configuration, Environment)
.Combined
AbstractService
andService
.Trimmed down
ScalaService
, so be sure to addScalaBundle
.Added support for using
JerseyClientFactory
without anEnvironment
.Dropped Jerkson in favor of Jackson’s Scala module.
Added
Optional
support for JDBI.Fixed bug in stopping
AsyncRequestLog
.Added
UUIDParam
.Upgraded to Metrics 2.2.0.
Upgraded to Jetty 8.1.8.
Upgraded to Mockito 1.9.5.
Upgraded to tomcat-dbcp 7.0.33.
Upgraded to Mustache 0.8.8.
Upgraded to Jersey 1.15.
Upgraded to Apache HttpClient 4.2.2.
Upgraded to JDBI 2.41.
Upgraded to Logback 1.0.7 and SLF4J 1.7.2.
Upgraded to Guava 13.0.1.
Upgraded to Jackson 2.1.1.
Added support for Joda Time.
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.
v0.5.1: Aug 06 2012
Fixed logging of managed objects.
Fixed default file logging configuration.
Added FEST-Assert as a
dropwizard-testing
dependency.Added support for Mustache templates (
*.mustache
) todropwizard-views
.Added support for arbitrary view renderers.
Fixed command-line overrides when no configuration file is present.
Added support for arbitrary
DnsResolver
implementations inHttpClientFactory
.Upgraded to Guava 13.0 final.
Fixed task path bugs.
Upgraded to Metrics 2.1.3.
Added
JerseyClientConfiguration#compressRequestEntity
for disabling the compression of request entities.Added
Environment#scanPackagesForResourcesAndProviders
for automatically detecting Jersey providers and resources.Added
Environment#setSessionHandler
.
v0.5.0: Jul 30 2012
Upgraded to JDBI 2.38.1.
Upgraded to Jackson 1.9.9.
Upgraded to Jersey 1.13.
Upgraded to Guava 13.0-rc2.
Upgraded to HttpClient 4.2.1.
Upgraded to tomcat-dbcp 7.0.29.
Upgraded to Jetty 8.1.5.
Improved
AssetServlet
:More accurate
Last-Modified-At
timestamps.More general asset specification.
Default filename is now configurable.
Improved
JacksonMessageBodyProvider
:Now based on Jackson’s JAX-RS support.
Doesn’t read or write types annotated with
@JsonIgnoreType
.
Added
@MinSize
,@MaxSize
, and@SizeRange
validations.Added
@MinDuration
,@MaxDuration
, and@DurationRange
validations.Fixed race conditions in Logback initialization routines.
Fixed
TaskServlet
problems with custom context paths.Added
jersey-text-framework-core
as an explicit dependency ofdropwizard-testing
. This helps out some non-Maven build frameworks with bugs in dependency processing.Added
addProvider
toJerseyClientFactory
.Fixed
NullPointerException
problems with anonymous health check classes.Added support for serializing/deserializing
ByteBuffer
instances as JSON.Added
supportedProtocols
to SSL configuration, and disabled SSLv2 by default.Added support for
Optional<Integer>
query parameters and others.Removed
jersey-freemarker
dependency fromdropwizard-views
.Fixed missing thread contexts in logging statements.
Made the configuration file argument for the
server
command optional.Added support for disabling log rotation.
Added support for arbitrary KeyStore types.
Added
Log.forThisClass()
.Made explicit service names optional.
v0.4.4: Jul 24 2012
Added support for
@JsonIgnoreType
toJacksonMessageBodyProvider
.
v0.4.3: Jun 22 2012
Re-enable immediate flushing for file and console logging appenders.
v0.4.2: Jun 20 2012
Fixed
JsonProcessingExceptionMapper
. Now returns human-readable error messages for malformed or invalid JSON as a400 Bad Request
. Also handles problems with JSON generation and object mapping in a developer-friendly way.
v0.4.1: Jun 19 2012
Fixed type parameter resolution in for subclasses of subclasses of
ConfiguredCommand
.Upgraded to Jackson 1.9.7.
Upgraded to Logback 1.0.6, with asynchronous logging.
Upgraded to Hibernate Validator 4.3.0.
Upgraded to JDBI 2.34.
Upgraded to Jetty 8.1.4.
Added
logging.console.format
,logging.file.format
, andlogging.syslog.format
parameters for custom log formats.Extended
ResourceTest
to allow for enabling/disabling specific Jersey features.Made
Configuration
serializable as JSON.Stopped lumping command-line options in a group in
Command
.Fixed
java.util.logging
level changes.Upgraded to Apache HttpClient 4.2.
Improved performance of
AssetServlet
.Added
withBundle
toScalaService
to enable bundle mix-ins.Upgraded to SLF4J 1.6.6.
Enabled configuration-parameterized Jersey containers.
Upgraded to Jackson Guava 1.9.1, with support for
Optional
.Fixed error message in
AssetBundle
.Fixed
WebApplicationException``s being thrown by ``JerseyClient
.
v0.4.0: May 1 2012
Switched logging from Log4j to Logback.
Deprecated
Log#fatal
methods.Deprecated Log4j usage.
Removed Log4j JSON support.
Switched file logging to a time-based rotation system with optional GZIP and ZIP compression.
Replaced
logging.file.filenamePattern
withlogging.file.currentLogFilename
andlogging.file.archivedLogFilenamePattern
.Replaced
logging.file.retainedFileCount
withlogging.file.archivedFileCount
.Moved request logging to use a Logback-backed, time-based rotation system with optional GZIP and ZIP compression.
http.requestLog
now hasconsole
,file
, andsyslog
sections.
Fixed validation errors for logging configuration.
Added
ResourceTest#addProvider(Class<?>)
.Added
ETag
andLast-Modified
support toAssetServlet
.Fixed
off
logging levels conflicting with YAML’s helpfulness.Improved
Optional
support for some JDBC drivers.Added
ResourceTest#getJson()
.Upgraded to Jackson 1.9.6.
Improved syslog logging.
Fixed template paths for views.
Upgraded to Guava 12.0.
Added support for deserializing
CacheBuilderSpec
instances from JSON/YAML.Switched
AssetsBundle
and servlet to using cache builder specs.Switched
CachingAuthenticator
to using cache builder specs.Malformed JSON request entities now produce a
400 Bad Request
instead of a500 Server Error
response.Added
connectionTimeout
,maxConnectionsPerRoute
, andkeepAlive
toHttpClientConfiguration
.Added support for using Guava’s
HostAndPort
in configuration properties.Upgraded to tomcat-dbcp 7.0.27.
Upgraded to JDBI 2.33.2.
Upgraded to HttpClient 4.1.3.
Upgraded to Metrics 2.1.2.
Upgraded to Jetty 8.1.3.
Added SSL support.
v0.3.1: Mar 15 2012
Fixed debug logging levels for
Log
.
v0.3.0: Mar 13 2012
Upgraded to JDBI 2.31.3.
Upgraded to Jackson 1.9.5.
Upgraded to Jetty 8.1.2. (Jetty 9 is now the experimental branch. Jetty 8 is just Jetty 7 with Servlet 3.0 support.)
Dropped
dropwizard-templates
and addeddropwizard-views
instead.Added
AbstractParam#getMediaType()
.Fixed potential encoding bug in parsing YAML files.
Fixed a
NullPointerException
when getting logging levels via JMX.Dropped support for
@BearerToken
and addeddropwizard-auth
instead.Added
@CacheControl
for resource methods.Added
AbstractService#getJson()
for full Jackson customization.Fixed formatting of configuration file parsing errors.
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.Added command-line overriding of configuration parameters via system properties. For example,
-Ddw.http.port=8090
will override the configuration file to sethttp.port
to8090
.Removed
ManagedCommand
. It was rarely used and confusing.If
http.adminPort
is the same ashttp.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.Added
http.adminUsername
andhttp.adminPassword
to allow for Basic HTTP Authentication for the admin servlet.Upgraded to Metrics 2.1.1.
v0.2.1: Feb 24 2012
Added
logging.console.timeZone
andlogging.file.timeZone
to control the time zone of the timestamps in the logs. Defaults to UTC.Upgraded to Jetty 7.6.1.
Upgraded to Jersey 1.12.
Upgraded to Guava 11.0.2.
Upgraded to SnakeYAML 1.10.
Upgraded to tomcat-dbcp 7.0.26.
Upgraded to Metrics 2.0.3.
v0.2.0: Feb 15 2012
Switched to using
jackson-datatype-guava
for JSON serialization/deserialization of Guava types.Use
InstrumentedQueuedThreadPool
frommetrics-jetty
.Upgraded to Jackson 1.9.4.
Upgraded to Jetty 7.6.0 final.
Upgraded to tomcat-dbcp 7.0.25.
Improved fool-proofing for
Service
vs.ScalaService
.Switched to using Jackson for configuration file parsing. SnakeYAML is used to parse YAML configuration files to a JSON intermediary form, then Jackson is used to map that to your
Configuration
subclass and its fields. Configuration files which don’t end in.yaml
or.yml
are treated as JSON.Rewrote
Json
to no longer be a singleton.Converted
JsonHelpers
indropwizard-testing
to use normalized JSON strings to compare JSON.Collapsed
DatabaseConfiguration
. It’s no longer a map of connection names to configuration objects.Changed
Database
to use the validation query inDatabaseConfiguration
for its#ping()
method.Changed many
HttpConfiguration
defaults to match Jetty’s defaults.Upgraded to JDBI 2.31.2.
Fixed JAR locations in the CLI usage screens.
Upgraded to Metrics 2.0.2.
Added support for all servlet listener types.
Added
Log#setLevel(Level)
.Added
Service#getJerseyContainer
, which allows services to fully customize the Jersey container instance.Added the
http.contextParameters
configuration parameter.
v0.1.3: Jan 19 2012
Upgraded to Guava 11.0.1.
Fixed logging in
ServerCommand
. For the last time.Switched to using the instrumented connectors from
metrics-jetty
. This allows for much lower-level metrics about your service, including whether or not your thread pools are overloaded.Added FindBugs to the build process.
Added
ResourceTest
todropwizard-testing
, which uses the Jersey Test Framework to provide full testing of resources.Upgraded to Jetty 7.6.0.RC4.
Decoupled URIs and resource paths in
AssetServlet
andAssetsBundle
.Added
rootPath
toConfiguration
. It allows you to serve Jersey assets off a specific path (e.g.,/resources/*
vs/*
).AssetServlet
now looks forindex.htm
when handling requests for the root URI.Upgraded to Metrics 2.0.0-RC0.
v0.1.2: Jan 07 2012
All Jersey resource methods annotated with
@Timed
,@Metered
, or@ExceptionMetered
are now instrumented viametrics-jersey
.Now licensed under Apache License 2.0.
Upgraded to Jetty 7.6.0.RC3.
Upgraded to Metrics 2.0.0-BETA19.
Fixed logging in
ServerCommand
.Made
ServerCommand#run()
non-final
.
v0.1.1: Dec 28 2011
Fixed
ManagedCommand
to provide access to theEnvironment
, among other things.Made
JerseyClient
’s thread pool managed.Improved ease of use for
Duration
andSize
configuration parameters.Upgraded to Mockito 1.9.0.
Upgraded to Jetty 7.6.0.RC2.
Removed single-arg constructors for
ConfiguredCommand
.Added
Log
, a simple front-end for logging.
v0.1.0: Dec 21 2011
Initial release