Changelog - mathieuboniface/gatling GitHub Wiki
v2.0.0-M3a #
This version fixes several major bugs in 2.0.0-M3, users are recommended to upgrade (transparent from M3)
Fixes
- #1281 Core: XPath check fails, ByteBufferInputStream buffer overflow
- #1282 Core: Simulation doesn't terminate properly
- #1283 HTTP: Wrong time out
- #1286 HTTP: Header regex check fails with NPE
v2.0.0-M3 #
This version also contains all the fixes and features from 1.5.1 and 1.5.2.
Beware of the breaking changes since 2.0.0-M2, like protocol set up and HTTP request bodies, see Gatling 2 page.
Fixes
- #1140 Core: Fix during loop
- #1148 Core: Remove Expression type alias that messes up with implicit conversions
- #1153 Recorder: Bug with URI parsing
- #1154 Recorder: Protect headers
- #1183 Charts: Incorrect OK/KO counts on groups
- #1207 HTTP: Additional CRLF when no Content-Disposition in multipart
- #1219 Recorder: Protected values in HAR files
- #1224 Core: Don't eagerly fetch resources from classpath
- #1243 Core: Div by 0 in ramp injection
- #1244 Charts: Percentage round up
- #1257 Core: TryMax exit condition
- #1259 Core: Wrong behavior when existASAP = false (repeat, foreach)
- #1266 Core: TryMax doesn't log inner groups
- #1270 App: Wrong behavior when simulation compiled class already exists
Features
- #62 and #1142 JDBC: Store stats in RDBMS, contributed by Jay Patel (@jaypatel512)
- #1141 Core: Simulation set up refactoring
- #1083, #1084 and #1208 Core: Support loading resources (feeder, bodies) from classpath
- #1163 and #1166 HTTP: Multipart support
- #1176 Recorder: Generate inline queries instead of queryParams
- #1181 Charts: Display KO percentages
- #1182 and #1265 Recorder: Handle pauses around tags, contributed by Sébastien Keller (@Skeebl)
- #1185 Core: Expose XML parser config in gatling.conf
- #1211 HTTP: Drop Scalate's SSP
- #1226 HTTP: Make SSL store type optional
- #1237 HTTP: Make request bodies cache configurable
- #1252 Charts: Add errors distribution table
- #1269 HTTP: Support Grizzly as HTTP provider
v1.5.2 #
Fixes
- #1203 Recorder: Recorder doesn't record binary bodies correctly
- #1204 Core: CSV parser escapeChar doesn't work properly
- #1213 Maven: When skipping, maven plugin shouldn't parse args
- #1214 Core: Race condition in DataWriter.uninitialized
- #1216 HTTP: Have query param support both "foo=" and "foo" forms
- #1223 Core: JsonPath with array element NPE when the array is actually null
- #1225 Charts: Dots in javascript variable names make jQuery crash
Features
- #1209 HTTP: Gatling doesn't honor RFC6265 cookie encoding style
- #1217 HTTP: Support AHC maxConnectionLifeTime
- #1221 HTTP: HEAD verb can have a body
- #1222 HTTP: Add OPTIONS verb support
- #1235 HTTP: Expose Virtual Host configuration
- #1240 HTTP: Add HttpProtocol.baseHeaders(headers)
Features
v1.5.1 #
From this version, one can:
- use
-Dgatling.test.skip
in order to disable the gatling maven plugin - chose between
jodd
andjsoup
ingatling.conf
for the CSS Selector engine - display multiple Simulations (launched in multiple maven plugin executions for example) in the Jenkins plugin
Fixes
- #1139 Core: Round-Robin feeder memory leak
- #1146 HTTP: Set AHC maxRetry to 0 by default
- #1155 Recorder: Recorder doesn't dump with selected encoding
- #1157 Recorder: Recorder doesn't properly extract bodies
Features
- #1063 Maven: Allow one to skip gatling tests
- #1138 HTTP: Backport support for poorly encoded Location header
- #1145 Core: Let exec take a Scenario
- #1160 HTTP: Add session to log triggered by request failure
- #1162 Jenkins: Multiple gatling runs in single jenkins job, thanks to @cprice-puppet
- #1170 Core: Revive Jodd support, make it default implementation
- #1171 Core: Backport extractors caching to 1.5
v2.0.0-M2 #
This version also contains all the fixes and features from 1.5.0.
Fixes
- #1093 Charts: Broken link if request name contains #
- #1098 App: Fix regex for scala-compiler jar, thanks to @nap-stig
- #1124 Charts: Invalid JSON file
- #1136 Core: else branch of ifOrElse always ignored
Features
- #827 and #1085 Recorder: Generate Simulation from HAR file
- #966 and #1090 Output final stats to console, thanks to @jaypatel512
- #1091 Core:
dirac
renamed intoheaviside
- #1105 and #1113 Add an
exitASAP
toduring
andasLongAs
loops so that exit condition is evaluated on every action instead of once per iteration
v1.5.0 #
Fixes
- #1094 HTTP: JsonPath and XPath checks consume the response body
- #1095 Charts: Charts names encoding problem
- #1116 Core: DataWriter race condition
- #1127 Recorder: Invalid dot in chains
- #1133 HTTP: Don't drop query params inlined in the URL
Features
- #1055 Core: Reorganize gatling.conf
- #1099 Core: Override
gatling.data.writers
from System properties - #1101 and #1102 Recorder: Override default keystore, thanks to @cprice-puppet
- #1114 Core: Switch from Jodd to Jsoup as CSS selectors implementation
- #1115 Drop custom JsonPath in favor of Jayway one
- #1117 HTTP: Add
HttpProtocolConfiguration.shareClient
to have one http client per user (disabled by default) - #1119 HTTP: Add
HttpProtocolConfiguration.shareConnections
to have one http client per user (enabled by default) - #1121 HTTP: Add Session attributes for setting SSL Engine per user
- #1125 Core: Add a light mode for ConsoleDataWriter
- #1126 Graphite: Add a light mode for GraphiteDataWriter
- #1134 and (https://github.com/excilys/gatling/issues/) App: Allow simulation description to be configurable via conf file / CLI, thanks to @cprice-puppet
- #1137 Refactor doIfOrElse(String, String) into doIfEqualsOfElse(Expression[String], Expression[String])
Note: Beware that the configuration file has changed, so the System property names to override it too! Please check the new file.
v2.0.0-M1 #
See full milestone content and Gatling 2 page.
v1.4.7 #
Fixes
- #1047 and #1049 Maven: Forked JVM might not exit on Windows, thanks to alvinlin123!
- #1066 Maven: System properties propagation still not working under Windows
- #1074 Charts: Broken records cause generation to fail
- #1080 Charts: Javascript error when request name starts with a number
Features
- #1050 Core: Upgrade Slf4j 1.7.5
- #1051 Core: Upgrade Logback 1.0.11
- #1070 Charts: Long request names break the menu
- #1072 HTTP: Upgrade AsyncHttpClient 1.7.13
- #1073 HTTP: Upgrade Netty 3.6.5
v1.4.6 #
Fixes
- #1018 and #1019 Core: Possible race condition on initialization
- #1020 HTTP: Warm up done twice, slowing down start up
- #1037 Maven: Renaming property
simulation
intosimulationClass
in order to avoid clash when passing as System property - #1042 Recorder: Invalid generated simulation when first element is a tag
- #1044 Maven: Fails when propagating a System property with a space
Features
- #1046 Core: Drop attribute axis support in JsonPath, introduce magic value
_
to target root array
Note: Be aware of the 2 breaking changes:
- Maven plugin property
simulation
renamed intosimulationClass
- JsonPath not longer supports attribute axis (didn't really make sense and was equivalent to child element one).
v1.4.5 #
Fixes
- #995 and #1013 Core: Can't use assertions with "manual scaling" procedure, see wiki
- #1003 Maven: line.separator disappears when propagation System properties
- #1009 Core: config doesn't get overridden with System properties
Features
- #1017 HTTP: Upgrade to async-http-client 1.7.12
v1.4.4 #
Fixes
- #971 Maven: Plugin broken, wrong Scala version resolved
- #974 HTTP: XPath and JsonPath checks crash on empty body
- #984 and #993 Charts: stats.tsv file broken
Features
- #906, * #911 and * #972 Core: add new
foreach
DSL, see doc - #960 Core: Make user ids unique
- #977 Maven: Propagate System properties in fork mode
- #983 Charts: Make Graphite root configurable, defaulting to gatling
- #996 HTTP: Make SslContext configurable
- tons of optimizations, see full issues list for details
v1.4.3 #
Fixes
- #914, #915, #918, #919 Charts: Charts not rendering when request/group name contains special characters
- #922 Core: Fix pause shift computation
- #926 HTTP: Improve domain matching in cookie handling
- #942 Recorder: Handle poorly encoded queries
- #944 Core: NPE when running a simulation with 2 scenarios with the same name
- #954 and #956 HTTP: Filtered out multiple cookies with the same name/path (support PHP bug)
Features
- #913 HTTP: Upgrade Netty 3.6.2
- #934 HTTP: Upgrade async-http-client 2.10
- #941 Core: Loops clean up
- #957 HTTP: Add Connection to possible common headers
v1.4.2 #
Fixes
- #881 and #910 Core: Fix Zinc incremental compiler NPE
- #898 Charts: invalid group OK/KO stats
- #899 HTTP: Cookies are not propagated from HTTP to HTTPS
- #907 JDBC: JdbcFeeder SQLException with Oracle
v1.4.1 #
Fixes
- #882 Core: Possible SOE when too many requests
- #884 Recorder: Not working with HTTPS
- #886 Charts: Wrong statistics for groups
- #893 Maven: reportsOnly not work with maven plugin
Features
v1.4.0 #
Fixes
- #844 Charts: Handle parentheses in request names
- #846 Core: Fix possible NPE in FileDataWriter.sanitize
- #866 #867 Charts: Fix stats.tsv file header, thanks to @caps (Pete Capra)
Features
- #170 #322 Charts: New API for grouping requests
- #560 Core: New API for acceptance criteria
- #594 Maven: New Jenkins plugin
- #772 Charts: Reorganize description
- #782 Core: 1.3.X deprecated APIs removed
- #788 #810 Core: Jackson fully configurable through gatling.conf
- #802 HTTP: Host header doesn't have to be specified as AHC computes it
- #829 Core: Feeder is now Iterator[Map[String, T]]
- #832 Charts: Upgrade jQuery 1.8.3
- #838 #840 Core: Breaking change in Simulation structure: remove apply and configure, introduce setUp
- #839 Maven: maven plugin now use src/test/scala and src/test/resources folders
- #841 Core: New
.size
EL function - #847 Core: Make extraResponseInfoExtractor take an ExtendedResponse
- #848 #879 HTTP: Better tracing/debugging of requests and responses
- #849 HTTP: Upgrade Netty 3.6.0.Final
- #857 Core: Stop engine nicely instead of System.exit on feeder starvation
- #860 Core: Upgrade Logback 1.0.9
- #861 Core: Upgrade Jackson 2.1.2
- #864 #872 Maven: maven-gatling-plugin refactoring
- #870 HTTP: Make fileBody dynamic
- #874 Core: Fix Zinc when Gatling path contains special characters
- #876 App: Rename deb package name into gatling-tool
- #877 HTTP: Upgrade AHC 1.7.9, fix bug when no headers
- #880 Charts: Upgrade Highcharts 2.3.5 and Highstock 1.2.5
Note: This release introduce a breaking change in the Simulation classes format. Deprecated methods in 1.3.X have been removed. See migration guide
v1.3.5 #
Fixes
- #799 Maven: src/test/scala directory missing in projects generated with the archetype
- #800 Core: Fix debig logger in logback.xml
- #808 HTTP: Original ContentType header shouldn't be propagated when redirecting
- #813 HTTP: followRedirect not working properly when Location contains a query
- #816 HTTP: CookieStore not accounting for port number in domain computation
- #820 Core: JsonPath not supporting wildcards
Features
- #765 and #814 HTTP: Print HTTP params in debug
- #792 Core: Make request names dynamic
- #817 HTTP: Authorization header can now be declared as a common header in HttpProtocolConfiguration
- #818 HTTP: Support for non UTF-8 encoded cookies (value containing an "=" character)
v1.3.4 #
Fixes
v1.3.3 #
Features
- #754 Core: Use Zinc incremental compiler
- #763 and #769 Charts: Redesign statistic summary table
- #775 HTTP/Recorder: DNT common header support
- #779 Core: Loop index is now directly exposed as Session attribute
Fixes
- #755 Charts: Square and curly braces in request names mess up with javascript
- #756 HTTP: Fix abusing caching
- #759 Core: Fix check when forcing Simulation
- #760 Maven: add missing logback.xml file
- #762 HTTP: Support Expires headers numerical values
- #766 Metrics: Max and count should be reseted along with the buckets
- #770 Charts: Run description is not properly printed
- #777 Core: Fix unrecoverable crash on while condition evaluation
- #778 Core: Counter should be incremented before the loop content
- #780 Recorder: Fix pauses shift
v1.3.2 #
Features
- #750 HTTP: better support of multivalued params and queryParams with multiValuedParam and multiValueQueryParam, see wiki
Fixes
- #753 HTTP: regression: params were being sent as query params
v1.3.1 #
Features
- #743 Checks: Add new bodyString check, see wiki
- #744 HTTP: Upgrade Netty to 3.5.8.Final, critical performance fixes
- #752 Config: Add aliases for built-ins data readers and writers: console, file and graphite
Fixes
- #732 HTTP: responseChunksDiscardingEnabled was not working properly
- #734 HTTP: Host header was being ignored, fixed thanks to @dustinbarnes
- #735 Core: NPE when using chain
- #736 Charts: Drop Scalding/Cascading, considerably reduce memory footprint, introduce accuracy config parameter defaulting to 10ms
- #745 Recorder: Tags were not dumped in the generated Simulation
- #747 Charts: Some charts disappear. This is due to a Highstock bug that has been fixed yet, so a workaround was introduced
- #751 Feeders and Charts: File streams were not properly closed
Note: Due to the new accuracy parameter, you will experience less precise values in the charts. You can get the old behavior by setting a 1 ms value, at the cost of a higher memory usage.
v1.3.0 #
Warning: Migration required, see migration guide
API changes:
- #669 Core: Config file format change
- #698 Core: Durations expressed as (value, unit) are deprecated
- #699 Core: Loops refactoring, old ones are deprecated
- #705 Core: insertChain deprecated, use exec
- #711 Core: Feeders are now Iterators
- #730 Core: doIf refactoring
Features
- #592 Charts: Display mean number of requests/sec in global chart page
- #593 Charts: Generate a csv file with global stats
- #604 and #672 Charts: Response time and latency charts now display (min, max) ranges instead of a max values line
- #606 HTTP: New byteArrayBody(Session => Array[Byte]), see wiki
- #607 HTTP: New baseUrls for round-robin, thanks to @israel, see wiki
- #607 and #683 Charts: New summary table on global page
- #621 Checks: Css checks underlying parser now supports browser conditional tests
- #623 HTTP: New caching support, see wiki
- #624 Core: New console dashboard
- #627 Checks: New currentLocation check, see wiki
- #628 Core: New pauseCustom(() => Long), see wiki
- #641 and #658 HTTP: Log requests and responses on failure
- #644 HTTP: paramKey and fileName upload parameters are now dynamic
- #646 HTTP: Multi file upload support, thanks to @codemnky
- #647 and #690 Core: New randomSwitch, see wiki
- #652 HTTP: New disableResponseChunksDiscarding, see wiki
- #652 Checks: Css checks now support attribute node selection, see wiki
- #674 and #675 Graphite: Gatling can now report to Graphite, see wiki
- #685 Project: Continuous Integration now on Cloudbees
- #688 Charts: New polar chart with request counts
- #701 Core: New exitBlockOnFail and exitHereIfFailed, see wiki
- #702 Core: New tryMax, see wiki
- #703 Core: Remove bootstrapping from chain, see wiki
- #706 Core: new randomRoundRobin, see wiki
- #712 Core: Let exec take a chain vararg, see wiki
- #714 Core: Better simulations compilation warnings
Fixes
- #571 HTTP: Better cookies support
- #609 HTTP: NPE when Location header missing
- #615 HTTP: Url is encoded twice on redirect
- #630 Charts: Fix percentiles
- #639 and #687 Recorder: should ask before overwriting
- #651 Check: responseTime and latency checks mustn't cause body to be stored
- #653 HTTP: Duration computation problems
- #664 Core: Don't display Abstract simulations
- #665 Core: LinkageError when using inheritance
- #709 Recorder: support empty valued parameters
- #713 and #715 Charts: support quotes in request names
v1.2.5 #
Features
- #596 Better live informations
Fixes
- #597 Fix cookie handling regression
- #599 Time measurement is intrinsically imprecise, ensure that it can't cause negative response times
- #600 Fix response time distribution chart, max value wasn't properly displayed
- #601 Fix gatling-maven-plugin JVM arguments
v1.2.4 #
Features
- #446 Add the ability to dump custom data in the logs, thanks to Stephen Kuenzli, see wiki
- #569 New reponseTimeInMillis and latencyInMillis checks, see wiki
- #576 new headerRegex check, see wiki
- #591 Location header is now automatically decoded when checked, see wiki
- #595 New simple feeder, see wiki
Fixes
- #572 Fix a bug where cookies with the same name could be sent both under certain conditions
- #573 Fix script variables scope under Windows, thanks to Henri Tremblay
- #574 Fix logger in logback.conf, thanks to Henri Tremblay
- #583 Fix engine encoding handling
- #586 Fix recorder class name and package generation
- #587 Fix recorder encoding handling
v1.2.3 #
Fixes
- #566 Fix body checks regression in 1.2.2
v1.2.2 #
Warning: due to #566, 1.2.2 users are recommended to upgrade to 1.2.3
Features
- #543 Make charts generation consume multiple simulation(.*).log files, ease multiple instances testing, see wiki
- #548 New Redis Feeder, thanks to @krishnenc (Krishnen Chedambarum), see wiki
- #548 New byteArrayBody, thanks to @krishnenc (Krishnen Chedambarum), see wiki
- #552 Gatling modules can now be built independantly, thanks to @nire (Nicolas Rémond)
- #553 New checksum checks, see wiki
- #555 Run name can now be set on gatling-maven-plugin, see wiki
- #557 Gatling now ships Grizzly to ease switching NIO provider (Gatling still uses Netty by default)
Fixes
- #562 Fix gatling-maven-plugin crash when setting no-reports or run-name options, thanks to @skuenzli (Stephen Kuenzli)
- #558 Ensure IfAction and WhileAction don't lose messages on crash
v1.2.1 #
Warning: Due to #545, 1.2.0 users are highly recommended to upgrade!
Features
- #539 much better reports generation memory footprint
Fixes
- #536 HttpProtocolConfiguration DSL wouldn't compile when proxy was defined in the middle of the chain
- #537 Warm up request would break the run when target url cannot be reached
- #538 Fix scatter plot chart
- #540 Fix percentile ordinal suffix, thanks to Nicolas Rémond
- #544 Fix times computation at very high throughput
- #545 Fix pause duration
- #546 Fix launch script when path contains special characters, thanks to Jean-François Bilger
v1.2.0 #
Warning: Migration required, see migration guide
Features
- #376 loop times condition can now be dynamic
- #432 & #523 Referer header can now be automatically computed
- #435 & #518 CSS Selector extractors are now supported, thanks to Nicolas Rémond (@nire)
- #493 & #531 HEAD HTTP word is now supported, thanks to Nicolas Rémond (@nire)
- #501 Reports global page has been refactored
- #509 Recorder has been migrated to Scala
- #514 Common HTTP Headers can be configured on ProtocolConfiguration
- #522 Outgoing proxy credentials can now be configured in the Recorder
- #527 Percentiles have been reworked to make more sense
- #530 New exponentially distributed pauses, thanks to Stephen Kuenzli (@skuenzli)
- #532 Add automatic request to compensate for engine warm up
- #535 Calling check() several times will now append them instead of overriding them
Fixes
- #512 & #528 Fix class name resolution in gatling-maven-plugin, thanks to Cyril Couturi (@ccouturi) and Stephen Kuenzli (@skuenzli)
- #520 Add protection from SimpleAction crashes
- #534 Handle empty lines in CSV files
v1.1.6 - Bug fix #
Fixes
- #498 Recorder: fix NPE on request body
- #507 gatling-maven-plugin: fix simulation package on Windows
- #508 Charts: fix encoding
- #510 Recorder: fix request bodies folder name
v1.1.5 - Bug fix #
Fixes
- #489 Make recorder use relative URIs once connection established
- #490 Handle 303 redirect status code
- #491 Fix status code check when using non default one
- #497 Fix reports when request name contains "'"
- #498 Fix NPE in recorder when dumping request bodies
- #499 Fix latency chart
Features
- #484 - Remove check logic from the AHC handler in order to reduce pressure on IO threads
- #486 - Charts: all session series is computed once for all
- #492 - Add a "maybe" check strategy when one want to capture an optional value
- #500 - Document transactions/sec chart
- #502 - Expose AHC configuration in Gatling conf
v1.1.4 - Bug fix #
Fixes
Features
v1.1.3 - Bug fix #
Fixes
- #459 - Upgrade Netty 3.4.0.Final that fixes a compression bug.
- #460 - Fix recorder SSL certificate.
- #466 - Support relative Location headers
- #469 - Regression: the recorder shouldn't record Cookie and Content-Length headers
- #470 - Fix statistics displayed in the CLI while running
Features
- #465 - Charts: display percentiles
v1.1.2 - Bug fix #
Fixes
- #450 - Properly fixes cookie expiration
- #453 - Make XPathExtractor threadsafe
- #455 - Fix global statistics
Features
- #327 - Akka 2 migration, wouhou!!!
v1.1.1 - Bug fix #
Fixes
Features
- #447 - Log at debug level the response on failed check
v1.1.0 #
Warning: Migration required, see migration guide
Features
- Engine
- Check API
- Feeder API
- HTTP API
- Charts API
- configurable time window, see #323
- new active transactions/sec over time chart
- new response latency over time chart
- Recorder
- Extensions
- new gatling-maven-plugin, contributed by @nhuray
- new gatling debian package, contributed by @nhuray
And tons of bug fixes and performance enhancements!
v1.0.3 - Bug fix #
Fixes
- Fix a bug in the recorder introduced in 1.0.2 that prevent from recording scenarios with less than 100 requests
v1.0.2 - Bug fix #
Features
- #345, #348 & #330 - Better support for long scenarios (via manual splitting)
- #347 - Recorder splits long scenarios so they can be run with no extra configuration.
v1.0.1 - Bug fix #
Fixes
- #334 - Fixes reports template resolution under Windows
- #320 - Stops scenario if queue feeder not big enough
- Fixes a bug with empty lines at end of feeders
Features
- Better CLI feedback