Skip to content

Latest commit

 

History

History
2199 lines (1845 loc) · 69.2 KB

CHANGES.rst

File metadata and controls

2199 lines (1845 loc) · 69.2 KB

Changelog for Onadata

* represents releases that introduce new migrations

v4.8.0(2024-09-23)

  • Update ona-oidc version to 1.1.1 PR #2708 <#2708> [@FrankApiyo]
  • Add support for OR operation data filter for date fields PR #2701 <#2704> [@kelvin-muchiri]

v4.7.1(2024-09-16)

  • Use chunked queryset when iterating queryset PR #2701 <#2701> [@kelvin-muchiri]

v4.7.0(2024-09-16)

  • Add logging to project view page: add why we get 400 in log PR #2699 <#2699> [@FrankApiyo]
  • Add missing model index changes PR #2697 <#2697> [@kelvin-muchiri]
  • Add index for logger_xform and logger_project deleted_at fields PR #2696 <#2696> [@FrankApiyo]
  • Pin submission post processing actions to master database PR #2694 <#2694> [@kelvin-muchiri]
  • Add config to disable user creation PR #2688 <#2688> [@ciremusyoka]
  • Add support for creating Entity via API PR #2683 <#2683> [@kelvin-muchiri]
  • Use eventual consistency to update EntityList num_entities PR #2651 <#2651> [@kelvin-muchiri]

v4.6.0(2024-09-02)

  • Cache xform list results PR #2692 <#2692> [@kelvin-muchiri]

v4.5.2(2024-08-30)

  • Add CustomScopedRateThrolle throttling class PR #2685 <#2689> [@FrankApiyo]

v4.5.1(2024-08-30)

  • Add throttle scopes for xform_list and xform_submission viewsets PR #2685 <#2685> [@FrankApiyo]

v4.5.0(2024-08-28)

  • Fix argument of type 'ProjectUserObjectPermission' is not iterable PR #2682 <#2682> [@kelvin-muchiri]
  • Updated docker file to use latest base images PR #2680 <#2680> [@ukanga]
  • Add support for downloading EntityList dataset PR #2678 <#2678> [@kelvin-muchiri]
  • Fix exception thrown when updating organization profile PR #2677 <#2677> [@FrankApiyo]
  • Create Entity only if submission is approved when form submission review is enabled PR #2673 <#2673> [@kelvin-muchiri]
  • docker: Use latest build of python-deps PR #2670 <#2670> [@ukanga]
  • Fix stale data sent to rest services after editing submission PR #2667 <#2667> [@kelvin-muchiri]
  • Add ability to have configurable Django admin path PR #2666 <#2666> [@kelvin-muchiri]
  • User per-role cache key for the organization_profile_viewset PR #2665 <#2665> [@FrankApiyo]

v4.4.0(2024-08-13)

  • Fix untracked Django's view of migration state PR #2663 <#2663> [@kelvin-muchiri]
  • Convert Entities docs from markdown into restructured text format PR #2662 <#2662> [@kelvin-muchiri]
  • Handle exceptions from running migrations PR #2661 <#2661> [@kelvin-muchiri]
  • Add ability to delete Entities in bulk PR #2660 <#2660> [@kelvin-muchiri]
  • Add Entities documentation to Sphinx table of contents tree PR #2659 <#2659> [@kelvin-muchiri]
  • Patch update django, sqlparse and certifi packages PR #2657 <#2657> [@KipSigei]

v4.3.4(2024-07-29)

  • Entities search PR #2643 <#2643> [@kelvin-muchiri]
  • Optimize updates to project date_modified field when submitting data PR #2642 <#2642> [@KipSigei]
  • Add support for defining Entity properties within grouped sections PR #2644 <#2644> [@kelvin-muchiri]
  • Remove default ordering on XForm, Attachment model PR #2645 <#2645> [@kelvin-muchiri]
  • Cache XForm manifest data PR #2646 <#2646> [@kelvin-muchiri]
  • Exclude deleted Entities from form's manifest data by PR #2648 <#2648> [@kelvin-muchiri]
  • Add email field to the organization serializer PR #2647 <#2647> [@FrankApiyo]
  • Use actual User, Group instances in migration file PR #2655 <#2655> [@kelvin-muchiri]

v4.3.3(2024-07-10)

  • Add Entity related data to forms on project retrieve endpoint PR #2639 <#2639> [@kelvin-muchiri]
  • Ignore EntityList model permissions on API endpoints PR #2635 <#2635> [@kelvin-muchiri]
  • Docs update PR #2629 <#2629> [@ukanga]
  • Make pending migrations PR #2632 <#2632> [@kelvin-muchiri]
  • Check attempts is truthy before int comparison PR #2618 <#2618> [@ukanga]
  • Tune migration performance PR #2631 <#2631> [@kelvin-muchiri]

v4.3.2(2024-07-02)

  • Security Updates PR #2624 <#2624> [@KipSigei]
  • Cleanup github action yaml file PR #2627 <#2627> [@ukanga]

v4.3.1(2024-06-28)

  • Fix 0 integer, decimal values parsed as string when saving json PR #2621 <#2621> [@kelvin-muchiri]

v4.3.0(2024-06-26)

  • Separate ecr image build to use arm64 runner for arm64 builds PR #2620 <#2620> [@kelvin-muchiri]
  • Add Entity updates PR #2592 <#2592> [@kelvin-muchiri]
  • Update messaging endpoint docs PR #2616 <#2616> [@KipSigei]
  • Fix ValueError for User instance primary key in password validation PR #2613 <#2613> [@KipSigei]

v4.2.2(2024-06-06)

  • Add support for merged dataset geojson format on endpoint /api/v1/data/<form_id> PR #2608 <#2608> [@kelvin-muchiri]

v4.2.1(2024-06-04)

  • Update Metadata action to capture tags PR #2610 <#2610> [@KipSigei]

v4.2.0(2024-06-03)

  • Add support for Entities PR #2504 <#2504> [@kelvin-muchiri]
  • Optimize attachment xform migration PR #2599 <#2599> [@kelvin-muchiri]
  • Fix exception thrown when deleting export PR #2600 <#2600> [@kelvin-muchiri]
  • Fix merged dataset permissions not applied on share PR #2598 <#2598> [@kelvin-muchiri]
  • Rebuild docker image with pyenv and on Ubuntu 22.04 runtime image. PR #2597 <#2597> [@ukanga]
  • Set permissions for merged dataset asynchronously PR #2600 <#2600> [@kelvin-muchiri]

