Skip to content

Releases: opengovsg/FormSG

v5.8.0

28 Apr 07:46
Compare
Choose a tag to compare

New

  • feat(spcp): raise sp cookie max age to 3 hrs #1727
  • feat: Add a limit for the number of MyInfo fields that can be added #1664
  • feat: prefill mainstream launch #1702

Fixes

  • fix: show correct error message for e-service ID validation #1722
  • fix: remove verified prefix on blank verified fields #1701

Improved

  • feat(client): log client form reCAPTCHA failure to GA #1684
  • feat(api): collapse spcp/myinfo redirect endpoint to new endpoint #1672
  • chore(admin-forms-routes): remove duplicate logic route endpoint #1703
  • feat(api-refactor): implement specific reorder field api #1726
  • chore(admin-forms-routes): remove duplicate logic route endpoint #1703
  • fix(mongoose): use official discriminator definitions #1704
  • fix: sync email field state between hasAllowedEmailDomains and allowedEmailDomains #1697
  • refactor(preview-api): duplicate adminform presign endpoints for /api/v3 #1644
  • feat(webhooks): streamline webhook response data #1696
  • refactor: Extract delete logic endpoint #1586
  • refactor(preview-api): duplicate adminform preview endpoints for /api/v3 #1643
  • feat(api-refactor): implement specific create field api #1671
  • feat(api-refactor): add specific API for updating of single form field #1640
  • refactor: shard public forms router #1669
  • feat(admin-forms): implement retrieval of form settings #1633
  • refactor: migrate submissions metadata #1651
  • fix: convert form field responses to field class #1739
  • refactor(test): integration and unit tests for redirect #1728
  • fix: update MyInfo field count correctly, show correct error #1738
  • refactor: use shared DateSelectedValidation enum instead of DATE_VALIDATION_OPTIONS object #1724
  • feat: update form guide links to go links #1750
  • chore(mergify): remove 0 check failure condition #1748
  • feat: show highlights only if prefill is provided in url #1742
  • fix: clone field to save before removing myinfo field info #1741

Dependency upgrades

  • chore(deps-dev): bump @types/jest from 26.0.22 to 26.0.23 #1735
  • chore(deps-dev): bump eslint-plugin-jest from 24.3.5 to 24.3.6 #1734
  • build(deps): bump mockpass and spcp-auth-client #1723
  • fix(deps): bump @sentry/browser from 6.3.0 to 6.3.1 #1719
  • chore(deps-dev): bump eslint-config-prettier from 8.2.0 to 8.3.0 #1716
  • chore(deps-dev): bump stylelint-config-standard from 21.0.0 to 22.0.0 #1720
  • fix(deps): bump @sentry/integrations from 6.3.0 to 6.3.1 #1718
  • chore(deps-dev): bump eslint from 7.24.0 to 7.25.0 #1717
  • chore(deps-dev): bump stylelint from 13.12.0 to 13.13.0 #1715
  • fix(deps): bump aws-sdk from 2.890.0 to 2.892.0 #1714
  • fix(deps): bump twilio from 3.60.0 to 3.61.0 #1711
  • fix(deps): bump aws-sdk from 2.889.0 to 2.890.0 #1710
  • chore(deps-dev): bump core-js from 3.10.2 to 3.11.0 #1709
  • fix(deps): bump @babel/runtime from 7.13.16 to 7.13.17 #1700
  • fix(deps): bump @sentry/integrations from 6.2.5 to 6.3.0 #1690
  • chore(deps-dev): bump @babel/core from 7.13.15 to 7.13.16 #1692
  • fix(deps): bump aws-sdk from 2.888.0 to 2.889.0 #1691
  • fix(deps): bump @babel/runtime from 7.13.10 to 7.13.16 #1689
  • fix(deps): bump validator from 13.5.2 to 13.6.0 #1688
  • fix(deps): bump @sentry/browser from 6.2.5 to 6.3.0 #1687
  • fix(deps): bump fp-ts from 2.10.3 to 2.10.4 #1686
  • fix(deps): bump aws-sdk from 2.892.0 to 2.893.0 #1745

