Mage-ai

Latest version: v0.9.70

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

Scan your dependencies

Page 1 of 9

2.0

Mage launched a new backfill framework to make backfills a lot easier. User can select a date range and date interval for backfill. Mage will automatically create the pipeline runs within the date range, and run them concurrently to backfill the data.

Docs

- Backfill framework overview: [https://docs.mage.ai/orchestration/backfills/overview](https://docs.mage.ai/orchestration/backfills/overview)
- Backfill guide: [https://docs.mage.ai/orchestration/backfills/guides](https://docs.mage.ai/orchestration/backfills/guides)

![Untitled](https://media.graphassets.com/output=format:jpg/resize=height:800,fit:max/afg50kulQHC5hf6yEHpM)

![Untitled](https://media.graphassets.com/output=format:jpg/resize=height:800,fit:max/iwT6h8x5RfGxeCN5c1P8)

Data integration

New sources

- [Microsoft SQL Server](https://github.com/mage-ai/mage-ai/blob/master/mage_integrations/mage_integrations/sources/mssql/README.md)
- [Outreach](https://github.com/mage-ai/mage-ai/blob/master/mage_integrations/mage_integrations/sources/outreach/README.md)
- [LinkedIn Ads](https://github.com/mage-ai/mage-ai/blob/master/mage_integrations/mage_integrations/sources/linkedin_ads/README.md)
- [Paystack](https://github.com/mage-ai/mage-ai/blob/master/mage_integrations/mage_integrations/sources/paystack/README.md)
- [Postmark](https://github.com/mage-ai/mage-ai/blob/master/mage_integrations/mage_integrations/sources/postmark/README.md)

New destinations

- [Trino](https://github.com/mage-ai/mage-ai/blob/master/mage_integrations/mage_integrations/destinations/trino/README.md) (all connectors)

Streaming pipeline

Add Kinesis as streaming source and destination(sink) to streaming pipeline.

- For Kinesis streaming source, configure the source stream name and batch size.
- For Kinesis streaming destination(sink), configure the destination stream name and partition key.
- To use Kinesis streaming source and destination, make sure the following environment variables exist:
- `AWS_ACCESS_KEY_ID`
- `AWS_SECRET_ACCESS_KEY`
- `AWS_REGION`

![Untitled](https://media.graphassets.com/output=format:jpg/resize=height:800,fit:max/Z4qcP38rRCCKYWdayrTn)

Kubernetes support

- Support running Mage in Kubernetes locally: [https://docs.mage.ai/getting-started/setup#using-kubernetes](https://docs.mage.ai/getting-started/setup#using-kubernetes)
- Support executing blocks in separate Kubernetes jobs: [https://docs.mage.ai/production/configuring-production-settings/compute-resource#kubernetes-executor](https://docs.mage.ai/production/configuring-production-settings/compute-resource#kubernetes-executor)

yaml
blocks:
- uuid: example_data_loader
type: data_loader
upstream_blocks: []
downstream_blocks: []
executor_type: k8s
...


- When managing dev environment in Kubernetes cluster, allow adding custom config for the mage container in Kubernetes.

![Untitled](https://media.graphassets.com/output=format:jpg/resize=height:800,fit:max/r0TAbYsHQjCCsVX0evCt)

DBT improvements

- Support running MySQL DBT models in Mage.
- When adding a DBT block to run all/multiple models, allow manual naming of the block.

Metaplane integration

Mage can run monitors in Metaplane via API integration. Check out the [guide](https://docs.mage.ai/integrations/metaplane) to learn about how to run monitors in Metaplane and poll statuses of the monitors.

Other bug fixes & polish

- SQL block: support SSH tunnel connection in Postgres SQL block
- Follow this [guide](https://docs.mage.ai/integrations/databases/PostgreSQL#ssh-tunneling) to configure Postgres SQL block to use SSH tunnel
- R block: support accessing runtime variables in R block
- Follow this [guide](https://docs.mage.ai/guides/r-blocks#runtime-variables) to use runtime variables in R blocks
- Added setting to skip current pipeline run if previous pipeline run hasn’t finished.

![Untitled](https://media.graphassets.com/output=format:jpg/resize=height:800,fit:max/K48rL9tUTJyDAd7hUTQg)

- Pass runtime variables to test functions. You can access runtime variables via `kwargs['key']` in test functions.

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

0.9.68

<div align="center">
<img src="https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExazJsM3BoNnN4NTNtcHplcm5peXNmeDdwNm9xeW82ajV4NjAweGdxZSZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/51DjsXLhUfFozdos7F/giphy-downsized.gif" width="300" />
</div>

<!-- Release notes generated using configuration in .github/release.yml at release/0.9.68 -->

What's Changed
πŸŽ‰ Exciting New Features
🐍 Custom python source in Streaming pipeline
This feature allows users to use custom Python source code in their Streaming pipelines, which provides more flexibility and control for advanced users who need to incorporate custom logic or functionality into their streaming pipelines. Here is the code template:
python
from mage_ai.streaming.sources.base_python import BasePythonSource
from typing import Callable

if 'streaming_source' not in globals():
from mage_ai.data_preparation.decorators import streaming_source


streaming_source
class CustomSource(BasePythonSource):
def init_client(self):
"""
Implement the logic of initializing the client.
"""

def batch_read(self, handler: Callable):
"""
Batch read the messages from the source and use handler to process the messages.
"""
while True:
records = []
Implement the logic of fetching the records
if len(records) > 0:
handler(records)

by wangxiaoyou1993 in https://github.com/mage-ai/mage-ai/pull/4763

πŸ“¦ OracleDB exporter
Add OracleDB exporter template to standard batch pipeline.
![image](https://github.com/mage-ai/mage-ai/assets/80284865/099b7846-796e-420f-916f-07f618eb951f)

by matrixstone in https://github.com/mage-ai/mage-ai/pull/4785

πŸ”§ Server logging format template overriding
This feature enables users to override the default server logging format template in Mage. This provides more flexibility in customizing the logging output, which can be useful for troubleshooting, monitoring, or integrating with external logging systems.
Here is an example setting:
bash
export SERVER_LOGGING_TEMPLATE=$'%(asctime)s\t[%(name)25.25s]\t%(levelname)5s: %(message)s'

by afal007 in https://github.com/mage-ai/mage-ai/pull/4772

πŸ”„ Update pipeline name before pipeline creation
Allow user to edit the pipeline name and add a description/tags before creating a new pipeline. Previously, a randomized name was always used for new pipelines, and then users had to go to the pipeline's settings to update the name.
![image](https://github.com/mage-ai/mage-ai/assets/80284865/8b246de5-39d3-4e99-b7f2-48d41bc45ca4)

by johnson-mage in https://github.com/mage-ai/mage-ai/pull/4790


πŸ› Bug Fixes
* [jk] Add check to avoid rendering of invalid JSX element by johnson-mage in https://github.com/mage-ai/mage-ai/pull/4755
* [dy] Fix GitLab auth issues by dy46 in https://github.com/mage-ai/mage-ai/pull/4760
* [jk] Increase visibility of code block context menu by johnson-mage in https://github.com/mage-ai/mage-ai/pull/4768
* [dy] Check status response for REQUIRE_USER_AUTHENTICATION by dy46 in https://github.com/mage-ai/mage-ai/pull/4782
* [xy] Fix exporting dataframe to bigquery. by wangxiaoyou1993 in https://github.com/mage-ai/mage-ai/pull/4783
* [xy] Catch job manager init error. by wangxiaoyou1993 in https://github.com/mage-ai/mage-ai/pull/4784
* [dy] Add all parent block variables to the add on block by dy46 in https://github.com/mage-ai/mage-ai/pull/4747
* [dy] Fix clickhouse destination by dy46 in https://github.com/mage-ai/mage-ai/pull/4788
* [jk] Bugfixes - table render / rename destination block by johnson-mage in https://github.com/mage-ai/mage-ai/pull/4797
* [dy] Update API trigger url by dy46 in https://github.com/mage-ai/mage-ai/pull/4800
* [dy] Load pipeline tags from config by dy46 in https://github.com/mage-ai/mage-ai/pull/4806
* [xy] Fix insert command for trino deltalake array type. by wangxiaoyou1993 in https://github.com/mage-ai/mage-ai/pull/4819
* [jk] Fix unclickable dbt sql file in dbt v1 model select by johnson-mage in https://github.com/mage-ai/mage-ai/pull/4822
* [xy] Raise ImportError when spark is not supported. by wangxiaoyou1993 in https://github.com/mage-ai/mage-ai/pull/4825
* [xy] Fix mongodb source typo. by wangxiaoyou1993 in https://github.com/mage-ai/mage-ai/pull/4833
* [jk] Configure dbt v2 yaml block and other dbt code block improvements by johnson-mage in https://github.com/mage-ai/mage-ai/pull/4834
* [xy] Fix writing polars dataframe to gcs storage. by wangxiaoyou1993 in https://github.com/mage-ai/mage-ai/pull/4839
* [xy] Create snowflake temp table like original table. by wangxiaoyou1993 in https://github.com/mage-ai/mage-ai/pull/4802
* [jk] Bugfix pipeline tag cache by johnson-mage in https://github.com/mage-ai/mage-ai/pull/4841
* [xh] Oracle fix issue: incremental datetime bookmark fetch fails by matrixstone in https://github.com/mage-ai/mage-ai/pull/4816
* [jk] Clear block_uuid query param when selecting new block by johnson-mage in https://github.com/mage-ai/mage-ai/pull/4844
* [dy] Add sign in check to index.tsx by dy46 in https://github.com/mage-ai/mage-ai/pull/4781
* [dy] Fix SSO sign in for frontend build by dy46 in https://github.com/mage-ai/mage-ai/pull/4794
* [dy] Put cache in try/except by dy46 in https://github.com/mage-ai/mage-ai/pull/4796
* [dy] Fix slack notifications with stacktrace by dy46 in https://github.com/mage-ai/mage-ai/pull/4826
* [dy] Update config_overwrite by dy46 in https://github.com/mage-ai/mage-ai/pull/4811

πŸ’… Enhancements & Polish
* [xh] OracleDB thick mode support in standard pipeline by matrixstone in https://github.com/mage-ai/mage-ai/pull/4701
* [jk] Limit number of block output files read and included in pipeline response by johnson-mage in https://github.com/mage-ai/mage-ai/pull/4758
* [xy] Only show sql logs in debug environment. by wangxiaoyou1993 in https://github.com/mage-ai/mage-ai/pull/4789
* [xy] Interpolate global vars in k8s executor namespace by wangxiaoyou1993 in https://github.com/mage-ai/mage-ai/pull/4792
* [enhancement] mongodb stream full_document config option by moseswynn in https://github.com/mage-ai/mage-ai/pull/4793
* [xy] Improve the performance of loading dbt blocks. by wangxiaoyou1993 in https://github.com/mage-ai/mage-ai/pull/4807
* [jk] Avoid N dbt config option requests for N blocks on Pipeline Editor by johnson-mage in https://github.com/mage-ai/mage-ai/pull/4812
* [xy] Speed up backend requests. by wangxiaoyou1993 in https://github.com/mage-ai/mage-ai/pull/4815
* [xy] Test kafka connection when initializing the consumer. by wangxiaoyou1993 in https://github.com/mage-ai/mage-ai/pull/4832
* [xy] Make path_to_credential optional in GCS logger. by wangxiaoyou1993 in https://github.com/mage-ai/mage-ai/pull/4837
* [dy] Expire certain pipeline runs by dy46 in https://github.com/mage-ai/mage-ai/pull/4727
* [dy] Add pagination to workspace roles by dy46 in https://github.com/mage-ai/mage-ai/pull/4799
* [dy] Improve elasticsearch speed by dy46 in https://github.com/mage-ai/mage-ai/pull/4824


✨ New Contributors
* afal007 made their first contribution in https://github.com/mage-ai/mage-ai/pull/4772
* moseswynn made their first contribution in https://github.com/mage-ai/mage-ai/pull/4793

**Full Changelog**: https://github.com/mage-ai/mage-ai/compare/0.9.66...0.9.68

0.9.66

<div align="center">
<img src="https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExM3NzODRwdGlodHhhNWRqNzNvaTh4aG1qOHhrdjZoODFwZDk2NjU1bSZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/5hdJF3HJGhVeiYFzht/giphy.gif" width="50%" />
</div>

<!-- Release notes generated using configuration in .github/release.yml at release/0.9.66 -->

What's Changed
πŸŽ‰ Exciting New Features
πŸ—‘οΈ Delete backfills
* Add delete button to backfills table that allows user to delete backfills individually.
* Prevent user from setting a backfill interval unit value less than 1, which could cause issues loading the backfills.
![image](https://github.com/mage-ai/mage-ai/assets/78053898/60628728-bf41-46d7-b033-d5f1a21e2a05)

by johnson-mage in https://github.com/mage-ai/mage-ai/pull/4726

πŸͺͺ Support AzureDevOps using Entra ID/AD authentication
If you have an Azure DevOps organization connected to your Active Directory/Microsoft Entra ID tenant, you can enable DevOps in the version control app.
* First, you will need to enable the [Active Directory](https://docs.mage.ai/production/authentication/microsoft) integration in order for Mage to authenticate your user.
* Once the Active Directory integration is enabled, you simply need to add your DevOps organization as an environment variable, and you should be able to authenticate with DevOps in the version control app
* `export AZURE_DEVOPS_ORGANIZATION=<organization_name>`

by dy46 in https://github.com/mage-ai/mage-ai/pull/4721

πŸ“…Β  Scheduler status endpoint
Add `/api/status` endpoint to scheduler when running scheduler in standalone mode.
This endpoint can be used to check the liveness of the scheduler.
<div align="center">
<img src="https://github.com/mage-ai/mage-ai/assets/80284865/b97549df-8e65-497d-a1b6-e9fc7c0b42e2" width="600"/>
</div>

<br/>

by wangxiaoyou1993 in https://github.com/mage-ai/mage-ai/pull/4736

πŸ” Read authentication settings from AWS secrets manager
Add support for reading settings from AWS secrets manager. The existing authentication settings have been moved to using the new Settings class.

In order to set the settings backend, the user will need to add a section to the project metadata. Here is an example to set the setting backend to AWS secrets manager:
yaml
settings_backend:
backend_type: aws_secrets_manager
prefix: default_repo/settings/

Read the [doc](https://docs.mage.ai/production/configuring-production-settings/settings-backend) for details.

by dy46 in https://github.com/mage-ai/mage-ai/pull/4674

πŸ’… Enhancements & Polish
* [jk] Limit block output for dynamic blocks in UI by johnson-mage in https://github.com/mage-ai/mage-ai/pull/4693
* [xy] Add auto clean name flag to io classes. by wangxiaoyou1993 in https://github.com/mage-ai/mage-ai/pull/4698
* [dy] Add interval variables for cron based schedules by dy46 in https://github.com/mage-ai/mage-ai/pull/4699
* [dy] Add error stack trace to the message for pipeline run failure by dy46 in https://github.com/mage-ai/mage-ai/pull/4697
* [dy] Add unique_conflict_method for mssql by dy46 in https://github.com/mage-ai/mage-ai/pull/4712
* [jk] Scrollbar polish by johnson-mage in https://github.com/mage-ai/mage-ai/pull/4732
* [xy] Remove Redshift stl insert query. by wangxiaoyou1993 in https://github.com/mage-ai/mage-ai/pull/4735
* [edw] e2e test: load pages no errors by edmondwinston in https://github.com/mage-ai/mage-ai/pull/4429
* [dy] Share main project logging config with workspaces by dy46 in https://github.com/mage-ai/mage-ai/pull/4656

πŸ› Bug Fixes
* [jk] Fix "filter is not a function" type error in schema props by johnson-mage in https://github.com/mage-ai/mage-ai/pull/4686
* [xy] Fix list index out of range for dynamic blocks. by wangxiaoyou1993 in https://github.com/mage-ai/mage-ai/pull/4688
* [xy] Set default domain for salesforce source by wangxiaoyou1993 in https://github.com/mage-ai/mage-ai/pull/4689
* [dy] Handle JSON reading errors for elasticsearch by dy46 in https://github.com/mage-ai/mage-ai/pull/4696
* [dy] Add try/except by dy46 in https://github.com/mage-ai/mage-ai/pull/4683
* [jk] Update backfill policy to allow update on settings by johnson-mage in https://github.com/mage-ai/mage-ai/pull/4706
* [dy] Fix logging for elasticsearch destination by dy46 in https://github.com/mage-ai/mage-ai/pull/4709
* [xy] Add upstream_dbt_blocks method back to DBTBlockSQL. by wangxiaoyou1993 in https://github.com/mage-ai/mage-ai/pull/4711
* [jk] Bugfix for pipeline interactions by johnson-mage in https://github.com/mage-ai/mage-ai/pull/4710
* [xy] Catch sync schedules exception. by wangxiaoyou1993 in https://github.com/mage-ai/mage-ai/pull/4717
* [xy] Fix pipeline metadata encoding issue. by wangxiaoyou1993 in https://github.com/mage-ai/mage-ai/pull/4718
* [jk] Fix buggy pipeline dashboard by johnson-mage in https://github.com/mage-ai/mage-ai/pull/4714
* Bugfix: Fix migration crash when using MSSQL as mage database by tuokor in https://github.com/mage-ai/mage-ai/pull/4695
* [xy] Set repo_path when syncing trigger configs. by wangxiaoyou1993 in https://github.com/mage-ai/mage-ai/pull/4719
* [jk] Allow file to be opened in Pipeline Editor without Command Center enabled by johnson-mage in https://github.com/mage-ai/mage-ai/pull/4728
* [jk] Bugfix dock overlay by johnson-mage in https://github.com/mage-ai/mage-ai/pull/4733
* [dy] Display error on oauth by dy46 in https://github.com/mage-ai/mage-ai/pull/4734
* [jk] Avoid client error when making request before interactions are done loading by johnson-mage in https://github.com/mage-ai/mage-ai/pull/4744
* Trino temp table location fix - Fixes issue https://github.com/mage-ai/mage-ai/issues/4738 by sumanshusamarora in https://github.com/mage-ai/mage-ai/pull/4739
* [xy] Fix alter Snowflake table with lower_case=false by wangxiaoyou1993 in https://github.com/mage-ai/mage-ai/pull/4750
* [jk] Fix block run sorting by johnson-mage in https://github.com/mage-ai/mage-ai/pull/4751
* [dy] Fix sign in issue by dy46 in https://github.com/mage-ai/mage-ai/pull/4753
* [dy] Fix elasticsearch destination by dy46 in https://github.com/mage-ai/mage-ai/pull/4687
* fix the incorrect spelling by ckfear in https://github.com/mage-ai/mage-ai/pull/4680
* [Bug] Resolve "parsing error" in the trino.mdx screen by devharipragaz007 in https://github.com/mage-ai/mage-ai/pull/4702
* Pyarrow version conflicts from Snowflake connector by Jawahars in https://github.com/mage-ai/mage-ai/pull/4707
* [dy] Update access token user queries and add tests by dy46 in https://github.com/mage-ai/mage-ai/pull/4713
* bug fix with stripe sync by sumanshusamarora in https://github.com/mage-ai/mage-ai/pull/4748

✨ New Contributors
* devharipragaz007 made their first contribution in https://github.com/mage-ai/mage-ai/pull/4702
* Jawahars made their first contribution in https://github.com/mage-ai/mage-ai/pull/4707
* tuokor made their first contribution in https://github.com/mage-ai/mage-ai/pull/4695

**Full Changelog**: https://github.com/mage-ai/mage-ai/compare/0.9.65...0.9.66

0.9.65

<div align="center">
<img src="https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExNGs2enJlbXV1MmJkamlkcTluY3RuZ3g5cmFiMDkyd2E0emRpa3gwZiZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/QUKqSLmE7vmZP2PkZk/giphy.gif" width="50%" />
</div>

<!-- Release notes generated using configuration in .github/release.yml at release/0.9.65 -->

What's Changed
πŸŽ‰ Exciting New Features
πŸ”” Telegram notification
<div align="center">
<img src="https://github.com/mage-ai/mage-ai/assets/80284865/ca7b240f-1e07-4c0a-8c61-0b3809fefc33" width="600"/>
</div>

<br/>

Support for setting up Telegram notification channel for alerts is now available.
Check out the [doc](https://docs.mage.ai/integrations/observability/alerting-telegram) for details

_by luthfir-rahman in https://github.com/mage-ai/mage-ai/pull/4632_

πŸ”„Β Runtime variables and concurrency config in Backfills
Backfills support configuring global variables override and concurrency limit is now available.
<div align="center">
<img src="https://github.com/mage-ai/mage-ai/assets/80284865/c359d942-3dbe-4cd4-ba07-3ef636f5d9cc" width="600"/>
</div>

<br/>

_by dy46 in https://github.com/mage-ai/mage-ai/pull/4618_

☁️ Export raw files to S3 and GCS
Using S3 and GCS data exporter templates, you can now directly upload raw files in addition to dataframes.

python
bucket_name = 'test-bucket'
object_key = 'test_file_copy.csv'

S3.with_config(ConfigFileLoader(config_path, config_profile)).export(
'/home/src/test_file.csv',
bucket_name,
object_key,
)
GoogleCloudStorage.with_config(ConfigFileLoader(config_path, config_profile)).export(
'/home/src/test_file.csv',
bucket_name,
object_key,
)

_by wangxiaoyou1993 in https://github.com/mage-ai/mage-ai/pull/4607_

πŸ› Bug Fixes
* Luthfir/discord notification by luthfir-rahman in https://github.com/mage-ai/mage-ai/pull/4590
* [xy] Support exporting to mysql with selected columns. by wangxiaoyou1993 in https://github.com/mage-ai/mage-ai/pull/4605
* [xy] Update the port check to use specified host. by wangxiaoyou1993 in https://github.com/mage-ai/mage-ai/pull/4606
* [xy] Set default host when checking port. by wangxiaoyou1993 in https://github.com/mage-ai/mage-ai/pull/4610
* [dy] Refactor duplicate git code by dy46 in https://github.com/mage-ai/mage-ai/pull/4611
* [jk] Fix unclickable minimized windows by johnson-mage in https://github.com/mage-ai/mage-ai/pull/4613
* [dy] Attempt to resolve network issues by dy46 in https://github.com/mage-ai/mage-ai/pull/4620
* [jk] Fix block caching when renaming/detaching blocks by johnson-mage in https://github.com/mage-ai/mage-ai/pull/4626
* [jk] Update tag and block cache when cloning pipeline by johnson-mage in https://github.com/mage-ai/mage-ai/pull/4627
* [jk] Various bugfixes for pipeline search and filter by johnson-mage in https://github.com/mage-ai/mage-ai/pull/4631
* [xy] Use milliseconds in parquet by default. by wangxiaoyou1993 in https://github.com/mage-ai/mage-ai/pull/4634
* Fixed MongoDB reading input by Luishfs in https://github.com/mage-ai/mage-ai/pull/4639
* Fixed random input inside singer destinations by Luishfs in https://github.com/mage-ai/mage-ai/pull/4642
* [jk] Fix double scrollbars and draggable height by johnson-mage in https://github.com/mage-ai/mage-ai/pull/4643
* [jk] UI bugfixes on Version Control page by johnson-mage in https://github.com/mage-ai/mage-ai/pull/4644
* [dy] Fix unit test logging by dy46 in https://github.com/mage-ai/mage-ai/pull/4630
* [dy] Add DB locking by dy46 in https://github.com/mage-ai/mage-ai/pull/4629
* [jk] Bugfixes for Overview Dashboard by johnson-mage in https://github.com/mage-ai/mage-ai/pull/4659
* [jk] Bugfix for save block shortcut by johnson-mage in https://github.com/mage-ai/mage-ai/pull/4667
* Fixed postgreSQL reserved words by Luishfs in https://github.com/mage-ai/mage-ai/pull/4640
* [dy] Minor workspace fixes by dy46 in https://github.com/mage-ai/mage-ai/pull/4658
* [jk] Sync block contents for replica block when minimizing by johnson-mage in https://github.com/mage-ai/mage-ai/pull/4672
* Incorrect spelling for the word level in documentation by Sa1tyBiscuit in https://github.com/mage-ai/mage-ai/pull/4635

πŸ’… Enhancements & Polish
* [xy] Support filtering google sheets by sheet names by wangxiaoyou1993 in https://github.com/mage-ai/mage-ai/pull/4604
* [xy] Combine schedulers. by wangxiaoyou1993 in https://github.com/mage-ai/mage-ai/pull/4614
* [xy] Separate scheduler logs and pipeline logs. by wangxiaoyou1993 in https://github.com/mage-ai/mage-ai/pull/4621
* [xy] Update initial load of log_based replication to use incremental sync by wangxiaoyou1993 in https://github.com/mage-ai/mage-ai/pull/4623
* [jk] Redirect to login page immediately by johnson-mage in https://github.com/mage-ai/mage-ai/pull/4662
* [jk] Clean up chart block widths in Pipeline Editor by johnson-mage in https://github.com/mage-ai/mage-ai/pull/4665
* [xy] Support extra connection arguments in mysql source and destination. by wangxiaoyou1993 in https://github.com/mage-ai/mage-ai/pull/4668
* [xy] Fix image build by wangxiaoyou1993 in https://github.com/mage-ai/mage-ai/pull/4671
* Add DEFAULT_EXECUTOR_TYPE by danieldiamond in https://github.com/mage-ai/mage-ai/pull/4597
* [dy] Filter out sensitive config by dy46 in https://github.com/mage-ai/mage-ai/pull/4594
* mage_ai/io MSSQL connection: add support for DATETIMEOFFSET by hugabora in https://github.com/mage-ai/mage-ai/pull/4619
* [xy] Bump up more versions to resolve vulnerabilities. by wangxiaoyou1993 in https://github.com/mage-ai/mage-ai/pull/4444


New Contributors
* danieldiamond made their first contribution in https://github.com/mage-ai/mage-ai/pull/4597
* carillpower made their first contribution in https://github.com/mage-ai/mage-ai/pull/4625
* Sa1tyBiscuit made their first contribution in https://github.com/mage-ai/mage-ai/pull/4635

**Full Changelog**: https://github.com/mage-ai/mage-ai/compare/0.9.64...0.9.65

0.9.64

Not secure
<div align="center">
<img src="https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExZnJ6dnd3ZGwzbjN3NHdkOXRwejJxaG5reThwdWs0Mnl1NGw1OWR2MiZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/tyfRqk4pw3W8Qpcuhp/giphy-downsized.gif" width="50%" />
</div>

<!-- Release notes generated using configuration in .github/release.yml at master -->

What's Changed
πŸŽ‰ Exciting New Features
πŸ”­ OpenTelemetry integration
- **Added OpenTelemetry Libraries**: Integrated OpenTelemetry Python libraries to instrument the application for telemetry data collection.
- `opentelemetry-api`: Provides the API for tracing and metrics.
- `opentelemetry-sdk`: The core SDK for OpenTelemetry in Python.
- `opentelemetry-instrumentation`: General instrumentation library.
- `opentelemetry-instrumentation-sqlalchemy`: Specific for instrumenting SQLAlchemy operations.
- `opentelemetry-instrumentation-tornado`: For monitoring Tornado-based HTTP server activities.
- **Environment Variables**: Added new environment variables (`OTEL_EXPORTER_OTLP_HTTP_ENDPOINT` and `OTEL_EXPORTER_OTLP_ENDPOINT`) for configuring the OpenTelemetry Collector endpoints.
- **Database and HTTP Server Instrumentation**: Configured instrumentation for both SQLAlchemy database operations and Tornado HTTP server activities to gather traces and metrics.
- Check out this [doc](https://docs.mage.ai/integrations/observability/opentelemetry) for more details
<div align="center">
<img src="https://github.com/mage-ai/mage-ai/assets/80284865/4f57a23b-9047-4cc6-91dc-b8763e596fd0" width="600"/>
</div>

<br/>

by mfreeman451 in https://github.com/mage-ai/mage-ai/pull/4476

🦊 Add GitLab authentication to version control

<div align="center">
<img src="https://github.com/mage-ai/mage-ai/assets/80284865/d8b00ab6-5b3c-41bf-bd7e-3e33a6a0d962" alt="Gitlab" width="600"/>
</div>

<br/>

Support authenticating with GitLab in version control app.
The feature can be enabled by configuring the following environment variables:
* `GITLAB_HOST`
* `GITLAB_CLIENT_ID`
* `GITLAB_CLIENT_SECRET`

_by dy46 in https://github.com/mage-ai/mage-ai/pull/4534_

πŸ”” Discord notification integration
<div align="center">
<img src="https://github.com/mage-ai/mage-ai/assets/80284865/ff1bb5a7-3110-4b57-a09c-d3a9a4df8331" alt="Discord" width="600"/>
</div>

<br/>

Support setting up Discord notification channel for alerts.
Check out the [doc](https://docs.mage.ai/integrations/observability/alerting-discord) for details

_by luthfir-rahman in https://github.com/mage-ai/mage-ai/pull/4478_

πŸ”‘ Add OIDC generic provider
This feature allows users to hook up their OIDC server (e.g. Keycloak ) and use it to authenticate with Mage.
It can be enabled by configuring the following environment variables:
* `OIDC_CLIENT_ID`
* `OIDC_CLIENT_SECRET`
* `OIDC_DISCOVERY_URL`

_by dy46 in https://github.com/mage-ai/mage-ai/pull/4563_

πŸ› Bug Fixes
* [xy] Use utc time as the default time for monitor_stats. by wangxiaoyou1993 in https://github.com/mage-ai/mage-ai/pull/4554
* Fix Google Ads Catalog to Data Integration Block by Luishfs in https://github.com/mage-ai/mage-ai/pull/4565
* [jk] Load custom design logo by johnson-mage in https://github.com/mage-ai/mage-ai/pull/4574
* [dy] Adjust alembic logger initialization by dy46 in https://github.com/mage-ai/mage-ai/pull/4552
* [dy] Add support for AWS codecommit by dy46 in https://github.com/mage-ai/mage-ai/pull/4568
* [dy] Fix frontend crashing issues by dy46 in https://github.com/mage-ai/mage-ai/pull/4573
* [xy] Set max width for yaml file to inf. by wangxiaoyou1993 in https://github.com/mage-ai/mage-ai/pull/4576
* [dy] Fix DBT logging by dy46 in https://github.com/mage-ai/mage-ai/pull/4577
* [dy] Show the load balancer ingress host if there is no host in the ingress rules by dy46 in https://github.com/mage-ai/mage-ai/pull/4575
* [xy] Match postgres logical replication records with stream name. by wangxiaoyou1993 in https://github.com/mage-ai/mage-ai/pull/4588
πŸ’… Enhancements & Polish
* Added reserved words settings to PostgreSQL by Luishfs in https://github.com/mage-ai/mage-ai/pull/4142
* [xy] Improve google sheets source. by wangxiaoyou1993 in https://github.com/mage-ai/mage-ai/pull/4561
* [jk] Reuse callback and conditional blocks by johnson-mage in https://github.com/mage-ai/mage-ai/pull/4562
* [xy] Show pandas datetime in iso format in notebook. by wangxiaoyou1993 in https://github.com/mage-ai/mage-ai/pull/4564
* [xy] Add case_sensitive param to the sql export method. by wangxiaoyou1993 in https://github.com/mage-ai/mage-ai/pull/4569
* [xy] Create TEMP Snowflake table in data integration destination by wangxiaoyou1993 in https://github.com/mage-ai/mage-ai/pull/4578
* [dy] Misc workspace/git improvements by dy46 in https://github.com/mage-ai/mage-ai/pull/4583
* [dy] Update user authentication for subprojects by dy46 in https://github.com/mage-ai/mage-ai/pull/4586

New Contributors
* luthfir-rahman made their first contribution in https://github.com/mage-ai/mage-ai/pull/4478

**Full Changelog**: https://github.com/mage-ai/mage-ai/compare/0.9.63...0.9.64

0.9.63

Not secure
<div align="center">
<img src="https://github.com/mage-ai/mage-ai/assets/59450879/c0299243-62f1-4378-947f-079dd264430b" width="50%" />
</div>

What's Changed
πŸŽ‰ Exciting New Features

πŸ¦† MotherDuck Support

<div align="center">
<img src="https://github.com/mage-ai/mage-ai/assets/59450879/283e30f5-5712-4cf6-9c4f-d2a120a46faf" width="60%"/>
</div>

</br>

This one's for all the ducklings out there! In addition to supporting DuckDB, Mage now supports [MotherDuck](https://motherduck.com) destinations!

By specifying a `MOTHERDUCK_TOKEN` and adding a `md:` prefix to your DuckDB database, you can read/write from/to MotherDuck locations! Check it out and get started [here](https://docs.mage.ai/integrations/databases/MotherDuck).

*by wangxiaoyou1993 in https://github.com/mage-ai/mage-ai/pull/4533*

πŸ€– Support `Thick` mode in OracleDB

<div align="center">
<img src="https://github.com/mage-ai/mage-ai/assets/59450879/e25a012e-2d3c-402a-a624-c3dbd2670040" width="60%"/>
</div>

</br>

We like our OracleDB connections like we like our pancakes, **THICK** πŸ₯ž. By default, Mage's Oracle client runs in a "Thin" mode which connects directly to Oracle Databaseβ€” this mode does not need Oracle Client libraries. However, some additional functionality is available when they're used.

Now, you can use the "Thick" mode in Mage to connect to OracleDB using the Oracle Client libraries!

Check out our [docs](https://docs.mage.ai/design/data-loading#oracledb) to get started or read more about the differences between "Thin" and "Thick" modes [here](https://python-oracledb.readthedocs.io/en/latest/user_guide/appendix_b.html#connection-handling-differences-between-thin-and-thick-modes).

_by matrixstone in https://github.com/mage-ai/mage-ai/pull/4421_

πŸ—„οΈ Show unused block files in file browser

This is one of our _most_ requested features and we're excited to announce that it's finally here! πŸŽ‰

You can now see which files are not being used in your pipeline! This is a great way to clean up your projects and remove any unnecessary files. Check out the gif below to see it in action!

<div align="center">
<img src="https://github.com/mage-ai/mage-ai/assets/78053898/3c9e41aa-ba18-4f97-8cec-730ffcc7cb8a" width="70%"/>
</div>

<br/>

Head over to our [docs](https://docs.mage.ai/developer-ux/file-browser#unused-block-files) to learn more!

*by johnson-mage in https://github.com/mage-ai/mage-ai/pull/4449*

🀐 Import functionality for pipeline zips

Like to share? So do we! You can now import pipelines (via `.zip` files) in your Mage projects! We're optimistic that this simple improvement will make it easier to share your pipelines or even borrow pipelines from your friends!

<div align="center">
<img src="https://github.com/mage-ai/mage-ai/assets/33767023/1b3dc95d-fa00-4054-a9fe-150e57b59d0a" width="70%"/>
</div>

<br/>

*by johnson-mage in https://github.com/mage-ai/mage-ai/pull/4453*

πŸ› Bug Fixes
* Prevent add block menu from disappearing by johnson-mage in https://github.com/mage-ai/mage-ai/pull/4502
* Fix some minor bugs by tommydangerous in https://github.com/mage-ai/mage-ai/pull/4505
* Remove table name helper by tommydangerous in https://github.com/mage-ai/mage-ai/pull/4506
* Fix alter table column names cleaning (Postgresql integration exporter) by arnetkachev in https://github.com/mage-ai/mage-ai/pull/4493
* Fixed Oauth connection on Salesforce Source by Luishfs in https://github.com/mage-ai/mage-ai/pull/4402
* Fix unclickable vertical scrollbar and jumping before panel by johnson-mage in https://github.com/mage-ai/mage-ai/pull/4512
* Catch unknown host error by wangxiaoyou1993 in https://github.com/mage-ai/mage-ai/pull/4518
* Upgrade snowflake library version and fix datetime column type by wangxiaoyou1993 in https://github.com/mage-ai/mage-ai/pull/4524
* Only show files with correct prefix by dy46 in https://github.com/mage-ai/mage-ai/pull/4509
* Update submodule sync for ssh auth by dy46 in https://github.com/mage-ai/mage-ai/pull/4522
* Update connection url by dy46 in https://github.com/mage-ai/mage-ai/pull/4523
* Update how the stale pipeline message modal is displayed by johnson-mage in https://github.com/mage-ai/mage-ai/pull/4536
* Fix running dynamic blocks with k8s executor by wangxiaoyou1993 in https://github.com/mage-ai/mage-ai/pull/4543
* Widget policy update by johnson-mage in https://github.com/mage-ai/mage-ai/pull/4545
* Catch exception of building cache key for block cache by wangxiaoyou1993 in https://github.com/mage-ai/mage-ai/pull/4548
* Disable stale pipeline modal by johnson-mage in https://github.com/mage-ai/mage-ai/pull/4525

πŸ’… Enhancements & Polish
* MSSQL data integration source - add support for DATETIMEOFFSET type by hugabora in https://github.com/mage-ai/mage-ai/pull/4499
* Fix: handle unprivileged user for postgres by jdbranham in https://github.com/mage-ai/mage-ai/pull/4357
* Optimize pipeline schedule queries by dy46 in https://github.com/mage-ai/mage-ai/pull/4188
* Remove pipeline's updated_at attribute by johnson-mage in https://github.com/mage-ai/mage-ai/pull/4521
* Create and view workspaces in different namespaces by dy46 in https://github.com/mage-ai/mage-ai/pull/4513
* Select status for pipeline runs that time out by dy46 in https://github.com/mage-ai/mage-ai/pull/4519

New Contributors
* arnetkachev made their first contribution in https://github.com/mage-ai/mage-ai/pull/4493
* jdbranham made their first contribution in https://github.com/mage-ai/mage-ai/pull/4357
* tanjibpa made their first contribution in https://github.com/mage-ai/mage-ai/pull/4528

**Full Changelog**: https://github.com/mage-ai/mage-ai/compare/0.9.62...0.9.63

Page 1 of 9

Β© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.