v4.1.0(2024-05-03)

  • Fix API docs not created when building image PR #2589 <#2589> [@kelvin-muchiri]
  • Add xform to attachment model PR #2587 <#2587> [@ukanga]

v4.0.1(2024-04-15)

  • When an odk token expires is None, deactivate and replace PR #2583 <#2583> [@FrankApiyo]
  • Flatten select multiples in repeating sections during CSV import PR #2578 <#2578> [@kelvin-muchiri]

v4.0.0(2024-04-08)

  • Remove redundant Dockerfile used for development PR #2575 <#2575> [@kelvin-muchiri]
  • Add user to organization asynchronously PR #2574 <#2574> [@kelvin-muchiri]
  • Upgrade to Django 4.2 PR #2572 <#2572> [@ukanga]

v3.19.0(2024-03-26)

  • Security Remediations PR #2569 <#2569> [@KipSigei]
  • Add Instance History indexing to checksum & uuid fields PR #2564 <#2564> [@KipSigei]
  • Add migration to update old enketo urls PR #2552 <#2552> [@ciremusyoka]
  • Ignore child questions of grouped sections within repeating sections during CSV export PR #2559 <#2559> [@kelvin-muchiri]

v3.18.2(2024-02-23)

  • Improve perfomance of /status endpoint PR #2551 <#2558> [@FrankApiyo]

v3.18.1(2024-02-21)

  • Fix bug invalid endpoint when fetching media files PR #2551 <#2551> [@kelvin-muchiri]

v3.18.0(2024-02-05)

  • Fix SQL syntax error when grouping by select one PR #2549 <#2549> [@KipSigei]
  • Process Instance metadata from light tasks synchronously PR #2547 <#2547> [@kelvin-muchiri]

v3.17.3(2024-01-15)

  • Explicitly set AWS_S3_ENDPOINT_URL in boto3 configs PR #2540 <#2540> [@KipSigei]

v3.17.2(2023-12-18)

  • Security Updates PR #2529 <#2529> [@KipSigei]
  • Enable Token Authentication on Form List API PR #2525 <#2525> [@KipSigei]
  • Set AWS credentials when generating pre-signed URLS PR #2527 <#2527> [@ukanga]

v3.17.1(2023-12-11)

  • Enable TokenAuthentication on briefcase viewset PR #2523 <#2523> [@KipSigei]
  • Fix stale data sent to RapidPro when asynchronous processing of submissions is enabled PR #2522 <#2522> [@kelvin-muchiri]

v3.17.0(2023-11-24)

  • Create Composite Index for xform_id and id fields PR #2519 <#2519> [@KipSigei]
  • Filter out soft-deleted xforms from project forms endpoint PR #2515 <#2515> [@KipSigei]
  • Check length of paginated instances in briefcase viewset PR #2517 <#2517> [@KipSigei]

v3.16.0(2023-11-23)

  • Add custom template tag: settings_value PR #2510 <#2510> [@FrankApiyo]
  • Enhancement: Handle Statement Timeout in Briefcase Viewset PR #2508 <#2508> [@KipSigei]
  • Trigger database call to correctly capture OperationalError PR #2513 <#2513> [@KipSigei]
  • Upgrade Django for omitted requirements files PR #2512 <#2512> [@kelvin-muchiri]

v3.15.0(2023-11-17)

  • Upgrade Django to version 3.2.23 PR #2507 <#2507> [@kelvin-muchiri]
  • Custom project invitation template PR #2506 <#2506> [@kelvin-muchiri]
  • Soft delete xform from legacy UI PR #2506 <#2503> [@FrankApiyo]

v3.14.4(2023-11-07)

  • Bump oidc version to v1.0.3 PR #2501 <#2501> [@kelvin-muchiri]
  • Improve performance for attachments xform meta permissions check PR #2499 <#2499> [@KipSigei]
  • Create user auth token if doesn't exist upon retrieval PR #2496 <#2496> [@ciremusyoka]

v3.14.3(2023-10-30)

  • Stream response on endpoint /<username>/xformsManifest/<form_id> PR #2493 <#2493> [@kelvin-muchiri]
  • Allow only authenticated users with correct permissions to download media PR #2492 <#2492> [@KipSigei]

v3.14.2(2023-10-19)

  • Gracefully handle empty geoshapes and geotraces in data PR #2489 <#2489> [@KipSigei]
  • Save XML to JSON data in pre-save PR #2486 <#2486> [@kelvin-muchiri]

v3.14.1(2023-10-09)

  • Rebuilding to pick the latest google export changes. [@kelvin-muchiri]

v3.14.0(2023-10-02)

  • Ensure sas token is appended to azure blob attachment url PR #2482 <#2482> [@KipSigei]
  • Ensure geotrace and geoshape in repeats is included in GeoJSON data endpoint PR #2478 <#2478> [@KipSigei]
  • Data endpoint enhancements PR #2477 <#2477> [@kelvin-muchiri]

v3.13.1(2023-09-13)

  • Revert to have data exports default sorting by id PR #2474 <#2474> [@kelvin-muchiri]

v3.13.0(2023-09-04)

  • Add project and form level odk submission-list and download endpoints PR #2451 <#2451> [@KipSigei]
  • Fix async submission count discrepancy PR #2469 <#2469> [@KipSigei]

v3.12.2(2023-08-24)

  • Solve intermittent bug where form permissions are not applied for new forms PR #2470 <#2470> [@kelvin-muchiri]
  • Enhance performance when exporting data on endpoint api/v1/data/<form_id>.<format> PR #2460 <#2460> [@kelvin-muchiri]

v3.12.1(2023-08-14)

  • Fix pagination on endpoint /api/v2/open-data/<id>/data returning duplicates PR #2467 <#2467> [@kelvin-muchiri]
  • Update dependencies PR @2466 <#2466> [@KipSigei]
  • Fix attribute error when uploading xls datasets PR #2465 <#2465> [@FrankApiyo]

