CHANGELOG.md 72 KB
Newer Older
1
Changelog
2 3
==========

4 5 6 7 8 9 10 11 12 13 14 15
v3.8.1
------

Features

- Update firmware to `2020-10-05_vicuna_2`:
  - Revised BHAFT exam to meet the newly updated specification.

Improvements

- Hide the buttons to update TabSINT for Edare.

16 17 18 19 20
v3.8.0
------

Features

21
- Added a response area to export results to PDF.
22 23 24

Improvements

25
- MRT response area can now use `delayEnable` property.
26 27 28

Bug Fixes

29
- Handle error from dosimeter during MPANL page.
30

David Sullivan's avatar
David Sullivan committed
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
v3.7.1
------

Features

- Added new default audiometry protocol.

Improvements

- Updated styling for consistency.

Bug Fixes

- Automated Audiometry results table now populates.

46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
v3.7.0
------

Features

- Support reading WAHTS calibration date to determine RetSPL value version.
- Allow protocol to ignore masking in manual audiometry.
- Protocols can specify sound level meter parameters to ignore in the results object.

Improvements

- Improved TabSINT unit test suite.
- Better cross-platform styling.
- Added USB-C event buffer for more robust headphone support.
- Improve Unity results analysis for CAT protocol

Bug Fixes

- No longer throw an alert to the user when the sound level meter plugin fails to stop
- Only record masking level if masking is presented in manual audiometry.

67 68 69
v3.6.0
------

70
Features
71

72 73 74 75 76 77
- Add button to reset TabSINT configuration

Improvements

- Address BekesyMLD feedback:
  - Remove `Ear` field from sub text
David Sullivan's avatar
David Sullivan committed
78 79
  - Added detail to software button text
  - Added detail to sub text for `repeatIfFailedOnce` use case.
80 81
- Use the StepSize property to increase/decrease level in manual audiometry exam.
- Updated CSS for consistent styling (!93)
82

83
Bug Fix
84 85 86

- Do not exit protocol and submit partial results when USB-C headset is disconnected if the protocol does not require the USB-C headset.

87 88 89 90 91 92 93 94
v3.5.1
------

Improvements

- Fixed Bekesy MLD level issue
- Allow for Bekesy MLD noise bandwidth to span multiple octave bands

Marc Shapiro's avatar
Marc Shapiro committed
95 96 97 98 99 100 101 102 103 104 105 106
v3.5.0
------

Features

- Add bluetooth hardware button for WAHTS responses (!89)
- Generate and export QR configuration code for current tablet configuration (!90)
- Implement the Bekesy MLD audiometry test on the WAHATS (!96)
- Do not record test location by default (location recording can be enabled in the Advanced Settings) (!97)

Improvements

David Sullivan's avatar
David Sullivan committed
107
- Submit partial results when USB-C headset is removed
Marc Shapiro's avatar
Marc Shapiro committed
108 109 110
- Attempt to upload HearTrack results every time a network connection is established
- Improve cross device compatibility of user interface (!93)
- Move developer guide into the TabSINT repository (!92)
David Sullivan's avatar
David Sullivan committed
111 112
- Add masking levels to results
- Add `feedback` to `checkboxResponseArea` (!99)
Marc Shapiro's avatar
Marc Shapiro committed
113 114 115 116

Bug Fixes

- Update log server to DNS `logs.tabsint.org`
David Sullivan's avatar
David Sullivan committed
117 118
- Fix results decryption
- Fix headset enumeration in MPANL response area
Marc Shapiro's avatar
Marc Shapiro committed
119

120 121 122 123 124 125 126 127 128 129 130 131 132
v3.4.0
------

Features

- Refactor the WHATS Manual Audiometry to support masking and improve the user interface (!83)
- Implement `freeformResponseArea` to allow user to input a drawing using the touchscreen (!79)
- Add user interface for the WAHTS daily calibration check (!84)
- Add CSV output to the TabSINT MATLAB results processor
- Implement a draft of the `chaMaskedThresold` response area which implements an automated algorithm for determining a masked audiometric threshold

Improvements