v5.7.1

22 Apr 14:19
Compare
Choose a tag to compare

Hotfix Release v5.7.1

This hotfix fixes the bug where invalid esrvcId is incorrectly passing validation due to the hacky method of scraping the Singpass login page title failing due to a case change.

This hotfix updates the validation by checking for error case-insensitively.

Fixes

  • fix: correctly check Singpass title for error

v5.7.0

20 Apr 08:14
Compare
Choose a tag to compare

Improvements

  • refactor: duplicate adminform submissions to /api/v3 endpoint #1641
  • refactor: migrate GET /submission to new endpt #1645
  • refactor(admin-form-api): duplicate adminform form endpoints for /api/v3i #1635
  • refactor(email-submission/controller): refactored email submission #1594
  • refactor(feedback-api): duplicate adminform feedback endpoints for /api/v3 #1589
  • refactor(frontend-api): duplicate frontend client endpoints to new /api/v3 router #1574
  • refactor(PublicFormRoutes): duplicate /publicform to /api/v3 endpoints #1588
  • test: fix possibly flaky test by assigning constant to date #1668

Fixes

  • fix: jest memory leak #1659
  • fix: loosen validation for sg home numbers #1663
  • fix: merge conflict from merging with develop 9f0930e

Dependency Updates

  • fix(deps): bump aws-sdk from 2.884.0 to 2.885.0 #1636
  • fix(deps): bump aws-sdk from 2.885.0 to 2.886.0 #1648
  • fix(deps): bump aws-sdk from 2.886.0 to 2.888.0 #1656
  • fix(deps): bump fp-ts from 2.10.0 to 2.10.2 #1653
  • fix(deps): bump fp-ts from 2.10.2 to 2.10.3 #1677
  • fix(deps): bump fp-ts from 2.9.5 to 2.10.0 #1646
  • fix(deps): bump helmet from 4.4.1 to 4.5.0 #1665
  • fix(deps): bump opossum from 6.0.0 to 6.0.1 #1658
  • chore(deps-dev): bump @types/node from 14.14.37 to 14.14.41 #1657
  • chore(deps-dev): bump concurrently from 6.0.1 to 6.0.2 #1638
  • chore(deps-dev): bump core-js from 3.10.1 to 3.10.2 #1678
  • chore(deps-dev): bump csv-parse from 4.15.3 to 4.15.4 #1660
  • chore(deps-dev): bump date-fns from 2.20.2 to 2.20.3 #1637
  • chore(deps-dev): bump date-fns from 2.20.3 to 2.21.0 #1649
  • chore(deps-dev): bump date-fns from 2.21.0 to 2.21.1 #1662
  • chore(deps-dev): bump eslint-config-prettier from 8.1.0 to 8.2.0 #1639
  • chore(deps-dev): bump eslint-plugin-prettier from 3.3.1 to 3.4.0 #1661
  • chore(deps-dev): bump jest-mock-axios from 4.3.0 to 4.4.0 #1667
  • chore(deps-dev): bump ts-jest from 26.5.4 to 26.5.5 #1654
     

v5.6.1

15 Apr 01:33
Compare
Choose a tag to compare

This release fixes a bug where /adminform/submissions/download and /adminform/submissions/count returned a HTTP status 400 when query.startDate and query.endDate values were equal.

Fixes

  • fix: use Joi.date.min() instead of Joi.date.greater() for date range validation in /adminform

v5.6.0

13 Apr 05:35
Compare
Choose a tag to compare

This release includes quite a bit of Typescript migration and improvements, as well as first bits of API refactors from their current routes to clearer /api/v3/ rooted routes.

Features

  • refactor(misc-api): duplicate misc endpoints to new /api/v3 router #1573
  • refactor(user-api): duplicate user endpoints to new /api/v3 router #1553
  • ref(auth-api): duplicate auth endpoints to new /api/v3 router #1551