v3.12.0(2023-08-07)

  • Add indexes to instance model date fields PR #2393 <#2393> [@KipSigei]

v3.11.0(2023-07-28)

  • Ensure onadata can work in a multi-domain setup PR #2450 <#2450> [@FrankApiyo]
  • Fix AttributeError: 'ExportBuilder' object has no attribute 'to_google_sheets' PR #2458 <#2458> [@kelvin-muchiri]
  • Enhance performance of open-data endpoint api/v2/open-data/<uuid>/data PR #2456 <#2456> [@kelvin-muchiri]
  • Fix AttributeError: 'NoneType' object has no attribute 'strip' when exporting form data PR #2453 <#2453> [@kelvin-muchiri]
  • Add ability to create, update project invitations PR #2430 <#2430> [@kelvin-muchiri]

v3.10.1(2023-07-20)

  • Upgrade django to v3.2.20 PR #2454 <#2454> [@KipSigei]
  • Optimize attachments endpoint PR #2452 <#2452> [@KipSigei]

v3.10.0(2023-07-03)

  • Add task to permanently delete soft-deleted submissiions PR #2446 <#2446> [@KipSigei]
  • Update sqlparse package to fix security vulnerability PR #2447 <#2447> [@KipSigei]
  • Add ability to permanently delete submissions PR #2437 <#2437> [@KipSigei]
  • Update pyxform version to v1.12.0 with case management support PR #2341 <#2341> [@KipSigei]

v3.9.2(2023-06-19)

  • Fix open-data endpoint timeout bug PR #2435 <#2435> [@kelvin-muchiri]

v3.9.1(2023-06-07)

  • Add configurable timeouts for webhook requests PR #2419 <#2419> [@DavisRayM]
  • Handle AttributeError returned when element is None PR #2421 <#2421> [@DavisRayM]
  • Fix xlsx export bug on UI PR #2426 <#2426> [@KipSigei]
  • Fix unbound local error exception PR #2428 <#2428> [@KipSigei]
  • Upgrade django to v3.2.19 PR #2429 <#2429> [@KipSigei]

v3.9.0(2023-05-02)

  • Add azure token to media files urls PR #2388 <#2388> [@ciremusyoka]
  • Pass user-provided values as parameters PR #2394 <#2394> [@KipSigei]
  • Handle scenario where an inactive user is part of an Organization PR #2374 <#2374> [@DavisRayM]
  • Dependabot updates PR #2397 <#2397> [@KipSigei]
  • Allow authenticated users to download public form exports PR #2396 <#2396> [@ciremusyoka]
  • Update savreaderwriter version PR #2399 <#2399> [@DavisRayM]
  • ignore .python-version PR #2402 <#2402> [@kelvin-muchiri]
  • fix bug NoneType object has no attribute push PR #2403 <#2403> [@kelvin-muchiri]
  • Fix IndexError exception raised when comparing functions PR #2408 <#2403> [@DavisRayM]
  • Bump base image [@DavisRayM] PR #2409 <#2409>
  • Add statistics endpoint for actstream actions PR #2390 <#2390> [@DavisRayM]
  • Prevent numeric usernames on user creation [@KipSigei] PR #2407 <#2407>
  • Assign default team project role to users PR #2401 <#2401> [@DavisRayM]
  • [SAV Exports] Ensure duplicate metadata fields are handled accordingly PR #2412 <#2412> [@DavisRayM]
  • Strengthen password standards for users PR #2414 <#2414> [@DavisRayM]

v3.8.6(2023-03-07)

  • Handle cases of duplicate metadata fields within exports PR #2385 [@DavisRayM]
  • Update dependencies PR #2387 [@DavisRayM]
  • Add backward compatibility for existing .xls form downloads PR #2383 [@KipSigei]

v3.8.5(2023-02-22)

  • Fix: FieldError: Cannot resolve keyword 'json' into field from Attachment model PR #2380 [@FrankApiyo]

v3.8.4(2023-02-20)

  • Fix choice labels bug on filtered dataset exports PR #2372 [@KipSigei]
  • Fix: Media endpoint currently returns an empty list for filtered and merged datasets PR #2371 [@FrankApiyo]

v3.8.3(2023-02-14)

  • Filter out deleted submissiions from linked GeoJSON PR #2371 [@KipSigei]

v3.8.2(2023-02-07)

  • Remove spaces from user-agent cached key PR #2369 [@KipSigei]
  • Correctly remove group name for GPS field headers for xlsx exports PR #2364 [@KipSigei]

v3.8.1(2023-02-03)

  • Add custom throttling class PR #2365 [@DavisRayM]

v3.8.0(2023-02-01)

  • Ensure that the user row is selected alongside the Token PR #2362 [@FrankApiyo]
  • Render filtered datasets and merged datasets as geojson PR #2360 [@FrankApiyo]
  • Fix an issue where GPS Data within a group is not correctly extracted when group name is removed PR #2355 [@DavisRayM]
  • Update setuptools & futures packages PR #2353 [@DavisRayM]
  • Ensure external select to csv conversion works as expected PR #2349 [@DavisRayM]
  • Return correct geojson for polygons and geotrace data PR #2348 [@FrankApiyo]
  • Ensure Excel exports are in .xlsx format PR #2346 [@KipSigei]
  • Ensure user profiles are created before building user permissions object PR #2344 [@KipSigei]

v3.7.1(2022-12-21)

  • Formbuilder permission changes PR #2345 [@DavisRayM]

3.7.0(2022-12-07)

  • Update GeoJSON endpoint to filter by instances with geoms PR #2335 [@KipSigei]
  • Propagate project permissions to all KPI Assets PR #2336 [@DavisRayM]

3.6.2(2022-11-18)

v3.6.1(2022-11-10)

  • Retry post submission processing tasks if submission is not found PR #2333

v3.6.0(2022-10-31)

  • Update dependencies & update flaky tests PR #2327 [@DavisRayM]
  • Refresh google credentials once expired/invalid PR #2326 [@FrankApiyo]
  • Update github action workflows PR #2325 [@DavisRayM]

v3.5.0(2022-10-06)

  • Fix org members permissions PR #2323 [@KipSigei]
  • Add pagination to projects endpoint PR #2320 [@KipSigei]
  • Add pagination to forms endpoint PR #2319 [@KipSigei]

