0.75.0 (2024-11-20)
- Remove and prevent saving pipeline versions with the same name (#849) (0c6c0f6)
- settings: In case of local hosting with a proxy, set the proxy url as the base_url as well (68cb06a)
0.74.7 (2024-10-24)
- Release 0.74.7 (3b24cca)
0.74.6 (2024-10-22)
0.74.5 (2024-10-22)
0.74.4 (2024-10-21)
- datasets: move the save() in its own try..except (43bcd1e)
- datasets: return the dataset_file_sample to not break tests (1da48bd)
- datasets: When saving the sample in DB, we need a custom encoder that supports dates & uuids (#836) (88c0e39)
0.74.3 (2024-10-17)
- datasets: fix the backward compatibility field 'uploadUrl' on CreateDatasetVersionFileResult (#831) (a227658)
0.74.2 (2024-10-17)
- CORS regex was not correct and the dev configuration was redefining unnecessary variables (5192426)
- Move removed variable from dev to the test configuration (10894b2)
- Pipelines: Run outputs can be a StorageObject instance (#830) (688ab7d)
0.74.1 (2024-10-16)
- cors: CORS_URL_PREFIXES was invalid since we added the analytics (844eef4)
0.74.0 (2024-10-09)
- DB: Starting from PostgreSQL 15+ it's needed to grant all on the public schema to allow creation and deletion of tables by the user (#822) (e8b5ce2)
0.73.3 (2024-10-01)
0.73.2 (2024-10-01)
- GCP: 'updated' was not passed to StorageObject for the prefixes (b535c87)
0.73.1 (2024-10-01)
0.73.0 (2024-10-01)
- Core: add query to return password requirements (#817) (8b8d5d9)
- Storage: Filesystem-based storage backend for files (d9d7159)
- Dataset: save sample as JSON instead of JSON string (54e5214)
0.72.8 (2024-09-11)
- Datasets: increase slug size and only add suffix if needed (#802) (93d4954)
- replaces dot with dash for bucket creation (bd19d4d)
- Statics: Remove cors decorator (#809) (39d5ed6)
Full Changelog: https://github.com/BLSQ/openhexa-app/compare/0.72.6...0.72.7
Full Changelog: https://github.com/BLSQ/openhexa-app/compare/0.72.5...0.72.6
Full Changelog: https://github.com/BLSQ/openhexa-app/compare/0.72.4...0.72.5
- fix(Analytics): use pipeline code for id by @cheikhgwane in #801
Full Changelog: https://github.com/BLSQ/openhexa-app/compare/0.72.3...0.72.4
Full Changelog: https://github.com/BLSQ/openhexa-app/compare/0.72.2...0.72.3
- Fix pipeline run user perms by @qgerome in #795
Full Changelog: https://github.com/BLSQ/openhexa-app/compare/0.72.1...0.72.2
- Make configurable the DB hostname in the container by @toch in #791
- fix(analytics): PipelineRunUser should be excluded by @qgerome in #794
Full Changelog: https://github.com/BLSQ/openhexa-app/compare/0.72.0...0.72.1
- Cors pipelines webhook by @qgerome in #762
Full Changelog: https://github.com/BLSQ/openhexa-app/compare/0.71.9...0.72.0
Full Changelog: https://github.com/BLSQ/openhexa-app/compare/0.71.8...0.71.9
- chore: remove datasets feature flag by @cheikhgwane in #720
- fix(Datasets): use dataset last version to track update by @cheikhgwane in #724
- chore(deps): update dependency cachetools to v5.3.3 by @renovate in #731
- chore(deps): update dependency croniter to v2.0.5 by @renovate in #732
- chore(deps): update dependency google-cloud-appengine-logging to v1.4.3 by @renovate in #739
- chore(main): release 0.71.7 by @qgerome in #740
- chore(deps): update dependency moto to v4.2.14 by @renovate in #745
- chore(deps): update dependency markupsafe to v2.1.5 by @renovate in #744
- chore(deps): update dependency fiona to v1.9.6 by @renovate in #737
- chore(deps): update dependency cryptography to v42.0.8 - autoclosed by @renovate in #734
- chore(deps): update dependency django to v5.0.6 by @renovate in #735
- chore(deps): update dependency grpc-google-iam-v1 to v0.13.1 by @renovate in #742
- fix(Dev): Upgrade dockerpy to fix the pipelines runner in dev by @qgerome in #743
- chore(deps): update actions/cache action to v4 by @renovate in #750
- chore(deps): update docker/setup-buildx-action action to v3 by @renovate in #755
- chore(deps): update docker/build-push-action action to v6 by @renovate in #753
- chore(deps): update docker/login-action action to v3 by @renovate in #754
- chore(deps): update actions/setup-python action to v5 by @renovate in #752
- fix(Dev): pin requests version to 2.31.0 by @cheikhgwane in #759
- chore(deps): update docker/setup-qemu-action action to v3 by @renovate in #756
- chore(deps): update pre-commit/action action to v3.0.1 by @renovate in #746
- chore(deps): bump certifi from 2023.11.17 to 2024.7.4 by @dependabot in #763
- chore(deps): update reproducible-containers/buildkit-cache-dance action to v3 by @renovate in #758
- feat : add mixpanel tracking by @cheikhgwane in #764
- feat(Dataset): generate upload url independetly by @nazarfil in #717
- chore(deps): update dependency django to v5.0.7 [security] by @renovate in #767
- fix(CORS): Allow objects to be uploaded & download from everywhere by @qgerome in #768
- chore(deps): update dependency requests to v2.32.2 [security] by @renovate in #760
- chore(deps): update actions/checkout action to v4 by @renovate in #751
- chore(deps): update dependency boto3 to v1.34.144 by @renovate in #747
- chore(deps): update dependency requests to v2.32.3 by @renovate in #769
- chore(deps): refresh pip-compile outputs by @renovate in #748
- chore(deps): update dependency boto3 to v1.34.145 by @renovate in #772
- chore(deps): update python docker tag to v3.12 by @renovate in #749
- feat(Analytics): add an analytics module by @cheikhgwane in #773
- feat(Dataset): add initial background queue, task, work and trigger t… by @nazarfil in #719
- chore(deps): update dependency boto3 to v1.34.151 by @renovate in #775
- chore(deps): refresh pip-compile outputs by @renovate in #774
- feat(Databases): better count of databases tables rows by @cheikhgwane in #777
- chore(deps): update dependency boto3 to v1.34.155 by @renovate in #778
- chore(deps): refresh pip-compile outputs by @renovate in #779
- chore(deps): update dependency boto3 to v1.34.156 by @renovate in #780
- Feat background task nf by @nazarfil in #765
- chore(deps): update dependency boto3 to v1.34.157 by @renovate in #782
- chore(deps): update dependency boto3 to v1.34.158 by @renovate in #783
- chore(deps): update dependency boto3 to v1.34.159 by @renovate in #785
Full Changelog: https://github.com/BLSQ/openhexa-app/compare/0.71.6...0.71.8
0.71.7 (2024-06-27)
- deps: update dependency cachetools to v5.3.3 (#731) (b0edacc)
- deps: update dependency croniter to v2.0.5 (#732) (e08d4ad)
- deps: update dependency google-cloud-appengine-logging to v1.4.3 (#739) (f90ae63)
- remove datasets feature flag (#720) (a6e7125)
0.71.6 (2024-06-26)
- Add missing migration (b5b9da0)
- Pipelines: Returns the secret value of the connection fields when in a pipeline environment (4de283f)
- add blank=True on PipelineRun.duration & .stopped_by (350238e)
- Add renovate.json (#729) (3e6f859)
- CI: Add a concurrenty rule to avoid having multiple release-please runs at the same time (24d9966)
- Delete .github/dependabot.yml (9cd4f9d)
- deps: bump urllib3 from 1.26.18 to 1.26.19 (#718) (c21229e)
0.71.5 (2024-06-25)
0.71.4 (2024-06-25)
0.71.3 (2024-06-25)
- pipelines: Fix scheduler of pipelines (fa9ec87)
0.71.2 (2024-06-24)
- Connections: remove wrong 'archived' in the criteria (1afedb3)
0.71.1 (2024-06-24)
- Connections: filter_for_user should be callable by a pipeline (ce7d2fa)
0.71.0 (2024-06-18)
- Pipelines: add authentication to wehbook (#714) (2a6b3ce)
- pipelines: Configuration on pipeline's version (acfa76b)
- Workspaces: retrieve workspace connection by slug (#711) (9617063)
- Connections: stop injecting connections creds in env var (#715) (217f2c1)
- GraphQL: Update documentation of graphql files (#712) (2be6c87)
- Update database port in docker-compose.yaml (#709) (1a5378b)
0.70.1 (2024-05-27)
- Release 0.70.1 (5448a4c)
0.70.0 (2024-05-17)
- Pipelines: create pipeline from notebook (3cac4d7)
- Pipelines: validate parameter types upon PipelineVersion run (#699) (fa89e59)
- Workspaces: add feature flag to allow users the creation of workspaces (121a53a)
- Workspaces: allow user to update workspace image and rename PIPELINE_IMAGE env (#700) (2ced1cb)
0.69.3 (2024-05-08)
- Buckets: Fix the way we set the labels on the gcp bucket (97ea340)
0.69.2 (2024-04-30)
0.69.1 (2024-04-18)
- CI: Use the registry to cache the layers (2d40ba0)
- Pipelines: enable nulls value check on Pipeline model constraint (#685) (c98b789)
- Admin: Add inlines and better search filters to various models (#683) (191a3ce)
- Billing: Add a label on the pipelines pod with the workspace (a58bfae)
- deps: bump gunicorn from 21.2.0 to 22.0.0 (#686) (3a2d3f1)
- deps: bump sqlparse from 0.4.4 to 0.5.0 (#684) (3bba33b)
0.69.0 (2024-04-15)
- Debt: Remove all HTML pages handled by the frontend, remove the ui templates; removing deprecated graphql (#678) (af576bc)
0.68.2 (2024-04-10)
- pipelines: Add a new resolver pipelineVersion for the return of uploadPipeline (3321900)
0.68.1 (2024-04-08)
- Put back wait-for-it in docker-entrypoint (00071d5)
- SoftDelete: hard delete model on django admin (#676) (bd6b322)
0.68.0 (2024-04-05)
- Pipelines: Add a name, description and link to the version model (#672) (7a680d6)
- Pipelines: allow user to stop a pipeline (#670) (75f005e)
- tests: Remove collation from the latter migration file, merge migrations (de8a520)
- DB: Add case_insensitive collation to the first migration (259ecc9)
0.67.0 (2024-03-26)
- datasets: Allow pipelines to download linked datasets (#671) (019e4ba)
- Files: Do not log missing output files in Sentry (#669) (f526543)
- deps: bump cryptography from 42.0.2 to 42.0.4 (#664) (e090914)
- deps: bump django from 5.0.2 to 5.0.3 (#668) (48fb9e0)
0.66.5 (2024-03-05)
- Pipelines: typo on permission module (#665) (30e7e7e)
- S3: Catch the exception and log it to sentry (8531e94)
0.66.4 (2024-02-21)
- deps: bump cryptography from 42.0.0 to 42.0.2 (#657) (5f9b487)
- remove old comment in dockerfile (a30d389)
0.66.3 (2024-02-20)
- Dockerfile: Add caching (9280a7e)
- Use gha cache instead of the registry (a8775e9)
0.66.2 (2024-02-20)
- Image: Install procps to have pkill (4f251ec)
0.66.1 (2024-02-20)
- Config: Do not use double quotes in formatted strings (c99fa90)
- Docker: Wrong python version used with dockerfile (6b516be)
- Fixtures: Add base fixtures that will always be loaded in the database on deployment (b04a587)
0.66.0 (2024-02-19)
- GCP: Enable bucket versioning for future buckets & add a lifecycle policy (#654) (8a9bfb8)
- PipelineRun: change NotFound exception import (#652) (b367fe0)
- Settings: Take SESSION_COOKIE_SECURE, CSRF_COOKIE_SECURE, SECURE_SSL_REDIRECT from os.environ (ac1ccb0)
- Add isLatestVersion on PipelineVersion (#651) (21a881c)
- Debt: Remove comments app models and templates (first step) (#649) (f8fb49f)
- Debt: Start to remove the comments app (d370863)
- deps: bump cryptography from 41.0.7 to 42.0.0 (#642) (1f8370e)
- deps: bump django from 5.0 to 5.0.2 (#648) (a64b969)
- deps: bump starlette from 0.34.0 to 0.36.2 (#641) (fcfe3e8)
- Pipelines: Remove the temporary status page (#653) (57fd504)
- Set the default storage engine to GCP (f81247d)
0.65.2 (2024-02-07)
- Storage: Workspace buckets can be configured to work on GCP or S3 (3b3b400)
- Workspaces: do not add existing users to workspace by default (#640) (d56de58)
- release 0.65.2 (ddff7b3)
0.65.1 (2024-02-06)
- Notebooks: Logout the user from jupyterhub on logout (#636) (053ebde)
- Schema: Add a BigInt type to the schema (#643) (d8b5e25)
- Docker: Add image config to docker-compose.yaml (0e47516)
0.65.0 (2024-01-29)
- Auth: Only tokens from running pipelines can be used to authenticate the user (#635) (399ffa2)
- PipelineRun: check if table/file_path exist (#634) (863d925)
- Pipelines: fix tests (#637) (997ceba)
- Pipelines: It the db cannot be reached do not append None to outputs (58ee429)
0.64.2 (2024-01-18)
- settings: Set the new docker image for the pipeline & by default use the pipeline image for the workspace as well (2ded8d0)
0.64.1 (2024-01-16)
- deps: bump jinja2 from 3.1.2 to 3.1.3 (#628) (036052b)
- remove metrics (#629) (7840d0d)
- Set container_name for the app (54d6c8f)
0.64.0 (2024-01-08)
- Files: Filter files matching a substring (a119ea9)
- Files: Filter files matching a substring (#621) (06d3321)
- i18n: App is translatable (#624) (c19e7fb)
- User can register & see their workspace's invitations (#613) (81ec731)
- tests: Missing openHexa (799bb55)
0.63.2 (2023-12-29)
0.63.1 (2023-12-29)
- Django 5 and deps overhaul (#615) (491c540)
- Keep comm with JupyterHub API internal to the Docker network (#599) (fed8574)
0.63.0 (2023-12-26)
0.62.0 (2023-12-19)
- better logging for pipelines (#607) (4b98880)
- Pipelines: Implement a REST endpoint to run pipelines (#608) (dd6c0db)
- disable quick search (eaa43f6)
0.61.3 (2023-12-12)
0.61.2 (2023-12-06)
0.61.1 (2023-12-04)
- Pipelines: run pipeline with cloudrun argument (#600) (bcc9b4e)
- Workspaces: add created_by when creating workspace (#596) (a91682f)
0.61.0 (2023-11-24)
- Connections: hide s3 secret access key (#593) (cb7c350)
- merge migration (949f657)
- release please bump policy change (#597) (3bfb241)
- Visualizations: remove app folder (#594) (ca0261e)
0.60.13 (2023-11-20)
0.60.12 (2023-11-13)
0.60.11 (2023-11-10)
- Add default value for AWS_DEFAULT_REGION in env dist file so that tests can pass on a fresh local install (#578) (11c8929)
- Core: Replace deprecated CIEmailField with EmailField (#580) (e9d81ba)
- Update autoflake and flake8 (0c58dac)
- Use blsq/openhexa-base-notebook:latest by default for pipelines (#581) (e62681f)
0.60.10 (2023-10-18)
- Files: order bucket prefixes (#575) (1e095fe)
- Pipelines: add timeout to PipelineRun model (#570) (f4c1bbf)
- Pipelines: allow scheduling of pipelines if they have optional / default parameters (#572) (80d1ce6)
- Upgrade most dependencies (#576) (cbadcfa)
- Workspaces: add tests for connections env variables (#573) (e68c007)
0.60.9 (2023-10-11)
- Connections: add _API_URL env variable for Iaso connections (backwards-compatibility) (#568) (a92ffc4)
0.60.8 (2023-10-09)
0.60.7 (2023-10-02)
- Do not allow slugs for workspace, datasets & connection to have double dash (#562) (1199cfb)
- Workspaces: don't test for access tokens in resolve_generate_workspace_token (#560) (c54b1a9)
0.60.6 (2023-09-27)
0.60.5 (2023-09-27)
0.60.4 (2023-09-25)
0.60.3 (2023-09-25)
0.60.2 (2023-09-19)
- Datasets: add fileByName on dataset's version, datasets (#548) (ba1c23a)
- Pipelines: allow scheduling if all params have default value (#542) (5e6f4b8)
0.60.1 (2023-09-14)
0.60.0 (2023-09-12)
- releases: Prepare next release 0.60.0 (50f4bb1)
0.59.0 (2023-09-12)
- Connections: abort connection creation transaction if an error occurs (#541) (c0fbd85)
- Pipelines: generate random string to avoid pod names collision (#539) (0bcf78f)
- Releases: Prepare release 0.59.0 (baa67b5)
0.58.13 (2023-08-22)
- Workspaces: Add the 'workspaces' feature to legacy users invited in a workspace (#537) (ed6fedf)
- Workspaces: filter invitations by user and workspace (#538) (bf99e12)
0.58.12 (2023-08-18)
0.58.11 (2023-08-14)
0.58.10 (2023-08-14)
- remove print (0ea5890)
0.58.9 (2023-08-14)
- Pipelines: Try to convert raw outputs to database table or bucket (#518) (9f7bc27)
- Workspaces: improve invitation management (#523) (10dcb8f)
0.58.8 (2023-08-09)
- Revert not ready commit (090e638)
0.58.7 (2023-08-09)
- Pipelines: Add missing command to pod creation (6e68334)
0.58.6 (2023-08-08)
0.58.5 (2023-08-08)
- fix release (6b9e25f)
0.58.5 (2023-08-08)
- pipelines: Use the new command 'cloudrun' in k8s & pass config as expected (e660199)
0.58.4 (2023-08-08)
- Files: Show/hide hidden files & directories (#517) (8033cce)
- Pipelines: define timeout for pipeline run (#515) (ce4fc62)
0.58.3 (2023-07-31)
- deps-dev: bump socket.io-parser in /hexa/ui/static_src (#503) (68614c2)
- deps: bump yaml from 2.2.1 to 2.2.2 in /hexa/ui/static_src (#464) (9263dd2)
0.58.2 (2023-07-24)
0.58.1 (2023-07-20)
- Pipelines: prevent push of version with params for scheduled pipeline. (#507) (8d58d3c)
- Workspaces: add workspace invitations list to django admin (#508) (b4ac2ba)
- Workspaces: Automatically log in users after signup (#510) (a06e9ad)
0.58.0 (2023-07-19)
- Configure release-please (#502) (b970ee4)
- Connections: Limit slug to 40 chars (9c0e188)
- Pipelines: add schedule permission (#501) (a5afa79)
- Release: Release 0.58.0 (1997a4b)
- Remove data_collections STEP 2 (#496) (52c537d)
August 17, 2022
- Collections mutations
August 8, 2022
- Collections data model
- Inject IASO use API token into notebooks
- Add feature flag for git in notebooks + pass it to notebooks componen
- Fix column's widths of the data grid
August 2, 2022
- First version of Iaso connector plugin
July 26, 2022
- Refactored S3 credentials and align notebooks / pipelines
- Fixed AccessMod Zonal Stats travel times validation
July 19, 2022
- Support for public S3 buckets
- Pinned rasterio / rio-cogeo to avoid compression issues in latest versions
July 11, 2022
- Added upload/download feature for GCS objects in the catalog
- Most Python dependencies have been updated
- Fixed double-slash issue for S3 directories links in the catalog
June 21, 2022
- Country module support sub zone by countries
- After validating a AccessMod fileset, update related analysis status
May 31, 2022
- Support for Google Cloud Storage for notebooks
- Country module for storing list of countries, boundaries, flags...
- AccessMod: new analysis: zonal statistics
- Allow update of AccessMod filesets
- Accessibility analysis improved configuration, parameters
- Generate only one image for openhexa-app and AccessMod data worker
- DHIS2 Sync is not atomic anymore, it was causing a lot of SQL load
May 24, 2022
Mostly AccessMod-related development prior to production release.
May 17, 2022
Mostly AccessMod-related development prior to production release.
May 12, 2022
- AccessMod: input validation
- AccessMod: configuration format for new analysis version
May 3, 2022
- New, more flexible permission system
- Validation / processing background worker
- Support for public buckets
- Fine-tuned AccessMod graph
April 26, 2022
- New image build process for data processing and validation
- Fixed MultiplePermission error in DHIS2 datacard
April 19, 2022
Maintenance / AccessMod release
April 12, 2022
Maintenance / AccessMod release
April 5, 2022
- Reset password API
- Teams & permissions API first steps
- Updated all Python dependencies
- Fine-tune linting
March 29, 2022
- Revamped permission/access control for data sources and pipelines
- Enforce trailing slashes for all URLs to prepare the next frontend iteration
- Fixed Airflow cluster external link
March 24, 2022
- Enforce S3 permission restriction for pipeline
- Inject datasource information into notebooks and pipelines, the same way
- Fixing horizontal scroll issues
- Removed Extract model and features in DHIS2 module
March 14, 2022
- User can add pipeline runs to favorites to easily retrieve them later and relaunch them
- Collect and show pipeline run durations
- DHIS2 credentials injection in notebooks
March 8, 2022
- Fixed horizontal scrolling issues in grids
- Fixed crash in DAGRun admin list view
March 1, 2022
- Refresh worker to keep the state of each Airflow DAGRun up to date faster
- Airflow pipeline sync is faster if there is no need to recompute DAGs
February 22, 2022
- Data model for connector_airflow, to better reflect the way the DAG works
- Locale management for DHIS2, add a preference to english locales when syncing an instance
- DHIS2 sync deletes openhexa objects if they disapear on the remote instance
February 15, 2022
- Added dev container for GitHub workspaces
- Updated to Django 4.0.2
February 8, 2022
- Support DAG template for connector_airflow
- User can edit DAG name, schedule and owner themself
February 1, 2022
- Fixed fixtures command in Docker entrypoint
January 25, 2022
- Improved grids UX (should fix horizontal scrolling issues)
- Improved search UX (no results if no query, handling of long text)
- Fixed bug with truncated search query when switching from quick to advanced search
January 18, 2022
- Updated project dependencies (fixed vulnerabilities)
- Hardened security settings
- Fixed last_synced_at on DHIS2 content
January 11, 2022
- Added the foundations of the OpenHEXA GraphQL API
- Implemented Auth GraphQL API
- Treat user emails (and thus login) in a case-insensitive way
- Fixed issue in IndicatorType admin
January 4, 2022
- Removed the notion of orphans from S3 data model
- Simplified S3 sync
- Fixed regression on invite user with admin
- Fixed the search by id for DHIS2
- Fixed permission issue in Pipelines
- Fixed issue with duplicate indicator types across instances
December 28, 2021
- Added "Open in Airflow" button for superusers (allows superusers to view DAGs / DAG runs in Airflow)
- Display more explicitly the underlying DAG in DAG run detail screens
- Added the possibility to force-activate features (activate it for all users without regard to their specific flags)
- Updated to Django 4.x (and other Python dependency updates)
- Added datasource name in quick search results
- Fixed issue with pagination on DAG detail page
- Fixed sync issue related to DHIS2 objects with the same id
- Fixed tailwind watch issue
December 21, 2021
- Added Coverage analysis in build pipeline
- Replaced s3fs by boto
- More logs for the DHIS2 connector
- Fixed issue with S3 objects whose key start by a slash (
/
) - Fixed issue with search queries containing a column (
:
) - Fixed issue with search queries containing an invalid type filter
- Fixed issue with search queries containing only filters or exact words
December 14, 2021
- New search interface, with filters for data sources and content types and exact match mode
- Added CSV export on DHIS2 data elements, indicators and organisation units
- Improved search engine and indexing
- Added last pipeline runs in Dashboard
- Fine-tuned Pipelines UX (more focus on the pipeline themselves)
- Increase session cookie lifetime to 1 year
- Metrics: save query strings for GET requests and add "do not track" decorator"
- Exclude
.s3keep
files from search
December 7, 2021
- CodeMirror editor for DAG configurations
- Ability to re-run a DAG with the same parameters
- Add DAG documentation in run screen
- Replaced full sync by single object refresh when uploading files to S3
- Fixed sync worker
- DHIS2 Org units support
- Configurable DAGs
- Terms & conditions
- Metrics
- Read-only buckets
- Added visualizations section with external dashboards
- New tabbed detail page for S3
- Update pipeline UI
- Update logging info, sync & admin
- Fix for user s3 policy generation
- Airflow sync
- Postgres connector fine-tuning
- Support for DHIS2 datasets
- Support for datasource sync queues
- Added simple, toggleable feature flags
- Added the possibility to upload files on S3 from the catalog
- A lot of small improvements (linting, tests...)