As discussed in #17076, we no longer have the need for the `docs` script in each of our packages. This PR removes this script and the related dev dependency on typedoc
This PR makes the following updates regarding the `nyc` dependency
- Update to v15 from v14 across all packages
- Updates to `@azure/monitor-opentelemetry-exporter` as it failed to run the tests with the updated nyc.
- Update the test scripts to use the js files in the dist-esm folder like all other packages instead of using the ts-node plugin.
- Update one of the tests for `@azure/monitor-opentelemetry-exporter` to use the right path for package.json file now that the tests are being run from the dist-esm folder.
Random set of live tests were triggered from this PR to ensure that nyc works as expected.
The failure for data-tables is an unrelated service side issue
Resolves#19232
## What
- Fix incorrect logic when suppressing chai's circular dependency warnings
- Move to the common dev-tool configuration where possible
## Why
This is a longstanding issue that we have, where an incorrect logic was copy-pasted to other places. I figured while cleaning this up that any package I touch can just convert over to the shared dev-tool configuration. Where I was unable
to do that, I just fixed this bug to avoid too many changes in one PR.
Fixes#14292Resolves#17818Resolves#17816Resolves#17815Resolves#17814Resolves#17813Resolves#17810
* Node doesn't support some samples for smoke test
* [search-documents] reprocessed samples with exp. generator
Co-authored-by: Will Temple <will@wtemple.net>
Reported in #18033.
Basically did a bulk find+replace everywhere. Things _seem_ to be working OK, but wouldn't be surprised if there's something somewhere I've missed, or somewhere where I've replaced something I shouldn't.
I've split the rename of PerfStress -> Perf and runAsync -> run into two commits for ease of review :)
## What
- Update API Extractor to the latest version (currently 7.18.11)
- Regenerate all API reviews by building all the packages
## Why
This is something we keep bumping into. First, we needed to upgrade API Extractor to allow us to re-export directly from
`@opentelemetry/api`. Then, it looks like we needed this to upgrade TypeScript to 4.4.
We are way behind on this version, and it's time to upgrade.
## Callouts
How noisy is this?! Here's what's happening - somewhere around 7.9 I think API Extractor improved the way it detects name
collisions with predefined globals. Things like KeyType, Response, etc.
If there's a clash, the generated API markdown file will rename <Item> to <Item_2> to make the name collision explicit.
Talking to folks on the team, and the poor souls that will be doing API Review approvals, we agreed that doing the upgrade
in one fell swoop is the way to go.
Resolves#9410
* Remove leftover recordings whose tests had been deleted
* Move test secrets into file so we can suppress the file, instead of suppressing using the unstable hashes
* Update suppression list
* update to enable live testing in sovereign clouds for search
* Update search to enable live testing in sovereign clouds for multiple services
* update test-resources.json
* update recordedClient.ts
* Adding a note in the readme to release publicly
* rename `@azure/test-utils-recorder` to `@azure-tools/test-recorder`
* lock file
* delete recorder new file
- Our convention now is to use `types`.
- Some packages output type definition files into `types` directory but the `clean` scripts still use `typings`.
* [Identity] Incrementing the package version
* setting samples to the last released version of Identity
* upgraded non-samples to 2.0.0-beta.6
* found a fix for the CI issue
* Increment package version after release of azure-search-documents
* Update dependency in perf test package
Co-authored-by: Sarangan Rajamanickam <sarajama@microsoft.com>
This PR adds missing changelog entries for the times we
- updated tracing dependencies to use the GA version of OpenTelemetry
- updated to target ES2017
## What
- Remove `setTracer`
- Remove `NoOpTracer` and `NoOpSpan`
- Use Otel's APIs where possible (like when creating a no-op)
- Respect AZURE_TRACING_DISABLED environment variable
- Include test support for tracing utilizing OTel's trace API
- Avoid injecting invalid `tracerparent` header fields
## Why
- `setTracer` was added before OTel had their own implementation of a global tracer provider. For consistency with other libraries we should use the global tracer that was registered. It also leaves us out of the business of maintaining caches, global tracers, and other annoying things.
- These are no longer needed, since OTel has a recommended way to wrap a span in a NoOp. And, if no tracer provider was registered, a non-recording tracer (NoOp) will be created. All managed by OTel
- Finally, AZURE_TRACING_DISABLED is one of the env vars our guidelines say we should support
Resolves#16088Resolves#15730Resolves#10205
* Increment package version after release of azure-search-documents
* Update version in perf tests
Co-authored-by: Sarangan Rajamanickam <sarajama@microsoft.com>
* displayed links as a list rather than a single line
* appconfiguration\Readme: displayed links as a list rather than a single line
* confidential-ledger-rest/README.md: display links as list
* container-registry/README.md: display links as list
* cosmos/README.md: display links as list
* iot-device-update/README.md: display links as list
* eventgrid/README.md: display links as list
* event-hubs/README.md: display links as list
* eventhubs-checkpointstore-blob/README.md: display links as list
* formrecognizer/README.md: display links as list
* identity/README.md: display links as list
* iot-modelsrepository/README.md: display links as list
* keyvault-admin/README.md: display links as list
* keyvault-certificates/README.md: display links as list
* keyvault-keys/README.md: display links as list
* keyvault-secrets/README.md: display links as list
* ai-metrics-advisor/README.md: display links as list
* mixedreality-authentication/README.md: display links as list
* monitor-query/README.md: display links as list
* purview-catalog-rest/README.md: display links as list
* purview-scanning-rest/README.md: display links as list
* quantum-jobs/README.md: display links as list
* search-documents/README.md: display links as list
* schema-registry/README.md: display links as list
* schema-registry-avro/README.md: display links as list
* service-bus/README.md: display links as list
* storage/storage-blob/README.md: display links as list
* storage-blob-changefeed/README.md: display links as list
* storage-file-datalake/README.md: display links as list
* storage-file-share/README.md: display links as list
* storage-queue/README.md: display links as list
* data-tables/README.md: display links as list
* ai-text-analytics/README.md: display links as list
* video-analyzer-edge/README.md: display links as list
* web-pubsub/README.md: display links as list
* web-pubsub-express/README.md: display links as list
* core-lro/README.md: display links as list
* changed from the word master to main
* changed the word master to main
* another update to the final reandme to change the word master to main
* Update README.md
fixed a type in the link
* Update sdk/anomalydetector/ai-anomaly-detector/README.md
Co-authored-by: Deyaaeldeen Almahallawi <dealmaha@microsoft.com>
Co-authored-by: Deyaaeldeen Almahallawi <dealmaha@microsoft.com>
* Convenience Method to create a synonymmap object
* Update sdk/search/search-documents/src/synonymMapHelper.ts
Co-authored-by: Jeff Fisher <xirzec@xirzec.com>
* Fix for PR Comments
Co-authored-by: Jeff Fisher <xirzec@xirzec.com>
## What
- Update core-http to 2.0.0
- Update core-lro to 2.0.0
- Update packages to use latest version
## Why
This will support our last breaking change for core-tracing, and allow everyone to be on the same minimum version. This will also allow us to target ES2017 across the board.
## What
- Bump @opentelemetry/api to 0.20.0 in @azure/core-tracing
- Move all packages that are on core-http to the next core-tracing version
- Remove version collision check from the tracer cache
## Why
This is part of our effort to move everyone to OTel 0.20.0 - but we have to stage it due to a transitive dependency and a
breaking change in OTel. This PR updates core-tracing to use the latest OTel, fixes any breaking changes, and moves
packages that we can move to the latest version of core-tracing.
Once core-rest-pipeline 1.1.0 is GA'd we'll be able to move the rest of the packages over to the latest core-tracing as well.
Removing the version collision came out of an offline discussion after these changes were reviewed - since it's a common
source of pain and hasn't added much benefit (tracer conflicts incompatibility was never a problem) we decided to remove
that logic and always grab a unique symbol per OT compatibility.
## Callouts
The packages that are already on core-v2 will _not_ be upgraded at this time - we'll coordinate that with the GA of core-rest-pipeline 1.1.0
* Increment package version after release of azure-search-documents
* Update dependency version
Co-authored-by: Sarangan Rajamanickam <sarajama@microsoft.com>
`@azure/core-auth` added the `NamedKeyCredential` and `AzureNamedKeyCredential` symbols in version 1.3.0. Currently only `@azure/core-amqp` and `@azure/event-hubs` references these directly and need to be using 1.3.0, but updating in all packages that depend on it to satisfy rush.
* Upgrading to opentelemetry 1.0.0 (rc.0)
Did a few things that made this MUCH easier.
Now that everyone is using the createSpan from @azure/core-tracing we
no longer need _every_ project to reference opentelemetry/api! That has
been removed as part of this PR.
Unfortunately, the leaky nature of JS means that packages still need to
worry about opentelemetry when they build their browser bundle for
testing. To make that simpler I've added a common function to dev-tool
that everyone can call in their rollup that will give them the correct
named exports. This is hooked up for everyone at this point, so the next
time something like this happens I should be able to control it
centrally.
Now for the API breaking changes that I had to fix:
- CanonicalCode is gone and is replaced with SpanStatusCode.
SpanStatusCode has a much smaller set of codes (literally: ERROR, OK
or UNSET) so that simplified most of the way we were handling setting
a span status on error.
- There is a new field (`tracingContext`) that contains `Context`. You
now pass a context, not a span, to indicate what your "parent" is.
You'll see this where I've removed `SpanOptions.parentSpan`. Mostly
it's a simple replacement.
* [dev-tool] Experimental samples publish command
* Updated template samples structure
* First generation of template samples
* Update to ts-node 9 and use transpilation mode for speed.
* Many improvements and fixes.
- Fixed several bugs with generation.
- Added environment variable analysis.
- Refactored modules for code organization.
- Added azsdk- JSDoc tags for weighting and ignoring samples.
- Made almost all illogical situations yield errors instead of warnings.
* Rework text analytics
* Fixed a bug in the README template saying something about the Template package
* Regenerate text analytics samples
* Consistency changes to dev-tool/register
* Updated TA and Template package.json
* Fixed a couple of file name rendering bugs in the template
* Added API ref link override and regenerated Template samples
* Format
* Fix broken link
* Made typescript version reflect dev-tool ts dependency
* Revert weird change to cosmosdb package.json
* Alpha sort template deps
* Added MIN_SUPPORTED_NODE_VERSION
* Tweaked default tsconfig.
* Use version 1.0.0 instead of 0.1.0
* Pull sample generation info types into their own module.
* Added resource creation link generation.
* Regenerate template samples
* Regenerate text analytics samples
* Regenerate text analytics samples
* Regenerate template samples
* Fix bug in TA samples
# Problem
`no-invalid-this` makes sure uses of `this` are valid (see [docs](https://eslint.org/docs/rules/no-invalid-this) and [implementation](8984c91372/lib/rules/utils/ast-utils.js (L900))). However, uses of `this` are rampant in our test suites because this is how mocha unit tests are structured, the Mocha context can be accessed only through `this`.
# Fix
So instead of disabling `no-invalid-this` in our test suites, this PR tags functions that reference `this` with `@this` and that satisfies the rule requirements (see [docs](https://eslint.org/docs/rules/no-invalid-this)).
# Discussion
It could be argued that this work just replaces one comment annotation with another so we did not really solve the underlying problem. However, the inherent problem lies in how mocha itself works and there is nothing we can do other than probably migrating to another framework that is more sane/type-safe. One minor improvement we get is we now have slightly less syntactic overhead because we need to tag just the function instead of individual lines in its body that violate the rule.
# Trade-offs
Pros:
- function tags are less than line tags
Cons:
- whitelisting one more tag with the tsdoc linter that our devs need to learn about
- still having rampant tags everywhere
Fixes https://github.com/Azure/azure-sdk-for-js/issues/11404
I confirmed with the TypeScript team that patch releases should not introduce breaking changes. This PR uses tilde in TypeScript version we use so get the latest patch releases for v4.1.
- Making some changes to simplify the "duplicate" models that we're exporting to mirror the opentelemetry models (addresses feedback from @xirzec and @bterlson)
- Switch core-tracing back to the `-preview` version naming style. Changing it mid-stream like we did breaks internal tooling.
* Update live test templates to use matrix generation
* Update sdk live tests to use matrix generation, cloud config stages
* Fix live test matrix filter parity errors
* Remove matrix filters. Opt-in most tests to samples and min/max testing
* Fix post step template parameter in monitor live tests
* Filter dependency version for live tests that don't support it
* Only publish test results for browser and node tests
* [template] Make README Logging section consistent
We might have introduced the inconsistency for some libraries while copying
content from other languages.
* Update other README files
Contents for messaging libraries (Event Hub/Service Bus) remain unchanges
because they are different in having additional information about `rhea`
logging.
* linking to logger
As part of prepping for the next release of OpenTelemetry we found some code patterns that were going to become a large maintenance burden for us, primarily around the parenting of spans. To make this easier I've removed as many duplicate implementation of createSpan and tried to centralize everything into core-tracing instead.
This won't completely remove changes needed for a newer version of OpenTelemetry but it'll eliminate one of the bigger bottlenecks.
* [EventGrid] Update core-auth reference
In b6040c5451 we took a dependency on
some new surface area in @azure/core-auth. That has now been released as
version 1.2.0, so we bump our minimum dependency to that version.
The other packages have been updated as well, to keep versions consistent.
* [EventGrid] Prepare for 3.0.0-beta.3 release
This PR removes our dependency on the unmaintained package "karma-remap-istanbul" and replaces it with a smaller karma plugin ("karma-sourcemap-loader") that allows karma-coverage to load source maps from the disk correctly.
I tested and confirmed that the generated coverage data has the correct source TS files.
* [Docs] Upgrade typedoc to v0.15.2 to match that used by docs team
* standardize the docs script for cosmos, kv-admin, comm-common, and storage-internal-avro
This newly added command `docs` can help increase the quality of our documentation comments. It enables us to have a tight feedback loop on what is being generated as a documentation of our packages. I am pinning `typedoc` to v0.15.0 for now because this is the version being used for generating docs at `docs.microsoft.com`. This version should be updated when that team updates theirs.
Fixes https://github.com/Azure/azure-sdk-for-js/issues/12928
* upgrade TS version and fix compilation issues
* upgrade the linting parser version and fix new linting issues
* fix cosmos sample
* address feedback
* fix linting issues in formrecognizer tests
* use unknown instead of any across our code
* address more issues
* cleanup package.json in core-http
* revert noisy linting changes caused by vanilla eslint rules not TS aware
* allow the poller to have results of type void
* fixing samples
* fix keyvault-certificates' sample
* Open up Buffered Sender Configurations
* Response to PR Comments
* Update API File
* Added Jitter value
* PR Comments II
* Add jitterValue to the correct place
* Format
* Sync Retry Logic with core-https
* Changed Name to initialBatchActionCount
* Update API
* Regenerated Search SDK Data MD
* Custom Code changes for previous auto generated Data MD changes
* Regenerated Search SDK Service MD
* Custom Code changes for previous auto generated Service MD changes
* Added Test Cases for Search Index Client
* New Recordings
* Additional Changes
* Another set of recordings
* Some more changes
* Refactorings based on PR Comments
* Formatting Changes
* update the CONTRIBUTING.md guide to point to the automatic debug configuration feature in vscode
* delete all custome vscode configs
* factoring out coverage scripts so that mocha with ts-node can work with vscode debugger
* Added Test cases for Search Client
* Added recordings
* Test with Harmony Flag
* Update sdk/search/search-documents/test/node/searchIndexClient.spec.ts
Co-authored-by: Jeff Fisher <xirzec@xirzec.com>
* Code changes for PR comments
Co-authored-by: Jeff Fisher <xirzec@xirzec.com>
* add ability to skip smoke tests based on the presence of environment variables
parameterize test-resources.json
disable cosmos db smoke testing in china cloud
add --ci to smoke test execution
add yargs to smoke tests
smoke tests: @types/yargs is unnecessary, add await in app
turns out @types/yargs is required
use KeyVaultSecrets instead of this
incremental sample compiling progress
first cut at using sample format for smoke tests
Smoke test deploys, onboards samples
Fix pre-samples.js
Add environment variable output to New-TestResources.ps1
Update smoke test package.json
Update-SmokeTests.ps1 - variable outputs for CI, start documenting
New-TestResources.ps1 output environment variables
Update smoke tests yaml
* Remove Smoke Test resources in yaml
* parameters
* Update smoke-tests.yml
* Fix prep-samples.js
* Remove extra *
* Formatting for prep-samples.js
* Revert "Remove extra *"
This reverts commit f0c1b3f36b474f09d2cd49ee2abb327ad0236f10.
* Move Node version higher so Update-SmokeTests.ps1 can use it
* node run.js
* Set AZURE_RESOURCEGROUP_NAME at the top level so delete scripts can clean up after
* Add run.js
* Give ability to specify blank service directory in remove-test-resources.yml
* Add ability to specify resource group name directly to New-TestResources.ps1
* Add devops logging for smoke test failures
* Better command layout
* Update KV test resources to include KEYVAULT_URI for samples
* Fix App Config and KV to use environment variables from the test-resources.json
* Add in package.json configuration to skip certain failing files in smoke tests
* Add ability to skip samples based on configuration information in package.json
* Remove ArmTemplateParameters from smoke tests
* Delete test resources after 24 hours
* Add contacts.js (timing out) to skip
* Add deleteAndRecover.js to skip list
* Skip backupAndRestore.js in KV Secrets
* Improve smoke test error logging
* Skip useProxy.js in Service Bus smoke tests
* Use ARM template params in sovereign clouds
* Remove base smoke test cases
* Use configruable storage endpoint suffix in event hub ARM template
* Use baseName for the basis of the GUID
* Set environment variables from standard config
* Set sample directory when running each test to preserve sample context
* Idempotent naming
* Force $CI to $false
* Use proces.cwd() instead of __dirname
* Skip samples where confiugrations are not present in test-resources.json
* Add support for storage endpoint suffix to storage test-resources.json
* Also exclude copyModel.js
* Compute account name for text analytics so we don't collied with test resources that have the same name
* Add endpoint information for cognitive services
* Skip some storage tests because of hardcoded endpoint suffix
* Skip ai-text-analytics pending further investigation
* Proper spelling for customPipeline
* New-TestResources -- if $CI is true AND a ResourceGroupName is specified, do not mututae the $BaseName
* Always generate a new $BaseName when $CI is $true. If we don't do this and reuse $BaseName then multiple resources of the same type might get deployed with the same name and there will be collisions
* Remove samples-manifest.json
* Use static name for cognitive services user role assignment to avoid smoke test collision
* Form Recognizer should use resource group location
* Role assignment names must be GUIDs
* Update search SKU so deployment succeeds
* Fix form recognizer and text analytrics ARM templates to assign RBAC roles directly to the resources
* Unique guid for Text Analytrics role assignment
* Use relative paths in Initialize-SmokeTests.ps1
* Add --use-packages to samples prep to use package references instead of source references
* Move //smokeTestConfiguration from samples package.json to the package's package.json
* Add in better path support
* Update Smoke Test README.md
* Use globbing to find samples/javascript folders inside packages
* Remove extra files
* Remove hard coded test cases
* Remove smoke-test/test-resources.json
* Use context to set AZURE_AUTHORITY_HOST
* Spacing
* Document -ResourceGroupName parameter
* workingDirector -> workingDirectory
* no inputs
* Skip template samples as the samples do not run properly
* Set environment variables for test application in the initilize script
* Exclude authenticationMethods.js and recognizeContent.js samples because of smoke test errors
* Remove setting AZURE_AUTHORITY_HOST in New-TestResources.ps1 and set it in Initialize-SmokeTest.ps1
* Review feedback: use APPCONFIG_CONNECTION_STRING in samples and tests
* Review feedback KEYVAULT_NAME -> KEYVAULT_URI in all samples and docs for KV
* Make sample.env files consistent
* Skip deploying and onboarding when there is no test-resources.json file
* Standardize prettier configurations across the repo
* update relative paths
* rushx format text analytics
* ignore api.md files
* adding ignore-path parameter to the check-format and format scripts in keyvault-admin
* Azure SDK dev-tool first pass
* [dev-tool] dev-tool dev-samples and fixes to all commands
* Nested command structure
* Better argument parsing, type-checking, and recursive command structure. Added support for running a single sample.
* Added dev-tool README
* [ai-text-analytics] Update package.json to use new script.
* Removed some development cruft
* prettier + eslint
* Quick fix to ParsedOptions type
* WIP
* Command framework improvements
* Basic unit-tests for package resolution.
* One more test, assorted changes
* README update
* Migrated all packages with sample code to use dev-tool
* Added dummy integration-test stub
* Added dummy integration-test stub for eslint plugin
* Added dummy integration-test:browser stubs
* Added dev-tool dependency to packages using it
* Corrected build:samples step in package.json
* WIP
* [dev-tool] ts-to-js command
* [dev-tool] leaf command test
* Fixed more deeply nested samples due to shared code
We use an async function to add a recorded request to an array then
save the array to files when recorder stops. However we did not wait
for the async function to complete, which leads to recording missing
requests. This issue only happens in the browser case. In Node it is
done in synchronous way.
This change makes recorder to wait until all the recorded
requests are added before saving them.
All the tests have been updated to await for `recorder.stop()`.
Co-authored-by: Harsha Nalluru <sanallur@microsoft.com>
* Bump dependency core-http version to 1.1.4
to ensure that all packages have the `x-ms-useragent` browser header key change
for telemetry.
* Make exception for storage
* Add sentinel value to connection string
* Update sdk/search/search-documents/src/searchIndexerClient.ts
Co-authored-by: Jeff Fisher <xirzec@xirzec.com>
Co-authored-by: Jeff Fisher <xirzec@xirzec.com>
* Add initial Refs for repositiory
* Initial Changes to refs JS
* Switch template referencing to use extends
* Remove resources from archetype-sdk-integration.yml
* Refactor SearchServiceClient into SearchIndexClient and SearchIndexerClient
* Handle selected properties for List operations
* Add delete methods by model
* Response to PR Comments
* Minor Typo
* Dummy Commit I
* Dummy Commit II
* Include sourcemap file in karma files section
so we can debug TypeScript source code for browser tests. One still
needs to disable code coverage first though to have the source mapping
working.
We Have to set the .js.map files' type to be 'html' to prevent karma from
treating them as the default js files. See http://karma-runner.github.io/5.0/config/files.html for more details.
* one matrix to live test them all
* clean up environment vars and test configurations
* working template logic for browser and sample testing
* disable samples testing for form recognizer until it's ready for nightly live runs
* use Node 10 for samples
* Readme content of Azure Search Documents is unclear
* Minor change
* Adding some more information
* Updated based on PR Comments
* Minor change
* Minor spell change
* Update sdk/search/search-documents/README.md
Co-authored-by: Jeff Fisher <xirzec@xirzec.com>
* nit
Co-authored-by: Jeff Fisher <xirzec@xirzec.com>
This PR is here to save us from the Deploy button rabbit hole and put us back in track with powershell.
The Deploy Button approach has considerable caveats. Some of them being:
The forms they generate don't provide a lot of tooling to explain how to fill these properties.
The forms they generate require considerable knowledge to feel its properties.
They appear to be simple at a first glance, but they require considerable documentation to make them viable for general users.
Instead of continuing to go the route of Deploy Buttons, we can re-use the PowerShell programs that have been made available in out TS/JS SDK just as well as they exist in the other languages' SDKs, and which have already been documented once at the root of the project, and only make reference to these tools in the test folders, where contributors will surely check. Other general consumers should be safe by ignoring these and simply following the available Azure documentation to create any resources for their own programs, without having to worry about the specific needs of our integration tests.
This PR does the same change on all of the other projects that have test-resources.json.
Once this is merged, the following issues will be solved:
Closes#7532 , since it will be OK to keep template parameters in the ARM templates.
Closes#7366 , since the new indications will suffice.
Closes#7365 , since the new indications will suffice.
Closes#7364 , since the new indications will suffice.
Closes#7363 , since the new indications will suffice.
Closes#6647 , since there will be no remaining pending tasks.
Co-authored-by: Ramya Rao <ramya.rao.a@outlook.com>
* Update contributing sections to link to CONTRIBUTING.md
* Update the contributing section for rest of libraries
* Remove old CONTRIBUTING.md files
README should point to the main CONTRIBUTING.md under repository root.
We did similar changes earlier (e.g., 73f7f90c4) however these seem leftover
that got missed.
* Link to storage specific contributing guide
* Add integration test tasks to eslint plugin
* Fix GeographyPoint serialization
* Add test and get it working inside node
Since SearchServiceClient doesn't work in the browser, will have to investigate a way to run SearchIndexClient tests there.
* Code changes for list indexers operation.
* Code changes for create indexer operation
* Code changes for Get Indexer operation
* Code changes for create/update indexer
* Code changes for Delete indexer operation
* Code changes for Get Indexer Status operation
* Code changes for reset index operation
* Code changes for run index operation
* Remove select & change indexer name in Readme file
* Adding fields to List Ops
* PR Comments