We are pleased to announce a new release of KoboToolbox comprising the following components:
- KPI version 2.023.21
- KoBoCAT version 2.023.21
- Pyxform version 1.9.0, unchanged from the previous release
- Enketo Express:
6.1.0[Enketo has been rolled back to the previous release; see posts below]
- kobo.humanitarianresponse.info is complete as of 04:15 UTC on 17 July 2023
- kf.kobotoolbox.org is complete as of 20:15 UTC on 25 July 2023
This is primarily a maintenance release with few user-facing changes:
|kpi#4419||Add Amharic as a UI translation and change German language code
Add a UI Translation for Amharic and change the UI language code for German
|kpi#4321||Fix the mandatory asterisk not updating properly
Previously mandatory asterisk in Form Builder (next to row name) was only updated on initial opening of the form. Now it also updates whenever it is being changed in the row settings.
|kpi#4442||Update radio and checkbox styles
Simplified and more modern styles for checkboxes and radio inputs
|kpi#4426||TagsInput component cleanup
Slightly update the styles for tags editing to better fit with new UI look.
|kobocat#883||Update Helm version, namespace, deployment name for beta staging environment|
|kpi#4280||Add NLP usage to Users’ Statistics superuser report|
|kpi#4418||update django allauth version from 0.52.0 → 0.54.0
Updated django-allauth, fixing an issue where OpenID Connect social providers wouldn’t pre-populate the email field at signup.
|kpi#4438||Update default sign-up text|
|kobocat#877||Replace deprecated constants in GitLab CI|
|kpi#4291||Add endpoint for Stripe webhook
Made dj-stripe webhook endpoint accessible to connect to Stripe for payments
|kpi#4305||Switch to Stripe prices instead of plans
Switch Stripe integration from (legacy) plans to prices model.
|kpi#4309||Add Organization Owner’s email to Organization model
Add the Organization Owner’s email to the Organization model to allow it to meet dj-stripe requirements
|kpi#4315||Add documentation to Products endpoint|
|kpi#4317||Stripe Checkout link endpoints
Adds two KPI endpoints, one that generates a Stripe checkout session and returns a payment link, and one that creates a Customer Portal link.
|kpi#4329||Add tests for the Stripe checkout link and customer portal API endpoints. Also fixes some issues with the endpoints discovered while getting tests passing.|
|kpi#4330||Add subscription tiers|
|kpi#4333||Create a request callback method for dj-stripe
Create a callback function for dj-stripe to use a custom subscriber model
|kpi#4335||Stripe subscription management
Changes the redirects after Stripe sessions to point to the proper URL. Add ‘Manage’ button to the currently subscribed plan, which redirects to the Stripe customer portal. Moves the Your Plan display based on the logged-in user’s current plan.
|kpi#4371||Endpoint to list purchased one-time add-ons
<Adds a new internal endpoint at
|kpi#4385||Add the plans page for subscriptions with Stripe. Users are able to see current plan and upgrade through Stripe checkout to a different subscription plan.
Also removes a too-narrow assertion in test_link_creation_api.py.
|kpi#4392||Add success message after Stripe checkout
Adds a success popup when a user returns from a successful transaction at Stripe.
|kpi#4398||Remove [Button triggers] from frontend strings
|kpi#4400||Show correct UI on plans page when there are inactive/multiple plans
Fixes an issue that caused the Plans page to falsely show the user as belonging to no plan when they had a subscription that wasn’t active.
|kpi#4417||Always recreate fonts when syncing npm dependencies in dev mode
Fix error when
|kpi#4420||Fix flashing plan banner
Added the loading animation for when data is being fetched and when the data is updating. The plans and included banner won’t show until all data has completed loading especially after upgrading.
|kpi#4424||Billing page multisite compatibility / Change subscription route
Changes the ID field of Organizations to work with dj-stripe webhooks on multiple sites.
Adds an API route to change existing Stripe subscriptions to a different price.
|kpi#4433||Replace deprecated constants in GitLab CI
Fixed an issue that was causing GitLab CI to fail during the build step.
|kpi#4437||Show “your plan” only on the correct annual/monthly setting
When page redirects the banner now only shows on the monthly/annual plan you upgraded to when you toggle between the two filters. It will load the filter to show based on what you are subscribed to. If there is no plan subscribed then show annual community plan by default. When subscribed to the pro plan show on the opposite filter a ‘change plan’ button so the user has a call to action when their plan is not visible.
|kpi#4452||Billing MVP live test fixes
Fixed an issue where plans would show up in the wrong order.
Fixed an issue that caused add-ons to show up in the plans section.
Made multiple plans or cancelled plans properly reflected on the Billing page.
|kpi#4458||Check for dj-stripe before attempting to migrate Subscriber foreign keys
Fixes a migration for Organizations that was not working.
|kpi#4478||Require authentication to check for existence of usernames via the user detail endpoint|
|kpi#4479||Remove asset list from user serializer|
|kpi#4480||Expunge remnants of Font Awesome|
|kpi#4485||Update helm version and namespace for beta staging environment|
|kpi#4498||Prevent Node.js 18 provided by Debian 12 from taking precedence over the Node.js 16 package provided by NodeSource
|kpi#4451||Display long-run warning for migration 0050 only where appropriate|
It narrows down the list of objects matching the status filter.
|kpi#4448||Fix an occasional error when a project is deleted
|kpi#4447||Clean up Celery autoscale settings|
|kpi#4443||Improve long-running trash-bin tasks duration
Make deletion tasks run quickly and increase the amount of time they are allowed to run
|kobocat#879||Autoscale Celery between 2 and 6 workers and allow configuration via environment variables|
|kobocat#878||Stop returning 500 for failed authentication to the media endpoint|