Improvements

  • chore: add createReqMeta to verification module logging #1562
  • chore: disable no-await-without-trycatch in backend #1623
  • chore: rearrange directory structure #1606
  • feat: migrate EncryptSubmissionRouter to own router, remove unused forms.server.controller, remove jasmine #1592
  • ref: migrate (most) /adminform endpoints to TypeScript, add integration tests #1567
  • refactor: collapse email preview submission middleware #1561
  • refactor: collapse encrypt preview submission middleware #1554
  • refactor: convert Bounce module to use neverthrow #1591
  • refactor: migrate admin-console client service to ts #1531
  • refactor: migrate frontend routes and google analytics factory to ts #1405
  • refactor: migrate public routes to TypeScript #1595
  • refactor: Minor cleanup to avoid using res.locals #1621
  • refactor: Refactor attachment upload into a service #1547
  • refactor: remove typecasts and non-null assertions #1596
  • refactor: update getPublicForm endpoint to typescript #1398
  • refactor(admin-form/controller): changed if-else in admin-form controller into chains #1622
  • refactor(webhook-services): migrate webhook services to neverthrow #1529
  • test: fix flakiness (again) by hardcoding created dates #1604
  • test: fix flaky form feedback test #1620
  • test: migrate file-validation util tests to TypeScript #1578
  • test: migrate logic.spec from javascript to typescript #1587
  • test: publicform integration tests #1572

Fixes

  • fix: /adminform integration tests being flakey by loosening some checks #1584
  • fix: clear current worker pool on download #1590
  • fix: convert bigint to string, not number to avoid losing fidelity #1577