v3.4.0(2022-09-22)

  • Order submission URLs correctly PR #2313 [@ciremusyoka]
  • Check number of media files in test PR #2314 [@ukanga]
  • Remove group name prefix for grouped gps fields PR #2316 [@KipSigei]
  • Update CI Badge PR #2317 [@DavisRayM]

v3.3.2(2022-08-31)

  • Update application dependencies to address security vulnerabilities PR #2309 [@DavisRayM]
  • Remove username max_length constraint in ShareProjectSerializer PR #2311 [@KipSigei]
  • Switch to prospector to do static analysis PR #2310 [@ukanga]
  • Send Trivy summary to Slack PR #2306 [@DavisRayM]
  • Fix typo while retrieving configurations PR #2305 [@DavisRayM]
  • Handle data only repeat structure PR #2304 [@ukanga]
  • Ensure the default ignored flake8 errors are actually ignored PR #2302 [@DavisRayM]

v3.3.1(2022-08-22)

  • Fix boto3 configs typo PR #2305 [@DavisRayM]

v3.3.0(2022-08-22)

  • Correctly configure S3 client when generating presigned URLs PR #2301 [@DavisRayM]
  • Fix external choices form uploads PR #2300 [@KipSigei]
  • Fix AWS storage class typo PR #2298 [@KipSigei]
  • Update generate_platform_stats management command with extra columns PR #2297 [@DavisRayM]
  • Add ability to paginate geojson responses PR #2295 [@KipSigei]

v3.2.0(2022-07-13)

  • Fix an issue when trying to access azure attachments with the suffix query param PR #2289 [@DavisRayM]

v3.1.1(2022-07-08)

  • Update translate template tag PR #2289 [@DavisRayM]
  • Update Azure dependencies PR #2267 [@DavisRayM]

v3.1.0(2022-07-08)

  • Add dependabot configuration and trivy scans PR PR #2262 [@DavisRayM]
  • Add CSP Support PR #2270 [@ukanga]
  • Link a dataset as GeoJSON PR #2272 [@KipSigei]
  • Run Docker build workflows on main branch PR #2275 [@DavisRayM]
  • Show correct form validation errors PR #2278 [@KipSigei]
  • Upgrade Django to v3.2.14 PR #2278 [@KipSigei]

v3.0.4(2022-06-14)

  • Add geojson simplestyle-spec support PR #2255 [@KipSigei]
  • Fix data type of filtered /data JSON response PR #2256 [@ukanga]
  • Use xlsx file object instead of absolute path PR #2257 [@KipSigei]
  • Add netcat to allow liveness/readiness probes that make use of open port checks. PR #2259 [@ukanga]
  • Fix netcat package include in Dockerfile PR #2260 [@ukanga]

v3.0.3(2022-06-03)

  • current_task is Instance of task being executed, or None PR #2246 [@ukanga]
  • Revert "Add additional scopes required when refreshing tokens" PR #2249 [@DavisRayM]
  • Use updated savreaderwriter to allow SAV exports PR #2248 [@ukanga]
  • Handle parse error in submissions PR #2247 [@ukanga]
  • Use sentry-sdk PR #2251 [@ukanga]

v3.0.2(2022-05-26)

  • Add additional required google sheets scopes PR #2244 [@DavisRayM]

v3.0.1(2022-05-25)

  • Fix xlsx url upload PR #2238 [@KipSigei]
  • Update reserved usernames list PR #2239 [@DavisRayM]

v3.0.0(2022-05-20)

  • Upgrade to latest Pyxform version PR #2227 [@KipSigei]
  • Sync dependencies PR #2233 [@KipSigei}
  • Upgrade dependencies for Django 3.x upgrade PR #2230 [@ukanga @KipSigei @DavisRayM]

v2.5.20(2022-04-11)

  • Install uwsgitop on the docker builds PR #2216 [@DavisRayM]
  • Handle cases where an export object is not retrievable when creating an external export PR #2220 [@DavisRayM]
  • Bump ona-oidc version to v0.0.10 PR #2221 [@DavisRayM]
  • Return an AuthenticationFailed exception instead of a 404 when Enketo token is not retrievable PR #2219 [@DavisRayM]

v2.5.19(2022-03-23)

  • Add management command to generate platform statistics PR #2206 [@DavisRayM]

v2.5.18(2022-03-08)

  • Fix circular imports on export builder module PR #2208 [@KipSigei]

v2.5.17(2022-03-08)

Release v2.5.17 has known issues; See `PR #2208 <https://github.com/onaio/onadata/pull/2208>`_

  • Support split select multiple for CSV & XLS exports when random param is set to true PR #2205 [@KipSigei]

v2.5.16(2022-02-16)

  • Avoid RuntimeError caused by using keys modified in loop PR #2197 [@DavisRayM]
  • Add support for AzureStorage PR #2199 [@DavisRayM]

v2.5.15(2022-02-09)

  • Handle uncaught StopIteration exception PR #2192 [@DavisRayM]
  • Add management command that can send out an email with an attachment PR #2193 [@DavisRayM]
  • Utilize queryset iterators for permission retrieval PR #2189 [@DavisRayM]

v2.5.14(2022-02-01)

  • Add xls_available field to the XFormSerializer PR #2174 [@DavisRayM]
  • Add management command to create user profiles for accounts that don't have them PR #2184 [@KipSigei]

v2.5.13(2022-01-11)

  • Disable ARM Docker builds PR #2171 [@DavisRayM]
  • Bump ona-oidc version PR #2172 PR #2175 [@DavisRayM]
  • Handle columns in groups and repeats in get_column_by_type PR #2131 [@ukanga]
  • Enforce XForm meta permissions on the attachment viewset PR #2178 [@DavisRayM]
  • Use cache to store submission stats PR #2176 [@denniswambua]

v2.5.12(2021-11-26)

  • Ignore form permissions when an Export is from a public form PR #2164 [@DavisRayM]
  • Fix charts group by multiple fields and check content type PR #2151 [@LeonRomo]
  • Fix csv import overwrite which only updated the soft deleted submissions. PR #2166 [@denniswambua]
  • Use auth user model for _submitted_by field stats query PR #2167 [@denniswambua]
  • Bump ona-oidc version to 86d8cd PR #2169 [@DavisRayM]
  • Default response format to JSON for the Charts endpoint PR #2170 [@DavisRayM]

