# Change Log

## [3.4.0-20190418](https://github.com/internetarchive/heritrix3/tree/3.4.0-20190418) (2019-04-18)
[Full Changelog](https://github.com/internetarchive/heritrix3/compare/3.4.0-20190207...3.4.0-20190418)

**Fixed bugs:**

- Invalid format exception in scanJobLog [\#239](https://github.com/internetarchive/heritrix3/issues/239)
- Domain name lookup failures get cached forever [\#234](https://github.com/internetarchive/heritrix3/issues/234)
- Allow failed lookups to expire, for \#234. [\#235](https://github.com/internetarchive/heritrix3/pull/235) ([anjackson](https://github.com/anjackson))

**Closed issues:**

- Failed DNS requests remain enqueued [\#252](https://github.com/internetarchive/heritrix3/issues/252)
- SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder" [\#236](https://github.com/internetarchive/heritrix3/issues/236)
- Make FetchHistoryProcessor 304 handler more robust [\#229](https://github.com/internetarchive/heritrix3/issues/229)
- ToeThread death when using HighestUriPrecedenceProvider [\#221](https://github.com/internetarchive/heritrix3/issues/221)
- Google Drive robots.txt broken [\#193](https://github.com/internetarchive/heritrix3/issues/193)

**Merged pull requests:**

- set of frontier management changes to support CrawlHQ module [\#253](https://github.com/internetarchive/heritrix3/pull/253) ([dvanduzer](https://github.com/dvanduzer))
- fix some trough dedup bugs [\#251](https://github.com/internetarchive/heritrix3/pull/251) ([nlevitt](https://github.com/nlevitt))
- Remove suffix from warcWriter since it is no longer used. [\#249](https://github.com/internetarchive/heritrix3/pull/249) ([ruebot](https://github.com/ruebot))
- Revert "Upgrade httpclient to 4.5.7 and handle cookies more compliantly" [\#248](https://github.com/internetarchive/heritrix3/pull/248) ([ato](https://github.com/ato))
- Upgrade httpclient to 4.5.7 and handle cookies more compliantly [\#246](https://github.com/internetarchive/heritrix3/pull/246) ([anjackson](https://github.com/anjackson))
- Update README.md [\#244](https://github.com/internetarchive/heritrix3/pull/244) ([mikeizbicki](https://github.com/mikeizbicki))
- Handle commas more compliantly when parsing srcset [\#243](https://github.com/internetarchive/heritrix3/pull/243) ([ato](https://github.com/ato))
- Trough dedup [\#242](https://github.com/internetarchive/heritrix3/pull/242) ([nlevitt](https://github.com/nlevitt))
- Ensure we start parsing full lines, for \#239. [\#240](https://github.com/internetarchive/heritrix3/pull/240) ([anjackson](https://github.com/anjackson))
- Add CHANGELOG; address \#233. [\#238](https://github.com/internetarchive/heritrix3/pull/238) ([ruebot](https://github.com/ruebot))

## [3.4.0-20190207](https://github.com/internetarchive/heritrix3/tree/3.4.0-20190207) (2019-02-07)
[Full Changelog](https://github.com/internetarchive/heritrix3/compare/3.4.0-20190205...3.4.0-20190207)

**Fixed bugs:**

- Add checks to guard against server sending 304 in error [\#230](https://github.com/internetarchive/heritrix3/pull/230) ([anjackson](https://github.com/anjackson))

**Merged pull requests:**

- Add synchronized statements for internetarchive/heritrix3\#221. [\#231](https://github.com/internetarchive/heritrix3/pull/231) ([anjackson](https://github.com/anjackson))

## [3.4.0-20190205](https://github.com/internetarchive/heritrix3/tree/3.4.0-20190205) (2019-02-05)
[Full Changelog](https://github.com/internetarchive/heritrix3/compare/3.2.0...3.4.0-20190205)

**Fixed bugs:**

- HTML extractor does not handle the base href correctly when it's relative [\#208](https://github.com/internetarchive/heritrix3/issues/208)
- Heritrix3 \(including pre-built binaries\) Fails to Bootstrap with Java8 due to Changes in Java stdlib [\#176](https://github.com/internetarchive/heritrix3/issues/176)
- Heritrix3 Fails to Build from Source [\#175](https://github.com/internetarchive/heritrix3/issues/175)
- Missing OneLineSimpleLayout class file [\#173](https://github.com/internetarchive/heritrix3/issues/173)

**Closed issues:**

- BdbFrontier thread safety [\#212](https://github.com/internetarchive/heritrix3/issues/212)
- HTTP response only results in garbage bytes [\#206](https://github.com/internetarchive/heritrix3/issues/206)
- Possibly stalled crawl [\#203](https://github.com/internetarchive/heritrix3/issues/203)
- Where do i find the crawled information \(Contents\) after crawling is completed  [\#199](https://github.com/internetarchive/heritrix3/issues/199)
- `-j` option can'not handle spaces in directory names? [\#182](https://github.com/internetarchive/heritrix3/issues/182)
- heritrix doesn't scrape rewrite srcset urls correctly [\#177](https://github.com/internetarchive/heritrix3/issues/177)
- Possible race-condition when first using the WARC writers? [\#167](https://github.com/internetarchive/heritrix3/issues/167)
- can you integration with spring boot [\#162](https://github.com/internetarchive/heritrix3/issues/162)
- Noisy alerts about 401s without auth challenge  [\#158](https://github.com/internetarchive/heritrix3/issues/158)
- Can't see all beans in scripts [\#157](https://github.com/internetarchive/heritrix3/issues/157)
- How to configure warcWriter with MirrorWriter?  [\#156](https://github.com/internetarchive/heritrix3/issues/156)
- Requesting inaccurate paths from js causes routing errors [\#155](https://github.com/internetarchive/heritrix3/issues/155)

**Merged pull requests:**

- do not checkpoint if crawl job has not started [\#227](https://github.com/internetarchive/heritrix3/pull/227) ([nlevitt](https://github.com/nlevitt))
- namespace scope log logger to crawl job [\#226](https://github.com/internetarchive/heritrix3/pull/226) ([nlevitt](https://github.com/nlevitt))
- un-threadlocal the HConnection [\#224](https://github.com/internetarchive/heritrix3/pull/224) ([nlevitt](https://github.com/nlevitt))
- reset HBaseAdmin on error [\#223](https://github.com/internetarchive/heritrix3/pull/223) ([nlevitt](https://github.com/nlevitt))
- keep trying to start up hbase dedup forever [\#222](https://github.com/internetarchive/heritrix3/pull/222) ([nlevitt](https://github.com/nlevitt))
- implement PredicatedDecideRule.onlyDecision\(\) [\#220](https://github.com/internetarchive/heritrix3/pull/220) ([nlevitt](https://github.com/nlevitt))
- use non-deprecated hbase api [\#219](https://github.com/internetarchive/heritrix3/pull/219) ([nlevitt](https://github.com/nlevitt))
- Correct spelling mistakes. [\#218](https://github.com/internetarchive/heritrix3/pull/218) ([EdwardBetts](https://github.com/EdwardBetts))
- Update API with note about checkpoint launching. [\#217](https://github.com/internetarchive/heritrix3/pull/217) ([anjackson](https://github.com/anjackson))
- Extend API to simplify using the latest checkpoint [\#215](https://github.com/internetarchive/heritrix3/pull/215) ([anjackson](https://github.com/anjackson))
- Ensure frontier work queues are updated safely across threads. [\#213](https://github.com/internetarchive/heritrix3/pull/213) ([anjackson](https://github.com/anjackson))
- fix exception starting DecideRuleSequence logging [\#210](https://github.com/internetarchive/heritrix3/pull/210) ([nlevitt](https://github.com/nlevitt))
- HtmlExtractor: allow relative hrefs in the base element [\#209](https://github.com/internetarchive/heritrix3/pull/209) ([anjackson](https://github.com/anjackson))
- Fix link to User Guide [\#207](https://github.com/internetarchive/heritrix3/pull/207) ([maurice-schleussinger](https://github.com/maurice-schleussinger))
- Add parameter to allow even distribution for parallel queues. [\#205](https://github.com/internetarchive/heritrix3/pull/205) ([adam-miller](https://github.com/adam-miller))
- catch exceptions scoping outlinks to stop them from derailing process… [\#197](https://github.com/internetarchive/heritrix3/pull/197) ([nlevitt](https://github.com/nlevitt))
- fix for test failures in a workspace on NFS-mounted filesystem [\#196](https://github.com/internetarchive/heritrix3/pull/196) ([kngenie](https://github.com/kngenie))
- limit max size of form input [\#194](https://github.com/internetarchive/heritrix3/pull/194) ([galgeek](https://github.com/galgeek))
- Enforce robots.txt character limit per char not per line [\#192](https://github.com/internetarchive/heritrix3/pull/192) ([ato](https://github.com/ato))
- Allow JavaDNS to be disabled as part of resolving outstanding build and test issues [\#190](https://github.com/internetarchive/heritrix3/pull/190) ([anjackson](https://github.com/anjackson))
- WARCLimitEnforcer.java - Add support for multiple warc writers. [\#189](https://github.com/internetarchive/heritrix3/pull/189) ([adam-miller](https://github.com/adam-miller))
- treat a failed fetch \(e.g. socket timeout\) of robots.txt the same way… [\#187](https://github.com/internetarchive/heritrix3/pull/187) ([nlevitt](https://github.com/nlevitt))
- reduce batch size to 400 and avoid ridiculously long log lines [\#186](https://github.com/internetarchive/heritrix3/pull/186) ([nlevitt](https://github.com/nlevitt))
- escape strings in sql posted to trough [\#185](https://github.com/internetarchive/heritrix3/pull/185) ([nlevitt](https://github.com/nlevitt))
- trough feed [\#180](https://github.com/internetarchive/heritrix3/pull/180) ([nlevitt](https://github.com/nlevitt))
- Add parsing for srcset attributes [\#179](https://github.com/internetarchive/heritrix3/pull/179) ([BitBaron](https://github.com/BitBaron))
- KafkaCrawlLogFeed had been using lots of heap because each callback i… [\#178](https://github.com/internetarchive/heritrix3/pull/178) ([nlevitt](https://github.com/nlevitt))
- AMQP fine control [\#171](https://github.com/internetarchive/heritrix3/pull/171) ([anjackson](https://github.com/anjackson))
- fix for race-condition when first using the WARC writers https://gith… [\#168](https://github.com/internetarchive/heritrix3/pull/168) ([nlevitt](https://github.com/nlevitt))
- Don't wait to receive Umbra urls if Heritrix sends no url to Umbra [\#166](https://github.com/internetarchive/heritrix3/pull/166) ([galgeek](https://github.com/galgeek))
- AMQP URL Waiter [\#165](https://github.com/internetarchive/heritrix3/pull/165) ([galgeek](https://github.com/galgeek))
- Fixes for apparent build errors \(extends \#154\) [\#164](https://github.com/internetarchive/heritrix3/pull/164) ([nlevitt](https://github.com/nlevitt))
- Kafka 0.9 [\#163](https://github.com/internetarchive/heritrix3/pull/163) ([nlevitt](https://github.com/nlevitt))
- No link extraction on URI not successfully downloaded [\#161](https://github.com/internetarchive/heritrix3/pull/161) ([kris-sigur](https://github.com/kris-sigur))
- Fixes issue \#158 : Noisy alerts about 401s without auth challenge [\#159](https://github.com/internetarchive/heritrix3/pull/159) ([kris-sigur](https://github.com/kris-sigur))
- Fixes for apparent build errors [\#154](https://github.com/internetarchive/heritrix3/pull/154) ([anjackson](https://github.com/anjackson))
- Switch to Java 7 [\#152](https://github.com/internetarchive/heritrix3/pull/152) ([anjackson](https://github.com/anjackson))
- Make Content-Location header url INFERRED not REFFER hop type since C… [\#151](https://github.com/internetarchive/heritrix3/pull/151) ([vonrosen](https://github.com/vonrosen))
- various changes to amqp publish and receive [\#150](https://github.com/internetarchive/heritrix3/pull/150) ([nlevitt](https://github.com/nlevitt))
- Update to ExtractorHTML.java for cond. comments [\#149](https://github.com/internetarchive/heritrix3/pull/149) ([eleclerc](https://github.com/eleclerc))
- Don't canonicalize source tag so that SourceSeedDecideRule will work.… [\#148](https://github.com/internetarchive/heritrix3/pull/148) ([vonrosen](https://github.com/vonrosen))
- More fixes for mutlipart form submission [\#146](https://github.com/internetarchive/heritrix3/pull/146) ([vonrosen](https://github.com/vonrosen))
- Make some urls with whitespace acceptable to JavaScript extractor. [\#145](https://github.com/internetarchive/heritrix3/pull/145) ([vonrosen](https://github.com/vonrosen))
- run received urls through the candidates processor, to check scope an… [\#144](https://github.com/internetarchive/heritrix3/pull/144) ([nlevitt](https://github.com/nlevitt))
- handle login forms with \<input type="text"\> fields in addition to use… [\#143](https://github.com/internetarchive/heritrix3/pull/143) ([nlevitt](https://github.com/nlevitt))
- Form login multipart [\#142](https://github.com/internetarchive/heritrix3/pull/142) ([nlevitt](https://github.com/nlevitt))
- Disable SNI for a request if that request failed due to an SNI error … [\#141](https://github.com/internetarchive/heritrix3/pull/141) ([vonrosen](https://github.com/vonrosen))
- handle multiple clauses for same user agent in robots.txt [\#139](https://github.com/internetarchive/heritrix3/pull/139) ([nlevitt](https://github.com/nlevitt))
- crawl level and host level limits on \*novel\* \(not deduplicated\) bytes and urls [\#138](https://github.com/internetarchive/heritrix3/pull/138) ([nlevitt](https://github.com/nlevitt))
- SourceSeedDecideRule, SeedLimitsEnforcer [\#137](https://github.com/internetarchive/heritrix3/pull/137) ([nlevitt](https://github.com/nlevitt))
- Register seeds send in via AMQP [\#136](https://github.com/internetarchive/heritrix3/pull/136) ([anjackson](https://github.com/anjackson))
- Allow KnowledgableExtractorJS to parse out youtube watch from youtube… [\#135](https://github.com/internetarchive/heritrix3/pull/135) ([vonrosen](https://github.com/vonrosen))
- Add maximum to number of cookies to store for domain to BdbCookieStore [\#133](https://github.com/internetarchive/heritrix3/pull/133) ([vonrosen](https://github.com/vonrosen))
- try very hard to start url consumer, and therefore bind the queue to … [\#132](https://github.com/internetarchive/heritrix3/pull/132) ([nlevitt](https://github.com/nlevitt))
- set isRunning=true so that stop\(\) gets called to avoid leaking connec… [\#131](https://github.com/internetarchive/heritrix3/pull/131) ([nlevitt](https://github.com/nlevitt))
- catch exceptions and log error in StatisticsTracker.run\(\), to make su… [\#130](https://github.com/internetarchive/heritrix3/pull/130) ([nlevitt](https://github.com/nlevitt))
- load keytool utility main class dynamically, trying both the old and … [\#129](https://github.com/internetarchive/heritrix3/pull/129) ([nlevitt](https://github.com/nlevitt))
- AMQPUrlReceiver changes to support RabbitMQ \>= 3.3 [\#128](https://github.com/internetarchive/heritrix3/pull/128) ([anjackson](https://github.com/anjackson))
- 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-compiler-plugin is missing [\#126](https://github.com/internetarchive/heritrix3/pull/126) ([caofangkun](https://github.com/caofangkun))
- Amqp declarations fix [\#125](https://github.com/internetarchive/heritrix3/pull/125) ([ldko](https://github.com/ldko))
- Allow realm to be set by server for basic auth. [\#124](https://github.com/internetarchive/heritrix3/pull/124) ([vonrosen](https://github.com/vonrosen))
- Hosts report [\#123](https://github.com/internetarchive/heritrix3/pull/123) ([kris-sigur](https://github.com/kris-sigur))
- only submit checkbox and radio button form fields if they are on by d… [\#122](https://github.com/internetarchive/heritrix3/pull/122) ([nlevitt](https://github.com/nlevitt))
- new contrib module KnowledgableExtractorJS, a subclass of ExtractorJS th... [\#121](https://github.com/internetarchive/heritrix3/pull/121) ([nlevitt](https://github.com/nlevitt))
- for ARI-4267 accept possible uris with two dots in the filename part if ... [\#120](https://github.com/internetarchive/heritrix3/pull/120) ([nlevitt](https://github.com/nlevitt))
- Fix for HER-2082 [\#119](https://github.com/internetarchive/heritrix3/pull/119) ([adam-miller](https://github.com/adam-miller))
- Fix for ServerNotModified WARC revisit records incorrectly record WARC-Payload-Digest [\#118](https://github.com/internetarchive/heritrix3/pull/118) ([kris-sigur](https://github.com/kris-sigur))
- avoid java.lang.NullPointerException at org.archive.modules.writer.Write... [\#117](https://github.com/internetarchive/heritrix3/pull/117) ([nlevitt](https://github.com/nlevitt))
- make sure log4j is configured when running unit tests, to avoid log4j er... [\#116](https://github.com/internetarchive/heritrix3/pull/116) ([nlevitt](https://github.com/nlevitt))
- Set character set to UTF-8 when passing through files. [\#115](https://github.com/internetarchive/heritrix3/pull/115) ([kris-sigur](https://github.com/kris-sigur))
- remove RecordingOutputStreamTest.java \(moving to webarchive-commons\) [\#114](https://github.com/internetarchive/heritrix3/pull/114) ([nlevitt](https://github.com/nlevitt))
- Amqp receiver deadlock [\#112](https://github.com/internetarchive/heritrix3/pull/112) ([nlevitt](https://github.com/nlevitt))
- somewhat ugly fix to handle exceptions from the bean browser like java.l... [\#111](https://github.com/internetarchive/heritrix3/pull/111) ([nlevitt](https://github.com/nlevitt))
- Upgrade to HttpClient 4.3.6 [\#110](https://github.com/internetarchive/heritrix3/pull/110) ([kris-sigur](https://github.com/kris-sigur))
- so that it can appear in the crawl log, add contentSize to CrawlURI extr... [\#109](https://github.com/internetarchive/heritrix3/pull/109) ([nlevitt](https://github.com/nlevitt))
- kafka crawl log feed [\#108](https://github.com/internetarchive/heritrix3/pull/108) ([nlevitt](https://github.com/nlevitt))
- Handle case where form does not have an action defined. [\#107](https://github.com/internetarchive/heritrix3/pull/107) ([vonrosen](https://github.com/vonrosen))
- seriously, fix extraInfo handling in AMQPCrawlLogFeed [\#106](https://github.com/internetarchive/heritrix3/pull/106) ([nlevitt](https://github.com/nlevitt))
- fix extraInfo handling in AMQPCrawlLogFeed [\#105](https://github.com/internetarchive/heritrix3/pull/105) ([nlevitt](https://github.com/nlevitt))
- change field names to match new druid config [\#104](https://github.com/internetarchive/heritrix3/pull/104) ([nlevitt](https://github.com/nlevitt))
- CandidatesProcessor.java [\#103](https://github.com/internetarchive/heritrix3/pull/103) ([adam-miller](https://github.com/adam-miller))
- avoid deadlock in AMQPUrlReceiver hopefully [\#102](https://github.com/internetarchive/heritrix3/pull/102) ([nlevitt](https://github.com/nlevitt))
- Remove forcefetch for AMQP received urls so they don't get crawled twice... [\#101](https://github.com/internetarchive/heritrix3/pull/101) ([vonrosen](https://github.com/vonrosen))
- Allow discovery of urls in content attribute of meta tags. [\#100](https://github.com/internetarchive/heritrix3/pull/100) ([vonrosen](https://github.com/vonrosen))
- AMQPCrawlLogFeed, DecideRuleSequenceWithAMQPFeed, DecideRuleSequence.logExtraInfo [\#99](https://github.com/internetarchive/heritrix3/pull/99) ([nlevitt](https://github.com/nlevitt))
- Fix for HER-2074 [\#97](https://github.com/internetarchive/heritrix3/pull/97) ([kris-sigur](https://github.com/kris-sigur))
- new cookie store system to address HER-2070 "cookie monster" bug [\#96](https://github.com/internetarchive/heritrix3/pull/96) ([nlevitt](https://github.com/nlevitt))
- FIX corner-case of bean browser failing due to an exception from hashCode\(\) [\#95](https://github.com/internetarchive/heritrix3/pull/95) ([kngenie](https://github.com/kngenie))
- do not require "+" \(plus sign\) before @OPERATOR\_CONTACT\_URL@ in user-age... [\#94](https://github.com/internetarchive/heritrix3/pull/94) ([nlevitt](https://github.com/nlevitt))
- Allow urls in JavaScript between unicode quotes to be detected. [\#93](https://github.com/internetarchive/heritrix3/pull/93) ([vonrosen](https://github.com/vonrosen))
- remove more unused classes [\#92](https://github.com/internetarchive/heritrix3/pull/92) ([nlevitt](https://github.com/nlevitt))
- FetchHTTP.java [\#91](https://github.com/internetarchive/heritrix3/pull/91) ([adam-miller](https://github.com/adam-miller))
- Move Wayback-dedup module to heritrix-contrib [\#90](https://github.com/internetarchive/heritrix3/pull/90) ([kngenie](https://github.com/kngenie))
- Don’t let exception from property getter fail entire bean-browser. [\#89](https://github.com/internetarchive/heritrix3/pull/89) ([kngenie](https://github.com/kngenie))
- fix bug in CrawlURI.compare\(\) discovered by Kenji, add unit test CrawlUR... [\#88](https://github.com/internetarchive/heritrix3/pull/88) ([nlevitt](https://github.com/nlevitt))
- Allow xml extractor to handle urls in CDATA. [\#87](https://github.com/internetarchive/heritrix3/pull/87) ([vonrosen](https://github.com/vonrosen))
- remove unused Transform\* classes [\#86](https://github.com/internetarchive/heritrix3/pull/86) ([nlevitt](https://github.com/nlevitt))
- switch to mainline iipc webarchive-commons latest release [\#84](https://github.com/internetarchive/heritrix3/pull/84) ([nlevitt](https://github.com/nlevitt))
- oops! count novel urls/bytes for hosts report, etc [\#83](https://github.com/internetarchive/heritrix3/pull/83) ([nlevitt](https://github.com/nlevitt))
- Fix for HER-2071 [\#82](https://github.com/internetarchive/heritrix3/pull/82) ([kris-sigur](https://github.com/kris-sigur))
- Hbase cdh5 [\#81](https://github.com/internetarchive/heritrix3/pull/81) ([nlevitt](https://github.com/nlevitt))
- ExtractorHTML when a/@href links include the attribute data-remote="true... [\#80](https://github.com/internetarchive/heritrix3/pull/80) ([nlevitt](https://github.com/nlevitt))
- Revisit redux [\#79](https://github.com/internetarchive/heritrix3/pull/79) ([nlevitt](https://github.com/nlevitt))
- treat content as html and extract links if it looks like html, even if m... [\#78](https://github.com/internetarchive/heritrix3/pull/78) ([nlevitt](https://github.com/nlevitt))
- Force urls received from AMQP to be recrawled so custom http headers can... [\#77](https://github.com/internetarchive/heritrix3/pull/77) ([vonrosen](https://github.com/vonrosen))
- HER-2039 remove class Link, use CrawlURI [\#76](https://github.com/internetarchive/heritrix3/pull/76) ([nlevitt](https://github.com/nlevitt))
- in CrawlURI.createCrawlURI\(\), avoid clobbering inherited data with data ... [\#75](https://github.com/internetarchive/heritrix3/pull/75) ([nlevitt](https://github.com/nlevitt))
- Fix for https://webarchive.jira.com/browse/ARI-3943 [\#74](https://github.com/internetarchive/heritrix3/pull/74) ([vonrosen](https://github.com/vonrosen))
- Treat codebase as link hops, not embeds [\#73](https://github.com/internetarchive/heritrix3/pull/73) ([kris-sigur](https://github.com/kris-sigur))
- add A\_ANNOTATIONS to persistentKeys so that CrawlURI doesn't lose its an... [\#72](https://github.com/internetarchive/heritrix3/pull/72) ([nlevitt](https://github.com/nlevitt))
- avoid calling CheckpointService.hasAvailableCheckpoints\(\) when crawl not... [\#71](https://github.com/internetarchive/heritrix3/pull/71) ([nlevitt](https://github.com/nlevitt))
- for ARI-3712, add extracted links relative to both via and base, and annotate with "extractorSWFRelToVia", "extractorSWFRelToBase", or "extractorSWFRelToBoth" if resulting link is the same whether relative to base or via [\#70](https://github.com/internetarchive/heritrix3/pull/70) ([nlevitt](https://github.com/nlevitt))
- For https://webarchive.jira.com/browse/ARI-3865 [\#69](https://github.com/internetarchive/heritrix3/pull/69) ([vonrosen](https://github.com/vonrosen))
- handle exception determining whether to apply overlay [\#68](https://github.com/internetarchive/heritrix3/pull/68) ([nlevitt](https://github.com/nlevitt))
- don't log severe with stack trace on normal amqp shutdown [\#67](https://github.com/internetarchive/heritrix3/pull/67) ([nlevitt](https://github.com/nlevitt))
- oops, make "exit java process" button work again [\#66](https://github.com/internetarchive/heritrix3/pull/66) ([nlevitt](https://github.com/nlevitt))
- shut down the starter-restarter thread at crawl finish!! [\#65](https://github.com/internetarchive/heritrix3/pull/65) ([nlevitt](https://github.com/nlevitt))
- Via surt prefixed decide rule [\#64](https://github.com/internetarchive/heritrix3/pull/64) ([adam-miller](https://github.com/adam-miller))
- Contrib - ExtractorPDFContent [\#63](https://github.com/internetarchive/heritrix3/pull/63) ([adam-miller](https://github.com/adam-miller))
- Ari 3765 gracefully handle amqp server going up and down [\#62](https://github.com/internetarchive/heritrix3/pull/62) ([nlevitt](https://github.com/nlevitt))
- HER-2065 synchronize on inactiveQueuesByPrecedence inside of synchronize... [\#61](https://github.com/internetarchive/heritrix3/pull/61) ([nlevitt](https://github.com/nlevitt))
- Cosmetics [\#60](https://github.com/internetarchive/heritrix3/pull/60) ([nlevitt](https://github.com/nlevitt))
- fix unit test now that we accept speculative urls with query params with... [\#59](https://github.com/internetarchive/heritrix3/pull/59) ([nlevitt](https://github.com/nlevitt))
- for ARI-3723, accept speculative urls with query params with no value [\#58](https://github.com/internetarchive/heritrix3/pull/58) ([nlevitt](https://github.com/nlevitt))
- AMQPUrlReceiver - improve handling of case where rabbitmq is unreachable... [\#57](https://github.com/internetarchive/heritrix3/pull/57) ([nlevitt](https://github.com/nlevitt))
- fix FormLoginProcessor checkpointing [\#56](https://github.com/internetarchive/heritrix3/pull/56) ([nlevitt](https://github.com/nlevitt))
- oops, update test to expect post data as url-encoded query string [\#54](https://github.com/internetarchive/heritrix3/pull/54) ([nlevitt](https://github.com/nlevitt))
- Fix form login [\#53](https://github.com/internetarchive/heritrix3/pull/53) ([nlevitt](https://github.com/nlevitt))
- Implicitly add the ${} around groovyExpression. When cxml contains ${}, ... [\#52](https://github.com/internetarchive/heritrix3/pull/52) ([nlevitt](https://github.com/nlevitt))
- Expression deciderule [\#51](https://github.com/internetarchive/heritrix3/pull/51) ([nlevitt](https://github.com/nlevitt))
- Replace deprecated routines in guava [\#50](https://github.com/internetarchive/heritrix3/pull/50) ([shriphani](https://github.com/shriphani))
- Youtube march 2014 [\#49](https://github.com/internetarchive/heritrix3/pull/49) ([nlevitt](https://github.com/nlevitt))
- Umbra [\#48](https://github.com/internetarchive/heritrix3/pull/48) ([nlevitt](https://github.com/nlevitt))
- Adjusting Youtube itag priority [\#47](https://github.com/internetarchive/heritrix3/pull/47) ([adam-miller](https://github.com/adam-miller))
- switch dependency from ia-web-commons 1.1.1-SNAPSHOT to webarchive-commo... [\#46](https://github.com/internetarchive/heritrix3/pull/46) ([nlevitt](https://github.com/nlevitt))
- Update youtube itags [\#45](https://github.com/internetarchive/heritrix3/pull/45) ([nlevitt](https://github.com/nlevitt))
- update httpcomponents, should address NPE we've seen https://issues.apac... [\#44](https://github.com/internetarchive/heritrix3/pull/44) ([nlevitt](https://github.com/nlevitt))
- fix job.log file handler was left open when jobdir is removed [\#43](https://github.com/internetarchive/heritrix3/pull/43) ([martinsbalodis](https://github.com/martinsbalodis))
- Adding the queue declaration and binding to the UrlReceiver [\#42](https://github.com/internetarchive/heritrix3/pull/42) ([eldondev](https://github.com/eldondev))
- Fix slow cookies [\#41](https://github.com/internetarchive/heritrix3/pull/41) ([nlevitt](https://github.com/nlevitt))
- For https://webarchive.jira.com/browse/HER-2064 [\#40](https://github.com/internetarchive/heritrix3/pull/40) ([vonrosen](https://github.com/vonrosen))
- progress and formatting changes [\#39](https://github.com/internetarchive/heritrix3/pull/39) ([nlevitt](https://github.com/nlevitt))
- Umbra - AMQPUrlReceiver.java receive urls via amqp and add to frontier, related changes [\#38](https://github.com/internetarchive/heritrix3/pull/38) ([nlevitt](https://github.com/nlevitt))
- fix HER-2063 - omit port in Host request header when it is default for t... [\#37](https://github.com/internetarchive/heritrix3/pull/37) ([nlevitt](https://github.com/nlevitt))
- Avoid the exception below by handling bad charsets in FetchHTTP. Restore... [\#36](https://github.com/internetarchive/heritrix3/pull/36) ([nlevitt](https://github.com/nlevitt))
- whoops! send escaped path+query on http request line; had been sending r... [\#35](https://github.com/internetarchive/heritrix3/pull/35) ([nlevitt](https://github.com/nlevitt))
- fix NullPointerException in case of 401 with no auth challenge \(includes... [\#34](https://github.com/internetarchive/heritrix3/pull/34) ([nlevitt](https://github.com/nlevitt))
- First pass at a processor to publish crawluris to AMQP channels [\#33](https://github.com/internetarchive/heritrix3/pull/33) ([eldondev](https://github.com/eldondev))
- Switch to BasicHttpClientConnectionManager instead of [\#32](https://github.com/internetarchive/heritrix3/pull/32) ([nlevitt](https://github.com/nlevitt))
- make http proxy port configurable in cxml, avoiding this: org.springfram... [\#31](https://github.com/internetarchive/heritrix3/pull/31) ([nlevitt](https://github.com/nlevitt))
- Fix bdb cookie store [\#30](https://github.com/internetarchive/heritrix3/pull/30) ([nlevitt](https://github.com/nlevitt))
- HER-2062 Fix for WorkQueueFrontier.deleteURIs handling of retired queues [\#29](https://github.com/internetarchive/heritrix3/pull/29) ([kris-sigur](https://github.com/kris-sigur))
- switch to httpcomponents, get rid of archive-overlay-commons-httpclient [\#28](https://github.com/internetarchive/heritrix3/pull/28) ([nlevitt](https://github.com/nlevitt))
- rename dist/README.md to dist/README.txt so that maven bundles it in the... [\#27](https://github.com/internetarchive/heritrix3/pull/27) ([nlevitt](https://github.com/nlevitt))

## [3.2.0](https://github.com/internetarchive/heritrix3/tree/3.2.0) (2014-01-10)
[Full Changelog](https://github.com/internetarchive/heritrix3/compare/3.1.1...3.2.0)

**Merged pull requests:**

- update readme for 3.2.0 release [\#26](https://github.com/internetarchive/heritrix3/pull/26) ([nlevitt](https://github.com/nlevitt))
- bump version number to 3.2.0 for release [\#25](https://github.com/internetarchive/heritrix3/pull/25) ([nlevitt](https://github.com/nlevitt))
- for url-agnostic dedup, follow "Proposal for Standardizing the Recording... [\#24](https://github.com/internetarchive/heritrix3/pull/24) ([nlevitt](https://github.com/nlevitt))
- fix HER-1979 so heritrix can run on windows xp [\#23](https://github.com/internetarchive/heritrix3/pull/23) ([nlevitt](https://github.com/nlevitt))
- HER-1726: Templatize HTML [\#21](https://github.com/internetarchive/heritrix3/pull/21) ([adam-miller](https://github.com/adam-miller))
- Her 2031 - Improve login-form submission options [\#20](https://github.com/internetarchive/heritrix3/pull/20) ([gojomo](https://github.com/gojomo))
- BeanLookupBindings for simpler script access to beans [\#19](https://github.com/internetarchive/heritrix3/pull/19) ([travisfw](https://github.com/travisfw))
- Fix for HER-2018: XML representation for /engine/job/\<jobName\>/beans returns incorrect url for named beans [\#17](https://github.com/internetarchive/heritrix3/pull/17) ([adam-miller](https://github.com/adam-miller))
- Fix for HER-2017 XML representation of beans uses root node of type "script" [\#16](https://github.com/internetarchive/heritrix3/pull/16) ([adam-miller](https://github.com/adam-miller))
- Reuse htmllinkcontext [\#15](https://github.com/internetarchive/heritrix3/pull/15) ([kngenie](https://github.com/kngenie))
- suppress unused warnings for serialVersionUid [\#14](https://github.com/internetarchive/heritrix3/pull/14) ([travisfw](https://github.com/travisfw))
- have TooManyPathSegmentsDecideRule count path segments only [\#13](https://github.com/internetarchive/heritrix3/pull/13) ([travisfw](https://github.com/travisfw))
- generics warnings fixes [\#12](https://github.com/internetarchive/heritrix3/pull/12) ([travisfw](https://github.com/travisfw))
- New reports [\#11](https://github.com/internetarchive/heritrix3/pull/11) ([travisfw](https://github.com/travisfw))
- ScriptedDecideRule\#getEngine\(\) rewrite for better synchronization and thread local mgmt [\#10](https://github.com/internetarchive/heritrix3/pull/10) ([travisfw](https://github.com/travisfw))

## [3.1.1](https://github.com/internetarchive/heritrix3/tree/3.1.1) (2012-05-02)
[Full Changelog](https://github.com/internetarchive/heritrix3/compare/3.0.0...3.1.1)

**Merged pull requests:**

- Publicsuffixes2 [\#9](https://github.com/internetarchive/heritrix3/pull/9) ([kngenie](https://github.com/kngenie))
- Ip address set decide rule [\#7](https://github.com/internetarchive/heritrix3/pull/7) ([travisfw](https://github.com/travisfw))
- HER-2001: Use the CodeMirror editor for crawl config and script console [\#6](https://github.com/internetarchive/heritrix3/pull/6) ([ato](https://github.com/ato))
- HER-1998 [\#5](https://github.com/internetarchive/heritrix3/pull/5) ([adam-miller](https://github.com/adam-miller))
- sort script engines in script console [\#4](https://github.com/internetarchive/heritrix3/pull/4) ([travisfw](https://github.com/travisfw))

## [3.0.0](https://github.com/internetarchive/heritrix3/tree/3.0.0) (2009-12-05)


\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*