Commit Graph

139 Commits

Author SHA1 Message Date
Alex Osborne b988940eff [maven-release-plugin] prepare for next development iteration 2025-09-22 13:57:47 +09:00
Alex Osborne e3bdd7220e [maven-release-plugin] prepare release 3.11.0 2025-09-22 13:57:41 +09:00
Alex Osborne 25b621ce61 Bump jakarta.xml.bind-api from 4.0.2 to 4.0.4 2025-09-22 13:51:48 +09:00
Alex Osborne cb986a0ed2 Bump codemirror__language from 6.11.2 to 6.11.3 2025-09-22 13:50:01 +09:00
Alex Osborne 20dcc89244 [maven-release-plugin] prepare for next development iteration 2025-08-29 17:26:11 +09:00
Alex Osborne 7a2c676dc9 [maven-release-plugin] prepare release 3.10.2 2025-08-29 17:26:05 +09:00
Alex Osborne e42306ceb1 Use slf4j BOM to ensure consistent versions 2025-08-28 15:32:48 +09:00
Alex Osborne 3cde816e95 Use jetty BOM to ensure consistent versions 2025-08-28 15:27:10 +09:00
Alex Osborne b1be6fbe0d Bump codemirror__view from 6.37.2 to 6.38.1 2025-08-20 17:05:03 +09:00
Alex Osborne 5983f61626 Bump codemirror@legacy-modes from 6.5.0 to 6.5.1 2025-08-20 16:53:23 +09:00
Alex Osborne c8c2512e77 Bump codemirror@language from 6.11.1 to 6.11.2 2025-08-20 16:53:10 +09:00
Alex Osborne ea67b59e51 [maven-release-plugin] prepare for next development iteration 2025-07-21 17:15:17 +09:00
Alex Osborne 1cf6762c7f [maven-release-plugin] prepare release 3.10.1 2025-07-21 17:15:12 +09:00
Alex Osborne 8eaaa27ae7 Bump codemirror@search to 6.5.11 and codemirror@state to 6.37.2 2025-07-21 16:06:32 +09:00
Alex Osborne c45544a47b Bump restlet from 2.6.0-rc1 to 2.6.0 2025-07-21 16:03:24 +09:00
Alex Osborne 01378ddbbf [maven-release-plugin] prepare for next development iteration 2025-06-12 22:01:16 +09:00
Alex Osborne ecc46a38c3 [maven-release-plugin] prepare release 3.10.0 2025-06-12 22:01:10 +09:00
Alex Osborne 6782fc065d Update dependencies
- **junit-jupiter**: 5.12.2 → 5.13.1
- **spring**: 6.2.6 → 6.2.7
- **codemirror__language**: 6.11.0 → 6.11.1
- **codemirror__view**: 6.36.5 → 6.37.1
2025-06-09 10:17:16 +09:00
Alex Osborne 722552feef Add Browser processor using WebDriver BiDi
The Browser processor can load a fetched page in a local web browser, record any requests the browser makes and run behaviors that interact with the page such as scrolling down and extracting links.

This differs from my previous attempt (ExtractorChrome) in a few ways:

- Uses the new WebDriver BiDi standard instead of the Chrome Devtools Protocol. The new protocol is mostly browser-agnostic, more consistent and hopefully more stable.

- Uses a MITM proxy instead of CDP request interception for recording sub-resources. That's partly because BiDi is still missing some key interception APIs. Even so in practice I found the proxy method loads pages faster and more reliably, likely because responses can be streamed incrementally, which helps a lot for large resources or server-sent events.

- Even when HTTP/2 is unavailable, the new FetchHTTP2 module does connection pooling which makes loading browser requests a lot faster. The original FetchHTTP opened a new connection for every request.

- The Browser processor can be configured with a list of behavior beans making it more customizable and extensible.

Obvious areas for future development:

- More Behavior beans: take screenshots, saveg the rendered DOM, run Browsertrix-compatible behavior scripts

- Support for remote WebDrivers (e.g. Selenium Server or cloud services)
2025-06-04 17:44:42 +09:00
Alex Osborne 33446c7a2b Upgrade to CodeMirror 6
This resolves some browser incompatibilities, allowing CodeMirror’s own find function to be re-enabled for reliable text search of content far outside the viewport.
2025-05-16 18:34:30 +09:00
Alex Osborne 1827d93fe6 [maven-release-plugin] prepare for next development iteration 2025-05-13 12:25:24 +09:00
Alex Osborne dd40970f15 [maven-release-plugin] prepare release 3.9.0 2025-05-13 12:25:16 +09:00
Alex Osborne eb1205f6d5 Upgrade all tests to junit 5 2025-05-09 00:07:18 +09:00
Alex Osborne 4465c1b9f6 Bump restlet from 2.6.0-m2 to 2.6.0-rc1 2025-05-08 17:31:30 +09:00
Alex Osborne 0f5358ffef Exclude jetty-quiche-native from restlet
It's very large and we don't use Restlet's HTTP/3 support currently.
2025-04-28 16:29:22 +09:00
Alex Osborne bc259728a0 Update to Jetty 12.0.16 and Restlet 2.6.0-M2
The Jetty API has changed, which mostly affects test code.