v2.5.11(2021-11-01)

  • Bump the ona-oidc requirement to v0.0.8. PR #2162 [@DavisRayM]
  • Return X-OpenRosa-Accept-Content-Length header for requests failing with 401 status code. PR #2152 [@WinnyTroy]

v2.5.10(2021-10-7)

  • Ensure that user_profile is serialized before caching PR #2147 [@FrankApiyo]
  • Clean out related object upon XForm deletion PR 2136 [@WinnyTroy]
  • Allow users to filter by NULL on the data endpoint PR #2144 [@WinnyTroy]
  • Add management command to remove columns from submission XML PR #2143 [@DavisRayM]
  • Bump ona-oidc version from v0.0.6 to v0.0.7 PR #2154 [@DavisRayM]
  • Generate XForm headers in CSV exports for XForms without submissions PR #2137 [@WinnyTroy]
  • Query optimizations for the Briefcase viewset PR #2142 [@DavisRayM]

v2.5.9(2021-08-27)

  • Ensure exports are re-generated on submission delete PR #2132 [@DavisRayM]
  • Update validation checks that are run on XForm titles PR #2135 [@WinnyTroy]
  • Ensure Pagination and sorting are implemented on the data endpoint PR #2113 [@WinnyTroy]
  • Ensure internal routing is supported on the onadata-uwsgi docker image PR #2134 [@DavisRayM]
  • Remove namespace attribute from returned XML if present PR #2139 [@DavisRayM]
  • Ensure incomplete submissions are not returned on the Briefcase API PR #2140 [@DavisRayM]

v2.5.8(2021-07-29)

  • Add retrieve_org_or_project_list management command PR #2098 [@DavisRayM]
  • Open ID - Add name claim splitting functionality PR #2109 [@DavisRayM]
  • Add metadata fields present in the JSON response to the XML response PR #2114 [@DavisRayM]
  • Replace internal OpenID Connect tools for ona-oidc PR #2096 [@WinnyTroy]
  • Ensure content-disposition header is correctly encoded PR #2116 [@DavisRayM]
  • Add enketo encryption namespaces PR #2122 [@denniswambua]
  • Add sumission review docs to main index file PR #2123 [@WinnyTroy]
  • Withdraw user email from user activity metric data PR #2124 [@WinnyTroy]
  • Add signals that send out emails for accounts that are in-active PR #2127 [@DavisRayM]

v2.5.7(2021-06-14)

  • Update data endpoint documentation PR #2100 [@WinnyTroy]
  • Add service_health view function PR #2097 [@DavisRayM]
  • Add CI Test Github Actions workflow PR #2102 [@DavisRayM]

v2.5.6(2021-06-02)

  • Expose ability to delete a subset or all submissions from the data endpoint PR #2076 [@WinnyTroy]
  • Tableau WDC media file urls enhancement PR #2074 [@WinnyTroy]
  • Add the default authentication classes to the export viewset PR #2023 [@DavisRayM]
  • Update requirements PR #2070 [@DavisRayM]
  • Check if user is an AnonymousUser before trying to retrieve their project role PR #2084 [@DavisRayM]
  • Add optional flow_title field to the TextItService PR #2086 [@DavisRayM]
  • Update onadata-uwsgi docker file PR #2087 [@DavisRayM]
  • Expound on field query param for the data json format and geojson format PR #2085 [@WinnyTroy]
  • Add error_message field to the Export serializer PR #2094 [@DavisRayM]

v2.5.5(2021-05-17)

  • Add documentation for the messaging endpoint PR #2026 [@DavisRayM]
  • Fix submission deletion endpoint error PR #2060 [@DavisRayM]
  • Add review date column on data exports PR #2057 [@DavisRayM]
  • Ignore accepted renderer & media type for the export async endpoint PR #2027 [@denniswambua]
  • Project - XForm shared status sync changes PR #2049 [@DavisRayM]
  • Ensure project owners are able to view all their collaborators from the project list PR #2073 [@DavisRayM]
  • Add pagination for the messaging endpoint PR #2068 [@DavisRayM]
  • Remove #text element from XML responses PR #2079 [@DavisRayM]
  • Track users who initiate CSV imports PR #2078 [@DavisRayM]
  • Set status to imported_via_csv for CSV Imported submissions PR #2077 [@DavisRayM]

v2.5.4(2021-04-23)

  • Add review date PR #2044 [@WinnyTroy]
  • Add support for sort and handle streaming of empty datasets on XML Responses PR #2039 [@DavisRayM]
  • Ensure that the CSV Import status is updated on failed import PR #2046 [@DavisRayM]
  • Update Django version to the latest 2.2.* version PR #2047 [@DavisRayM]

v2.5.3(2021-03-23)

  • Add github workflow to build an AWS ECR image PR #2034 [@DavisRayM]
  • Publish arm64 Docker Image PR #2042 [@morrismukiri]
  • Lockout IP Changes PR #2040 [@DavisRayM]

v2.5.2(2021-03-10)

  • Fix "Different root node name" issue PR #2029 [@DavisRayM]
  • Update PyXForm dependency to v1.4.0 PR #2031 [@DavisRayM]

v2.5.1(2021-02-23)

  • Use master database when updating an XForms Submission Count PR #2002 [@DavisRayM]
  • Lockout users based on specific IPs instead of username PR #1978 [@DavisRayM]
  • Add pagination & xml support to the data list endpoint PR #2005 [@DavisRayM]
  • Paginate data list responses after a configurable threshold PR #2010 [@DavisRayM]
  • Trigger error on url in xform title PR #2007 [@ivermac]
  • Check if XForm is a MergedXForm and merge field choices if it is(a MergedXForm) PR #2011 [@FrankApiyo]
  • Support query by date_modified field * PR #2009 [@DavisRayM]
  • Capture attachment file names whose name exceeds 100 chars PR #2003 [@WinnyTroy]
  • Merge select one and select multiple options at MergedXform creation PR #2015 [@FrankApiyo]
  • Use language parameter to create exports PR #2014 [@FrankApiyo]
  • Fix Charts endpoint JSON response not rendering PR #2022 [@DavisRayM]

