<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Wed Feb 07 22:34:21 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>MongoDB Jira</title>
    <link>https://jira.mongodb.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.7.1</version>
        <build-number>970001</build-number>
        <build-date>13-04-2023</build-date>
    </build-info>


<item>
            <title>[COMPASS-3828] Export JSON</title>
                <link>https://jira.mongodb.org/browse/COMPASS-3828</link>
                <project id="13182" key="COMPASS">Compass </project>
                    <description>&lt;h3&gt;&lt;a name=&quot;Userstory&quot;&gt;&lt;/a&gt;User story&lt;/h3&gt;

&lt;p&gt;As a Compass user&lt;br/&gt;
 I want to export documents as a JSON&lt;br/&gt;
 So that I use my data with other tools&lt;/p&gt;

&lt;h3&gt;&lt;a name=&quot;AcceptanceCriteria&quot;&gt;&lt;/a&gt;Acceptance Criteria&lt;/h3&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Compass can export documents to a valid (extended) JSON file&lt;/li&gt;
	&lt;li&gt;When filter, project, sort or limit are specified for the collection the user is exporting, the user has the option to use them as the settings for the export (&lt;a href=&quot;https://mongodb.invisionapp.com/share/BVNOZB4DYT3#/screens/347756471&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://mongodb.invisionapp.com/share/BVNOZB4DYT3#/screens/347756471&lt;/a&gt;)&lt;/li&gt;
	&lt;li&gt;When an error happens during the export
	&lt;ul&gt;
		&lt;li&gt;Compass shows a meaningful error message&lt;/li&gt;
		&lt;li&gt;Compass says how many documents it managed to export&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;During the export, progress is displayed in the export modal&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;&lt;a name=&quot;Notes&quot;&gt;&lt;/a&gt;Notes&lt;/h3&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Note that I am suggesting we export valid JSON instead of JSON lines. Valid JSON makes more sense because it can be used also with tools outside the MongoDB ecosystem&lt;/li&gt;
	&lt;li&gt;In the export screen (&lt;a href=&quot;https://mongodb.invisionapp.com/share/BVNOZB4DYT3#/screens/347756471&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://mongodb.invisionapp.com/share/BVNOZB4DYT3#/screens/347756471&lt;/a&gt;) the code snippet with filter, project, sort or limit is not editable&lt;/li&gt;
	&lt;li&gt;We export the result of the query (or the full dataset) and not only what is displayed by Compass in the first page of results&lt;/li&gt;
&lt;/ul&gt;
</description>
                <environment></environment>
        <key id="898250">COMPASS-3828</key>
            <summary>Export JSON</summary>
                <type id="12" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14715&amp;avatarType=issuetype">Story</type>
                                            <priority id="3" iconUrl="https://jira.mongodb.org/images/icons/priorities/major.svg">Major - P3</priority>
                        <status id="6" iconUrl="https://jira.mongodb.org/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="13201">Fixed</resolution>
                                        <assignee username="lucas.hrabovsky">Lucas Hrabovsky</assignee>
                                    <reporter username="massimiliano.marcon@mongodb.com">Massimiliano Marcon</reporter>
                        <labels>
                    </labels>
                <created>Fri, 16 Aug 2019 13:05:45 +0000</created>
                <updated>Sun, 29 Oct 2023 02:40:47 +0000</updated>
                            <resolved>Wed, 16 Oct 2019 14:19:28 +0000</resolved>
                                                    <fixVersion>1.21.0</fixVersion>
                                    <component>Import/Export</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="2509023" author="xgen-internal-githook" created="Wed, 30 Oct 2019 19:30:28 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;username&apos;: &apos;imlucas&apos;, &apos;email&apos;: &apos;hrabovsky.lucas@gmail.com&apos;, &apos;name&apos;: &apos;Lucas Hrabovsky&apos;}
&lt;p&gt;Message: COMPASS-3013: update import-export plugin (#1828)&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;COMPASS-3013: update import-export plugin&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;This PR introduces many performance enhancements, bug fixes, and new features for the Import/Export plugin. It covers many of the stories in COMPASS-3013&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;
	&lt;ol&gt;
		&lt;li&gt;Description&lt;/li&gt;
	&lt;/ol&gt;
	&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;&amp;gt; Combined release notes from mongodb-js/compass-import-export#5 and mongodb-js/compass-import-export#6&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;
	&lt;ol&gt;
		&lt;li&gt;
		&lt;ol&gt;
			&lt;li&gt;Switch to proper node.js streams for processing&lt;/li&gt;
		&lt;/ol&gt;
		&lt;/li&gt;
	&lt;/ol&gt;
	&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;The backend has been entirely rewritten to use node.js streams. Import and export also now send the `&lt;/p&gt;
{explicitlyIgnoreSession: true}
&lt;p&gt;` option to the node driver which has resolved transient errors and allows very large imports and exports that are performant while correct.&lt;/p&gt;

&lt;p&gt;!&lt;span class=&quot;error&quot;&gt;&amp;#91;Screenshot 2019-10-15 11 16 49&amp;#93;&lt;/span&gt;(&lt;a href=&quot;https://user-images.githubusercontent.com/23074/66952663-164e4900-f02b-11e9-8ea6-085825903ec9.png&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://user-images.githubusercontent.com/23074/66952663-164e4900-f02b-11e9-8ea6-085825903ec9.png&lt;/a&gt;)&lt;/p&gt;

&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Import now uses &lt;span class=&quot;error&quot;&gt;&amp;#91;csv-parser&amp;#93;&lt;/span&gt;(&lt;a href=&quot;https://github.com/mafintosh/csv-parser&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mafintosh/csv-parser&lt;/a&gt;) for parsing CSV. Its fast and &lt;span class=&quot;error&quot;&gt;&amp;#91;csv-spectrum&amp;#93;&lt;/span&gt;(&lt;a href=&quot;https://npmjs.org/csv-spectrum&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://npmjs.org/csv-spectrum&lt;/a&gt;) compliant&lt;/li&gt;
	&lt;li&gt;Import also now uses &lt;span class=&quot;error&quot;&gt;&amp;#91;strip-bom-stream&amp;#93;&lt;/span&gt;(&lt;a href=&quot;https://github.com/sindresorhus/strip-bom-stream&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/sindresorhus/strip-bom-stream&lt;/a&gt;) to sanitize UTF Byte Order Markers before parsing&lt;/li&gt;
	&lt;li&gt;JSON export uses the latest &lt;span class=&quot;error&quot;&gt;&amp;#91;extended JSON spec&amp;#93;&lt;/span&gt;(&lt;a href=&quot;https://github.com/mongodb/js-bson#ejson&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/js-bson#ejson&lt;/a&gt;)&lt;/li&gt;
	&lt;li&gt;Streams are robust enough to support fine grained cancellation and large collection reads such as `crimedb.incidents` (1M+ documents)&lt;/li&gt;
	&lt;li&gt;Import now uses the driver&apos;s &lt;span class=&quot;error&quot;&gt;&amp;#91;bulk write API&amp;#93;&lt;/span&gt;(&lt;a href=&quot;https://docs.mongodb.com/manual/reference/method/db.collection.bulkWrite/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://docs.mongodb.com/manual/reference/method/db.collection.bulkWrite/&lt;/a&gt;) so its now possible to import for larger sources&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;&amp;gt; Fixes &lt;a href=&quot;https://jira.mongodb.org/browse/COMPASS-3853&quot; title=&quot;Replace backend of the feature with better CSV/JSON parsers&quot; class=&quot;issue-link&quot; data-issue-key=&quot;COMPASS-3853&quot;&gt;&lt;del&gt;COMPASS-3853&lt;/del&gt;&lt;/a&gt;(&lt;a href=&quot;https://jira.mongodb.org/browse/COMPASS-3853&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://jira.mongodb.org/browse/COMPASS-3853&lt;/a&gt;)&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;
	&lt;ol&gt;
		&lt;li&gt;
		&lt;ol&gt;
			&lt;li&gt;Import&lt;/li&gt;
		&lt;/ol&gt;
		&lt;/li&gt;
	&lt;/ol&gt;
	&lt;/li&gt;
&lt;/ol&gt;


&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Automatically detect if JSON files are `--jsonArray` or ndjson|jsonl. It just works.&lt;/li&gt;
	&lt;li&gt;No more weird caveats around including empty lines at end of your file or not. It just works.&lt;/li&gt;
	&lt;li&gt;Use the CSV header line for field names&lt;/li&gt;
	&lt;li&gt;Show how many documents it managed to export if there is an error or its canceled&lt;/li&gt;
	&lt;li&gt;Progress is displayed in the export modal as bar + number of docs exported&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;&amp;gt; Fixes &lt;a href=&quot;https://jira.mongodb.org/browse/COMPASS-3827&quot; title=&quot;Import CSV&quot; class=&quot;issue-link&quot; data-issue-key=&quot;COMPASS-3827&quot;&gt;&lt;del&gt;COMPASS-3827&lt;/del&gt;&lt;/a&gt;(&lt;a href=&quot;https://jira.mongodb.org/browse/COMPASS-3827&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://jira.mongodb.org/browse/COMPASS-3827&lt;/a&gt;) and &lt;a href=&quot;https://jira.mongodb.org/browse/COMPASS-3829&quot; title=&quot;Import JSON&quot; class=&quot;issue-link&quot; data-issue-key=&quot;COMPASS-3829&quot;&gt;&lt;del&gt;COMPASS-3829&lt;/del&gt;&lt;/a&gt;(&lt;a href=&quot;https://jira.mongodb.org/browse/COMPASS-3829&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://jira.mongodb.org/browse/COMPASS-3829&lt;/a&gt;)&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;
	&lt;ol&gt;
		&lt;li&gt;
		&lt;ol&gt;
			&lt;li&gt;Export&lt;/li&gt;
		&lt;/ol&gt;
		&lt;/li&gt;
	&lt;/ol&gt;
	&lt;/li&gt;
&lt;/ol&gt;


&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Compass can export documents to a valid extended JSON file&lt;/li&gt;
	&lt;li&gt;Export respects project, limit, and skip from query bar&lt;/li&gt;
	&lt;li&gt;Show how many documents it managed to export if there is an error or its canceled&lt;/li&gt;
	&lt;li&gt;Progress is displayed in the export modal as bar + number of docs exported&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;&amp;gt; Fixes &lt;a href=&quot;https://jira.mongodb.org/browse/COMPASS-3828&quot; title=&quot;Export JSON&quot; class=&quot;issue-link&quot; data-issue-key=&quot;COMPASS-3828&quot;&gt;&lt;del&gt;COMPASS-3828&lt;/del&gt;&lt;/a&gt;(&lt;a href=&quot;https://jira.mongodb.org/browse/COMPASS-3828&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://jira.mongodb.org/browse/COMPASS-3828&lt;/a&gt;) and &lt;a href=&quot;https://jira.mongodb.org/browse/COMPASS-3825&quot; title=&quot;Export CSV&quot; class=&quot;issue-link&quot; data-issue-key=&quot;COMPASS-3825&quot;&gt;&lt;del&gt;COMPASS-3825&lt;/del&gt;&lt;/a&gt;(&lt;a href=&quot;https://jira.mongodb.org/browse/COMPASS-3825&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://jira.mongodb.org/browse/COMPASS-3825&lt;/a&gt;)&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;
	&lt;ol&gt;
		&lt;li&gt;
		&lt;ol&gt;
			&lt;li&gt;Import Options&lt;/li&gt;
		&lt;/ol&gt;
		&lt;/li&gt;
	&lt;/ol&gt;
	&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;Adds new user options for import:&lt;/p&gt;

&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Ignore empty strings&lt;/li&gt;
	&lt;li&gt;Stop on errors&lt;/li&gt;
	&lt;li&gt;Delimiter (`csv` only)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;!&lt;span class=&quot;error&quot;&gt;&amp;#91;Screenshot 2019-10-16 15 46 31&amp;#93;&lt;/span&gt;(&lt;a href=&quot;https://user-images.githubusercontent.com/23074/66953255-29ade400-f02c-11e9-8281-8b663604bdec.png&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://user-images.githubusercontent.com/23074/66953255-29ade400-f02c-11e9-8281-8b663604bdec.png&lt;/a&gt;)&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;
	&lt;ol&gt;
		&lt;li&gt;
		&lt;ol&gt;
			&lt;li&gt;Updated Progress Bar&lt;/li&gt;
		&lt;/ol&gt;
		&lt;/li&gt;
	&lt;/ol&gt;
	&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;From mongodb-js/compass-import-export run:&lt;/p&gt;

&lt;p&gt;```&lt;br/&gt;
npm run storybook&lt;br/&gt;
```&lt;/p&gt;

&lt;p&gt;!&lt;span class=&quot;error&quot;&gt;&amp;#91;Screenshot 2019-10-14 21 11 31&amp;#93;&lt;/span&gt;(&lt;a href=&quot;https://user-images.githubusercontent.com/23074/66952664-16e6df80-f02b-11e9-8792-72195c9cd641.png&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://user-images.githubusercontent.com/23074/66952664-16e6df80-f02b-11e9-8792-72195c9cd641.png&lt;/a&gt;)&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;
	&lt;ol&gt;
		&lt;li&gt;
		&lt;ol&gt;
			&lt;li&gt;
			&lt;ol&gt;
				&lt;li&gt;feat: show file after export&lt;/li&gt;
			&lt;/ol&gt;
			&lt;/li&gt;
		&lt;/ol&gt;
		&lt;/li&gt;
	&lt;/ol&gt;
	&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;!&lt;span class=&quot;error&quot;&gt;&amp;#91;Screenshot 2019-10-01 15 23 25&amp;#93;&lt;/span&gt;(&lt;a href=&quot;https://user-images.githubusercontent.com/23074/65994225-d6029e80-e460-11e9-8f0a-5aca6474580b.png&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://user-images.githubusercontent.com/23074/65994225-d6029e80-e460-11e9-8f0a-5aca6474580b.png&lt;/a&gt;)&lt;/p&gt;


&lt;ol&gt;
	&lt;li&gt;
	&lt;ol&gt;
		&lt;li&gt;
		&lt;ol&gt;
			&lt;li&gt;
			&lt;ol&gt;
				&lt;li&gt;feat: pretty human import error messages&lt;/li&gt;
			&lt;/ol&gt;
			&lt;/li&gt;
		&lt;/ol&gt;
		&lt;/li&gt;
	&lt;/ol&gt;
	&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;!&lt;span class=&quot;error&quot;&gt;&amp;#91;Screenshot 2019-10-03 21 22 48&amp;#93;&lt;/span&gt;(&lt;a href=&quot;https://user-images.githubusercontent.com/23074/66175227-c1700300-e626-11e9-8343-963d6f4f5924.png&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://user-images.githubusercontent.com/23074/66175227-c1700300-e626-11e9-8343-963d6f4f5924.png&lt;/a&gt;)&lt;br/&gt;
!&lt;span class=&quot;error&quot;&gt;&amp;#91;Screenshot 2019-10-03 21 25 22&amp;#93;&lt;/span&gt;(&lt;a href=&quot;https://user-images.githubusercontent.com/23074/66175228-c1700300-e626-11e9-82ee-a8e47986c87a.png&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://user-images.githubusercontent.com/23074/66175228-c1700300-e626-11e9-82ee-a8e47986c87a.png&lt;/a&gt;)&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;
	&lt;ol&gt;
		&lt;li&gt;
		&lt;ol&gt;
			&lt;li&gt;Checklist&lt;/li&gt;
		&lt;/ol&gt;
		&lt;/li&gt;
	&lt;/ol&gt;
	&lt;/li&gt;
&lt;/ol&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;x&amp;#93;&lt;/span&gt; New tests and/or benchmarks are included&lt;/li&gt;
	&lt;li&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;x&amp;#93;&lt;/span&gt; Documentation is changed or added&lt;/li&gt;
&lt;/ul&gt;


&lt;ol&gt;
	&lt;li&gt;
	&lt;ol&gt;
		&lt;li&gt;Motivation and Context&lt;/li&gt;
	&lt;/ol&gt;
	&lt;/li&gt;
&lt;/ol&gt;


&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;x&amp;#93;&lt;/span&gt; Bugfix&lt;/li&gt;
	&lt;li&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;x&amp;#93;&lt;/span&gt; New feature&lt;/li&gt;
	&lt;li&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;x&amp;#93;&lt;/span&gt; Dependency update&lt;/li&gt;
	&lt;li&gt;[ ] Misc&lt;/li&gt;
&lt;/ul&gt;


&lt;ol&gt;
	&lt;li&gt;
	&lt;ol&gt;
		&lt;li&gt;Types of changes&lt;br/&gt;
&amp;lt;!--- What types of changes does your code introduce? Put an `x` in all the boxes that apply: --&amp;gt;&lt;/li&gt;
	&lt;/ol&gt;
	&lt;/li&gt;
&lt;/ol&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;[ ] &lt;b&gt;Backport Needed&lt;/b&gt;&lt;/li&gt;
	&lt;li&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;x&amp;#93;&lt;/span&gt; Patch (non-breaking change which fixes an issue)&lt;/li&gt;
	&lt;li&gt;[ ] Minor (non-breaking change which adds functionality)&lt;/li&gt;
	&lt;li&gt;[ ] Major (fix or feature that would cause existing functionality to change)&lt;br/&gt;
Branch: &lt;a href=&quot;https://jira.mongodb.org/browse/COMPASS-3830&quot; title=&quot;Import/Export entry points&quot; class=&quot;issue-link&quot; data-issue-key=&quot;COMPASS-3830&quot;&gt;&lt;del&gt;COMPASS-3830&lt;/del&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb-js/compass/commit/01dd6871f63159d5cb5104c53441537920ceadef&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb-js/compass/commit/01dd6871f63159d5cb5104c53441537920ceadef&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="2506886" author="xgen-internal-githook" created="Tue, 29 Oct 2019 16:14:22 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Lucas Hrabovsky&apos;, &apos;username&apos;: &apos;imlucas&apos;, &apos;email&apos;: &apos;hrabovsky.lucas@gmail.com&apos;}
&lt;p&gt;Message: COMPASS-3013: update import-export plugin (#1828)&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;COMPASS-3013: update import-export plugin&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;This PR introduces many performance enhancements, bug fixes, and new features for the Import/Export plugin. It covers many of the stories in COMPASS-3013&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;
	&lt;ol&gt;
		&lt;li&gt;Description&lt;/li&gt;
	&lt;/ol&gt;
	&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;&amp;gt; Combined release notes from mongodb-js/compass-import-export#5 and mongodb-js/compass-import-export#6&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;
	&lt;ol&gt;
		&lt;li&gt;
		&lt;ol&gt;
			&lt;li&gt;Switch to proper node.js streams for processing&lt;/li&gt;
		&lt;/ol&gt;
		&lt;/li&gt;
	&lt;/ol&gt;
	&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;The backend has been entirely rewritten to use node.js streams. Import and export also now send the `&lt;/p&gt;
{explicitlyIgnoreSession: true}
&lt;p&gt;` option to the node driver which has resolved transient errors and allows very large imports and exports that are performant while correct.&lt;/p&gt;

&lt;p&gt;!&lt;span class=&quot;error&quot;&gt;&amp;#91;Screenshot 2019-10-15 11 16 49&amp;#93;&lt;/span&gt;(&lt;a href=&quot;https://user-images.githubusercontent.com/23074/66952663-164e4900-f02b-11e9-8ea6-085825903ec9.png&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://user-images.githubusercontent.com/23074/66952663-164e4900-f02b-11e9-8ea6-085825903ec9.png&lt;/a&gt;)&lt;/p&gt;

&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Import now uses &lt;span class=&quot;error&quot;&gt;&amp;#91;csv-parser&amp;#93;&lt;/span&gt;(&lt;a href=&quot;https://github.com/mafintosh/csv-parser&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mafintosh/csv-parser&lt;/a&gt;) for parsing CSV. Its fast and &lt;span class=&quot;error&quot;&gt;&amp;#91;csv-spectrum&amp;#93;&lt;/span&gt;(&lt;a href=&quot;https://npmjs.org/csv-spectrum&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://npmjs.org/csv-spectrum&lt;/a&gt;) compliant&lt;/li&gt;
	&lt;li&gt;Import also now uses &lt;span class=&quot;error&quot;&gt;&amp;#91;strip-bom-stream&amp;#93;&lt;/span&gt;(&lt;a href=&quot;https://github.com/sindresorhus/strip-bom-stream&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/sindresorhus/strip-bom-stream&lt;/a&gt;) to sanitize UTF Byte Order Markers before parsing&lt;/li&gt;
	&lt;li&gt;JSON export uses the latest &lt;span class=&quot;error&quot;&gt;&amp;#91;extended JSON spec&amp;#93;&lt;/span&gt;(&lt;a href=&quot;https://github.com/mongodb/js-bson#ejson&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/js-bson#ejson&lt;/a&gt;)&lt;/li&gt;
	&lt;li&gt;Streams are robust enough to support fine grained cancellation and large collection reads such as `crimedb.incidents` (1M+ documents)&lt;/li&gt;
	&lt;li&gt;Import now uses the driver&apos;s &lt;span class=&quot;error&quot;&gt;&amp;#91;bulk write API&amp;#93;&lt;/span&gt;(&lt;a href=&quot;https://docs.mongodb.com/manual/reference/method/db.collection.bulkWrite/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://docs.mongodb.com/manual/reference/method/db.collection.bulkWrite/&lt;/a&gt;) so its now possible to import for larger sources&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;&amp;gt; Fixes &lt;a href=&quot;https://jira.mongodb.org/browse/COMPASS-3853&quot; title=&quot;Replace backend of the feature with better CSV/JSON parsers&quot; class=&quot;issue-link&quot; data-issue-key=&quot;COMPASS-3853&quot;&gt;&lt;del&gt;COMPASS-3853&lt;/del&gt;&lt;/a&gt;(&lt;a href=&quot;https://jira.mongodb.org/browse/COMPASS-3853&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://jira.mongodb.org/browse/COMPASS-3853&lt;/a&gt;)&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;
	&lt;ol&gt;
		&lt;li&gt;
		&lt;ol&gt;
			&lt;li&gt;Import&lt;/li&gt;
		&lt;/ol&gt;
		&lt;/li&gt;
	&lt;/ol&gt;
	&lt;/li&gt;
&lt;/ol&gt;


&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Automatically detect if JSON files are `--jsonArray` or ndjson|jsonl. It just works.&lt;/li&gt;
	&lt;li&gt;No more weird caveats around including empty lines at end of your file or not. It just works.&lt;/li&gt;
	&lt;li&gt;Use the CSV header line for field names&lt;/li&gt;
	&lt;li&gt;Show how many documents it managed to export if there is an error or its canceled&lt;/li&gt;
	&lt;li&gt;Progress is displayed in the export modal as bar + number of docs exported&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;&amp;gt; Fixes &lt;a href=&quot;https://jira.mongodb.org/browse/COMPASS-3827&quot; title=&quot;Import CSV&quot; class=&quot;issue-link&quot; data-issue-key=&quot;COMPASS-3827&quot;&gt;&lt;del&gt;COMPASS-3827&lt;/del&gt;&lt;/a&gt;(&lt;a href=&quot;https://jira.mongodb.org/browse/COMPASS-3827&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://jira.mongodb.org/browse/COMPASS-3827&lt;/a&gt;) and &lt;a href=&quot;https://jira.mongodb.org/browse/COMPASS-3829&quot; title=&quot;Import JSON&quot; class=&quot;issue-link&quot; data-issue-key=&quot;COMPASS-3829&quot;&gt;&lt;del&gt;COMPASS-3829&lt;/del&gt;&lt;/a&gt;(&lt;a href=&quot;https://jira.mongodb.org/browse/COMPASS-3829&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://jira.mongodb.org/browse/COMPASS-3829&lt;/a&gt;)&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;
	&lt;ol&gt;
		&lt;li&gt;
		&lt;ol&gt;
			&lt;li&gt;Export&lt;/li&gt;
		&lt;/ol&gt;
		&lt;/li&gt;
	&lt;/ol&gt;
	&lt;/li&gt;
&lt;/ol&gt;


&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Compass can export documents to a valid extended JSON file&lt;/li&gt;
	&lt;li&gt;Export respects project, limit, and skip from query bar&lt;/li&gt;
	&lt;li&gt;Show how many documents it managed to export if there is an error or its canceled&lt;/li&gt;
	&lt;li&gt;Progress is displayed in the export modal as bar + number of docs exported&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;&amp;gt; Fixes &lt;a href=&quot;https://jira.mongodb.org/browse/COMPASS-3828&quot; title=&quot;Export JSON&quot; class=&quot;issue-link&quot; data-issue-key=&quot;COMPASS-3828&quot;&gt;&lt;del&gt;COMPASS-3828&lt;/del&gt;&lt;/a&gt;(&lt;a href=&quot;https://jira.mongodb.org/browse/COMPASS-3828&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://jira.mongodb.org/browse/COMPASS-3828&lt;/a&gt;) and &lt;a href=&quot;https://jira.mongodb.org/browse/COMPASS-3825&quot; title=&quot;Export CSV&quot; class=&quot;issue-link&quot; data-issue-key=&quot;COMPASS-3825&quot;&gt;&lt;del&gt;COMPASS-3825&lt;/del&gt;&lt;/a&gt;(&lt;a href=&quot;https://jira.mongodb.org/browse/COMPASS-3825&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://jira.mongodb.org/browse/COMPASS-3825&lt;/a&gt;)&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;
	&lt;ol&gt;
		&lt;li&gt;
		&lt;ol&gt;
			&lt;li&gt;Import Options&lt;/li&gt;
		&lt;/ol&gt;
		&lt;/li&gt;
	&lt;/ol&gt;
	&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;Adds new user options for import:&lt;/p&gt;

&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Ignore empty strings&lt;/li&gt;
	&lt;li&gt;Stop on errors&lt;/li&gt;
	&lt;li&gt;Delimiter (`csv` only)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;!&lt;span class=&quot;error&quot;&gt;&amp;#91;Screenshot 2019-10-16 15 46 31&amp;#93;&lt;/span&gt;(&lt;a href=&quot;https://user-images.githubusercontent.com/23074/66953255-29ade400-f02c-11e9-8281-8b663604bdec.png&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://user-images.githubusercontent.com/23074/66953255-29ade400-f02c-11e9-8281-8b663604bdec.png&lt;/a&gt;)&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;
	&lt;ol&gt;
		&lt;li&gt;
		&lt;ol&gt;
			&lt;li&gt;Updated Progress Bar&lt;/li&gt;
		&lt;/ol&gt;
		&lt;/li&gt;
	&lt;/ol&gt;
	&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;From mongodb-js/compass-import-export run:&lt;/p&gt;

&lt;p&gt;```&lt;br/&gt;
npm run storybook&lt;br/&gt;
```&lt;/p&gt;

&lt;p&gt;!&lt;span class=&quot;error&quot;&gt;&amp;#91;Screenshot 2019-10-14 21 11 31&amp;#93;&lt;/span&gt;(&lt;a href=&quot;https://user-images.githubusercontent.com/23074/66952664-16e6df80-f02b-11e9-8792-72195c9cd641.png&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://user-images.githubusercontent.com/23074/66952664-16e6df80-f02b-11e9-8792-72195c9cd641.png&lt;/a&gt;)&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;
	&lt;ol&gt;
		&lt;li&gt;
		&lt;ol&gt;
			&lt;li&gt;
			&lt;ol&gt;
				&lt;li&gt;feat: show file after export&lt;/li&gt;
			&lt;/ol&gt;
			&lt;/li&gt;
		&lt;/ol&gt;
		&lt;/li&gt;
	&lt;/ol&gt;
	&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;!&lt;span class=&quot;error&quot;&gt;&amp;#91;Screenshot 2019-10-01 15 23 25&amp;#93;&lt;/span&gt;(&lt;a href=&quot;https://user-images.githubusercontent.com/23074/65994225-d6029e80-e460-11e9-8f0a-5aca6474580b.png&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://user-images.githubusercontent.com/23074/65994225-d6029e80-e460-11e9-8f0a-5aca6474580b.png&lt;/a&gt;)&lt;/p&gt;


&lt;ol&gt;
	&lt;li&gt;
	&lt;ol&gt;
		&lt;li&gt;
		&lt;ol&gt;
			&lt;li&gt;
			&lt;ol&gt;
				&lt;li&gt;feat: pretty human import error messages&lt;/li&gt;
			&lt;/ol&gt;
			&lt;/li&gt;
		&lt;/ol&gt;
		&lt;/li&gt;
	&lt;/ol&gt;
	&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;!&lt;span class=&quot;error&quot;&gt;&amp;#91;Screenshot 2019-10-03 21 22 48&amp;#93;&lt;/span&gt;(&lt;a href=&quot;https://user-images.githubusercontent.com/23074/66175227-c1700300-e626-11e9-8343-963d6f4f5924.png&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://user-images.githubusercontent.com/23074/66175227-c1700300-e626-11e9-8343-963d6f4f5924.png&lt;/a&gt;)&lt;br/&gt;
!&lt;span class=&quot;error&quot;&gt;&amp;#91;Screenshot 2019-10-03 21 25 22&amp;#93;&lt;/span&gt;(&lt;a href=&quot;https://user-images.githubusercontent.com/23074/66175228-c1700300-e626-11e9-82ee-a8e47986c87a.png&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://user-images.githubusercontent.com/23074/66175228-c1700300-e626-11e9-82ee-a8e47986c87a.png&lt;/a&gt;)&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;
	&lt;ol&gt;
		&lt;li&gt;
		&lt;ol&gt;
			&lt;li&gt;Checklist&lt;/li&gt;
		&lt;/ol&gt;
		&lt;/li&gt;
	&lt;/ol&gt;
	&lt;/li&gt;
&lt;/ol&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;x&amp;#93;&lt;/span&gt; New tests and/or benchmarks are included&lt;/li&gt;
	&lt;li&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;x&amp;#93;&lt;/span&gt; Documentation is changed or added&lt;/li&gt;
&lt;/ul&gt;


&lt;ol&gt;
	&lt;li&gt;
	&lt;ol&gt;
		&lt;li&gt;Motivation and Context&lt;/li&gt;
	&lt;/ol&gt;
	&lt;/li&gt;
&lt;/ol&gt;


&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;x&amp;#93;&lt;/span&gt; Bugfix&lt;/li&gt;
	&lt;li&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;x&amp;#93;&lt;/span&gt; New feature&lt;/li&gt;
	&lt;li&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;x&amp;#93;&lt;/span&gt; Dependency update&lt;/li&gt;
	&lt;li&gt;[ ] Misc&lt;/li&gt;
&lt;/ul&gt;


&lt;ol&gt;
	&lt;li&gt;
	&lt;ol&gt;
		&lt;li&gt;Types of changes&lt;br/&gt;
&amp;lt;!--- What types of changes does your code introduce? Put an `x` in all the boxes that apply: --&amp;gt;&lt;/li&gt;
	&lt;/ol&gt;
	&lt;/li&gt;
&lt;/ol&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;[ ] &lt;b&gt;Backport Needed&lt;/b&gt;&lt;/li&gt;
	&lt;li&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;x&amp;#93;&lt;/span&gt; Patch (non-breaking change which fixes an issue)&lt;/li&gt;
	&lt;li&gt;[ ] Minor (non-breaking change which adds functionality)&lt;/li&gt;
	&lt;li&gt;[ ] Major (fix or feature that would cause existing functionality to change)&lt;br/&gt;
Branch: &lt;a href=&quot;https://jira.mongodb.org/browse/COMPASS-3830&quot; title=&quot;Import/Export entry points&quot; class=&quot;issue-link&quot; data-issue-key=&quot;COMPASS-3830&quot;&gt;&lt;del&gt;COMPASS-3830&lt;/del&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb-js/compass/commit/01dd6871f63159d5cb5104c53441537920ceadef&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb-js/compass/commit/01dd6871f63159d5cb5104c53441537920ceadef&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="2497406" author="xgen-internal-githook" created="Wed, 23 Oct 2019 14:16:32 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Lucas Hrabovsky&apos;, &apos;username&apos;: &apos;imlucas&apos;, &apos;email&apos;: &apos;hrabovsky.lucas@gmail.com&apos;}
&lt;p&gt;Message: COMPASS-3013: update import-export plugin (#1828)&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;COMPASS-3013: update import-export plugin&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;This PR introduces many performance enhancements, bug fixes, and new features for the Import/Export plugin. It covers many of the stories in COMPASS-3013&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;
	&lt;ol&gt;
		&lt;li&gt;Description&lt;/li&gt;
	&lt;/ol&gt;
	&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;&amp;gt; Combined release notes from mongodb-js/compass-import-export#5 and mongodb-js/compass-import-export#6&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;
	&lt;ol&gt;
		&lt;li&gt;
		&lt;ol&gt;
			&lt;li&gt;Switch to proper node.js streams for processing&lt;/li&gt;
		&lt;/ol&gt;
		&lt;/li&gt;
	&lt;/ol&gt;
	&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;The backend has been entirely rewritten to use node.js streams. Import and export also now send the `&lt;/p&gt;
{explicitlyIgnoreSession: true}
&lt;p&gt;` option to the node driver which has resolved transient errors and allows very large imports and exports that are performant while correct.&lt;/p&gt;

&lt;p&gt;!&lt;span class=&quot;error&quot;&gt;&amp;#91;Screenshot 2019-10-15 11 16 49&amp;#93;&lt;/span&gt;(&lt;a href=&quot;https://user-images.githubusercontent.com/23074/66952663-164e4900-f02b-11e9-8ea6-085825903ec9.png&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://user-images.githubusercontent.com/23074/66952663-164e4900-f02b-11e9-8ea6-085825903ec9.png&lt;/a&gt;)&lt;/p&gt;

&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Import now uses &lt;span class=&quot;error&quot;&gt;&amp;#91;csv-parser&amp;#93;&lt;/span&gt;(&lt;a href=&quot;https://github.com/mafintosh/csv-parser&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mafintosh/csv-parser&lt;/a&gt;) for parsing CSV. Its fast and &lt;span class=&quot;error&quot;&gt;&amp;#91;csv-spectrum&amp;#93;&lt;/span&gt;(&lt;a href=&quot;https://npmjs.org/csv-spectrum&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://npmjs.org/csv-spectrum&lt;/a&gt;) compliant&lt;/li&gt;
	&lt;li&gt;Import also now uses &lt;span class=&quot;error&quot;&gt;&amp;#91;strip-bom-stream&amp;#93;&lt;/span&gt;(&lt;a href=&quot;https://github.com/sindresorhus/strip-bom-stream&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/sindresorhus/strip-bom-stream&lt;/a&gt;) to sanitize UTF Byte Order Markers before parsing&lt;/li&gt;
	&lt;li&gt;JSON export uses the latest &lt;span class=&quot;error&quot;&gt;&amp;#91;extended JSON spec&amp;#93;&lt;/span&gt;(&lt;a href=&quot;https://github.com/mongodb/js-bson#ejson&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/js-bson#ejson&lt;/a&gt;)&lt;/li&gt;
	&lt;li&gt;Streams are robust enough to support fine grained cancellation and large collection reads such as `crimedb.incidents` (1M+ documents)&lt;/li&gt;
	&lt;li&gt;Import now uses the driver&apos;s &lt;span class=&quot;error&quot;&gt;&amp;#91;bulk write API&amp;#93;&lt;/span&gt;(&lt;a href=&quot;https://docs.mongodb.com/manual/reference/method/db.collection.bulkWrite/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://docs.mongodb.com/manual/reference/method/db.collection.bulkWrite/&lt;/a&gt;) so its now possible to import for larger sources&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;&amp;gt; Fixes &lt;a href=&quot;https://jira.mongodb.org/browse/COMPASS-3853&quot; title=&quot;Replace backend of the feature with better CSV/JSON parsers&quot; class=&quot;issue-link&quot; data-issue-key=&quot;COMPASS-3853&quot;&gt;&lt;del&gt;COMPASS-3853&lt;/del&gt;&lt;/a&gt;(&lt;a href=&quot;https://jira.mongodb.org/browse/COMPASS-3853&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://jira.mongodb.org/browse/COMPASS-3853&lt;/a&gt;)&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;
	&lt;ol&gt;
		&lt;li&gt;
		&lt;ol&gt;
			&lt;li&gt;Import&lt;/li&gt;
		&lt;/ol&gt;
		&lt;/li&gt;
	&lt;/ol&gt;
	&lt;/li&gt;
&lt;/ol&gt;


&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Automatically detect if JSON files are `--jsonArray` or ndjson|jsonl. It just works.&lt;/li&gt;
	&lt;li&gt;No more weird caveats around including empty lines at end of your file or not. It just works.&lt;/li&gt;
	&lt;li&gt;Use the CSV header line for field names&lt;/li&gt;
	&lt;li&gt;Show how many documents it managed to export if there is an error or its canceled&lt;/li&gt;
	&lt;li&gt;Progress is displayed in the export modal as bar + number of docs exported&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;&amp;gt; Fixes &lt;a href=&quot;https://jira.mongodb.org/browse/COMPASS-3827&quot; title=&quot;Import CSV&quot; class=&quot;issue-link&quot; data-issue-key=&quot;COMPASS-3827&quot;&gt;&lt;del&gt;COMPASS-3827&lt;/del&gt;&lt;/a&gt;(&lt;a href=&quot;https://jira.mongodb.org/browse/COMPASS-3827&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://jira.mongodb.org/browse/COMPASS-3827&lt;/a&gt;) and &lt;a href=&quot;https://jira.mongodb.org/browse/COMPASS-3829&quot; title=&quot;Import JSON&quot; class=&quot;issue-link&quot; data-issue-key=&quot;COMPASS-3829&quot;&gt;&lt;del&gt;COMPASS-3829&lt;/del&gt;&lt;/a&gt;(&lt;a href=&quot;https://jira.mongodb.org/browse/COMPASS-3829&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://jira.mongodb.org/browse/COMPASS-3829&lt;/a&gt;)&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;
	&lt;ol&gt;
		&lt;li&gt;
		&lt;ol&gt;
			&lt;li&gt;Export&lt;/li&gt;
		&lt;/ol&gt;
		&lt;/li&gt;
	&lt;/ol&gt;
	&lt;/li&gt;
&lt;/ol&gt;


&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Compass can export documents to a valid extended JSON file&lt;/li&gt;
	&lt;li&gt;Export respects project, limit, and skip from query bar&lt;/li&gt;
	&lt;li&gt;Show how many documents it managed to export if there is an error or its canceled&lt;/li&gt;
	&lt;li&gt;Progress is displayed in the export modal as bar + number of docs exported&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;&amp;gt; Fixes &lt;a href=&quot;https://jira.mongodb.org/browse/COMPASS-3828&quot; title=&quot;Export JSON&quot; class=&quot;issue-link&quot; data-issue-key=&quot;COMPASS-3828&quot;&gt;&lt;del&gt;COMPASS-3828&lt;/del&gt;&lt;/a&gt;(&lt;a href=&quot;https://jira.mongodb.org/browse/COMPASS-3828&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://jira.mongodb.org/browse/COMPASS-3828&lt;/a&gt;) and &lt;a href=&quot;https://jira.mongodb.org/browse/COMPASS-3825&quot; title=&quot;Export CSV&quot; class=&quot;issue-link&quot; data-issue-key=&quot;COMPASS-3825&quot;&gt;&lt;del&gt;COMPASS-3825&lt;/del&gt;&lt;/a&gt;(&lt;a href=&quot;https://jira.mongodb.org/browse/COMPASS-3825&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://jira.mongodb.org/browse/COMPASS-3825&lt;/a&gt;)&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;
	&lt;ol&gt;
		&lt;li&gt;
		&lt;ol&gt;
			&lt;li&gt;Import Options&lt;/li&gt;
		&lt;/ol&gt;
		&lt;/li&gt;
	&lt;/ol&gt;
	&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;Adds new user options for import:&lt;/p&gt;

&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Ignore empty strings&lt;/li&gt;
	&lt;li&gt;Stop on errors&lt;/li&gt;
	&lt;li&gt;Delimiter (`csv` only)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;!&lt;span class=&quot;error&quot;&gt;&amp;#91;Screenshot 2019-10-16 15 46 31&amp;#93;&lt;/span&gt;(&lt;a href=&quot;https://user-images.githubusercontent.com/23074/66953255-29ade400-f02c-11e9-8281-8b663604bdec.png&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://user-images.githubusercontent.com/23074/66953255-29ade400-f02c-11e9-8281-8b663604bdec.png&lt;/a&gt;)&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;
	&lt;ol&gt;
		&lt;li&gt;
		&lt;ol&gt;
			&lt;li&gt;Updated Progress Bar&lt;/li&gt;
		&lt;/ol&gt;
		&lt;/li&gt;
	&lt;/ol&gt;
	&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;From mongodb-js/compass-import-export run:&lt;/p&gt;

&lt;p&gt;```&lt;br/&gt;
npm run storybook&lt;br/&gt;
```&lt;/p&gt;

&lt;p&gt;!&lt;span class=&quot;error&quot;&gt;&amp;#91;Screenshot 2019-10-14 21 11 31&amp;#93;&lt;/span&gt;(&lt;a href=&quot;https://user-images.githubusercontent.com/23074/66952664-16e6df80-f02b-11e9-8792-72195c9cd641.png&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://user-images.githubusercontent.com/23074/66952664-16e6df80-f02b-11e9-8792-72195c9cd641.png&lt;/a&gt;)&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;
	&lt;ol&gt;
		&lt;li&gt;
		&lt;ol&gt;
			&lt;li&gt;
			&lt;ol&gt;
				&lt;li&gt;feat: show file after export&lt;/li&gt;
			&lt;/ol&gt;
			&lt;/li&gt;
		&lt;/ol&gt;
		&lt;/li&gt;
	&lt;/ol&gt;
	&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;!&lt;span class=&quot;error&quot;&gt;&amp;#91;Screenshot 2019-10-01 15 23 25&amp;#93;&lt;/span&gt;(&lt;a href=&quot;https://user-images.githubusercontent.com/23074/65994225-d6029e80-e460-11e9-8f0a-5aca6474580b.png&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://user-images.githubusercontent.com/23074/65994225-d6029e80-e460-11e9-8f0a-5aca6474580b.png&lt;/a&gt;)&lt;/p&gt;


&lt;ol&gt;
	&lt;li&gt;
	&lt;ol&gt;
		&lt;li&gt;
		&lt;ol&gt;
			&lt;li&gt;
			&lt;ol&gt;
				&lt;li&gt;feat: pretty human import error messages&lt;/li&gt;
			&lt;/ol&gt;
			&lt;/li&gt;
		&lt;/ol&gt;
		&lt;/li&gt;
	&lt;/ol&gt;
	&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;!&lt;span class=&quot;error&quot;&gt;&amp;#91;Screenshot 2019-10-03 21 22 48&amp;#93;&lt;/span&gt;(&lt;a href=&quot;https://user-images.githubusercontent.com/23074/66175227-c1700300-e626-11e9-8343-963d6f4f5924.png&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://user-images.githubusercontent.com/23074/66175227-c1700300-e626-11e9-8343-963d6f4f5924.png&lt;/a&gt;)&lt;br/&gt;
!&lt;span class=&quot;error&quot;&gt;&amp;#91;Screenshot 2019-10-03 21 25 22&amp;#93;&lt;/span&gt;(&lt;a href=&quot;https://user-images.githubusercontent.com/23074/66175228-c1700300-e626-11e9-82ee-a8e47986c87a.png&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://user-images.githubusercontent.com/23074/66175228-c1700300-e626-11e9-82ee-a8e47986c87a.png&lt;/a&gt;)&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;
	&lt;ol&gt;
		&lt;li&gt;
		&lt;ol&gt;
			&lt;li&gt;Checklist&lt;/li&gt;
		&lt;/ol&gt;
		&lt;/li&gt;
	&lt;/ol&gt;
	&lt;/li&gt;
&lt;/ol&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;x&amp;#93;&lt;/span&gt; New tests and/or benchmarks are included&lt;/li&gt;
	&lt;li&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;x&amp;#93;&lt;/span&gt; Documentation is changed or added&lt;/li&gt;
&lt;/ul&gt;


&lt;ol&gt;
	&lt;li&gt;
	&lt;ol&gt;
		&lt;li&gt;Motivation and Context&lt;/li&gt;
	&lt;/ol&gt;
	&lt;/li&gt;
&lt;/ol&gt;


&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;x&amp;#93;&lt;/span&gt; Bugfix&lt;/li&gt;
	&lt;li&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;x&amp;#93;&lt;/span&gt; New feature&lt;/li&gt;
	&lt;li&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;x&amp;#93;&lt;/span&gt; Dependency update&lt;/li&gt;
	&lt;li&gt;[ ] Misc&lt;/li&gt;
&lt;/ul&gt;


&lt;ol&gt;
	&lt;li&gt;
	&lt;ol&gt;
		&lt;li&gt;Types of changes&lt;br/&gt;
&amp;lt;!--- What types of changes does your code introduce? Put an `x` in all the boxes that apply: --&amp;gt;&lt;/li&gt;
	&lt;/ol&gt;
	&lt;/li&gt;
&lt;/ol&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;[ ] &lt;b&gt;Backport Needed&lt;/b&gt;&lt;/li&gt;
	&lt;li&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;x&amp;#93;&lt;/span&gt; Patch (non-breaking change which fixes an issue)&lt;/li&gt;
	&lt;li&gt;[ ] Minor (non-breaking change which adds functionality)&lt;/li&gt;
	&lt;li&gt;[ ] Major (fix or feature that would cause existing functionality to change)&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb-js/compass/commit/01dd6871f63159d5cb5104c53441537920ceadef&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb-js/compass/commit/01dd6871f63159d5cb5104c53441537920ceadef&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</comment>
                    </comments>
                    <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>3.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Thu, 22 Aug 2019 15:12:25 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        4 years, 15 weeks ago
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18254" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Dependencies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[]]></customfieldvalue>


                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_10857" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>COMPASS-3013</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10057" key="com.atlassian.jira.toolkit:lastusercommented">
                        <customfieldname>Last comment by Customer</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>true</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10056" key="com.atlassian.jira.toolkit:lastupdaterorcommenter">
                        <customfieldname>Last commenter</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>luke.bonanomi@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            4 years, 15 weeks ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>lucas.hrabovsky</customfieldvalue>
            <customfieldvalue>massimiliano.marcon@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hvldi7:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hr79f3:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_10557" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="3355">Iteration Ostrich</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10053" key="com.atlassian.jira.ext.charting:timeinstatus">
                        <customfieldname>Time In Status</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_14350" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>serverRank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hvkzrj:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                    </customfields>
    </item>
</channel>
</rss>