Jetty now does a strict SNI host check which unfortunately causes it to
return "SNI error" for our existing ad-hoc certificates. For now, I've
disabled it to avoid breaking existing deployments but added a
--sni-host-check command-line option so you can re-enable it if
you've configured your own certificate appropriately.
2025-04-24 17:40:20 +09:00
Alex Osborne e9b60404a6 [maven-release-plugin] prepare for next development iteration 2025-04-01 17:43:31 +09:00
Alex Osborne 2323e2251e [maven-release-plugin] prepare release 3.8.0 2025-04-01 17:43:25 +09:00
Alex Osborne d21a053c6d [maven-release-plugin] prepare for next development iteration 2025-02-03 14:11:22 +09:00
Alex Osborne 370f0480e5 [maven-release-plugin] prepare release 3.7.0 2025-02-03 14:11:18 +09:00
Alex Osborne 1041fc67ed Bump freemarker from 2.3.33 to 2.3.34 2025-01-23 14:05:32 +09:00
Alex Osborne f844b968b9 Bump restlet from 2.5.0-rc1 to 2.5.0 2025-01-23 14:05:32 +09:00
Alex Osborne 2b2179d9c7 Update pom.xml for 3.6.1-SNAPSHOT 2024-11-29 21:06:57 +09:00
Alex Osborne be81b3a407 Update maven release plugins for Java compat 2024-11-29 20:57:01 +09:00
Alex Osborne c67ff98b2d [maven-release-plugin] prepare for next development iteration 2024-11-29 20:46:02 +09:00
Alex Osborne 2d903ae772 [maven-release-plugin] prepare release 3.6.0 2024-11-29 20:42:40 +09:00
Alex Osborne 3fbf1bc8c0 Merge pull request #631 from internetarchive/update-deps
Update dependencies for 3.6.0 release
2024-11-29 19:24:28 +09:00
Alex Osborne a4a325436d Merge pull request #629 from internetarchive/restlet-2.5
Bump restlet from 2.4.0 to 2.5.0-rc1 and remove restlet repository
2024-11-29 19:16:41 +09:00
Alex Osborne 0a215f6467 Bump jaxb-runtime from 2.3.1 to 4.0.5 2024-11-29 17:12:43 +09:00
Alex Osborne d11d38a56c Merge pull request #628 from internetarchive/slf4j-2.0.16
Bump slf4j from 1.6.6 to 2.0.16 and include adapter to fix startup warning
2024-11-29 11:24:12 +09:00
Alex Osborne 7c04c0bc08 Remove maven.restlet.talend.com repository 2024-11-29 10:35:05 +09:00
Alex Osborne 405b2efc6d Bump restlet from 2.4.0 to 2.5.0-rc1 2024-11-29 10:34:35 +09:00
Alex Osborne 533d762db5 Include slf4j-jdk14 in heritrix-engine as a compile dependency
This eliminates the slf4j warning message on startup and should fix
logging for dependencies (such as crawlercommons) that use it.
2024-11-28 21:05:12 +09:00
Alex Osborne b736bd6a24 Bump slf4j from 1.6.6 to 2.0.16 2024-11-28 21:05:12 +09:00
Alex Osborne e23254ffe2 Bump freemarker from 2.3.19 to 2.3.33 2024-11-28 20:17:00 +09:00
Alex Osborne 25c73da7e3 [maven-release-plugin] prepare for next development iteration 2024-10-29 15:18:54 +09:00
Alex Osborne 0aec63b70f [maven-release-plugin] prepare release 3.5.0 2024-10-29 15:01:16 +09:00
Alex Osborne c25e57a4a1 Bump version to 3.4.1-SNAPSHOT 2024-10-18 20:54:12 +09:00
Alex Osborne cbd7f37ed9 Replace littleproxy with jetty-proxy (to remove dependency on log4j)
littleproxy has not been updated since 2017 and has various out of date
dependencies. Since we're using jetty for HTTP server testing anyway, we
 may as well use it as the proxy too.
2024-10-18 17:28:03 +09:00
Alex Osborne 891dbe7615 Re-add restlet repository with new URL
Turns out we do need this. Restlet isn't in central, the CI builds
were caching the artifacts.
2024-10-15 19:19:28 +09:00