Dependency changes

  • chore: uninstall sinon and ts-mock-imports (forreal) #1611
  • fix(deps): bump @opengovsg/spcp-auth-client from 1.4.4 to 1.4.5 [#1555 (https://github.com//pull/1555)
  • [Snyk] Security upgrade mongoose from 5.11.10 to 5.12.3 #1538
  • fix(deps): bump aws-sdk from 2.879.0 to 2.880.0 #1570
  • fix(deps): bump aws-sdk from 2.880.0 to 2.882.0 #1585
  • fix(deps): bump aws-sdk from 2.882.0 to 2.883.0 #1609
  • fix(deps): bump aws-sdk from 2.883.0 to 2.884.0 #1615
  • fix(deps): bump libphonenumber-js from 1.9.14 to 1.9.16 #1569
  • fix(deps): bump twilio from 3.59.0 to 3.60.0 #1601
  • fix(deps): bump web-streams-polyfill from 3.0.2 to 3.0.3 #1618
  • fix(deps): bump winston-cloudwatch from 2.5.0 to 2.5.1 #1614
  • fix(deps): bump winston-cloudwatch from 2.5.1 to 2.5.2 #1626
  • chore(deps-dev): bump @babel/core from 7.13.14 to 7.13.15 #1600
  • chore(deps-dev): bump @babel/plugin-transform-runtime #1602
  • chore(deps-dev): bump @babel/preset-env from 7.13.12 to 7.13.15 #1599
  • chore(deps-dev): bump @types/bcrypt from 3.0.0 to 3.0.1 #1619
  • chore(deps-dev): bump @types/mongodb from 3.6.10 to 3.6.12 #1557
  • chore(deps-dev): bump @typescript-eslint/eslint-plugin #1556
  • chore(deps-dev): bump @typescript-eslint/eslint-plugin #1625
  • chore(deps-dev): bump @typescript-eslint/parser from 4.20.0 to 4.21.0 #1558
  • chore(deps-dev): bump @typescript-eslint/parser from 4.21.0 to 4.22.0 #1627
  • chore(deps-dev): bump concurrently from 6.0.0 to 6.0.1 #1568
  • chore(deps-dev): bump core-js from 3.9.1 to 3.10.1 #1608
  • chore(deps-dev): bump date-fns from 2.19.0 to 2.20.0 #1607
  • chore(deps-dev): bump date-fns from 2.20.0 to 2.20.1 #1617
  • chore(deps-dev): bump date-fns from 2.20.1 to 2.20.2 #1628
  • chore(deps-dev): bump eslint from 7.23.0 to 7.24.0 #1613
  • chore(deps-dev): bump eslint-plugin-jest from 24.3.3 to 24.3.4 #1559
  • chore(deps-dev): bump eslint-plugin-jest from 24.3.4 to 24.3.5 #1616
  • chore(deps-dev): bump ngrok from 4.0.0 to 4.0.1 #1560
  • chore(deps-dev): bump testcafe from 1.13.0 to 1.14.0 #1580
  • chore(deps-dev): bump typescript from 4.1.5 to 4.2.4 #1624

v5.5.1

13 Apr 02:09
Compare
Choose a tag to compare

Small release to make the UI changes for Corppass cloud migration

Features

  • refactor(corppass-ui): make ui changes for corppass (#1533)

v5.5.0

06 Apr 07:41
Compare
Choose a tag to compare

Improvements

  • chore: add createReqMeta to verification module logging #1562
  • ref: collapse middlewares of GET /:formId/adminform/submissions route #1530
  • ref: collapse middlewares of GET /adminform/submissions/metadata route #1526
  • ref(auth-api): duplicate auth endpoints to new /api/v3 router #1551
  • refactor: convert submission limit service function to ResultAsync #1539
  • refactor: Migrate the rest of the filters to handleEncryptedSubmission #1474
  • refactor: use neverthrow in /:transactionId/otp (part 5) #1454
  • refactor: use neverthrow in /:transactionId/otp/verify #1455
  • refactor: use neverthrow in /:transactionId/reset (part 4) #1453
  • refactor: use neverthrow in /transaction (part 3) #1452
  • refactor: use neverthrow in /transaction/:transactionId #1451

Fixes

  • fix: server to respond with status code if storage mode form is archived 91551a9

Dependency Updates

  • chore(deps-dev): bump @babel/core from 7.13.13 to 7.13.14 #1478
  • chore(deps-dev): bump @types/mongodb from 3.6.10 to 3.6.12 #1557
  • chore(deps-dev): bump @typescript-eslint/eslint-plugin #1480
  • chore(deps-dev): bump @typescript-eslint/eslint-plugin #1556
  • chore(deps-dev): bump @typescript-eslint/parser from 4.19.0 to 4.20.0 #1479
  • chore(deps-dev): bump @typescript-eslint/parser from 4.20.0 to 4.21.0 #1558
  • chore(deps-dev): bump eslint-plugin-jest from 24.3.2 to 24.3.3 #1548
  • chore(deps-dev): bump eslint-plugin-jest from 24.3.3 to 24.3.4 #1559
  • chore(deps-dev): bump husky from 5.2.0 to 6.0.0 #1477
  • chore(deps-dev): bump ngrok from 3.4.1 to 4.0.0 #1469
  • chore(deps-dev): bump ngrok from 4.0.0 to 4.0.1 #1560
  • chore(deps): remove nodemailer-direct-transport, not used #1550
  • fix(deps): bump @opengovsg/spcp-auth-client from 1.4.4 to 1.4.5 #1555
  • fix(deps): bump @sentry/browser from 6.2.3 to 6.2.4 #1525
  • fix(deps): bump @sentry/browser from 6.2.4 to 6.2.5 #1545
  • fix(deps): bump @sentry/integrations from 6.2.3 to 6.2.4 #1523
  • fix(deps): bump @sentry/integrations from 6.2.4 to 6.2.5 #1543
  • fix(deps): bump aws-sdk from 2.874.0 to 2.876.0 #1527
  • fix(deps): bump aws-sdk from 2.876.0 to 2.877.0 #1546
  • fix(deps): bump aws-sdk from 2.877.0 to 2.879.0 #1549
  • [Snyk] Security upgrade mongoose from 5.11.10 to 5.12.3 #1538

v5.4.0

30 Mar 07:53
Compare
Choose a tag to compare

New

  • chore: take csv and attachments download out of beta #1466

Improved

  • refactor: remove unnecessary field validator JS tests in favour of TS tests #1475
  • feat: revert custom code for CorpPass cloud migration #1476
  • refactor: migrate field validator tests to typescript #1444
  • refactor: remove deprecated analytics API endpoints #1427
  • feat: remove adminform passThroughFeedback #1298
  • refactor: Migrate 3 more filters to handleEncryptedSubmission #1420
  • refactor: move Verification files together (part 1) #1450
  • build: fix mergify config #1456
  • feat: add samesite GA cookie property to enable GA in iframe #1463
  • chore: copy changes #1408
  • fix: shortened sms otp copy for accessibility #1461
  • ref: collapse middlewares of /adminform/submissions/download #1442
  • refactor: display verification error message if present #1443
  • feat: remove isTemplate validation on duplicate template api #1432
  • refactor: migrate table validator to typescript #1316

Dependency upgrades

  • chore(deps-dev): bump eslint from 7.22.0 to 7.23.0 #1473
  • chore(deps-dev): bump mockdate from 3.0.4 to 3.0.5 #1472
  • chore(deps-dev): bump @types/node from 14.14.35 to 14.14.37 #1471
  • chore(deps-dev): bump @types/jest from 26.0.21 to 26.0.22 #1470
  • fix(deps): bump aws-sdk from 2.871.0 to 2.874.0 #1468
  • chore(deps-dev): bump @babel/core from 7.13.10 to 7.13.13 #1467
  • fix(deps): bump twilio from 3.58.0 to 3.59.0 #1465
  • fix(deps): bump aws-sdk from 2.870.0 to 2.871.0 #1464
  • chore(deps-dev): bump @typescript-eslint/eslint-plugin #1448
  • chore(deps-dev): bump mockdate from 3.0.3 to 3.0.4 #1458
  • fix(deps): bump connect-mongo from 4.4.0 to 4.4.1 #1459
  • chore(deps-dev): bump testcafe from 1.12.0 to 1.13.0 #1460
  • chore(deps-dev): bump @babel/preset-env from 7.13.10 to 7.13.12 #1457
  • fix(deps): bump aws-sdk from 2.866.0 to 2.870.0 #1449
  • chore(deps-dev): bump husky from 5.1.3 to 5.2.0 #1447
  • chore(deps-dev): bump @typescript-eslint/parser from 4.18.0 to 4.19.0 #1433
  • fix(deps): bump @sentry/browser from 6.2.2 to 6.2.3 #1422
  • chore(deps-dev): bump sinon from 9.2.4 to 10.0.0 #1429

v5.3.0

23 Mar 08:05
Compare
Choose a tag to compare

Features

  • feat: create new PATCH endpoint for updating form settings #1383
  • feat: rename /admin/form endpoint to /admin/forms, correct dir structure of /api/v3 routes #1425
  • feat: show error Toastr for intranet users on SPCP forms #1397
  • feat: switch to CorpPass Cloud for test form #1392

Improvements

  • fix: add rows attr to email confirmation email body textarea 941b6bf
  • refactor: convert mail and sms services into neverthrown variants #1344
  • refactor: Add handler for encrypted submissions controller #1362
  • refactor: convert analytics module to TypeScript/fp-ts, remove statistics animation on landing page #1361
  • refactor: migrate yesno validator to typescript, with tests #1372
  • refactor: rename type to AnalyticStatsDto #1393
  • refactor: return custom HashingError from utils when bcrypt fails #1426
  • build: automate dependency upgrades using mergify #1424
  • chore: change verified sms modal copy #1403

Dependency upgrades

  • fix(deps): bump @sentry/integrations from 6.2.2 to 6.2.3 #1419
  • fix(deps): bump aws-sdk from 2.863.0 to 2.864.0 #1388
  • fix(deps): bump aws-sdk from 2.864.0 to 2.866.0 #1404
  • fix(deps): bump celebrate from 13.0.4 to 14.0.0 #1423
  • fix(deps): bump convict from 6.0.0 to 6.0.1 #1395
  • fix(deps): bump libphonenumber-js from 1.9.13 to 1.9.14 #1417
  • fix(deps): bump neverthrow from 4.1.1 to 4.2.0 #1379
  • fix(deps): bump neverthrow from 4.2.0 to 4.2.1 #1416
  • fix(deps): bump opossum from 5.1.3 to 6.0.0 #1412
  • fix(deps): bump twilio from 3.57.0 to 3.58.0 #1394
  • chore(deps-dev): bump @opengovsg/mockpass from 2.6.6 to 2.6.7 #1387
  • chore(deps-dev): bump @types/express-serve-static-core #1390
  • chore(deps-dev): bump @types/jest from 26.0.20 to 26.0.21 #1402
  • chore(deps-dev): bump @types/mongodb from 3.6.9 to 3.6.10 #1377
  • chore(deps-dev): bump @types/node from 14.14.34 to 14.14.35 #1378
  • chore(deps-dev): bump @typescript-eslint/eslint-plugin #1380
  • chore(deps-dev): bump @typescript-eslint/parser from 4.17.0 to 4.18.0 #1386
  • chore(deps-dev): bump eslint-plugin-jest from 24.3.1 to 24.3.2 #1400
  • chore(deps-dev): bump jasmine from 3.6.4 to 3.7.0 #1413
  • chore(deps-dev): bump jasmine-core from 3.6.0 to 3.7.1 #1415
  • chore(deps-dev): bump ts-jest from 26.5.3 to 26.5.4 #1399
  • chore(deps): update spcp-auth-client, mockpass #1406

v5.2.0

16 Mar 07:03
Compare
Choose a tag to compare

Improved

  • feat: use isPossible for phone number validation #1317
  • test: jest tests for mobile number validation, including signature validation #1349
  • build: remove unused await-to-js #1345
  • feat: remove status key in ApplicationError class #1338

Dependency upgrades

  • fix(deps): bump @opengovsg/spcp-auth-client from 1.4.2 to 1.4.3 #1370
  • chore(deps-dev): bump @types/nodemailer from 6.4.0 to 6.4.1 #1373
  • chore(deps-dev): bump mockdate from 3.0.2 to 3.0.3 #1374
  • chore(deps-dev): bump eslint from 7.21.0 to 7.22.0 #1375
  • fix(deps): bump convict-format-with-validator from 6.0.0 to 6.0.1 #1369
  • chore(deps-dev): bump @types/convict from 6.0.0 to 6.0.1 #1371
  • chore(deps-dev): bump eslint-plugin-jest from 24.2.1 to 24.3.1 #1368
  • fix(deps): bump aws-sdk from 2.861.0 to 2.863.0 #1367
  • chore(deps-dev): bump ngrok from 3.4.0 to 3.4.1 #1363
  • fix(deps): bump connect-mongo from 4.3.1 to 4.4.0 #1357
  • fix(deps): bump @sentry/browser from 6.2.1 to 6.2.2 #1358
  • chore(deps-dev): bump @types/node from 14.14.33 to 14.14.34 #1364
  • chore(deps-dev): bump @opengovsg/mockpass from 2.6.5 to 2.6.6 #1359
  • fix(deps): bump @sentry/integrations from 6.2.1 to 6.2.2 #1360
  • chore(deps-dev): bump @babel/core from 7.13.8 to 7.13.10 #1354
  • fix(deps): bump @opengovsg/spcp-auth-client from 1.4.0 to 1.4.2 #1353
  • chore(deps-dev): bump @babel/plugin-transform-runtime #1331
  • fix(deps): bump libphonenumber-js from 1.9.12 to 1.9.13 #1352
  • chore(deps-dev): bump eslint-plugin-jest from 24.1.9 to 24.2.1 #1351
  • fix(deps): bump connect-mongo from 4.2.2 to 4.3.1 #1346
  • fix(deps): bump aws-sdk from 2.859.0 to 2.861.0 #1347
  • chore(deps-dev): bump @typescript-eslint/eslint-plugin #1336
  • chore(deps-dev): bump @babel/preset-env from 7.13.9 to 7.13.10 #1333