Files
2023-06-23 09:55:36 +02:00

613 lines
41 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Changelog &mdash; Hansken Extraction Plugins for plugin developers 0.7.0
documentation</title>
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="_static/wider_pages.css" type="text/css" />
<!--[if lt IE 9]>
<script src="_static/js/html5shiv.min.js"></script>
<![endif]-->
<script src="_static/jquery.js"></script>
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/sphinx_highlight.js"></script>
<script src="_static/js/theme.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="prev" title="Contact" href="contact.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="index.html" class="icon icon-home">
Hansken Extraction Plugins for plugin developers
</a>
<div class="version">
0.7.0
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<p class="caption" role="heading"><span class="caption-text">Contents:</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="dev/introduction.html">Introduction</a></li>
<li class="toctree-l1"><a class="reference internal" href="dev/concepts.html">General concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="dev/spec.html">Extraction Plugin specifications</a></li>
<li class="toctree-l1"><a class="reference internal" href="dev/java.html">Java</a></li>
<li class="toctree-l1"><a class="reference internal" href="dev/python.html">Python</a></li>
<li class="toctree-l1"><a class="reference internal" href="dev/examples.html">Examples</a></li>
<li class="toctree-l1"><a class="reference internal" href="dev/faq.html">Frequently Asked Questions</a></li>
<li class="toctree-l1"><a class="reference internal" href="contact.html">Contact</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">Changelog</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#release-version">Release-0.7.0
</a></li>
<li class="toctree-l2"><a class="reference internal" href="#release-0-7-0">Release-0.7.0</a></li>
<li class="toctree-l2"><a class="reference internal" href="#release-0-6-3">Release-0.6.3</a></li>
<li class="toctree-l2"><a class="reference internal" href="#release-0-6-2">Release-0.6.2</a></li>
<li class="toctree-l2"><a class="reference internal" href="#release-0-6-1">Release-0.6.1</a></li>
<li class="toctree-l2"><a class="reference internal" href="#release-0-6-0">Release-0.6.0</a></li>
<li class="toctree-l2"><a class="reference internal" href="#release-0-5-1">Release-0.5.1</a></li>
<li class="toctree-l2"><a class="reference internal" href="#release-0-5-0">Release-0.5.0</a></li>
<li class="toctree-l2"><a class="reference internal" href="#release-0-4-14">Release-0.4.14</a></li>
<li class="toctree-l2"><a class="reference internal" href="#release-0-4-13">Release-0.4.13</a></li>
<li class="toctree-l2"><a class="reference internal" href="#release-0-4-12">Release-0.4.12</a></li>
<li class="toctree-l2"><a class="reference internal" href="#release-0-4-11">Release-0.4.11</a></li>
<li class="toctree-l2"><a class="reference internal" href="#release-0-4-10">Release-0.4.10</a></li>
<li class="toctree-l2"><a class="reference internal" href="#release-0-4-9">Release-0.4.9</a></li>
<li class="toctree-l2"><a class="reference internal" href="#release-0-4-8">Release-0.4.8</a></li>
<li class="toctree-l2"><a class="reference internal" href="#release-0-4-7">Release-0.4.7</a></li>
<li class="toctree-l2"><a class="reference internal" href="#release-0-4-6">Release-0.4.6</a></li>
<li class="toctree-l2"><a class="reference internal" href="#release-0-4-5">Release-0.4.5</a></li>
<li class="toctree-l2"><a class="reference internal" href="#release-0-4-4">Release-0.4.4</a></li>
<li class="toctree-l2"><a class="reference internal" href="#release-0-4-3">Release-0.4.3</a></li>
<li class="toctree-l2"><a class="reference internal" href="#release-0-4-2">Release-0.4.2</a></li>
<li class="toctree-l2"><a class="reference internal" href="#release-0-4-1">Release-0.4.1</a></li>
<li class="toctree-l2"><a class="reference internal" href="#release-0-4-0">Release-0.4.0</a></li>
<li class="toctree-l2"><a class="reference internal" href="#release-0-3-0">Release-0.3.0</a></li>
<li class="toctree-l2"><a class="reference internal" href="#release-0-2-0">Release-0.2.0</a></li>
<li class="toctree-l2"><a class="reference internal" href="#release-0-1-8">Release-0.1.8</a></li>
<li class="toctree-l2"><a class="reference internal" href="#release-0-1-7">Release-0.1.7</a></li>
<li class="toctree-l2"><a class="reference internal" href="#release-0-1-6">Release-0.1.6</a></li>
<li class="toctree-l2"><a class="reference internal" href="#release-0-1-5">Release-0.1.5</a></li>
<li class="toctree-l2"><a class="reference internal" href="#release-0-1-4">Release-0.1.4</a></li>
<li class="toctree-l2"><a class="reference internal" href="#release-0-1-3">Release-0.1.3</a></li>
<li class="toctree-l2"><a class="reference internal" href="#release-0-1-2">Release-0.1.2</a></li>
<li class="toctree-l2"><a class="reference internal" href="#release-0-1-1">Release-0.1.1</a></li>
<li class="toctree-l2"><a class="reference internal" href="#release-0-1-0">Release-0.1.0</a></li>
</ul>
</li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="index.html">Hansken Extraction Plugins for plugin developers</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item active">Changelog</li>
<li class="wy-breadcrumbs-aside">
<a href="_sources/changes.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<section id="changelog">
<span id="id1"></span><h1>Changelog<a class="headerlink" href="#changelog" title="Permalink to this heading"></a></h1>
<p>The following page lists all (technical) changes in the extraction plugin SDK.</p>
<p>Programming language specific API changes are described in more detail on API changelog pages.
These pages list new API functionalities, and describe how to update your plugins when API changes are in order.
For the API changelog pages see:</p>
<ul class="simple">
<li><p><a class="reference internal" href="dev/java/api_changelog.html"><span class="doc">Java API Changelog</span></a></p></li>
<li><p><a class="reference internal" href="dev/python/api_changelog.html"><span class="doc">Python API Changelog</span></a></p></li>
</ul>
<section id="release-version">
<h2>Release-0.7.0
<a class="headerlink" href="#release-version" title="Permalink to this heading"></a></h2>
<ul class="simple">
<li><p>HANSKEN-19071: Update Python getting started screenshots</p></li>
<li><p>HANSKEN-17675: Enable writing streaming data from Python</p></li>
</ul>
</section>
<section id="release-0-7-0">
<h2>Release-0.7.0<a class="headerlink" href="#release-0-7-0" title="Permalink to this heading"></a></h2>
<ul class="simple">
<li><p>HANSKEN-18677: Added HQL-Lite auto-escaping &amp; fixed fullmatch wildcard support</p></li>
<li><p>HANSKEN-19179: Update all project dependencies</p></li>
<li><p>HANSKEN-19148: Improve build_plugin and test framework output (by passing subprocess output directly to the terminal)</p></li>
<li><p>HANSKEN-19076: Exposed API version through the ExtractionPluginClient</p></li>
<li><p>HANSKEN-18830: Added the Hansken AIO <code class="docutils literal notranslate"><span class="pre">DebugExtractionPluginTool</span></code> to the docs</p></li>
<li><p>HANSKEN-19065: Update link to extraction plugin examples (now hosted on Github)</p></li>
<li><p>HANSKEN-19064: Allow plugins to import local modules (Python)</p></li>
<li><p>HANSKEN-17675: Enable writing streaming data from Python</p></li>
<li><p>HANSKEN-18982: Improve error messages for client-side exceptions caught by gRPC (also for deferred plugins)</p></li>
</ul>
</section>
<section id="release-0-6-3">
<h2>Release-0.6.3<a class="headerlink" href="#release-0-6-3" title="Permalink to this heading"></a></h2>
<ul class="simple">
<li><p>HANSKEN-18915: Update all project dependencies</p></li>
<li><p>HANSKEN-18907: Upgrade to antlr 4.9.3</p></li>
<li><p>HANSKEN-18883: Allow writing multiple datastreams to a trace concurrently</p></li>
<li><p>HANSKEN-18673: Improve error messages for client-side exceptions caught by gRPC</p></li>
<li><p>HANSKEN-18517: Improve Python documentation for creating nested traces</p></li>
<li><p>HANSKEN-18400: Building docs with tox uses docutils 0.18.1</p></li>
<li><p>HANSKEN-17556: Enables writing to traces/child traces out of order</p></li>
</ul>
</section>
<section id="release-0-6-2">
<h2>Release-0.6.2<a class="headerlink" href="#release-0-6-2" title="Permalink to this heading"></a></h2>
<ul class="simple">
<li><p>HANSKEN-17692: [EXPERIMENTAL] Add Python support for <code class="docutils literal notranslate"><span class="pre">previews</span></code>, and extend test-framework to support them as well</p></li>
<li><p>HANSKEN-17742: Raise FileNotFoundError instead of logging an error when the plugins file does not exist</p></li>
<li><p>HANSKEN-17786: Update grpc dependencies to 1.48.2 to fix CVE-2022-3509</p></li>
<li><p>HANSKEN-17636: Improve explanation on “Match on specific datastream type”</p></li>
<li><p>HANSKEN-17672: Add a nice JB cartoon to the SDK docs landing page</p></li>
<li><p>HANSKEN-17502: Fix org.hansken.plugin-info.id label for java plugins</p></li>
<li><p>HANSKEN-17460: Update Flits to 3.7.1</p></li>
</ul>
</section>
<section id="release-0-6-1">
<h2>Release-0.6.1<a class="headerlink" href="#release-0-6-1" title="Permalink to this heading"></a></h2>
<ul class="simple">
<li><p>HANSKEN-17265: Added a parameter to build_plugin.py to extend the docker command for proxy settings</p></li>
<li><p>HANSKEN-17264: Remove PortUtil and expose listening ports</p></li>
<li><p>HANSKEN-17276: Move external getting started to the SDK documentation</p></li>
<li><p>HANSKEN-17274: Fix broken external links to Hansken website</p></li>
<li><p>HANSKEN-17278: Add url and license to SDK Python package info</p></li>
<li><p>HANSKEN-17203: Publish new SDK releases to maven central (Java)</p></li>
<li><p>HANSKEN-17277: Rearrange code snippets documentation</p></li>
<li><p>HANSKEN-17273: Update Checkstyle</p></li>
<li><p>HANSKEN-17214: Fix issues from static code analysis</p></li>
</ul>
</section>
<section id="release-0-6-0">
<h2>Release-0.6.0<a class="headerlink" href="#release-0-6-0" title="Permalink to this heading"></a></h2>
<ul class="simple">
<li><p>HANSKEN-17196: Downgrade API compatability level to 0.5.0</p></li>
<li><p>HANSKEN-17194: Update project dependencies to latest versions</p></li>
<li><p>HANSKEN-16781: Remove the need for <code class="docutils literal notranslate"><span class="pre">plugin=self</span></code> and moved <code class="docutils literal notranslate"><span class="pre">id</span></code> to 1st arg when creating a PluginInfo in Python SDK</p></li>
<li><p>HANSKEN-17191: Add quicklinks to the documentation index</p></li>
<li><p>HANSKEN-16756: Read extraction plugin version from plugin mavens project.version</p></li>
<li><p>HANSKEN-16705: Improve apis for declaring plugin resources and querying the data context at runtime</p></li>
<li><p>HANSKEN-17151: Store Plugin info in plugin image labels for Python plugins</p></li>
<li><p>HANSKEN-16753: Store Plugin info in plugin image labels for Java plugins</p></li>
<li><p>HANSKEN-17178: Updated Python tracelet documentation to contain a working example</p></li>
</ul>
</section>
<section id="release-0-5-1">
<h2>Release-0.5.1<a class="headerlink" href="#release-0-5-1" title="Permalink to this heading"></a></h2>
<ul class="simple">
<li><p>HANSKEN-17141: Fixed <code class="docutils literal notranslate"><span class="pre">$data.type=...</span></code> matcher when using <code class="docutils literal notranslate"><span class="pre">run_with_hanskenpy</span></code> (Python)</p></li>
<li><p>HANSKEN-16908: Added gRPC health service for Python Extraction Plugins</p></li>
<li><p>HANSKEN-17138: Avoid multiple plugins running on the same hostname:port (Python)</p></li>
<li><p>HANSKEN-14755: Use Python test framework wrapper with manually started plugins</p></li>
<li><p>HANSKEN-16905: Added gRPC health service for Java Extraction Plugins</p></li>
<li><p>HANSKEN-16901: Exclude old guava version to be able to run RemoteExtractionPluginFlits from Intellij</p></li>
<li><p>HANSKEN-16900: TestTraceSearcher will now return searched traces in natural sorted order of their file names</p></li>
<li><p>HANSKEN-16725: Improve tracelet api in Python SDK</p></li>
<li><p>HANSKEN-16764: Corrected Adding data to traces code snippets</p></li>
<li><p>HANSKEN-16704: Use Pythons dataclasses where applicable</p></li>
<li><p>HANSKEN-17064: Improve runtime packing type checks to allow Sequence / Mapping compatible values</p></li>
</ul>
</section>
<section id="release-0-5-0">
<h2>Release-0.5.0<a class="headerlink" href="#release-0-5-0" title="Permalink to this heading"></a></h2>
<ul class="simple">
<li><p>HANSKEN-16638: Improve tracelet api in Java SDK</p></li>
<li><p>HANSKEN-16576: Support vector data type in Python SDK</p></li>
<li><p>HANSKEN-16707: Update build dependencies, build and test for Python 3.10</p></li>
<li><p>HANSKEN-16575: Support vector data type in Java SDK</p></li>
<li><p>HANSKEN-16574: Support vector data type in common SDK</p></li>
</ul>
</section>
<section id="release-0-4-14">
<h2>Release-0.4.14<a class="headerlink" href="#release-0-4-14" title="Permalink to this heading"></a></h2>
<ul class="simple">
<li><p>HANSKEN-16632: Fix execution of meta-extraction plugins with hansken.py runner which failed with an expected $data in matcher error</p></li>
<li><p>HANSKEN-16634: Allow forward compatibility with Hansken by introducing an GRPC API version</p></li>
<li><p>HANSKEN-16489: Let build pipeline publish Java artifacts to community</p></li>
<li><p>HANSKEN-16558: Serve SDK test framework errors in a more developer-friendly way</p></li>
<li><p>HANSKEN-16489: Removed incompatibility warning for All In One with Hansken.py</p></li>
<li><p>HANSKEN-16403: Fixed running markdownlint with <code class="docutils literal notranslate"><span class="pre">tox</span> <span class="pre">-e</span> <span class="pre">markdownlint</span></code></p></li>
<li><p>HANSKEN-16268: Added <code class="docutils literal notranslate"><span class="pre">*</span></code> value support to the HQL-Lite term matcher, improved documentation by using HQL default <code class="docutils literal notranslate"><span class="pre">property:value</span></code> instead of <code class="docutils literal notranslate"><span class="pre">property=value</span></code></p></li>
<li><p>HANSKEN-16258: Fixed Jenkins build</p></li>
<li><p>HANSKEN-16257: Fixed docker stop command in test framework</p></li>
</ul>
</section>
<section id="release-0-4-13">
<h2>Release-0.4.13<a class="headerlink" href="#release-0-4-13" title="Permalink to this heading"></a></h2>
<ul class="simple">
<li><p>HANSKEN-16229: Fixed SDK documentation not correctly zipped</p></li>
<li><p>HANSKEN-16095: Documentation: added Test framework data-stream type note</p></li>
<li><p>HANSKEN-15961: Redundant plugin errors in the client set to log level debug</p></li>
<li><p>HANSKEN-16111: Updated the testframework to skip search traces when scanning input files</p></li>
<li><p>HANSKEN-16128: Updated the testframework to disallow overwriting properties, similar to Hansken</p></li>
<li><p>HANSKEN-16191: Fixed Jenkins build</p>
<ul>
<li><p>commit id could not be retrieved</p></li>
<li><p>curl didnt work due to a bad proxy</p></li>
</ul>
</li>
<li><p>HANSKEN-16116: Updated FLITS dependency to 3.5.2</p></li>
<li><p>HANSKEN-16105: Seeking beyond EOF for Python throws an exception</p></li>
<li><p>HANSKEN-16160: Updated remaining JUnit 4 tests to JUnit 5</p></li>
<li><p>HANSKEN-16118: Trace ids are now optional when writing automated tests using Flits</p></li>
<li><p>HANSKEN-16012: Fixed trace types were not correctly determined from property names (Python)</p></li>
<li><p>HANSKEN-16238: Changed default log level of extraction plugin server. Added command line option to increase it.</p></li>
</ul>
</section>
<section id="release-0-4-12">
<h2>Release-0.4.12<a class="headerlink" href="#release-0-4-12" title="Permalink to this heading"></a></h2>
<ul class="simple">
<li><p>HANSKEN-15857: Document HQL-lite for programmers manual</p></li>
<li><p>HANSKEN-16139: Run markdownlint in Jenkins instead of Docker</p></li>
<li><p>HANSKEN-16115: Updated log4j to version 2.16.0 due <a class="reference external" href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-44228">CVE-2021-44228</a></p></li>
<li><p>HANSKEN-15651: Added documentation on test files</p></li>
<li><p>HANSKEN-16001: Improved Python exceptions for better readability</p></li>
<li><p>HANSKEN-16044: Fixed documentation being unstashed to wrong directory on Jenkins</p></li>
<li><p>HANSKEN-14586: Documentation: added code snippets for adding a Datastream</p></li>
<li><p>HANSKEN-16038: Hansken.py: fix deferred tools</p></li>
<li><p>HANSKEN-15653: Added documentation on use with Hansken.py</p></li>
<li><p>HANSKEN-15801: Change build agent in Jenkins file</p></li>
<li><p>HANSKEN-16090: Fix for documentation build (m2r2 requires mistune &lt; 2.0.0)</p></li>
<li><p>HANSKEN-15771: Document trace properties that mismatch the trace model</p></li>
</ul>
</section>
<section id="release-0-4-11">
<h2>Release-0.4.11<a class="headerlink" href="#release-0-4-11" title="Permalink to this heading"></a></h2>
<ul class="simple">
<li><p>HANSKEN-16048: Fix documentation was not released because the documentation zip was located in <code class="docutils literal notranslate"><span class="pre">docs/_build/docs</span></code></p></li>
</ul>
</section>
<section id="release-0-4-10">
<h2>Release-0.4.10<a class="headerlink" href="#release-0-4-10" title="Permalink to this heading"></a></h2>
<ul class="simple">
<li><p>HANSKEN-16037: Repair release</p></li>
</ul>
</section>
<section id="release-0-4-9">
<h2>Release-0.4.9<a class="headerlink" href="#release-0-4-9" title="Permalink to this heading"></a></h2>
<ul class="simple">
<li><p>HANSKEN-15858: Add a link to the Extraction Plugin SDK API Javadocs</p></li>
<li><p>HANSKEN-15656: Documentation: expanded FAQ</p></li>
<li><p>HANSKEN-15993: Added <code class="docutils literal notranslate"><span class="pre">isVerboseLoggingEnabled()</span></code> method to <code class="docutils literal notranslate"><span class="pre">ExtractionPluginFlits</span></code> to enable verbose logging if desired</p></li>
<li><p>HANSKEN-15801: Change build agent in Jenkins file.</p></li>
<li><p>HANSKEN-15766: Documentation: Mention the Getting Started guide on gitlab</p></li>
<li><p>HANSKEN-15765: Added documentation on the Anatomy of a plugin</p></li>
<li><p>HANSKEN-15772: Added documentation on tracelets</p></li>
<li><p>HANSKEN-15770: Added debug documentation (Java and Python)</p></li>
<li><p>HANSKEN-15773: Added documentation linter (markdownlint)</p></li>
<li><p>HANSKEN-15964: Added verbose option to Python test_plugin runner</p></li>
<li><p>HANSKEN-15913: Use traceUid instead of traceId to read data</p></li>
</ul>
</section>
<section id="release-0-4-8">
<h2>Release-0.4.8<a class="headerlink" href="#release-0-4-8" title="Permalink to this heading"></a></h2>
<ul class="simple">
<li><p>HANSKEN-15668: Bugfix: prevent search from crashing plugin if results contain traces from different images</p></li>
</ul>
</section>
<section id="release-0-4-7">
<h2>Release-0.4.7<a class="headerlink" href="#release-0-4-7" title="Permalink to this heading"></a></h2>
<ul class="simple">
<li><p>HANSKEN-15871: Fix for RpcUnixTime &amp; RpcZonedDateTime that were parsed incorrectly in Python</p></li>
<li><p>HANSKEN-15745: Document naming convention and added convienience method <code class="docutils literal notranslate"><span class="pre">id(domain,</span> <span class="pre">category,</span> <span class="pre">name)</span></code> to the PluginInfoBuilder</p></li>
<li><p>HANSKEN-15790: Change dependency pinning policy</p></li>
<li><p>HANSKEN-15790: Fix typing issues discovered by upgrading mypy-protobuf</p></li>
<li><p>HANSKEN-15650: Added documentation on general concepts</p></li>
<li><p>HANSKEN-15743: Fix Test framework should not limit input files to 2G</p></li>
<li><p>HANSKEN-15846: Improved hansken.py matcher, instead of $data.type all $data matchers are supported</p></li>
</ul>
</section>
<section id="release-0-4-6">
<h2>Release-0.4.6<a class="headerlink" href="#release-0-4-6" title="Permalink to this heading"></a></h2>
<ul class="simple">
<li><p>HANSKEN-15711: Changed PluginResources cpu/memory values to floats</p></li>
<li><p>HANSKEN-15683: Changed the trace enrichment order to ensure transformations are handled before properties</p></li>
<li><p>HANSKEN-15589: Extend PluginInfo with the ability to specify plugin resources (Python)</p></li>
<li><p>HANSKEN-15588: Renamed PluginInfo pluginResources() to resources() (Java)</p></li>
<li><p>HANSKEN-15588: Extend PluginInfo with the ability to specify plugin resources (Java)</p></li>
</ul>
</section>
<section id="release-0-4-5">
<h2>Release-0.4.5<a class="headerlink" href="#release-0-4-5" title="Permalink to this heading"></a></h2>
<p><em>deprecated release</em></p>
</section>
<section id="release-0-4-4">
<h2>Release-0.4.4<a class="headerlink" href="#release-0-4-4" title="Permalink to this heading"></a></h2>
<p><em>deprecated release</em></p>
</section>
<section id="release-0-4-3">
<h2>Release-0.4.3<a class="headerlink" href="#release-0-4-3" title="Permalink to this heading"></a></h2>
<ul class="simple">
<li><p>HANSKEN-15641: Changed PluginId to use forward-slashes instead of backward-slashes</p></li>
<li><p>HANSKEN-15607: Explicitly fail deferred extraction plugins when building PluginInfo if the number of provided iterations is invalid</p></li>
</ul>
</section>
<section id="release-0-4-2">
<h2>Release-0.4.2<a class="headerlink" href="#release-0-4-2" title="Permalink to this heading"></a></h2>
<ul class="simple">
<li><p>HANSKEN-15632: Changed PluginInfo.license field to optional, for backwards compatibility</p></li>
</ul>
</section>
<section id="release-0-4-1">
<h2>Release-0.4.1<a class="headerlink" href="#release-0-4-1" title="Permalink to this heading"></a></h2>
<p><em>deprecated release</em></p>
</section>
<section id="release-0-4-0">
<h2>Release-0.4.0<a class="headerlink" href="#release-0-4-0" title="Permalink to this heading"></a></h2>
<ul class="simple">
<li><p>HANSKEN-15542: Extended Python PluginInfo with a license name and id consisting of domain, category and name</p></li>
<li><p>HANSKEN-15466: Extended Java PluginInfo with a license name and id consisting of domain, category and name</p></li>
<li><p>HANSKEN-15572: Include path as a property to trace type in TraceToJson</p></li>
<li><p>HANSKEN-15034: Add deferred tools to documentation</p></li>
<li><p>HANSKEN-15541: Publish SDK documentation as maven artifact</p></li>
<li><p>HANSKEN-15562: Fix test framework does not deserialize intrinsic properties</p></li>
<li><p>HANSKEN-15365: Create a FLITS test for deferred extraction plugin</p></li>
</ul>
</section>
<section id="release-0-3-0">
<h2>Release-0.3.0<a class="headerlink" href="#release-0-3-0" title="Permalink to this heading"></a></h2>
<ul class="simple">
<li><p>HANSKEN-15527: Add api changelogs for version 0.3.0</p></li>
<li><p>HANSKEN-15393: Rename Transformation to DataTransformation and RangedTransformation to RangedDataTransformation</p></li>
<li><p>HANSKEN-15391: Add support for ranged transformations (Java only)</p></li>
<li><p>HANSKEN-15390: Add proto definitions for ranged transformations</p></li>
<li><p>HANSKEN-15392: Add support for ranged transformations (Python)</p></li>
</ul>
</section>
<section id="release-0-2-0">
<h2>Release-0.2.0<a class="headerlink" href="#release-0-2-0" title="Permalink to this heading"></a></h2>
<ul class="simple">
<li><p>HANSKEN-15520: Add dedicated page for SDK API changes per language</p></li>
<li><p>HANSKEN-15515: Move Author and MaturityLevel to PluginInfo module (Python)</p></li>
<li><p>HANSKEN-15514: Refactor ExtractionContext to DataContext (Java and Python)</p></li>
<li><p>HANSKEN-15512: Move some internals from the EP python API to runtime module</p></li>
<li><p>HANSKEN-15511: Include API documentation in SDK dev docs</p></li>
<li><p>HANSKEN-15505: Cleanup SDK: remove unused position and unrequired datatype</p></li>
<li><p>HANSKEN-15491: Add compatibility check of remote plugin with current SDK version</p></li>
<li><p>HANSKEN-15502: Update TestRandomAccessData to accept dataType parameter</p></li>
<li><p>HANSKEN-15495: Make getData() lazy and replace getAllData() with getDataTypes()</p></li>
<li><p>HANSKEN-15498: Fixed isort configuration (Python)</p></li>
<li><p>HANSKEN-15029: Limit gRPC search request count</p></li>
<li><p>HANSKEN-15274: Add Python API for deferred extraction plugins</p></li>
<li><p>HANSKEN-15035: Allow python deferred plugins to run through hansken.py.</p></li>
<li><p>HANSKEN-15288: Add a new Trace subclass for search result Traces</p></li>
<li><p>HANSKEN-15042: Research and implement requesting data through GRPC for search traces</p></li>
<li><p>HANSKEN-15139: Allow deferred extraction plugins to process traces</p></li>
<li><p>HANSKEN-15015: Add option to create deferred extraction plugins using sdk</p></li>
</ul>
</section>
<section id="release-0-1-8">
<h2>Release-0.1.8<a class="headerlink" href="#release-0-1-8" title="Permalink to this heading"></a></h2>
<ul class="simple">
<li><p>HANSKEN-15236: Read initial chunk of data along with an RPC start request (Python)</p></li>
<li><p>HANSKEN-15338: Add setting of tracelets</p></li>
<li><p>HANSKEN-15370: Fixed ArrayOutOfBoundsException when there are bytes left when prefilling the cache</p></li>
<li><p>HANSKEN-15353: Added testframework exception result validation without or on partial message(startsWith, containsInOrder)</p></li>
<li><p>HANSKEN-15231: Added caffeine block cache implementation for Java RandomAccessData</p></li>
<li><p>HANSKEN-15276: Added support for Heterogeneous Maps</p></li>
</ul>
</section>
<section id="release-0-1-7">
<h2>Release-0.1.7<a class="headerlink" href="#release-0-1-7" title="Permalink to this heading"></a></h2>
<ul class="simple">
<li><p>HANSKEN-15282: Change the way reading data in the python sdk works. More BufferedReader functions are supported, including seeking</p></li>
</ul>
</section>
<section id="release-0-1-6">
<h2>Release-0.1.6<a class="headerlink" href="#release-0-1-6" title="Permalink to this heading"></a></h2>
<ul class="simple">
<li><p>HANSKEN-15294: Make Java SDK available to the Hansken community</p></li>
<li><p>HANSKEN-15233: Send initial chunk of data along with the start message (Java only)</p></li>
<li><p>HANSKEN-15232: Added RandomAccessData cache mechanism with fixed size of 1 MB to speed up large file reads</p></li>
<li><p>HANSKEN-15193: Improve client-side error message when server-side throws an exception</p></li>
<li><p>HANSKEN-15237: Added logging before and after processing a trace</p></li>
<li><p>HANSKEN-15187: Bugfix: Fixed flits traces with nested map properties were being parsed incorrectly</p></li>
<li><p>HANSKEN-15189: Added default log4j logging when no logging is configured</p></li>
</ul>
</section>
<section id="release-0-1-5">
<h2>Release-0.1.5<a class="headerlink" href="#release-0-1-5" title="Permalink to this heading"></a></h2>
<ul class="simple">
<li><p>HANSKEN-15192: Added Superpom for Java extraction plugins</p></li>
<li><p>HANSKEN-15186: Fixed matcher $data.mimeType does not work</p></li>
</ul>
</section>
<section id="release-0-1-4">
<h2>Release-0.1.4<a class="headerlink" href="#release-0-1-4" title="Permalink to this heading"></a></h2>
<ul class="simple">
<li><p>HANSKEN-14820: Bugfix: “Received a message from server, but processing of the trace has not been started yet”</p></li>
<li><p>HANSKEN-15059: Set up skeleton documentation for Extraction Plugin devs</p></li>
<li><p>HANSKEN-15048: Allow workers as an optional argument when starting an ExtractionPluginServer</p></li>
</ul>
</section>
<section id="release-0-1-3">
<h2>Release-0.1.3<a class="headerlink" href="#release-0-1-3" title="Permalink to this heading"></a></h2>
<ul class="simple">
<li><p>HANSKEN-14787: Allow extraction plugins to be routed by HEADER by a proxy/loadbalancer</p></li>
</ul>
</section>
<section id="release-0-1-2">
<h2>Release-0.1.2<a class="headerlink" href="#release-0-1-2" title="Permalink to this heading"></a></h2>
<ul class="simple">
<li><p>HANSKEN-14923: Make SDK work on Windows</p></li>
</ul>
</section>
<section id="release-0-1-1">
<h2>Release-0.1.1<a class="headerlink" href="#release-0-1-1" title="Permalink to this heading"></a></h2>
<ul class="simple">
<li><p>HANSKEN-14867: Expanded HQL matcher to support Long &amp; List (intrinsic)properties</p></li>
</ul>
</section>
<section id="release-0-1-0">
<h2>Release-0.1.0<a class="headerlink" href="#release-0-1-0" title="Permalink to this heading"></a></h2>
<ul class="simple">
<li><p>HANSKEN-14879: Allow SDK releases to be published on PyPI</p></li>
<li><p>HANSKEN-14738: Shade NFI internal projects into the SDK testframework jar</p></li>
<li><p>HANSKEN-14841: Bugfix where RpcStringMap wasnt being unpacked properly in Python, which was discovered during a flits test.</p></li>
<li><p>HANSKEN-14703: Let Python plugins exit gracefully on SIGTERM</p></li>
<li><p>HANSKEN-14844: SDK: move serve from test_framework to runtime</p></li>
<li><p>HANSKEN-14793: Add ExtractionPluginBuilder.add_data method in python API</p></li>
<li><p>HANSKEN-14777: Add an extra check to ignore and log unsupported types during <code class="docutils literal notranslate"><span class="pre">RpcStart</span></code> gRPC serialization.</p></li>
<li><p>HANSKEN-14739: License: Distribute <code class="docutils literal notranslate"><span class="pre">Extraction</span> <span class="pre">Plugin</span> <span class="pre">SDK</span></code> under the Apache License 2.0</p></li>
<li><p>HANSKEN-14763: Bugfix where some python plugins were not loaded correctly when using serve or test-plugin commands</p></li>
<li><p>HANSKEN-14737: Move serve.py from plugin examples to SDK</p></li>
<li><p>HANSKEN-14720: Add option to use <code class="docutils literal notranslate"><span class="pre">with</span></code> when using the <code class="docutils literal notranslate"><span class="pre">trace.open</span></code> method in python</p></li>
<li><p>HANSKEN-14582: Add option to write data using the python api</p></li>
<li><p>HANSKEN-14660: Move _test.py files from plugin examples repo to SDK repo</p></li>
<li><p>HANSKEN-14618: Add validation for unexpected extra data streams to test framework</p></li>
<li><p>HANSKEN-14704: Fix shading of the runtime super pom</p></li>
<li><p>HANSKEN-14619: Allow propagation of IOException in plugin new child callback</p></li>
<li><p>HANSKEN-14632: Add Java gRPC support for writing raw data streams on a trace</p></li>
<li><p>HANSKEN-14591: Split into three modules in the SDK</p></li>
<li><p>HANSKEN-14580: Add proto message definitions for raw data stream writing</p></li>
<li><p>HANSKEN-14635: Trace format which containes name/id can now be deserialized by testframework</p></li>
<li><p>HANSKEN-14131: Added verbose logging for test-framework HQL matching</p></li>
<li><p>HANSKEN-14130: Updated StandaloneTestRunner to expose more errors &amp; exceptions</p></li>
<li><p>HANSKEN-13784: Add meta support to test-framework</p></li>
<li><p>HANSKEN-14581: Extend Trace API with raw data writing capabilities</p></li>
<li><p>HANSKEN-14547: Deploy Java sources JAR for improved client debugging</p></li>
<li><p>HANSKEN-14531: Fix Python release. Python needs only one build step, which is either a snapshot or a release build. The separate Python release step was removed and merged with the first Python build step. Repository paths were corrected for the release version.</p></li>
<li><p>HANSKEN-14531: Fix python release - The python release is no longer a separate step in the build pipeline, since there is no actual difference between a snapshot and a release, apart from the version numbering scheme and the test-framework is downloaded from a repository location depending on the release parameter (see comments in Jenkinsfile)</p></li>
<li><p>HANSKEN-14161: Add Python test-framework wrapper around Java test-framework and add test-framework.tgz to whl</p></li>
<li><p>HANSKEN-14234: Restructure build pipeline to build and release Java first</p></li>
<li><p>HANSKEN-13799: Extraction Plugin: support meta extraction</p></li>
<li><p>HANSKEN-14286: Create adapter from RandomAccessData to InputStream</p></li>
<li><p>HANSKEN-14314: Dont send child name when sending enrichment message</p></li>
<li><p>HANSKEN-14318: Flush cached children before flushing root in case of error with python gRPC server</p></li>
<li><p>HANSKEN-13414: Generate shaded jar for runtime that shades Guava, Protobuf, gRPC, and Netty (fix)</p></li>
<li><p>HANSKEN-14283: Allow passing a configuration of retry policy for the extraction plugin client</p></li>
<li><p>HANSKEN-14234: Restructure build pipeline to build and release Java first</p></li>
<li><p>HANSKEN-13414: Generate shaded jar for runtime that shades Guava, Protobuf, gRPC, and Netty</p></li>
<li><p>HANSKEN-14234: Restructure build pipeline to build and release Java first</p></li>
<li><p>HANSKEN-14135: Improve testing Python plugins in integration step and test reading large chunks</p></li>
<li><p>HANSKEN-14134: Fix releasing python plugins</p></li>
<li><p>HANSKEN-14128: Validate gRPC message limit for Python server instances</p></li>
<li><p>HANSKEN-14122: Fix missing comma in dependencies which broke the release</p></li>
<li><p>HANSKEN-14092: The type and total size of the data currently being processed can now be retrieved from an extractioncontext object passed to the process function</p></li>
<li><p>HANSKEN-13668: Added support for lists of longs, Hansken maps and LatLong to Java and Python API</p></li>
<li><p>HANSKEN-14104: Set Python gRPC limit to 64 MB(including message overhead)</p></li>
<li><p>HANSKEN-14079: Add logging to the SDK</p></li>
<li><p>HANSKEN-14010: Add support for serializing datetime in python API</p></li>
<li><p>HANSKEN-14083: Fix releasing python sdk</p></li>
<li><p>HANSKEN-14035: Add static type checks to python project</p></li>
<li><p>HANSKEN-14030: Allow test framework to be executed standalone for non-java extraction plugins</p></li>
<li><p>HANSKEN-14073: Support gRPC extraction plugins in test framework</p></li>
<li><p>HANSKEN-14074: Add support for serialization of Maps.</p></li>
<li><p>Hansken-14090: Use new Hansken python-api children call for creating nested children</p></li>
<li><p>HANSKEN-13774: Add support for creating children in python API</p></li>
<li><p>HANSKEN-13776: Add error handling to the Python based server and send error messages to the client</p></li>
<li><p>HANSKEN-14060: Remove mapping-interface from python extraction for API consistency</p></li>
<li><p>HANSKEN-13773: Update trace properties in Python API</p></li>
<li><p>HANSKEN-14044: Make sure python testing code is linted as well, enforce single quotes</p></li>
<li><p>HANSKEN-13772: Expose trace properties in Python API</p></li>
<li><p>HANSKEN-13775: Python - added <em>trace.open()</em> functionality to read from data streams</p></li>
<li><p>HANSKEN-14031: Split Trace interfaces (hansken.py trace vs external plugin trace)</p></li>
<li><p>HANSKEN-14037: Make sure pytest is always used for python tests</p></li>
<li><p>HANSKEN-14011: Implement unpack for trace</p></li>
<li><p>HANSKEN-14009: Implement pack for trace and trace enrichment</p></li>
<li><p>HANSKEN-14008: Move generated hql-lite parsers to different package (conflicts with hql package)</p></li>
<li><p>HANSKEN-13777: Added utility to run Python Extraction Plugin implementations with Hansken.py</p></li>
<li><p>HANSKEN-13771: Implement Extraction Plugin Info for Python plugins</p></li>
<li><p>HANSKEN-13966: Give socketproxy disconnect some time to disconnect (fixes flaky unit test)</p></li>
<li><p>HANSKEN-13810: Add extraction plugin python server code</p></li>
<li><p>HANSKEN-13676: Added support for ZonedDateTime over gRPC</p></li>
<li><p>HANSKEN-13922: Add webpage url to PluginInfo</p></li>
<li><p>HANSKEN-13676: Changed the way of creating child Traces to using a consumer.</p></li>
<li><p>HANSKEN-13655: Added server/client disconnect tests and implemented initial handling server-side</p></li>
<li><p>HANSKEN-13809: Added missing gRPC exception handles of process()</p></li>
<li><p>HANSKEN-13801: Made HQL-Lite matchers immutable</p></li>
<li><p>HANSKEN-13761: Seperated HQL-Lite type matcher implementation</p></li>
<li><p>HANSKEN-13756: Added HQL-Lite datastream matchers</p></li>
<li><p>HANSKEN-13800: (Temporarily) remove meta from Extraction Plugin API</p></li>
<li><p>HANSKEN-13798: Propagate exception on failure of START serialization</p></li>
<li><p>HANSKEN-13706: Create basic test framework implementation</p></li>
<li><p>HANSKEN-13769: Make jenkins run tests and a linter for python</p></li>
<li><p>HANSKEN-13705: Add support for creating child traces over gRPC</p></li>
<li><p>HANSKEN-13713: Make (partial) extraction plugin errors visible for clients</p></li>
<li><p>HANSKEN-13709: Send partial result when an external plugin errors out</p></li>
<li><p>HANSKEN-13733: Add script to generate gRPC Python files</p></li>
<li><p>HANSKEN-13660: Copied the Hql definition from Hansken to enable the HQL-Lite implementation</p></li>
<li><p>HANSKEN-13656: Test and handle invalid protocol messages</p></li>
<li><p>HANSKEN-13663: Add matcher interface to PluginInfo</p></li>
<li><p>HANSKEN-13714: Add IOException to ExtractionPlugin.process() interface</p></li>
<li><p>HANSKEN-13658: test(s) for non-grpc connection with a grpc server</p></li>
<li><p>HANSKEN-13650: Add basic support for writing trace information over gRPC</p></li>
<li><p>HANSKEN-13648: Add basic support for reading trace information over gRPC</p></li>
<li><p>HANSKEN-13651: Default implementations for RandomAccessData interface</p></li>
<li><p>HANSKEN-13643: Add basic support for reading trace information over gRPC</p></li>
<li><p>HANSKEN-13643: Add basic support for reading from trace data over gRPC</p></li>
<li><p>HANSKEN-13581: Plugin-info client/server implementations</p></li>
<li><p>HANSKEN-13580: Add gRPC server and client to serve an Extraction Plugin as a service</p></li>
<li><p>HANSKEN-13579: Created initial gRPC implementation messages</p></li>
<li><p>HANSKEN-13577: Be able to create releases of the SDK</p></li>
<li><p>HANSKEN-13578: Created plugin API</p></li>
<li><p>HANSKEN-13560: Create initial gRPC definitions</p></li>
<li><p>HANSKEN-13554: Initial repository</p></li>
</ul>
</section>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="contact.html" class="btn btn-neutral float-left" title="Contact" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2020-2023 Netherlands Forensic Institute.</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>