133
- Change default results handling to "Upload Only" and prevent export by default (#403)
134
- Improve streaming connection and reliability
135
- Disable audio streaming to the WAHTS by default
136 137 138
- Add `textSize` option for the likert response area (@hgalloza !82)
- Improve organization of the persistent disk storage (!73)
- Improve consistency among UI elements, colors, and text
139
- Remove permission warning popup if Android permissions are denied
140 141 142

Bug Fixes

143
- Query for WAHTS media version on connect instead of protocol start. This reduces the "File Streaming" error messages from the WHATS when a protocol is first started.
144 145 146 147 148 149
- Fix file reading bug in the TabSINT results processor (!81)
- Fix result handling in the checkboxResponseArea (!85)
- Fix schema issue with `VicFirthS2` headset (#425)
- Fix flag reset in debug-view (#415)


Marc Shapiro's avatar
Marc Shapiro committed
150
v3.3.3
151 152
------

153 154
Bug Fix

155
- Fix file "streaming" conflicts when beginning an exam.
156 157 158 159

v3.3.2
------

160 161 162 163 164 165 166 167 168
Improvements

- Make automated dev-build available through CI.

Bug Fixes

- Fix adding protocol from Gitlab repository.
- Fix exam page repeating logic.

169 170 171
v3.3.1
------

David Sullivan's avatar
David Sullivan committed
172
Improvements
173 174 175

- Update third party custom cordova plugin.

David Sullivan's avatar
David Sullivan committed
176 177 178
Bug Fixes

- Fix emoticons in likert response area.
David Sullivan's avatar
David Sullivan committed
179
- Update Computro response area schema.
David Sullivan's avatar
David Sullivan committed
180

181 182 183
v3.3.0
------

Marc Shapiro's avatar
Marc Shapiro committed
184 185 186 187
Features

- Select specific Svantek dosimeter from list of nearby devices for recording background noise.

188 189
Improvements

Marc Shapiro's avatar
Marc Shapiro committed
190 191
- Streaming audio files through the WAHTS is now more reliable.
- Svantek connection logic is more robust. Nearby Svantek devices must be powered on to show up in the list of available devices.
192 193 194 195
- Improved TabSINT logic when updating the WAHTS firmware.

Bug Fixes

Marc Shapiro's avatar
Marc Shapiro committed
196
- Three digit response area no longer fails when `changedFields` is not defined.
197 198 199 200
- Fixed 3D response area formatting.
- Exams only warn the user of a missing svantek connection once, on the first page that attempts to use it.
- Computro visual and audio rewards now match.

Marc Shapiro's avatar
Marc Shapiro committed
201 202 203 204 205 206 207 208 209 210 211 212
v3.2.2
------

Improvement

- Add `copyFilesOnLoad` field to protocol. This field defines a path on the tablet to copy protocol files when the protocol is loaded. Only protocol files in a special directory `filesToCopy` will be copied.

Bug Fixes

- Fix Computro randomization
- Revert `preProcessFunction` to merge changed fields instead of overwriting. Changed array fields will continue to overwrite.

213 214 215 216 217 218 219
v3.2.1
------

Bug Fixes

- Fix `preProcessFunction` handling to overwrite protocols instead of merging
- Remove *Active Tasks* window while adding a protocol from device storage to avoid blocking the directory selection box
220
- Rename gitlab configuration parameter `namespace` to `group`. This fix is backwards compatible to support existing configurations using `namespace`.
221

222 223 224 225
Known Bug

- This version is not compatible with the HearTrack protocol.

226 227 228 229 230
v3.2.0
------

Feature

231
- New TabSINT User Forum: https://forum.tabsint.org
232 233 234 235 236 237 238 239 240 241

Improvements

- Support `setVolume` command of the Sensimetrics SaveWAV TabSINT plugin
- Support LZMA compression of Configuration codes
- Remove *Save Partial Results* from HearTrack builds

Bug Fixes


242 243 244 245 246
v3.1.2
------

Bug Fixes

247 248
- Fix bugs in the the MPANL response area and background noise measurements using the Svantek 104A
- Parse the tablet location latitude and longitude into a string
249

250 251
v3.1.1
------
252 253 254 255 256

Bug Fixes

- Add lodash (_) and jquery ($) javascript libraries to global namespace for use in pre-process functions and custom response areas

Veronique Archambault-Leger's avatar
Veronique Archambault-Leger committed
257
v3.1.0
258 259 260 261 262
------

Features

- Integrate custom calibrated Computro radio recordings along with transcripts.
263

264 265 266
Improvements

- Remove limits on number of results that can be stored and retrieved from TabSINT.
267
- Improve Fetch and Computro response-area schemas to include fields increasing protocol customization.
268 269 270 271 272 273

Bug Fixes

- Populate the tabsintServer protocol configuration parameters from the configuration file.
- Fix image-map response-area.

274 275 276 277 278 279 280 281
v3.0.2
------

Bug Fixes

- Fix double-tap issue in `NatoResponseArea`
- Fix recursive application of fields in pre-processing functions

282 283 284 285 286 287 288
v3.0.1
------

Bug Fixes

- Fix adding protocols from `Device Storage`.

289 290 291
v3.0.0
------

292 293 294 295 296
Breaking Changes

- Remove [Crosswalk](https://github.com/crosswalk-project/cordova-plugin-crosswalk-webview) from build. This removes support Nexus 7 and simplifies compatibility with newer platforms.
- Compile for target Android SDK 28. This may break custom Cordova based plugins.

297 298
Features

299
- Enable auto-configuration via a QR code.
300
- Implement lock-down mode (no access to `Admin View`) for `HearTrack` build.
301 302 303
- Integrate Computro Unity game.
- Add admin option to enforce output encryption.
- Add MATLAB results analysis for Fetch and Computro games  (part of `TabsintResults.m` tool).
304
- Add support for calibrated output through Samsung Tab A .
305 306 307 308 309
- Add Gap Detection Test plot after the exam is done.
- Add date entry response field as part as the `multiple-input` response area.

Improvements

310 311
- Reduce `$scope` variables in controllers to improve latency in larger tests.
- Remove bower package manager in favor of npm.
312 313 314 315
- Refactor the codebase to use ES6 module imports and [parcel](https://parceljs.org/) application bundler.
- Enable link to custom releases URL.
- Update `jshint` code linter to `eshint`.
- Auto-format codebase using [prettier](https://github.com/prettier/prettier).
316 317 318

Bug Fixes

319
- Restore Three Digit exam auto-begin functionality.
320 321
- Cleanup Svantek operation and results display.

Marc Shapiro's avatar
Marc Shapiro committed
322 323
---

324 325 326 327 328 329 330
v2.9.3
------

Bug Fixes

- Fix double tap in Nato Demo Response Area

331 332 333 334 335 336 337
v2.9.2
------

Improvements

- Update DPOAE frequencies and add DPOAE exam properties for a Special Olympics event.

338 339 340 341 342 343 344
v2.9.1
------

Features

- Integrate Computro Unity game and add its schema.
	- Demo in `feature-demo` > `Advanced features`
345

346 347 348 349 350 351 352
Improvements

- Refine `Sync Headset Media` feature:  
	-  Always record chaMediaVersion and chaProtectedMediaVersion in results if WAHTS is connected.
	- If `MEDIAVER.TXT` or `PROTECTE.TXT` files are missing on the WAHTS, return an empty media version instead of raising a `WAHTS File System` error.
	- Notify user via a pop-up window when headset sync is done.
- Add [MATLAB tool example and instructions](https://gitlab.com/creare-com/tabsint/tree/master/tools/matlab) to format and write wave files to WAHTS.
353

354

355 356 357 358 359 360
v2.9.0
------

Features

- Implement the Gap Detection Test.
361
- Integrate USBC (i.e. Essential Earbuds) headsets into TabSINT.
362 363 364 365 366 367 368 369 370 371 372
- Add EssentialHD Calibration to TabSINT Server.

Improvements

- Add Fetch Response Area schema.

Bug Fixes

- Enable Android 7 to reconnect to the WAHTS after firmware update.
- Minor improvements to streaming functionality.
- Disable `no` button while the presentation is playing.
373
- Fix promise chain to download media from Gitlab and sync to headset.
374

375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393
v2.8.2
------

Bug Fixes

- Edit Threshold Validation exam schema and firmware to accept different thresholds for the left and right ear. Each object in the `Thresholds` array contains a `ThresholdLevel`, a `Frequency` and an `Ear`.
- Fix likeRT response area submission logic.
- Edit `ResponseTime` result length to match the number of presentations.
- Solve Svantek issues when scanning multiple Svantek dosimeters.
- Make `chaStream` an inheritable property.

v2.8.1
------

Bug Fixes

- Edit tabsint-wrnmmc release to be compatible with Nexus 7.
- Add `NPresentations` parameter to Threshold Validation schema.

394
v2.8.0
395 396 397 398
------

Features

399
- Update the WAHTS firmware `2019-03-07_sealion_3`.
400
  - Add Threshold Response Time exam.
401
  - Support for HINT Latin American Spanish.
402 403 404 405
  - Other miscellaneous improvements and bug fixes.
- Release on Google Play.
- Overhaul and improve tabsint.org.
- Add Threshold Response Time exam.
406 407
- Add machinery to process wavfiles in TabSINT and communicate calibrated levels with external applications.
- Cache volume before entering TabSINT and return to that volume upon exiting.
408
- Add custom plugin to identify USB devices.
409

410 411 412 413
Improvements
- Add Spanish translations for the HINT.
- Add Vic Firth S2 headset.
- Logs are disabled by default.
414

415 416
Known Bugs
- On 64-bit devices (like the Samsung Galaxy S3 and S4), the `Crosswalk Project 64bit` app must be downloaded from the Google Play app store for TabSINT to run.
417 418


419 420 421 422 423 424 425 426 427 428 429
v2.7.0
------

Features

- Encrypt TabSINT results using hybrid encryption
	- Implements asymmetric private/public RSA key pair authentication for high security
	- Implements the Advanced Encryption Standard (AES) for efficient symmetric encryption, which was adopted by U.S. NIST in 2001
	- If the protocol contains a `publicKey`, all results backup, saved on the tablet, and uploaded to Gitlab are encrypted
	- For more information on how to use TabSINT encryption, please visit [tabsint.org](http://tabsint.org/docs/UserGuide/analysis/results-encryption/)
	- [Matlab support](http://tabsint.org/docs/UserGuide/analysis/matlab-tool/) to generate RSA key pairs and decrypt results.
430
- Implement Maximum Permissable Ambient Noise Levels (MPANLs) response area
431 432 433 434 435
- Added schema parameters (`disable`, `textColor`, `backgroundColor`, and `fontSize`) to button-grid and multi-choice response areas.

Bug Fixes

- Fix checkbox response area submission logic.
436

437 438 439 440 441 442 443 444
v2.6.1
------

Bug Fixes

- Fix results not uploading to Gitlab
- Fix sound-recognition response area not completing correctly

445 446 447 448 449 450 451 452
v2.6.0
------

Features

- Implement `chaPlaySoundArray` response area to support the *FieldCHA*
- Encrypt all application storage by default in preparation for full result encryption support in v2.7.0
- Document tablet setup and quick start procedure on tabsint.org
mls's avatar
mls committed
453 454
- Implement `chaStream` page field to enable protocols to open a streaming connection to the WAHTS even when no wav files or videos are present on the page
- Include basic *Audiometry* protocol for all builds
455 456 457

Improvements

458
- Enable the option `UseMetaRMS` by default in the *SoundRecognition* task
mls's avatar
mls committed
459
- Remove *headset* checking from protocol loading process. In future versions of TabSINT, the *headset* selection dropdown will be removed in favor or selecting and identifying the headset via the protocol only.
460 461 462 463

Bug Fixes

- Fix Likert *AutoSubmit* (@hgalloza)
464 465 466 467 468 469 470 471 472 473 474 475 476 477 478

v2.5.2
------

Bug Fixes

- Make audiometry-input response area submittable.
- Update manual-audiometry results to fix results plot.
- Fix thorough protected-media check.

Improvements

- Update dpoae exam results reporting to use more up-to-date TabSINT standards.
- Update `InputChannel` schema  description for OAE Screener devices.

479 480 481 482 483 484 485
v2.5.1
------

Bug Fixes

- Update the WAHTS firmware `2018-09-14_rhino_4`. Fixes connection errors with boards other than the WAHTS (hot-probe, probe-screener).

486 487 488
v2.5.0
------

489
Features
490

491
- Add protocol field to override the default filename for exported results. See protocol field `resultFilename` in the root of the protocol schema.
492

493 494 495 496 497 498 499
Improvements

- Support PDF 417 format in QR response area.

Bug Fixes

- Fix page submission in image-map response area.
mls's avatar
mls committed
500
- Fix `RemoteChaError` that pops up after pressing test *Begin*.
501

502 503 504 505
Breaking Changes

- Rename the `TimePause` parameter in the WAHTS Masking Level Difference test (MLD) to `ResponseWindow`. Implement new `TimePause` parameter to prescribe the amount of time before the next presentation after a response.

506 507 508 509 510 511 512 513
v2.4.4
------

Bug Fixes

- Fix page submission in image-map response area.
- Fix `RemoteChaError` that pops up after pressing test *Begin*.

514 515 516 517 518 519 520 521 522
v2.4.3
------

Improvements

- Add functionality to prevent uploading or exporting results by mistake.
- Change the "Automatically output test results" checkbox so that it defaults to false.


523 524 525 526 527 528 529 530 531 532 533
v2.4.2
------

Features

- Add the ability to sync media from the tablet to the headset via a USB cable.
- Modify sound-detection task.
	- Style improvement: increase focus on the category buttons during the sound-recognition portion of the test.
	- Remove crowd tokens.
	- Hide seconds to press information from the subject.

534 535 536 537 538 539 540 541
v2.4.1
------

Bug Fixes

- Update volume calculation to account for the tablet gain in the 'as-measured' calibration method.
- Make the volume alert appear outside of admin mode if the volume played is not equal to the requested volume.

542 543 544 545 546
v2.4.0
------

Features

547
- Implement tablet gain parameter that allows the TabSINT Server calibration procedures for the Vic Firth and HDA200 headsets to apply to tablets other than Nexus 7.
548
  - This version of TabSINT natively supports calibrated output on the Samsung Tab-E tablets for media downloaded from the TabSINT Server.
mls's avatar
mls committed
549 550 551
- Implement CRM Response Area support for the WAHTS.
- Allow the user to hide active tasks dialog box. Hidden active tasks are indicated by a clipboard icon in the navbar. The user is able to show the active tasks by pressing on the clipboard icon. Active tasks are hidden by default in exam view, but may be shown by clicking on the clipboard icon.
- Include `loadhint()` method to MATLAB results processor.
552 553 554 555 556
- Add `labelFontSize` option to the Likert Response area to enable the protocol developer to specify the font size of the likert labels.

Improvements

- Consolidate audiometry processing methods in matlab results processor. Add the `svankek` and `slm` results to processed audiometry results by default.
mls's avatar
mls committed
557
- Rename built in protocol `cha-tone-generation` protocol to `wahts-calibration-check`. This protocol can be used to play pure tones through the WAHTS for a calibration check.
558
- Add feature-test protocol to test new TabSINT releases.
559 560 561 562

Bug Fixes

- Correctly mark digits in Three Digit Response area when the response area is generated by a preprocessing function
mls's avatar
mls committed
563 564 565
- Update Bower package manager to version 1.8.4 and point to new bower registry.
- Remove `Creare Headset` from the list of potential headsets in the protocol schema.
- Remove the `feature-demo-french` protocol.
566
- Handle error when attempting to push a result to gitlab that already exists by allowing to continue uploading other results and providing a useful error message.
567

568 569 570 571 572
v2.3.1
------

Improvements

573 574
- Add *Start Recording* button the `NatoResponseArea`
- Add `autoPlay` option to `NatoResponseArea`. This boolean parameter will play recorded automatically when the user presses *Stop Recording*. By default, `autoPlay` will be true.
575 576 577 578 579

Bug Fixes

-  Update to WAHTS firmware `2018-06-04_rhino_1`. Fixes pink noise in the noise feature of the WAHTS.

580 581 582 583 584
v2.3.0
------

Features

585 586
- Add `ResponseTime` result field, the response time as recorded by the WAHTS for Hughson Westlake presentations. `ResponseTime` is an array of the response times for each presentation in milliseconds.
- Edit sound-recognition response area to record the sound-detection time.
587 588 589

Improvements

590 591 592 593 594 595 596 597 598 599
- Change audiometry result field from `responseTimes` to the more descriptive and self-explanatory `buttonPressTimes`.
- Add level bounds-checking to the manual-audiometry exam.
- Add results analysis documentation.

Bug Fixes

-  Fix number of log messages display in admin view.
-  Fix ``responseRequired`` behavior in ``textboxResponseArea``.
-  Replace the calibration Linear Chirp wave file to get full scale.

600 601 602
Known Issues

- Noise feature does not work with pink noise. Cannot play sound with responseArea property: `"maskingNoise":{"Type": "pink"}`
603

604 605 606 607 608 609 610 611 612
v2.2.2
------

Bug Fixes

- Fix results parsing from sqLite table, which fixes exporting results functionality.

Improvements

613
- Extend Spanish translations.
614 615 616
- Update Linear Chirp wav file.


617 618 619 620 621 622 623
v2.2.1
------

Bug Fixes

- Fix submission logic in qrCode, multiple-inputs and likert response areas.

624 625 626 627 628 629
v2.2.0
------

Features

- Store results in a sqLite table instead of on the disk before they are uploaded or exported. This avoids slowing down TabSINT when queued results accumulate.
630
- Add USB media file transfer functionality.
631
- Add a tablet gain parameter to adjust the sound file volume being played on a tablet to the actual volume output for that tablet.
632 633 634 635

Improvements

- Fix tests.
636
- Add a linear chirp button ``CompAudioTestLinear`` below the log one ``CompAudioTestLog`` in Admin View>Setup>TabSINT>Advanced Settings>Calibration.
637 638
- In the Quick Start>WHATS section of the documentation, add an expanded description of the Headset bluetooth icon.
- Add a headset connection section in the FAQ documentation.
639
- Reorganize and simplify the exam logic Javascript code.
640 641 642 643 644

Bug Fixes

-  In manual audiometry, add alerts to users when the parameters are outside of the calibration limits.
-  Fix qrCodeResponseArea:
645
  -  Implement `responseRequired` in qrCodeResponseArea to resolve discrepancy with schema.
mls's avatar
mls committed
646 647
  -  Add `autoSubmit` field to allow user to view qrCode after scanning.
  -  Clean up controller and view.
648

649 650 651 652 653 654
v2.1.11
-------

Bug Fixes

- Update WAHTS firmware to `2018-06-28_orca_9`. Fix HINT test on WAHTS.
655 656 657 658 659 660 661

v2.1.10
-------

Bug Fixes

- Add Spanish translations for messages with word 'connect'.
662

663 664 665 666 667 668 669
v2.1.9
------

Bug Fixes

- Fix Spanish translations in the audiometry-table response area.

670 671 672 673 674 675
v2.1.8
------

Bug Fixes

- Fix error when playing wav files from the SD card of the WAHTS (`chaWavFiles`) introduced in v2.1.4.
676

677 678 679 680 681 682 683 684
v2.1.7
------

Bug Fixes

- Fix HINT exam submission logic.


685 686 687 688 689 690 691
v2.1.6
------

Bug Fixes

- Update WAHTS firmware to `2018-04-05_orca_8`. Fix critical bug related to the SD card reading.

692

693 694 695 696 697
v2.1.5
------

Bug Fixes

698
- Don't allow two HINT submissions one immediately after the other.
699 700


701 702 703
v2.1.4
------

mls's avatar
mls committed
704 705 706 707
Improvements

- Add preliminary Spanish language support.

708 709
Bug Fixes

mls's avatar
mls committed
710
- Update WAHTS firmware to `2018-01-04_orca_7`. Implement fix for SD card reading noise in second generation of WAHTS.
711 712
- Update translation to support to include *Show/Hide Advanced Settings* and support the prompts in AudiometryList.
- Change wording in audiometry response area *Pause and reset this question* to *Pause*.
713

mls's avatar
mls committed
714 715 716 717 718 719 720
v2.1.3
------

Bug Fixes

- Update WAHTS firmware to `2018-01-04_orca_6`. Implement temporary fix to improve FIR filter calculation for media played off the SD card of the WAHTS.

721

722
v2.1.2
723 724
------

725 726 727 728
Features

- Add network interface cordova plugin in WRNMMC configurations

729 730
Improvements

731
- Include 'loadflft' method in the 'TabsintResults' MATLAB results processor. This method is similar to 'loadresponses' except it will automatically pre-process **BekesyFrequency** and **BHAFT** responses to make analysis easier. See [TabsintResults.m](https://gitlab.com/creare-com/tabsint/blob/master/tools/matlab/TabsintResults.m#L394) for usage example.
732
- Improve sound-recognition comments and play sound loop
733 734 735 736
- Update MILSINT icon links

Bug Fixes

mls's avatar
mls committed
737
- Update WAHTS firmware to `2018-01-04_orca_5`.
738 739 740 741
- Fix noise feature and play sound not playing concurrently properly
- Fix third octave band not being resolved properly


mls's avatar
mls committed
742 743 744 745 746 747
v2.1.1
------

Improvements

- Include source code for json decoding library alongside the MATLAB results processor. This will allow the processor to work with older versions of MATLAB.
748
- Include `loadaudiometry` method in the `TabsintResults` MATLAB results processor. This method is similar to `loadresponses` except it will automatically pre-process certain Hughson Westlake responses to make analysis easier.  See [TabsintResults.m](https://gitlab.com/creare-com/tabsint/blob/release/v2.1.1/tools/matlab/TabsintResults.m#L325) for usage example.
mls's avatar
mls committed
749 750 751 752 753 754

Bug Fixes

- Fix communication bugs for the MLD test on the WAHTS


755 756 757 758 759 760
v2.1.0
------


Features

761
- Add support for Svantek Dosimeter SV104A via Bluetooth LE. TabSINT uses the Svantek dosimeter to measure the background noise levels when configured in protocol. See the [Svantek-Demo Protocol](https://gitlab.com/creare-com/tabsint/blob/master/www/res/protocol/svantek-demo/protocol.json) for an example protocol. ([#134](https://gitlab.com/creare-com/tabsint/issues/134))
762 763 764
- Include Sound Level Meter and Svantek Dosimeter results in audiometry table. See [Audiometry Results Table Schema](https://gitlab.com/creare-com/tabsint/blob/master/www/res/protocol/schema/cha/response-areas/chaAudiometryResultsTable.json) to include these properties in a protocol. ([#59](https://gitlab.com/creare-com/tabsint/issues/59))
- Add MATLAB results analysis processor. See [MATLAB Tools directory](https://gitlab.com/creare-com/tabsint/blob/master/tools/matlab). This library requires MATLAB 2016B or greater. ([#153](https://gitlab.com/creare-com/tabsint/issues/153))
- Update WAHTS firmware to `2018-01-04_orca_4` ([#160](https://gitlab.com/creare-com/tabsint/issues/160)).
765
- Include `cordova-plugin-device-motion` cordova plugin into the project.
mls's avatar
mls committed
766
- Develop and document framework to allow TabSINT to communicate with other applications on an Android tablet. OTher applications must be configured to listen for communication from TabSINT. Documentation for this feature is in the [User Guide / Advanced Protocols](http://tabsint.org/docs/UserGuide/advanced-protocols/communicate_with_other_apps). See the Android application [tabsint-crosstalk](https://gitlab.com/creare-com/tabsint-crosstalk) for a working demo of another application that can communicate with TabSINT.  ([#136](https://gitlab.com/creare-com/tabsint/issues/136))
767 768 769

Improvements

mls's avatar
mls committed
770
- Finish update of User Guide posted on [tabsint.org](http://tabsint.org) ([#103](https://gitlab.com/creare-com/tabsint/issues/103))
771
- Enable `Enter` key to close soft-keyboard ([#148](https://gitlab.com/creare-com/tabsint/issues/148))
772 773
- Improve `logs` display on the Admin page
- Add `loadAsync` method to the `json` service
774
- Add `Frequencies`, `Leq`, and `LeqA` properties to SLM results to be consistent with Svantek Dosimeter results.
775
- Remove conditional skipping of the first page in a protocol when protocol is randomized `WithoutReplacement`. All protocol pages will be randomized when `"randomization": "WithoutReplacement"` is defined in the protocol. ([#150](https://gitlab.com/creare-com/tabsint/issues/150))
776
- Include `Output` field in **Recent Uploads** to show the location of previously uploaded / output results. ([#132](https://gitlab.com/creare-com/tabsint/issues/132))
777
- Update MILSINT protocol icons
mls's avatar
mls committed
778
- Improve Sound-Recognition service to acquire data on all 68 sound tokens
779 780 781

Bug Fix

782
- Fix `ToneRepetitionInterval` bug which increased the speed of Bekesy FLFT presentations introduced in `2017-12-06_orca_2`
783 784
- Fix missing WAHTS build/firmware version
- Fix "failed to stop media while switching to admin view" recurring log
785 786 787 788

v2.0.3
------

mls's avatar
mls committed
789 790 791
Feature

- Update WAHTS firmware to `2017-12-06_orca_3`
792 793 794

Bug Fix

mls's avatar
mls committed
795
- Fix handling of aborting WAHTS tests while a TabSINT exam is running
796 797


798 799 800 801 802 803
v2.0.2
------


Bug Fix

804
- Update HINT schema to match the WAHTS properties
805 806


807 808 809 810 811 812 813
v2.0.1
------


Improvements

- Change headset selection name from  "Creare Headset" to "WAHTS". Support will continue for protocols that still use "Creare Headset" as the headset for calibration.
814
- Only check for new releases automatically once per day
815 816 817 818 819 820

Bug Fixes

- Fix WAHTS firmware update bug when not connected to USB
- Fix WAHTS error handler so that all messages use the same format

821 822 823
v2.0.0
------

mls's avatar
mls committed
824
> Documentation and Releases are now available through http://tabsint.org
825

826 827
BREAKING CHANGES:

828
- Default tone duration (`ToneDuration` in `ToneGeneration` class) on the WAHTS increased from 100 to 225 ms to meet ANSI S3.6 specification. This default `ToneDuration` is used by the following exams:
829 830
   - `ToneGeneration`
   - `Bekesy`
831 832 833 834
   - `Hughson-Westlake`
   - `Bekesy Fixed Level Frequency Threshold`
   - `Hughson-Westlake Fixed Level Frequency Threshold`  
   - `Bekesy Highest Audible Frequency Threshold (FLFT)`
835 836 837
- Config file field `plugins` has been split into `tabsintPlugins` and `cordovaPlugins`
- The private release repository for TabSINT with support for the WAHTS (`https://gitlab.com/creare-com/tabsint-cha`) will no longer be updated. All releases from TabSINT 2.0 forward will come with support for the WAHTS.

838 839
Features

840 841
- Merge the WAHTS interface repository into the TabSINT repository
    - Full WAHTS support within TabSINT still requires TabSINT to be built with a private external cordova plugin `cordova-plugin-creare-cha`
842 843
- Refactor exam and admin logic to simplify and streamline code base
- Add *Advanced Settings* accordion sections to enable simpler navigation for typical TabSINT users
844
- Add option to disable audio streaming to the WAHTS
845
- Deprecate bug report
846 847 848
- Update to cordova 7
- Merge active task services and display them via sticky notifications
- Make "Only Track Tags" selected by default under the Gitlab server settings
mls's avatar
mls committed
849
- Release documentation and Android apks via `http://tabsint.org`
850

851 852
Improvements

853 854 855 856 857 858 859 860
- Polish style
- Upgrade documentation
    - Add *Quick Start* section for basic instructions
    - Add FAQs
    - Add information and references on the Wireless Automated Hearing-Test System (WAHTS)
    - Refine existing documentation
- Streamline WAHTS connection sequence

861 862
Bug Fixes

863
- Fix csv service
864
- Fix headset reboot after updating firmware or reconnecting headset
865

866 867 868 869 870
v1.9.2
------

Bug Fixes

mls's avatar
mls committed
871
- Fix cha.playSound calls via page field chaWavFiles - useMetaRms was defaulting to true for all files in the user directory.  now useMetaRms is a protocol field and defaults to false.
872

873 874 875 876 877 878 879 880 881 882 883 884
v1.9.1
------

Improvements

- Removes documentation of downloading gitlab protocols by commit hash

Bug Fixes

- Fix unreturned promise from `slm` service when `slm` cordova plugin is not installed
- Fix `subjectIdResponseArea` so that `"generate": false` allows user to input subject ID
- Fix bug where `nRepeats` is not reset if user reset exam in the middle of a page
885

886 887 888 889 890 891
v1.9.0
------

Features

- Enable subject ID generation in `subjectIdResponseArea`. See the [Subject Id Response Area Schema](https://gitlab.com/creare-com/tabsint/blob/master/www/res/protocol/schema/response-areas/subjectIdResponseArea.json) for implementation.
892
- Implement android based sound level meter that can be configured to run during protocol pages. See the [Page Schema]() for implementation details. SLM results will be stored on `responses` object of the result. **Note: This feature requires a seperate TabSINT plugin to operate**
893 894 895 896 897 898 899 900 901 902 903 904
- Add python script to convert test result output file to csv file. See https://gitlab.com/creare-com/tabsint/tree/master/tools/results-analysis/python/json2csv.py
- Add preliminary Japanese language support

Improvements

- Refactor `gitlab` logic to fix bugs and extend ability to leverage gitlab services across tabsint
- Disable the hardware back button on Android tablets
- Alphabetically order protocols on Admin page

Bug Fixes

- Fix `Site config task still in progress...` message when downloading protocols from the TabSINT server [#55](https://gitlab.com/creare-com/tabsint/issues/55)
905
- Fix `Host is not defined` popup on Admin page
906

907 908 909 910 911 912 913
v1.8.2
------

Bug Fixes

- Fixes audio streaming to CHA devices

Marc Shapiro's avatar
Marc Shapiro committed
914 915 916
v1.8.1
------

Marc Shapiro's avatar
Marc Shapiro committed
917
> Note: This release replaces the built-in Crosswalk web browser from TabSINT framework. Please avoid installing version `v1.8.0` on older devices.
Marc Shapiro's avatar
Marc Shapiro committed
918 919 920 921 922

Improvements

- Switched TabSINT source control to https://gitlab.com/creare-com/tabsint and release location to https://gitlab.com/creare-com/tabsint/tags
- Adds option to configure Gitlab results location other than `results`. Previously, gitlab results were only uploaded to the `results` repository within a given group.
mls's avatar
mls committed
923
- Shows server credentials even when `Admin Mode` is not enabled
Marc Shapiro's avatar
Marc Shapiro committed
924
- Improves multi-lingual support
925
- Adds preliminary Japanese language support
Marc Shapiro's avatar
Marc Shapiro committed
926 927 928 929 930 931
- Replaces fragmented documentation sources with single documentation source hosted at https://creare-com.gitlab.io/tabsint
- This release re-adds the crosswalk support. Since TabSINT is run primarily on older tablets, crosswalk will remain critical for the near future.

Bug Fixes

- Fixes permissions issue with csv file export
932
- Disables back button while TabSINT is open
Marc Shapiro's avatar
Marc Shapiro committed
933 934


Marc Shapiro's avatar
Marc Shapiro committed
935 936 937
v1.8.0
------

Marc Shapiro's avatar
Marc Shapiro committed
938
> Note: This release removes the built-in Crosswalk web browser from TabSINT framework. Crosswalk is no longer supported and causing issues in newer devices. In practice, this means that TabSINT will now be run on devices using the native device Webview.  This may have unintended consequences for TabSINT running on older mobile devices.
Marc Shapiro's avatar
Marc Shapiro committed
939 940 941

Features

Marc Shapiro's avatar
Marc Shapiro committed
942 943 944
- Begins adding support for additional languages using the [`gettext` standard](https://www.gnu.org/software/gettext/) (*Beta*)
    - Additional languages can be provided by editing the [`extract.pot` template file](translations/extract.pot) using a gettext compatible editor (like [Poedit](https://poedit.net))
    - Language support will continue to grow in future releases
Marc Shapiro's avatar
Marc Shapiro committed
945 946
- Adds service to calculate CRC32 checksums for file synchronization
- Adds a preference to show *Skip* button while in **Admin Mode**
Brendan Flynn's avatar
Brendan Flynn committed
947

Marc Shapiro's avatar
Marc Shapiro committed
948 949
Improvements

Marc Shapiro's avatar
Marc Shapiro committed
950
- Updated support for iOS
951 952
- Removes python build system used in TabSINT < v1.3
- Removes the Crosswalk web browser from the built apk
Marc Shapiro's avatar
Marc Shapiro committed
953 954
- Add convience method (`npm run plugins.debug`) to set `debug: true` for all plugins in the current workspace.
- Adds file method for recursively listing directory contents
Marc Shapiro's avatar
Marc Shapiro committed
955
- Updates logging for better reliability, searching, and performance
Marc Shapiro's avatar
Marc Shapiro committed
956 957 958

Bug Fixes

Marc Shapiro's avatar
Marc Shapiro committed
959 960
- Fixes automatic protocol validation when TabSINT first loads. On first load, the protocol will validate only if the preference is set on the Config page.

961 962 963
v1.7.4
------

964
> Note: The filenames of results exported locally have been changed to be consistent with the filenames of results uploaded to gitlab servers. See below for the result file naming convention.
965

966 967
Improvements

mls-creare's avatar
mls-creare committed
968
- Unifies the filenames of results that are backed up, exported, and uploaded to gitlab. The new convention for the filename of exported/uploaded result files is `[protocol-name]/[tablet-id]_[test-date-time]`. (*Previously, the filename included the time of export/upload. Now, the filename includes the time the test was taken - `testDateTime` in the results structure*)
969 970 971

Bug Fixes

mls-creare's avatar
mls-creare committed
972
- Changes the gitlab results handling to the `Commits` API endpoint. This avoids encoding issues encountered while using the `Respository Files` API endpoint.
Brendan Flynn's avatar
Brendan Flynn committed
973
- Fixes bugs related to the asynchronous results exporting/uploading
Marc Shapiro's avatar
Marc Shapiro committed
974
- Fixes automatic protocol validation the first time the app loads a protocol
Marc Shapiro's avatar
Marc Shapiro committed
975

976 977 978 979 980 981 982 983 984 985
v1.7.3
------

Improvements

- Adds `group` field to gitlab protocol handling

Bug Fixes

- Fixes url encoding of results uploaded to gitlab
986
- Fixes bug in gitlab pull where file urls would grow in each loop
987 988
- Fixes non-uniform spacing of help popover icon

Brendan Flynn's avatar
Brendan Flynn committed
989 990 991
v1.7.2
------

Marc Shapiro's avatar
Marc Shapiro committed
992
Features
Brendan Flynn's avatar
Brendan Flynn committed
993

Marc Shapiro's avatar
Marc Shapiro committed
994 995 996
- Adds ability to change the admin pin. Default admin pin is still `7114`
- Adds ability to configure the start time delay of a wav file. By default, wav files will start to play 1000 milliseconds after the page is loaded. This can be changed using the `wavfileStartDelayTime` property on any page.
- Adds `Audiometer` headset and calibration to the TabSINT server
Brendan Flynn's avatar
Brendan Flynn committed
997

Marc Shapiro's avatar
Marc Shapiro committed
998 999 1000 1001 1002
Improvements

- Sets preference to turn off magnifying glass on long press in UIWebView on iOS

Bug Fixes
Brendan Flynn's avatar
Brendan Flynn committed
1003

Marc Shapiro's avatar
Marc Shapiro committed
1004 1005
- Disallow clicking outside of the partial exam dialog box
- Fix bug where "Loading Protocol..." would persist after loading a protocol
Brendan Flynn's avatar
Brendan Flynn committed
1006
- Fix bug in `omtResponseArea` and `multipleChoiceSelectionResponseArea` related to grading
Brendan Flynn's avatar
Brendan Flynn committed
1007

Marc Shapiro's avatar
Marc Shapiro committed
1008 1009 1010 1011 1012 1013 1014
v1.7.1
------

Bug Fixes

- Fix duplicate `.wav` suffix in files recorded with the `natoResponseArea`

Marc Shapiro's avatar
Marc Shapiro committed
1015 1016 1017 1018 1019
v1.7.0
------

Features

Marc Shapiro's avatar
Marc Shapiro committed
1020
- Incorporates welcome popup the first time the app is ever opened
Marc Shapiro's avatar
Marc Shapiro committed
1021
- Supports Gitlab API v4, including protocol repositories stored in subgroups
Marc Shapiro's avatar
Marc Shapiro committed
1022
- Supports sending and receiving messages to other apps on the device (`externalAppResponseArea`)
Marc Shapiro's avatar
Marc Shapiro committed
1023
- Includes an option to override the automatic volume control on each page
Marc Shapiro's avatar
Marc Shapiro committed
1024 1025
- Include the `natoResponseArea` for recording audio using the internal or external microphone. See the [Nato Response Area Schema](https://github.com/creare-com/tabsint/blob/develop/www/res/protocol/schema/response-areas/natoResponseArea.json) for the allowable input properties.
    - *Note*: This response area requires a closed source tabsint plugin for full functionality
Marc Shapiro's avatar
Marc Shapiro committed
1026 1027 1028

Improvements

Marc Shapiro's avatar
Marc Shapiro committed
1029
- Gitlab based protocols will now default to being tracked by *commit* instead of *tags*. Protocols can still be managed using tags by using the `Only Track Tags` preference.
Marc Shapiro's avatar
Marc Shapiro committed
1030 1031
- Refactors `TabSINTNative` cordova plugin
- Improves style of protocol table
1032
- Improves protocol documentation in the User Guide
Marc Shapiro's avatar
Marc Shapiro committed
1033

1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378