v2.5.0(2021-01-21)

  • Clear cache and refresh user profile on email verification PR #1970 [@DavisRayM]
  • Add timestamp filter for the Messaging Viewset PR #1973 [@DavisRayM]
  • Introduce Tableau v2 PR #1910 [@WinnyTroy]
  • Handle TypeError raised when current_count value is None PR #1980 [@DavisRayM]
  • Add pagination headers to the paginated DataViewSet response PR #1977 [@DavisRayM]
  • Add support for querying a column with multiple conditions PR #1981 [@DavisRayM]
  • Retrieve user profile using case insensitive username filter PR #1988 [@DavisRayM]
  • validate input fields on put form endpoint requests PR #1991 [@ivermac]
  • Update Tableau Documentation PR #1989 [@WinnyTroy]
  • sanitize input recieved by media endpoint PR #1997 [@ivermac]

v2.4.9(2020-12-17)

  • Update submission metrics collection PR #1895 [@WinnyTroy]
  • XForm and Data ViewSet updates PR #1971 [@DavisRayM]

v2.4.8(2020-12-14)

  • Fix failing URL upload test PR #1954 [@DavisRayM]
  • Add enketo-preview url routed to PreviewXFormListViewSet PR #1953 [@FrankApiyo]
  • Data viewset retrieval optimisations PR #1966 [@DavisRayM]
  • Update "onadata-uwsgi" docker file PR #1956 [@DavisRayM]

v2.4.7(2020-11-16)

  • Change Instance Webhooks to be fully asynchronous PR #1949 [@DavisRayM]

2.4.6(2020-11-10)

  • Ensure project permissions are upgraded on project transfer PR #1932 [@DavisRayM]
  • Check submission encryption status before Instance creation PR #1938 [@DavisRayM]
  • Downgrade celery requirement PR #1942 [@DavisRayM]
  • Dockerfile updates PR #1937 [@DavisRayM]

v2.4.5(2020-10-23)

  • Update Requirements PR #1905 [@DavisRayM]

v2.4.4(2020-10-15)

  • Re-set project cache using up-to-date project object PR #1927 [@DavisRayM]

v2.4.3(2020-10-12)

  • Project Viewset: Caching refactor PR #1902 [@DavisRayM]
  • Ensure only select_multiple questions are flattened into one column PR #1912 [@DavisRayM]
  • Handle replication lag when authenticating with a Bearer Token PR #1922 [@DavisRayM]

v2.4.2(2020-09-21)

  • CSV Import: Handle re-importing of select_multiple questions PR #1852 [@DavisRayM]
  • Limit message payload sizes PR #1893 [@DavisRayM]
  • Main API view updates PR #1900 [@DavisRayM]

v2.4.1(2020-09-03)

  • Fix enketo edit link generation PR #1887 [@DavisRayM]

v2.4.0(2020-09-01)

  • Initial support for tracking submissions with Segment PR #1872 [@DavisRayM]
  • Add caching to the organization profile viewset PR #1876 [@FrankApiyo]
  • Include support for repeat groups in the Tableau-Onadata integration PR #1845 [@WinnyTroy]
  • Enketo intergration updates PR #1857 [@WinnyTroy]
  • Unpack GPS data into separate columns for altitude, precision, latitude and longitude PR #1880 [@WinnyTroy]

v2.3.8(2020-08-25)

  • Fix an issue where project endpoint cache would stay stale on Project Update PR #1874 [@FrankApiyo]
  • Add support for email:password login on the main views PR #1878 [@DavisRayM]

v2.3.7(2020-08-11)

  • Add a way to elongate ODKToken expiry data * PR #1847 [@DavisRayM]
  • Set the correct root node for created submissions PR #1853 [@DavisRayM]
  • Ensure only XForm admins & managers can review submissions PR #1864 [@DavisRayM]
  • Stop duplication of RapidPro submissions on edit PR #1869 [@DavisRayM]

v2.3.6(2020-07-29)

  • Return FLOIP data for Merged Datasets* PR #1773 [@DavisRayM]
  • Add deletion suffix to a Users email upon soft deletion PR #1844 [@WinnyTroy]
  • Add more flexible MQTT Topics PR #1850 [@lincmba]
  • Include support for select_multiple questions on Tableau connector PR #1835 [@WinnyTroy]

v2.3.5(2020-06-18)

  • Introduced caching for UserProfile objects PR #1823 [@WinnyTroy]
  • Send CRUD notifications for Forms, Submissions and SubmissionReviews PR #1793 [@lincmba]
  • Set enketo cookie __enketo_meta_username on login PR #1834 [@FrankApiyo]

v2.3.4(2020-06-15)

  • Use last name as first name if not present in OpenID Connect identification token PR #1831 [@DavisRayM]

v2.3.3(2020-05-19)

  • Fix an issue where file attachments/uploads were automatically soft-deleted PR #1816 [@DavisRayM]
  • Cache projects after creation and retrieve the project from cache in subsequent requests PR #1819 [@KipSigei]
  • Fix an issue where anonymous submissions from Enketo would fail PR #1825 [@WinnyTroy]
  • Add a management command that deletes users PR #1717 [@WinnyTroy]
  • Ensure that authenticated users can only submit to forms they have access to PR #1804 [@DavisRayM]
  • Add support for Tableau v2 PR #1820 [@WinnyTroy]
  • Add setting to optional turn off creation of public projects & xforms PR #1829 [@DavisRayM]

v2.3.2(2020-05-05)

  • Update google sheets connection when data is updated or deleted PR #1808 [@KipSigei]
  • Fix errors encountered when utilizing a master-replica database setup PR #1813 [@DavisRayM]

v2.3.1(2020-04-14)

  • Use master database when fetching external export metadata information PR #1760 [@WinnyTroy]
  • Add support for latest RapidPro webhook posts PR #1807 [@DavisRayM]
  • Handle dynamic choice names while generating SAV exports PR #1806 [@DavisRayM]

