Mage-ai

Latest version: v0.9.76

Safety actively analyzes 723296 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 8 of 10

0.8.75

Not secure
![Image](https://media.giphy.com/media/nqU7bHru9egnz9joLZ/giphy.gif)

Polars integration

Support using [Polars](https://www.pola.rs/) DataFrame in Mage blocks.

![Untitled](https://media.graphassets.com/FBfwDhuzSnyc2O3pLyMS)

**Opsgenie integration**

Shout out to [Sergio Santiago](https://github.com/sergioasantiago) for his contribution of integrating [Opsgenie](https://www.atlassian.com/software/opsgenie) as an alerting option in Mage.

Doc: [https://docs.mage.ai/production/observability/alerting-opsgenie](https://docs.mage.ai/production/observability/alerting-opsgenie)

![Untitled](https://media.graphassets.com/cBTZzY7QHmNpt94GOiS5)

Data integration

Speed up exporting data to BigQuery destination

Add support for using batch load jobs instead of the query API in BigQuery destination. You can enable it by setting `use_batch_load` to `true` in BigQuery destination config.

When loading ~150MB data to BigQuery, using batch loading reduces the time from 1 hour to around 2 minutes (**30x** the speed).

Doc: [https://github.com/mage-ai/mage-ai/blob/master/mage_integrations/mage_integrations/destinations/bigquery/README.md](https://github.com/mage-ai/mage-ai/blob/master/mage_integrations/mage_integrations/destinations/bigquery/README.md)

Microsoft SQL Server destination improvements

- Support ALTER command to add new columns
- Support MERGE command with multiple unique columns (use AND to connect the columns)
- Add MSSQL config fields to `io_config.yaml`
- Support multiple keys in MSSQL destination

Other improvements

- Fix parsing int timestamp in intercom source.
- Remove the “Execute” button from transformer block in data integration pipelines.
- Support using ssh tunnel for MySQL source with private key content

Git integration improvements

- Pass in Git settings through environment variables
- Doc: [https://docs.mage.ai/production/data-sync/git#git-settings-as-environment-variables](https://docs.mage.ai/production/data-sync/git#git-settings-as-environment-variables)
- Use `git switch` to switch branches
- Fix git ssh key generation
- Save cwd as repo path if user leaves the field blank

Update disable notebook edit mode to allow certain operations

Add another value to `DISABLE_NOTEBOOK_EDIT_ACCESS` environment variable to allow users to create secrets, variables, and run blocks.

The available values are

- 0: this is the same as omitting the variable
- 1: no edit/execute access to the notebook within Mage. Users will not be able to use the notebook to edit pipeline content, execute blocks, create secrets, or create variables.
- 2: no edit access for pipelines. Users will not be able to edit pipeline/block metadata or content.

Doc: [https://docs.mage.ai/production/configuring-production-settings/overview#read-only-access](https://docs.mage.ai/production/configuring-production-settings/overview#read-only-access)

**Update Admin abilities**

- Allow admins to view and update existing users' usernames/emails/roles/passwords (except for owners and other admins).
- Admins can only view Viewers/Editors and adjust their roles between those two.
- Admins cannot create or delete users (only owners can).
- Admins cannot make other users owners or admins (only owners can).

**Retry block runs from specific block**

For standard python pipelines, retry block runs from a selected block. The selected block and all downstream blocks will be re-ran after clicking the `Retry from selected block` button.

![Untitled](https://media.graphassets.com/027UMEirSXS8AOovYzi5)

Other bug fixes & polish

- Fix terminal user authentication. Update terminal authentication to happen on message.
- Fix a potential authentication issue for the Google Cloud PubSub publisher client
- Dependency graph improvements
- Update dependency graph connection depending on port side
- Show all ports for data loader and exporter blocks in dependency graph

![Untitled](https://media.graphassets.com/T03gZS58TrUuI339O8IC)

- DBT
- Support DBT alias and schema model config
- Fix `limit` property in DBT block PUT request payload.
- Retry pipeline run
- Fix bug: Individual pipeline run retries does not work on sqlite.
- Allow bulk retry runs when DISABLE_NOTEBOOK_EDIT_ACCESS enabled
- Fix bug: Retried pipeline runs and errors don’t appear in Backfill detail page.
- Fix bug: When Mage fails to fetch a pipeline due to a backend exception, it doesn't show the actual error. It uses "undefined" in the pipeline url instead, which makes it hard to debug the issue.
- Improve job scheduling: If jobs with QUEUED status are not in queue, re-enqueue them.
- Pass `imagePullSecrets` to k8s job when using `k8s` as the executor.
- Fix streaming pipeline cancellation.
- Fix the version of google-cloud-run package.
- Fix query permissions for block resource
- Catch `sqlalchemy.exc.InternalError` in server and roll back transaction.

View full [Changelog](https://www.notion.so/What-s-new-7cc355e38e9c42839d23fdbef2dabd2c)

0.8.69

Not secure
![hairy_otter](https://static.wikia.nocookie.net/cat-army-and-dog-army/images/3/3d/Ijed.jpg/revision/latest?cb=20220301164944)

Markdown blocks aka Note blocks or Text blocks

Added Markdown block to Pipeline Editor.

Doc: [https://docs.mage.ai/guides/blocks/markdown-blocks](https://docs.mage.ai/guides/blocks/markdown-blocks)

![https://user-images.githubusercontent.com/78053898/235216815-af25cbc8-eeee-4849-9f66-cb2da5ff4f4a.gif](https://user-images.githubusercontent.com/78053898/235216815-af25cbc8-eeee-4849-9f66-cb2da5ff4f4a.gif)

Git integration improvements

Add git clone action

![Untitled](https://media.graphassets.com/1st8tITd6t3aNsCW1RyA)

Allow users to select which files to commit

![Untitled](https://media.graphassets.com/3EjBuMzWSCmicZ2yxcod)

Add HTTPS authentication

Doc: [https://docs.mage.ai/production/data-sync/git#https-token-authentication](https://docs.mage.ai/production/data-sync/git#https-token-authentication)

Add a terminal toggle, so that users have easier access to the terminal

![Untitled](https://media.graphassets.com/tcdQ89idSrah0drIm3jK)

Callback block improvements

Doc: [https://docs.mage.ai/development/blocks/callbacks/overview](https://docs.mage.ai/development/blocks/callbacks/overview)

Make callback block more generic and support it in data integration pipeline.

![Untitled](https://media.graphassets.com/ZIIOIviwR4Ssx9KdGAKi)

Keyword arguments available in data integration pipeline callback blocks: [https://docs.mage.ai/development/blocks/callbacks/overview#data-integration-pipelines-only](https://docs.mage.ai/development/blocks/callbacks/overview#data-integration-pipelines-only)

Transfer owner status or edit the owner account email

- Owners can make other users owners.
- Owners can edit other users' emails.
- Users can edit their emails.

![transfer-owner](https://media.graphassets.com/nejxgiE3Q4lDoyKCQVu4)

Bulk retry pipeline runs.

Support bulk retrying pipeline runs for a pipeline.

![image](https://media.graphassets.com/GEfFmpNwS8CI5yKSCOxx)

Right click context menu

Add right click context menu for row on pipeline list page for pipeline actions (e.g. rename).

![Untitled](https://media.graphassets.com/0TU4slsOQo2zbUPgbLeA)

Navigation improvements

When hovering over left and right vertical navigation, expand it to show navigation title like BigQuery’s UI.

![Untitled](https://media.graphassets.com/O8j9dCDEQ1i0dSRpD4n1)

Use Great Expectations suite from JSON object or JSON file

Doc: [https://docs.mage.ai/development/testing/great-expectations#json-object](https://docs.mage.ai/development/testing/great-expectations#json-object)

Support DBT incremental models

Doc: [https://docs.mage.ai/dbt/incremental-models](https://docs.mage.ai/dbt/incremental-models)

Data integration pipeline

New destination: Google Cloud Storage

Shout out to [André Ventura](https://github.com/andreventura02) for his contribution of adding the Google Cloud Storage destination to data integration pipeline.

Doc: [https://github.com/mage-ai/mage-ai/blob/master/mage_integrations/mage_integrations/destinations/google_cloud_storage/README.md](https://github.com/mage-ai/mage-ai/blob/master/mage_integrations/mage_integrations/destinations/google_cloud_storage/README.md)

Other improvements

- Use bookmarks properly in Intercom incremental streams.
- Support IAM role based authentication in the Amazon S3 source and Amazon S3 destination for data integration pipelines

SQL module improvements

A**dd Apache Druid data source**

Shout out to [Dhia Eddine Gharsallaoui](https://github.com/dhia-gharsallaoui) again for his contribution of adding Druid data source to Mage.

![Untitled](https://media.graphassets.com/fyFCvUxzR5Chj3cxBfB4)

Doc: [https://docs.mage.ai/integrations/databases/Druid](https://docs.mage.ai/integrations/databases/Druid)

Add location as a config in BigQuery IO

![Untitled](https://media.graphassets.com/DYn3nbJsSrWmvUzV32aU)

Speed up Postgres IO export method

Use `COPY` command in `mage_ai.io.postgres.Postgres` export method to speed up writing data to Postgres.

Streaming pipeline

New source: Google Cloud PubSub

Doc: [https://docs.mage.ai/guides/streaming/sources/google-cloud-pubsub](https://docs.mage.ai/guides/streaming/sources/google-cloud-pubsub)

****Deserialize message with Avro schema in Confluent schema registry****

Doc: [https://docs.mage.ai/guides/streaming/sources/kafka#deserialize-message-with-avro-schema-in-confluent-schema-registry](https://docs.mage.ai/guides/streaming/sources/kafka#deserialize-message-with-avro-schema-in-confluent-schema-registry)

Kubernetes executor

Add config to set all pipelines use K8s executor

Setting the environment variable `DEFAULT_EXECUTOR_TYPE` to `k8s` to use K8s executor by default for all pipelines. Doc: [https://docs.mage.ai/production/configuring-production-settings/compute-resource#2-set-executor-type-and-customize-the-compute-resource-of-the-mage-executor](https://docs.mage.ai/production/configuring-production-settings/compute-resource#2-set-executor-type-and-customize-the-compute-resource-of-the-mage-executor)

Add the `k8s_executor_config` to project’s metadata.yaml to apply the config to all the blocks that use k8s executor in this project. Doc: [https://docs.mage.ai/production/configuring-production-settings/compute-resource#kubernetes-executor](https://docs.mage.ai/production/configuring-production-settings/compute-resource#kubernetes-executor)

Support configuring GPU for k8s executor

Allow specifying [GPU resource](https://kubernetes.io/docs/tasks/manage-gpus/scheduling-gpus/) in `k8s_executor_config`.

![Untitled](https://media.graphassets.com/JlEyQlBQn32gjO9YptAU)

Not use `default` as service account namespace in Helm chart

Fix service account permission for creating Kubernetes jobs by not using `default` namespace.

Doc for deploying with Helm: [https://docs.mage.ai/production/deploying-to-cloud/using-helm](https://docs.mage.ai/production/deploying-to-cloud/using-helm)

Other bug fixes & polish

- Fix error: When selecting or filtering data from parent block, error occurs: "AttributeError: list object has no attribute tolist".
- Fix bug: Web UI crashes when entering edit page ([github issue](https://github.com/mage-ai/mage-ai/issues/2134)).
- Fix bug: Hidden folder (.mage_temp_profiles) disabled in File Browser and not able to be minimized
- Support configuring Mage server public host used in the email alerts by setting environment variable `MAGE_PUBLIC_HOST`.
- Speed up PipelineSchedule DB query by adding index to column.
- Fix EventRulesResource AWS permissions error
- Fix bug: Bar chart shows too many X-axis ticks

![image](https://static.wikia.nocookie.net/chainedechoes_gamepedia_en/images/f/fc/Bestiary_228.png/revision/latest/scale-to-width-down/350?cb=20230108215151)

View full [Changelog](https://www.notion.so/What-s-new-7cc355e38e9c42839d23fdbef2dabd2c)

0.8.58

Not secure
![Once_and_always](https://media.giphy.com/media/5GtBeb2KIlYrSjlFq4/giphy.gif)

Trigger pipeline from a block

Provide code template to trigger another pipeline from a block within a different pipeline.****

![trigger_pipeline](https://media.graphassets.com/SwmGjAtkQ3iwbKTy7QRt)

Doc: [https://docs.mage.ai/orchestration/triggers/trigger-pipeline](https://docs.mage.ai/orchestration/triggers/trigger-pipeline)

Data integration pipeline

New source: Twitter Ads

Doc: [https://github.com/mage-ai/mage-ai/blob/master/mage_integrations/mage_integrations/sources/twitter_ads/README.md](https://github.com/mage-ai/mage-ai/blob/master/mage_integrations/mage_integrations/sources/twitter_ads/README.md)

Streaming pipeline

New sink: MongoDB

Doc: [https://docs.mage.ai/guides/streaming/destinations/mongodb](https://docs.mage.ai/guides/streaming/destinations/mongodb)

Allow deleting SQS message manually

Mage supports two ways to delete messages:

1. Delete the message in the data loader automatically after deserializing the message body.
2. Manually delete the message in transformer after processing the message.

Doc: [https://docs.mage.ai/guides/streaming/sources/amazon-sqs#message-deletion-method](https://docs.mage.ai/guides/streaming/sources/amazon-sqs#message-deletion-method)

Allow running multiple executors for streaming pipeline

Set `executor_count` variable in the pipeline’s metadata.yaml file to run multiple executors at the same time to scale the streaming pipeline execution

Doc: [https://docs.mage.ai/guides/streaming/overview#run-pipeline-in-production](https://docs.mage.ai/guides/streaming/overview#run-pipeline-in-production)

Improve instructions in the sidebar for getting block output variables

- Update generic block templates for custom, transformer, and data exporter blocks so it's easier for users to pass the output from upstream blocks.
- Clarified language for block output variables in Sidekick.

![block_output_variables](https://media.graphassets.com/xqBkj4tqQgGUlhmTkER2)

Paginate block runs in Pipeline Detail page and schedules on Trigger page

Added pagination to Triggers and Block Run pages

![pagination_triggers_block_run_pages](https://media.graphassets.com/ymOxoktbSn2ATaWCfsIQ)

Automatically install requirements.txt file after git pulls

After pulling the code from git repository to local, automatically install the libraries in `requirements.txt` so that the pipelines can run successfully without manual installation of the packages.

Add warning for kernel restarts and show kernel metrics

- Add warning for kernel if it unexpectedly restarts.
- Add memory and cpu metrics for the kernel.

![add_warning_kernel](https://media.graphassets.com/zxyYyaFvS9ea8wGjDN7w)

![add_memory_kernel](https://media.graphassets.com/BNgSOL6NRjS5WqYZtJey)

SQL block: **Customize upstream table names**

Allow setting the table names for upstream blocks when using SQL blocks.

![sql_block_upstream_table](https://media.graphassets.com/hx1K5JGUSjGOZNoO15CF)

Other bug fixes & polish

- Fix “Too many open files” error by providing the option to increase the “maximum number of open files” value: [https://docs.mage.ai/production/configuring-production-settings/overview#ulimit](https://docs.mage.ai/production/configuring-production-settings/overview#ulimit)
- Add `connect_timeout` to PostgreSQL IO
- Add `location` to BigQuery IO
- Mitigate race condition in Trino IO
- When clicking the sidekick navigation, don’t clear the URL params
- UI: support dynamic child if all dynamic ancestors eventually reduce before dynamic child block
- Fix PySpark pipeline deletion issue. Allow pipeline to be deleted without switching kernel.
- DBT block improvement and bug fixes
- Fix the bug of running all models of DBT
- Fix DBT test not reading profile
- Disable notebook shortcuts when adding new DBT model.
- Remove `.sql` extension in DBT model name if user includes it (the `.sql` extension should not be included).
- Dynamically size input as user types DBT model name with `.sql` suffix trailing to emphasize that the `.sql` extension should not be included.
- Raise exception and display in UI when user tries to add a new DBT model to the same file location/path.
- Fix `onSuccess` [callback](https://docs.mage.ai/guides/blocks/callbacks) logging issue
- Fixed `mage run` command. Set repo_path before initializing the DB so that we can get correct db_connection_url.
- Fix bug: Code block running spinner keeps spinning when restarting kernel.
- Fix bug: Terminal doesn’t work in mage demo
- Automatically redirect users to the sign in page if they are signed in but can’t load anything.
- Add folder lines in file browser.
- Fix `ModuleNotFoundError: No module named 'aws_secretsmanager_caching'` when running pipeline from command line

View full [Changelog](https://www.notion.so/What-s-new-7cc355e38e9c42839d23fdbef2dabd2c)

0.8.52

Not secure
![supermariobros](https://media.giphy.com/media/ZdKa3AjRMS5vGZvxQW/giphy.gif)

ClickHouse SQL block

Support using SQL block to fetch data from, transform data in and export data to ClickHouse.

Doc: [https://docs.mage.ai/integrations/databases/ClickHouse](https://docs.mage.ai/integrations/databases/ClickHouse)

![clickhouse](https://media.graphassets.com/dyeQi5UHSNajJG00hGyn)

Trino SQL block

Support using SQL block to fetch data from, transform data in and export data to Trino.

Doc: [https://docs.mage.ai/development/blocks/sql/trino](https://docs.mage.ai/development/blocks/sql/trino)

Sentry integration

Enable Sentry integration to track and monitor exceptions in Sentry dashboard.
Doc: [https://docs.mage.ai/production/observability/sentry](https://docs.mage.ai/production/observability/sentry)

Drag and drop to re-order blocks in pipeline

Mage now supports dragging and dropping blocks to re-order blocks in pipelines.

![mage-drag-and-drop](https://media.graphassets.com/eFgZvPjXS06RfbyeOwKp)

Streaming pipeline

Add AWS SQS streaming source

Support consuming messages from SQS queues in streaming pipelines.

Doc: [https://docs.mage.ai/guides/streaming/sources/amazon-sqs](https://docs.mage.ai/guides/streaming/sources/amazon-sqs)

![amazon-sqs](https://media.graphassets.com/m1khivi9ShCX7v2zhuJs)

Add dummy streaming sink

Dummy sink will print the message optionally and discard the message. This dummy sink will be useful when users want to trigger other pipelines or 3rd party services using the ingested data in transformer.

Doc: [https://docs.mage.ai/guides/streaming/destinations/dummy](https://docs.mage.ai/guides/streaming/destinations/dummy)

![dummy-streaming-sink](https://media.graphassets.com/CnpvC4c8R9GjSAOfyUWz)

Delta Lake code templates

Add code templates to fetch data from and export data to Delta Lake.

Delta Lake data loader template

![delta-lake-data-loader-template](https://media.graphassets.com/ypraoggGQXLYdCoztgIP)

Delta Lake data exporter template

![delta-lake-data-exporter-template](https://media.graphassets.com/HvL4JCw3TBWcDfkEN8VE)

Unit tests for Mage pipelines

Support writing unit tests for Mage pipelines that run in the CI/CD pipeline using mock data.

Doc: [https://docs.mage.ai/development/testing/unit-tests](https://docs.mage.ai/development/testing/unit-tests)

Data integration pipeline

- **Chargebee source:** Fix load sample data issue
- **Redshift destination:** Handle unique constraints in destination tables.

DBT improvements

- If there are two DBT model files in the same directory with the same name but one has an extra `.sql` extension, the wrong file may get deleted if you try to delete the file with the double `.sql` extension.
- Support using Python block to transform data between DBT model blocks
- Support `+schema` in DBT profile

Other bug fixes & polish

- SQL block
- Automatically limit SQL block data fetching while using the notebook but also provide manually override to adjust the limit while using the notebook. Remove these limits when running pipeline end-to-end outside the notebook.
- Only export upstream blocks if current block using raw SQL and its using the variable
- Update SQL block to use `io_config.yaml` database and schema by default
- Fix timezone in pipeline run execution date.
- Show backfill preview dates in UTC time
- Raise exception when loading empty pipeline config.
- Fix dynamic block creation when reduced block has another dynamic block as downstream block
- Write Spark DataFrame in parquet format instead of csv format
- Disable user authentication when REQUIRE_USER_AUTHENTICATION=0
- Fix loggings for Callback blocks
- Git
- Import git only when the `Git` feature is used.
- Update git actions error message
- Notebook
- Fix Notebook page freezing issue
- Make Notebook right vertical navigation sticky
- More documentations
- Add architecture overview diagram and doc: [https://docs.mage.ai/production/deploying-to-cloud/architecture](https://docs.mage.ai/production/deploying-to-cloud/architecture)
- Add doc for setting up event trigger lambda function: [https://docs.mage.ai/guides/triggers/events/aws#set-up-lambda-function](https://docs.mage.ai/guides/triggers/events/aws#set-up-lambda-function)


View full [Changelog](https://www.notion.so/What-s-new-7cc355e38e9c42839d23fdbef2dabd2c)

0.8.44

Not secure
![Untitled](https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExNTliODAxMDNmYTEyYjI5MGNlODEyZDc4Y2ZmZTY5ZWQ0ODhiMDUwZCZjdD1n/dAsMojnSbjtX30SeC6/giphy.gif)

Configure trigger in code

In addition to configuring triggers in UI, Mage also supports configuring triggers in code now. Create a `triggers.yaml` file under your pipeline folder and enter the triggers config. The triggers will automatically be synced to DB and trigger UI.

![config-trigger-in-code](https://media.graphassets.com/S3EnLfELQu2HWZQEAH7L)

Doc: [https://docs.mage.ai/guides/triggers/configure-triggers-in-code](https://docs.mage.ai/guides/triggers/configure-triggers-in-code)

**Centralize server logger and add verbosity control**

Shout out to [Dhia Eddine Gharsallaoui](https://github.com/dhia-gharsallaoui) for his contribution of centralizing the server loggings and adding verbosity control. User can control the verbosity level of the server logging by setting the `SERVER_VERBOSITY` environment variables. For example, you can set `SERVER_VERBOSITY` environment variable to `ERROR` to only print out errors.

Doc: [https://docs.mage.ai/production/observability/logging#server-logging](https://docs.mage.ai/production/observability/logging#server-logging)

Customize resource for Kubernetes executor

User can customize the resource when using the Kubernetes executor now by adding the `executor_config` to the block config in pipeline’s `metadata.yaml`.

![customize-k8s](https://media.graphassets.com/y8phjhITz6J5mmWZOSgk)

Doc: [https://docs.mage.ai/production/configuring-production-settings/compute-resource#kubernetes-executor](https://docs.mage.ai/production/configuring-production-settings/compute-resource#kubernetes-executor)

Data integration pipelines

- **Google sheets source:** Fix loading sample data from Google Sheets
- **Postgres source:** Allow customizing the publication name for logical replication
- **Google search console source:** Support email field in google_search_console config
- **BigQuery destination:** Limit the number of subqueries in BigQuery query
- Show more descriptive error (instead of `{}`) when a stream that was previously selected may have been deleted or renamed. If a previously selected stream was deleted or renamed, it will still appear in the `SelectStreams` modal but will automatically be deselected and indicate that the stream is no longer available in red font. User needs to click "Confirm" to remove the deleted stream from the schema.

![descriptive-error](https://media.graphassets.com/p4yKR63DSRGgI9Jn8SN4)

Terminal improvements

- Use named terminals instead of creating a unique terminal every time Mage connects to the terminal websocket.
- Update terminal for windows. Use `cmd` shell command for windows instead of bash. Allow users to overwrite the shell command with the `SHELL_COMMAND` environment variable.
- Support copy and pasting multiple commands in terminal at once.
- When changing the path in the terminal, don’t permanently change the path globally for all other processes.
- Show correct logs in terminal when installing requirements.txt.

DBT improvements

- Interpolate environment variables and secrets in DBT profile

Git improvements

- Update git to support multiple users

Postgres exporter improvements

- Support reordering columns when exporting a dataframe to Postgres
- Support specifying unique constraints when exporting the dataframe

python
with Postgres.with_config(ConfigFileLoader(config_path, config_profile)) as loader:
loader.export(
df,
schema_name,
table_name,
index=False,
if_exists='append',
allow_reserved_words=True,
unique_conflict_method='UPDATE',
unique_constraints=['col'],
)


Other bug fixes & polish

- Fix chart loading errors.
- Allow pipeline runs to be canceled from UI.
- Fix raw SQL block trying to export upstream python block.
- Don’t require metadata for dynamic blocks.
- When editing a file in the file editor, disable keyboard shortcuts for notebook pipeline blocks.
- Increase autosave interval from 5 to 10 seconds.
- Improve vertical navigation fixed scrolling.
- Allow users to force delete block files. When attempting to delete a block file with downstream dependencies, users can now override the safeguards in place and choose to delete the block regardless.

View full [Changelog](https://www.notion.so/mageai/What-s-new-7cc355e38e9c42839d23fdbef2dabd2c)

0.8.37

Not secure
![Untitled](https://media.giphy.com/media/arMJIb82UoJqjHdgPr/giphy-downsized-large.gif)

Interactive terminal

The terminal experience is improved in this release, which adds new interactive features and boosts performance. Now, you can use the following interactive commands and more:

- `git add -p`
- `dbt init demo`
- `great_expectations init`

![Untitled](https://media.graphassets.com/auCAd8LUQc6c3iWgEr5j)

Data integration pipeline

New source: Google Ads

Shout out to [Luis Salomão](https://github.com/Luishfs) for adding the Google Ads source.

Doc: [https://github.com/mage-ai/mage-ai/blob/master/mage_integrations/mage_integrations/sources/google_ads/README.md](https://github.com/mage-ai/mage-ai/blob/master/mage_integrations/mage_integrations/sources/google_ads/README.md)

New source: Snowflake

Doc: [https://github.com/mage-ai/mage-ai/blob/master/mage_integrations/mage_integrations/sources/snowflake/README.md](https://github.com/mage-ai/mage-ai/blob/master/mage_integrations/mage_integrations/sources/snowflake/README.md)

New destination: Amazon S3

Doc: [https://github.com/mage-ai/mage-ai/blob/master/mage_integrations/mage_integrations/destinations/amazon_s3/README.md](https://github.com/mage-ai/mage-ai/blob/master/mage_integrations/mage_integrations/destinations/amazon_s3/README.md)

Bug Fixes

- In the MySQL source, map the Decimal type to Number.
- In the MySQL destination, use `DOUBLE PRECISION` instead of `DECIMAL` as the column type for float/double numbers.

Streaming pipeline

New sink: Amazon S3

Doc: [https://docs.mage.ai/guides/streaming/destinations/amazon-s3](https://docs.mage.ai/guides/streaming/destinations/amazon-s3)

Other improvements

- Enable the logging of custom exceptions in the transformer of a streaming pipeline. Here is an example code snippet:

python
transformer
def transform(messages: List[Dict], *args, **kwargs):
try:
raise Exception('test')
except Exception as err:
kwargs['logger'].error('Test exception', error=err)
return messages


- Support cancelling running streaming pipeline (when pipeline is executed in PipelineEditor) after page is refreshed.

Alerting option for Google Chat

Shout out to [Tim Ebben](https://github.com/tebben) for adding the option to send alerts to Google Chat in the same way as Teams/Slack using a webhook.

Example config in project’s metadata.yaml

yaml
notification_config:
alert_on:
- trigger_failure
- trigger_passed_sla
slack_config:
webhook_url: ...


How to create webhook url: [https://developers.google.com/chat/how-tos/webhooks#create_a_webhook](https://developers.google.com/chat/how-tos/webhooks#create_a_webhook)

Other bug fixes & polish

- Prevent a user from editing a pipeline if it’s stale. A pipeline can go stale if there are multiple tabs open trying to edit the same pipeline or multiple people editing the pipeline at different times.
- Fix bug: Code block scrolls out of view when focusing on the code block editor area and collapsing/expanding blocks within the code editor.
- Fix bug: Sync UI is not updating the "rows processed" value.
- Fix the path issue of running dynamic blocks on a Windows server.
- Fix index out of range error in data integration transformer when filtering data in the transformer.
- Fix issues of loading sample data in Google Sheets.
- Fix chart blocks loading data.
- Fix Git integration bugs:
- The confirm modal after clicking “synchronize data” was sometimes not actually running the sync, so removed that.
- Fix various git related user permission issues.
- Create local repo git path if it doesn’t exists already.
- Add preventive measures for saving a pipeline:
- If the content that is about to be saved to a YAML file is invalid YAML, raise an exception.
- If the block UUIDs from the current pipeline and the content that is about to be saved differs, raise an exception.
- DBT block
- Support DBT staging. When a DBT model runs and if it’s configured to use a schema with a suffix, Mage will now take that into account when fetching a sample of the model at the end of the block run.
- Fix `Circular reference detected` issue with DBT variables.
- Manually input DBT block profile to allow variable interpolation.

![Untitled](https://media.graphassets.com/4GpY6C3TS3O7rTIJI8gk)

- Show DBT logs when running compile and preview.

![Untitled](https://media.graphassets.com/3hJC7SB1StOKsyODL8Nn)

- SQL block
- Don’t limit raw SQL query; allow all rows to be retrieved.
- Support SQL blocks passing data to downstream SQL blocks with different data providers.
- Raise an exception if a raw SQL block is trying to interpolate an upstream raw SQL block from a different data provider.
- Fix date serialization from 1 block to another.
- Add helper for using CRON syntax in trigger setting.

![Untitled](https://media.graphassets.com/1ThPPn7Sci4um5slzCMK)

- Document internal API endpoints for development and contributions: [https://docs.mage.ai/contributing/backend/api/overview](https://docs.mage.ai/contributing/backend/api/overview)

View full [Changelog](https://www.notion.so/mageai/What-s-new-7cc355e38e9c42839d23fdbef2dabd2c)

Page 8 of 10

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.