v2.3.0(2020-04-07)*

  • Set deletied_by field when deleting XForms asynchronously PR #1798 [@DavisRayM]
  • Add and utilize consistent enketo URLS PR #1775 PR #1799 [@DavisRayM]
  • Invalidate sessions on password change PR #1783 [@DavisRayM]
  • Update dependencies PR #1788 [@DavisRayM]
  • Update PyXForm to v1.1.0 PR #1796 [@DavisRayM]

v2.2.1 (2020-02-20)*

Bug fixes and changes

  • Upgrade pyxform to v0.15.1 PR #1722 [@DavisRayM]
  • Add ability to soft-delete attachments PR #1698 [@WinnyTroy]
  • Update requirement files PR #1785 [@DavisRayM]

v2.2.0 (2020-02-12)*

Bug fixes and changes

  • Set X-Frame-Options-Middleware PR #1766 [@WinnyTroy]
  • Handle error thrown by urllib PR #1765 [@DavisRayM]
  • Allow the $or filter to accept null values PR #1749 [@DavisRayM]
  • Upgrade to Django v2.2 PR #1770 [@DavisRayM]

v2.1.2 (2020-01-09)

Bug fixes and changes

  • Enforce case-insensitivity for the username when making a submission PR #1762 [@DavisRayM]
  • Fix an issue caused by Owners of organizations lacking permissions to the Organization User Profile PR #1757 [@DavisRayM]
  • Enforce datatype constraints on CSV Imports PR #1716 [@DavisRayM]

v2.1.1 (2020-01-08)*

Bug fixes and changes

  • Add contribution guideline, issue template and pull request template PR #1750 [@DavisRayM]
  • Properly handle spaces within CSV usernames while sharing project PR #1741 [@DavisRayM]
  • Allow null values on the database level for the public_key field in the XForm model PR #1740 [@DavisRayM]
  • Fix issue where the /orgs endpoint would return duplicate member names PR #1752 [@ukanga]
  • Allow any user to submit to a form when require_authentication is False PR #1753 [@FrankApiyo]
  • Only return projects tied to an Active user PR #1732 [@FrankApiyo]

v2.1.0 (2019-12-06)*

New Features

  • Add ODKToken model and authentication PR #1705 PR #1707 PR #1712 [@DavisRayM]
  • Add ability to share a project to multiple users PR #1704 [@DavisRayM]
  • Add OpenID Connect functionality PR #1706 PR #1727 [@ivermac , @DavisRayM]
  • Add ability to encrypt forms after creation PR #1708 [@DavisRayM]
  • Add a way to deactivate organizations by default on create PR #1733 [@DavisRayM]

Bug fixes and changes

  • Fix form level permission restrictions on search PR #1691 [@lincmba]
  • Validate auth user username before creating Registration Profile PR #1680 [@WinnyTroy]
  • Modify flow results response endpoints response formatting PR #1695 [@DavisRayM]
  • Use the master database when calling notification backends PR #1703 [@DavisRayM]
  • Fix MemCachedLengthError when locking out users PR #1713 [@DavisRayM]
  • Return non digit XForm versions PR #1728 [@DavisRayM]
  • Stop lower casing usernames when retrieving users through XFormListViewSet PR #1738 [@DavisRayM]
  • Return members of the Owner team on the /orgs endpoint PR #1734 [@DavisRayM]

2.0.11 (2019-09-19)

  • Send email only once in a lockout session Issue #1687 [@ukanga]
  • Ignore ODK APIs on lockout session checks Issue #1688 [@ukanga]

2.0.10 (2019-09-04)

  • Include create model mixin to the Connect Viewset PR #1683 [@WinnyTroy]

2.0.9 (2019-09-03)

  • Submission Review fails when payload is used PR #1623 [@lincmba, @WinnyTroy]
  • Only use type, name and label columns when merging forms PR #1587 [@WinnyTroy]

2.0.8 (2019-08-21)

  • Include media-type filter on media endpoint PR #1644 [@WinnyTroy]
  • Create count endpoint to get total number of attachments in media enpoint PR #1665 [@RayceeM]
  • Set rate limits on change password attempts PR #1675 [@RayceeM]
  • Override django inbuilt password reset token generation PR #1651 [@WinnyTroy]
  • Switch email headers attributes for user verification emails PR #1667 [@WinnyTroy]

2.0.7 (2019-07-24)

  • Fix maximum recursion depth error on caching login attempts PR #1661 [@ukanga]

2.0.6 (2019-07-17)

  • Handle negative number strings to number values correctly PR #1641 [@WinnyTroy]
  • Fix MemcachedKeyCharacterError error PR #1653 [@ukanga]

2.0.5 (2019-07-15)

  • Replace load_class with Django's import_string function PR #1636 [@p-netm]
  • Set deleted_by user on submission deletions. PR #1640 [@WinnyTroy]
  • Handle OperationalError exceptions due to canceling statement due to conflicts PR #906 [@WinnyTroy]
  • Prevent KeyError exceptions on missing labels for SPSS exports PR #1629 [@WinnyTroy]
  • Add attachment type filter on attachments endpoint PR #1644 [@WinnyTroy]

2.0.4 (2019-06-13)

  • Only convert to string sav_writer values. PR #1621 [@lincmba]
  • Rate-Limit login attempts PR #1622 [@lincmba]
  • Allow blank notes in reviewing Approved/Pending submissions Fixes #1623 [@lincmba]
  • Fix TypeError on getting async csv import status Fixes #1624 [@lincmba]

2.0.3 (2019-06-06)

  • Get rid of _async keyword on Parsed Instance save() method Fixes #1615 [@lincmba]
  • Pin temptoken authentication to master database Fixes #1616 [@lincmba]

2.0.2 (2019-05-30)

  • Rename variables whose name is async Fixes #1608 [@ivermac ]
  • Process uid as string not binary Fixes #1610 [@lincmba ]

2.0.1 (2019-05-28)

  • Remove message attribute from Exceptions Fixes #1609 [@lincmba]

2.0.0 (2019-05-24)

  • Handle errors in custom renderers. Fixes #1598 [@lincmba]
  • Check report_xform permission on enketo URL requests PR #1602 [@ukanga]
  • Upgrade to django 2.0 PR #1559 [@bmarika, @lincmba]

1.19.4 (2019-04-08)

  • Expose submissions URL to Enketo. Pull #1526 [@WinnyTroy and @lincmba]
  • Load one image at a time in classic photo view. Fix #1560 [@lincmba]
  • Add transferproject command to transfer project between users. Issue #1491 [@bmarika]
  • Add MetaData.submission_review() function for submission reviews metadata. Fix #1585 [@lincmba]
  • Fixes on ZIP_REPORT_ATTACHMENT_LIMIT Fix #1592 [@lincmba]
  • Fix unicode TypeError on publishing text_xls_form strings. Fix #1593 [@ukanga]

1.19.3 (2019-03-08)

  • Convert excel date format to csv format Fixes #1577 [@lincmba]

1.19.2 (2019-02-28)

  • Optimize attachment query by removing sort and count PR #1578 [@ukanga]

1.19.1 (2019-02-26)

  • Fix TypeError on change_password when format is supplied on URL. PR #1572 [@bmarika]

1.19.0 (2019-02-21)

  • Fix Data Upload Failing Fixes #1561 [@lincmba]
  • Upgrade to pyxform version 0.13.1 PR #1570 [@ukanga]

1.18.1 (2019-02-07)

  • Pick passed format or default to json in GenericRelatedField serializer PR #1558 [lincmba]

1.18.0 (2019-01-24)

1.17.0 (2018-12-19)

  • Fix external Choices with number names Fixes #1485 [lincmba]
  • Remove link expiration message on verification email Fixes #1489 [lincmba]
  • Only generate hash for linked datasets Fixes #1411 [lincmba]
  • Fix merged dataset with deleted parent Fixes #1511 [lincmba]
  • Update/upgrade packages PR 1522 [lincmba, ukanga]

1.16.0 (2018-12-06)

  • Fix order extra columns in multiple select exports. Fixes #873 [lincmba]
  • Update user roles according to xform meta permissions provided. Fixes #1479 [lincmba]
  • Performance optimisation - use content_type to determine metadata content_object type. Issue #2475 [ukanga]
  • Excel bulk data import support. Issue #1432 [lincmba]
  • Add submission fields to data exports. Issue #1477 [kahummer]
  • Fix error on deleting xform with long id_string or sms_id_string. Issue #1430 [lincmba]
  • Set Default TEMP_TOKEN_EXPIRY_TIME. Issue #1500 [lincmba]

1.15.0 (2018-10-10)

  • Submission Reviews Issue #1428 [DavisRayM, lincmba, moshthepitt]
  • Track password edits. Issue #1454 [lincmba]

1.14.6 (2018-09-03)

1.14.6 (2018-09-03)

  • Track password edits. Issue #1456 [lincmba]
  • Enable email verification for accounts created via API, Issue #1442 [ivermac]
  • Raise Validation Error when merging forms if there is a PyXFormError exception raised. Issue #1153 [ukanga]
  • Update requirements/s3.pip Issue #1465 [ukanga]

1.14.5 (2018-08-15)

  • Fix Image resize() function to use file object directly. Issue #1439 [wambere]
  • CSV upload updates Issue #1444 [ukanga]
  • Updated/upgraded packages

1.14.4 (2018-06-21)

  • Support exporting labels for selects in the data. Issue 1427 [ukanga]
  • Handle UnreadablePostError exception in submissions.. Issue 847 [ukanga]
  • Support download of CSV XLSForm, Commit 4abd30d [ukanga]

1.14.3 (2018-05-30)

  • Support value_select_multiples option in flat CSV, support binary_select_multiples option in API exports. Issue 1409 [ukanga]
  • Check the value of the variable remove when sharing a project with team or collaborators, and only remove if value is true Issue 1415 [wambere]
  • Fix TypeError on SPPS Exports with external choices. Issue 1410 [ukanga]
  • Generate XForm hash after every XML change has been applied. Issue 1417 [ukanga]
  • Add api/v1/profiles/[username]/monthly_submissions endpoint. Issue 1423 [wambere]
  • Show metadata only to the owner Issue 1416 [ukanga]
  • Return flow results response timestamp in rfc3339 format explicitly Issue 1420 [ukanga]

1.14.2 (2018-05-14)

  • Update check_xform_uuid() to only check for non deleted forms Issue 1403 [ukanga]
  • Persist Flow Results Contact ID and Session ID Issue 1398 [ukanga]
  • Include form version in ODK formList endpoint Issue 1195 [ukanga]
  • Reorder how attachments are saved Issue 961 [wambere]

1.14.1 (2018-05-07)

  • Fix decimal filter for dataview Issue 1393 [wambere]

1.14.0 (2018-05-03)

  • Python 3 support Issue 1295 [moshthepitt, pld, wambere]
  • Add TLS support to messaging Issue 1366 [ukanga]
  • Add date format to submission time filter for forms Issue 1374 [wambere]
  • Update copyright year to 2018 Issue 1376 [pld]
  • Catch IOError when saving osm data Issue 1382 [wambere]
  • Remove deleted dataviews from project page Issue 1383 [wambere]
  • Add deleted by field to projects Issue 1384 [wambere]
  • Add check if user has permission to add a project to a profile Issue 1385 [ukanga]
  • Remove note field from csv export appearing in repeat groups Issue 1388 [wambere]
  • Add created by field to cloned forms Issue 1389 [wambere]

1.13.2 (2018-04-11)

  • Bump pyxform version to 0.11.1 Issue 1355 [ukanga]
  • Update privacy policy to point to hosted privacy policy, tos, and license Issue 1360 [pld]
  • Use resource_name responses for responses endpoint Issue 1362 [ukanga]

1.13.1 (2018-04-04)

  • Refactor JSON streaming on data endpoints and removal of X-Total Header Issue 1290 [wambere]
  • Handle Integrity error on creating a project with the same name Issue 928 [wambere]
  • Add OSM tags as fields in Excel, SAV/SPSS, CSV zipped exports Issue 1182 [wambere]
  • Delete filtered datasets linked to a form when deleting a form Issue 964 [wambere]
  • Add timestamp to Messaging Issue 1332 [moshthepitt]
  • Update messaging schema for forms to include metadata of the form. Issue 1331 [moshthepitt]
  • Improve setup.py and dependency management Issue 1330 [moshthepitt]