Skip to main content

Changelog

The latest features, product improvements and bug fixes from the Propel team.

changelog-header-decoration

· 3 min read

New features

Kafka Data Pool

The new Kafka Data Pool lets you ingest real-time streaming data into Propel. It provides an easy way to power real-time dashboards, streaming analytics, and workflows with a low-latency data API on top of your Kafka topics.

The architectural overview when connecting Kafka to Propel.

Learn more about the Kafka Data Pool.

🆓 New Generous Free Tier

We are introducing a new, generous free tier! It includes up to $15 of usage per month, and the best part is, it does not expire.

Propel Free Tier

Sign up and get started today.

䷰ Schema evolution: Add a column to Data Pool operation

We are introducing Schema Evolution for Data Pools with the ability to add new columns to your Data Pools. Now, you can add new columns to your Data Pools, allowing you to evolve your data schema as your needs grow and change.

Propel Schema Evolution

Learn more about the Add column to Data Pool operation.

🚚 Batch delete and update operation

The new batch delete operation helps you stay GDPR compliant by providing a straightforward way to permanently delete data from a Data Pool. Meanwhile, the batch update operation helps maintain data integrity and facilitates data backfilling in the event of schema changes. Both operations can be done via the Console or API.

Propel batch delete

Learn more about batch updates and deletes.

🪵 React UI Kit logging controls

The Propel UI Kit now features logging capabilities for faster development and clean logging in production. By default, all errors are logged to the browser's console. This behavior can be customized using the LogProvider component. The LogProvider uses React's context mechanism to propagate log settings to nested components, allowing for specific component logging. Available log levels include "error", "warn", "info", or "debug".

Propel UI Kit Logging

Learn more about the React UI Kit’s logging controls.

Fivetran preview

The Fivetran destination lets you synchronize data from over 400 sources to Propel's Serverless ClickHouse infrastructure.

Propel Fivetran

Learn more about our Fivetran destination.

Bring your own ClickHouse preview

The ClickHouse Data Pool reads through to your self-hosted ClickHouse or ClickHouse Cloud rather than syncing data to Propel.

ClickHouse with Propel Architecture

Learn more about the ClickHouse “read-through” Data Pool.

Fixes

  • Fix timezone argument on toStartOfWeek, toStartOfMonth, and toStartOfYear SQL functions.
  • Fixed login loop for accounts with Okta integration.
  • Fixed environments dropdown in Console in the new Data Pool page.
  • Fixed the Preview Data section of the Console where customers can now change time range and page size when the query results in a time out or an error.

Improvements

  • Add support for timestamps without timezones
  • Support NOW() and CURRENT_DATE functions in SQL.
  • Support INTERVAL in SQL.
  • An alternative timestamp can be supplied to TimeRangeInput when querying.
  • Customers can view TableSettings (enginepartitionByprimaryKey, and orderBy) for their Data Pools via the API.
  • Allow creating Data Pools (including Webhook Data Pools) without timestamp via the API.
  • Allow setting TableSettings (enginepartitionByprimaryKey, and orderBy) when creating a Data Pool via the API.
  • In the Console, customers can have a different environment in multiple tabs without losing the last selected state.
  • In the Console, Customers will see the processedRecords instead of newRecords in the Processed Records column for the Syncs table.
  • Customers can now change the sort and timestamp column in the Console in the Preview Data tab.
· 4 min read

New features

🔎 SQL API

You can now query any Data Pool using SQL over the GraphQL API. Need to join, group by, or perform complex queries? No problem. Propel's SQL supports PostgreSQL syntax, including joins, unions, and common table expressions for more complex queries. The SQL API allows you to query your data however you'd like, and Propel's multi-tenant access policies ensure that customers can only query their own data.

Propel's SQL API

Learn more about the SQL API.

🐘 PostgreSQL-compatible SQL interface

You can now connect any BI tool or PostgreSQL client to Propel. Essentially, Propel mimics a PostgreSQL instance, providing a seamless connection to a variety of tools or client applications.

For SaaS applications, this simplifies the process of providing a customer-facing SQL interface for custom reporting and data sharing.

Propel's SQL interface

Learn more about the SQL interface.

🗄️ Data Grid API

The new Data Grid API efficiently retrieves individual records from a Data Pool, with the added convenience of built-in pagination, filtering, and sorting. It's perfect for displaying data in a table format, making it ideal for data tables with individual events, orders, requests, or log messages.

Propel's Data Grid API use cases

Learn more about the Data Grid API

📌 Records by ID API

The new Records by ID API is optimized for quick, unique ID lookups. It returns the records corresponding to the given IDs. This API can present detailed record information in a data table or record detail page.

Learn more about the Records by ID API.

🧮 Top Values API

The new Top Values API returns the most common values in a specified column ordered by frequency. The Top Values API can populate UI filters, prompt available values to AI agents, or showcase trending values within a column.

Propel's Top Values API use cases

💚💙💜 UI Kit themes

You can now control the look and feel of all your UI components in one theme. The theme of the UI Kit determines all essential visual elements, including the colors of components, the depth of shadows, and the overall light or dark appearance of the interface. We provide light and dark themes out of the box and the ability to customize your own theme.

Propel's UI Kit Themes

Learn more about themes in the UI Kit.

🔓 UI Kit Access Token Provider

You can now easily fetch and refresh API access tokens from the frontend. The new  AccessTokenProvider component allows you to provide a function that fetches an access token from your backend. Using this function, the provider will serve the fetched access token to all its child components and automatically refresh the token when it expires.

Code example of Propel's UI Kit Access Token provider

Learn more about the Access Token Provider.

⏳ UI Kit Filter component

The new Filter component simplifies the process of adding filters to your dashboards. It uses Propel's Top Values API to fill the dropdown list with unique values from a specific column, arranged by their frequency.

Example of Propel's UI Kit Filter component

Learn more about the filter component.

🍰 UI Kit Pie Chart component

The PieChart component is designed to create pie or doughnut charts using the Leaderboard API.

Example of Propel's UI Kit Pie Chart component

Learn more about the Pie Chart component.

🪝 UI Kit Query Hooks

Propel's UI Kit provides prebuilt React components for querying data from Propel's GraphQL API. These components can be used to query data for custom visualizations or to build with third-party libraries such as D3.js, Recharts, Nivo, or Chart.js.

Code example of Propel's UI Kit Query Hooks

Learn more about the Query Hooks.

Fixes

  • Fix timezone argument on toStartOfWeek, toStartOfMonth, and toStartOfYear SQL functions.
  • Fixed login loop for accounts with Okta integration.

Improvements

  • Support LIKE and NOT LIKE filter operators in SQL and the GraphQL API.
  • Support TO_TIMESTAMP function in SQL.
  • Support CAST function in SQL.
  • Mark the tenant ID field in the Data Pool as deprecated. No longer needed with the new Access Policies.
  • Support WITH statements in the SQL API.
  • Support UNION statements in the SQL API.
  • New data_pool:read scope to list Data Pools and their schemas.
  • We made timeRange optional in GraphQL API.
  • The dimensions stats API has now been deprecated and replaced with the Top Values API.
· 4 min read

New features

🧠 OpenAI integration

Propel’s OpenAI integration lets you easily collect OpenAI ChatGPT API usage events from your application. Once the events are in the Data Pool, you can use them to power usage metering, customer-facing dashboards, reports, and data-driven workflows.

Learn more about the OpenAI integration.

OpenAI Propel integration diagram

🔓 New, more powerful Access Policies

Access Policies now allow you to control column- and row-level access to a Data Pool’s data. They provide a powerful way to govern how your applications, whether internal or customer-facing, access the data. You assign Access Policies to Propel Applications, giving each set of API credentials specific access to the data.

Learn more about the new Access Policies.

11d9006c-63ba-4a8f-80ed-8fad31ac1ba7.png

🔏 Dynamic Access Policies for multi-tenant applications

Multi-tenant SaaS or consumer applications have more specific data access control requirements. Each tenant should only access their own data, and the application must support potentially millions of unique tenants. Dynamic Access Policies allow you to pass policy values via a custom claim in the API access token. The policy values are cryptographically signed to the access token and used to evaluate the policy. This securely controls access to tenant data without the need to create a policy for each tenant, which could be cumbersome.

Learn more about the multi-tenant access controls.

95e397fd-6ce8-407e-a250-f7e1c85837d9.png

Real-time updates for Webhook Data Pools

The Webhook Data Pool supports real-time updates. It unlocks advanced analytics use cases where you have to deal with late-arriving data that needs to be updated in the original record. Real-time updates have the additional benefit that you can safely retry requests without worrying about creating duplicates.

Read the real-time update docs to learn more.

🚦 New conditional aggregate functions for Custom Metrics: COUNT_IF, SUM_IF, and AVG_IF

These new functions enable you to define Metrics by aggregating records based on certain conditions.

Let's say you want to calculate the Net Promoter Score (NPS), a common metric for customer satisfaction. NPS is calculated based on responses to a single question: "On a scale of 0-10, how likely are you to recommend our company/product/service to a friend or colleague?" Responses are classified as follows:

  • Promoters (score 9-10)
  • Passives (score 7-8)
  • Detractors (score 0-6)

NPS is then calculated by subtracting the percentage of customers who are Detractors from the percentage of customers who are Promoters.

Here's how you can use COUNT_IF to calculate NPS:

(COUNT_IF(response >= 9) - COUNT_IF(response <= 6)) / COUNT() * 100

This will calculate the percentage of Promoters, subtract the percentage of Detractors, and multiply by 100 to give you the NPS score.

Learn more about defining Custom Metrics.

Fixes

  • We fixed a bug in the custom expression validation. We were allowing unknown columns to be present in comparison expressions.
  • We fixed a bug in the Playground in the Console where customers could not select a metric type in Playground when they didn't have Metrics created.
  • We fixed a bug in the Console where the query count by Application and by Metric was not shown correctly.

Improvements

  • New Applications will have the DATA_POOL_QUERY and DATA_POOL_STATS scopes by default.
  • In the Console, customers can now see the basic authentication information for the Webhook Data Pool URLs if authentication is enabled.
  • In the Console, customers can view failed events for Webhook Data Pools in the new Error log.
  • In the Console, customers can create custom queries in the Playground by Metric type and Data Pool.
  • New customers will see the first-time user experience cards until the first Data Pool is created.
  • We improved the error messages that are shown when querying Data Pools and Metrics without the expected scope.
  • We now return a Bad Request Error if clients provide invalid time zones.
  • We added comparisons to Custom Metrics, and now expressions like SUM(foo > 1) or SUM(foo IS NOT NULL) are supported.
  • We added IS and IS NOT comparison operators to the custom expressions.
· 3 min read

New features

  • 🎉  Self-serve sign-up is open! You can now sign up to Propel and get started without filling in a form or contacting us.

  • 🕸️  New Webhook Data Pool. This new Data Pool type allows for easy ingestion of JSON events into Propel. Webhook setup and management is available in both the console and via our GraphQL API. The console has a rich UX for easily building and testing your JSON schema to match the event structure. Check out the documentation.

  • 🌮 We have a new and improved Quickstart to get you going with sample data as fast as possible.

  • 💥 New Console navigation. We’ve streamlined the navigation and introduced the concept of Credentials for Data Pools. (For existing customers: Credentials replace the concept of Data Sources within the Console. No changes have been made to the public APIs.)

  • 🛝 New top-level API Playground! The API Playground used to be available inside each metric definition in the Console. We’ve moved it out into the main navigation, making it easier than ever to query your metrics.

  • { } New code samples in the API Playground. In addition to grabbing sample GraphQL code for your queries, you can now copy full cURL and JavaScript samples for making queries - right from inside the playground.

  • 👩🏽‍💻 UI Kit Code Examples. The UI Kit’s documentation in Storybook now has code examples for each component.

  • 📊 Added support for custom label formatting in the Leaderboard component in UI Kit. See the pull request.

Fixes

  • We fixed an issue when using MAX, MIN, FIRST, LAST, and ANY aggregate functions inside an arithmetic expression and their first argument is a JSON column. Expressions like  MAX(foo.bar)/60 now work correctly.
  • We fixed a bug in the LAST aggregation function when the LAST function call was not a top-level operation in the expression.
  • We fixed issues with DATE formatting in some instances in Parquet files used in ingestion.
  • We fixed a navigation issue in the Console for users with smaller screens.
  • We fixed an issue with the navigation collapse arrow for the menu.
  • We fixed an issue with displaying a selectable timezone in the playground.
  • We fixed an issue with displaying Custom Metrics filters in the “Settings” tab of a Metric.

Improvements

  • Our documentation now features a new navigation system that categorizes data sources into events, data warehouses, and Gen AI sources.
  • In the Console, we've introduced a time range selector to the "Preview Data" tab for Data Pools.
  • On supported Data Pools, customers can now trigger manual syncs even when syncing is paused.
· 2 min read

New features

  • ➗ ✖️ ➕ ➖ New Custom Metrics type. Custom Metrics enable you to define custom expressions to aggregate data from your Data Pool. This provides a more flexible approach to defining Metrics that capture more complex business logic.
  • 🥇 LAST and FIRST aggregation functions for Custom Metric expressions. Read the docs.
  • % PERCENTILE aggregation functions for Custom Metric expressions. Read the docs.
  • ❄️ Propel can now synchronize data from Snowflake views as well as standard tables and dynamic tables. Read the blog post.
  • 💰 We launched self-service billing, usage reports, and our trial plans. Log in to the Console and go to the new Billing section.
  • 📒 The React UI Components have new documentation in Storybook.

Fixes

  • We fixed a bug where Metrics could created for a given Data Pool outside the context of an environment.
  • Fixed an issue on signup with special character handling.
  • Fixed an issue where queries were executing during Console sign-out.
  • Fixed an issue in the UI kit with time series label granularity displaying incorrectly.

Improvements

  • We’ve made several improvements to the underlying performance of Data Pools that connect to Snowflake and have updated records.
  • Customers will be able to select a timezone for queries in the Playground.
  • We improved the text descriptions of Data Pool creation fields in the Console.
  • Customers will now see top-level GraphQL queries for the playground instead of the metric query.
  • Various stability and performance enhancements to file handling with Amazon S3.
  • We added a search functionality on our documentation site.
  • We've added new guides to our docs:
· 3 min read

New features

  • ❄️ Propel can now sync updates and deletes from your Snowflake data, unlocking a host of new use cases! Learn more.
  • 🍽️ Propel can now synchronize data from Snowflake Dynamic Tables. Learn more.
  • ⏰ Queries now support setting time zones. Learn more.
  • 💰 We updated pricing for the P1_X_SMALL propeller. See pricing.

Fixes

  • Time Series queries were sometimes returning unexpected numbers of granules (e.g., when passing timeZone). For example, asking for TODAY with granularity DAY should always return a single granule; asking for THIS_WEEK with granularity DAY should always return seven granules. This is now fixed.
  • Multiple S3-based files with the same name in different directories are now handled correctly.
  • Fixed a bug with wrong validations in the Leaderboard query builder in the Console, not allowing the query to execute.
  • Fix Metric overview documentation links in the Console.
  • Fixed error state for sparklines in the Console.
  • Fixed a bug with tooltips showing for sparklines in the Console.
  • Fixed an issue with time series charts in the console not starting at 0.
  • Fixed an issue with Propeller time-out errors showing twice in the Console.
  • Fixed a bug where an erroneous 0 would show up in filter lists in the Console.

Improvements

  • Syncs have a new processedRecords property. It is the sum of the existing properties newRecordsupdatedRecords, and failedRecords. This is in support of the updating Data Pool functionality.
  • Better and more detailed errors for different Data Pool errors on creation and sync in the console and API.
  • Graphs in the Console now render using the browser timezone.
  • Customers can now more easily paste or type into all autocomplete components in the Console.
  • Setting a filter value in the Metric Playground will now provide autocomplete for less than 1000 values, and free text type in all cases.
  • New, better design for Applications listing page in Console with ID, scopes, and Propeller displayed.
  • The UI Kit now uses Luxon under the hood for better date handling.
  • On the docs, the Quickstart now introduces how to set up a Propel Application and use it in the Next.js starter app.
  • On the Leaderboards, Counter, Time Series, and Metric Report overview docs, we now use TacoSoft (our Quickstart data set) in all example queries.
  • On the Leaderboards, Counter, Time Series, and Metric Report docs, we updated query examples to use the up-to-date top-level query structure (metricName in query input instead of the deprecated metricByName or metricById).
  • We made visual improvements in the navbar on the docs site with higher contrast.
· 4 min read

New features

  • 🌮 Customers are now able to create sample data with the new TacoSoft Data Source.
  • 🟣 New Console look and feel.
  • 💦 The UI Kit supports a new prop, refetchInterval, which can be used to specify how frequently a component should re-fetch new data.
  • 📦 We have simplified UI Kit and re-packaged it as a single, tree-shakeable NPM library, @propeldata/ui-kit.

Fixes

  • In the Metric Playground, we fixed an issue with the filter drop-downs not showing values. Customers can now select a unique value from the drop-down when using filters in the Playground.
  • Fixed an issue with unique name-checking. Customers will now see validation for every unique name in the console.
  • Fixed a bug in the Metric Report API where users could select dimensions not declared in any of the report's Metrics. Now developers are only able to select dimensions specified in the Metrics.
  • Fixed a Counter Metric performance regression.
  • Fixed a corner case where new Data Pools were getting stuck in the "CREATED" state.
  • Fixed a bug where if a measure or dimension column in a Metric is JSON, we were not taking it into account as part of the available columns to be selected.
  • Fixed an issue with the calculation of query timeouts. Some queries were incorrectly timing out at 3 seconds when they should time out at 10 seconds.
  • Fixed a password reset bug.
  • Fixed an issue where we were missing time granules for certain relative time ranges.
  • The Amazon S3 Data Source now supports syncing larger S3 buckets, and will sync up to 1,000 files at a time.
  • Previously, S3 Data Sources could be created with invalid S3 bucket names, resulting in them getting stuck in a "CONNECTING" state. Now, when attempting to create or modify an S3 Data Source, setting bucket to an invalid S3 bucket name will result in synchronous failure with a BAD_REQUEST error message: "Invalid S3 bucket name; ensure you pass only the S3 bucket name and not its ARN or URL".
  • Customers can now switch tables and see the updated schema when creating a Data Pool. Previously, the schema was not updated when switching tables.

Improvements

  • New homepage with a handy video!
  • In the Data Pool section of the Console, we have improved the Sync error messages for Snowflake and S3 Data Sources. Customers will now see a helpful message with the error details for failed Syncs in the Data Pool overview syncs table.
  • In the Metric definition, Metric settings, and Playground sections of the Console, the filter operators IS_NULL and IS_NOT_NULL are now available.
  • In the Data Pool section of the Console, the "Preview Data" table now loads faster and adjusts to the screen height. Additionally, the text in the cells of the table will not wrap, and an ellipsis will be displayed when the text is too long.
  • In the Data Pool section in Console, we updated Data Pool documentation links.
  • We have improved API error messages for our customers. Authentication and authorization-related errors and identifier parsing errors will no longer be returned as internal errors. Instead, we catch these errors and provide more informative error messages.
  • We have improved the handling of query errors by introducing a new error that specifically indicates when the Propeller is too small. If a Metric query exceeds the maximum execution time, customers will now receive a more informative error message. The message will indicate that the user needs a bigger Propeller instead of a generic error message such as "The query failed for an unknown reason.”
  • Data Pool Syncs are now created before attempting to connect to the underlying database, resulting in earlier visibility. Previously, if we failed to connect to a database, we did not create any Sync and kept retrying until successful. With the new process, we create failed Syncs that represent unsuccessful attempts, improving visibility for customers.
  • The Console now remembers the last environment a user accessed when switching between accounts.
  • The Console now remembers the last account and environment a user accessed when logging back in.
  • If a user has never logged in, the Console defaults to their most recently created account and its development environment.
· 2 min read

New features

  • 😍 Support for Querying JSON data and JSON data type. Snowflake users can now sync their VARIANT, OBJECT, and ARRAY columns as JSON to Propel. Read the blog post
  • 🛠️ New data synchronization controls are now available for Snowflake. Read the blog post.
  • 🌮 You can now provision demo data for TacoSoft, our imaginary B2B SaaS taco-selling application. The demo data will make it easier to experience the full power of Propel.
  • 🤓 We introduced a new METRIC_READ scope, which enables developers to list metrics without requiring full ADMIN scope. This new scope allows Propel Applications to retrieve and list Metric resources within the Environment, without being able to query their data.
  • ⛔️ We added new IS_NULL and IS_NOT_NULL filter operators for Metric and query filters. The value field in FilterInput is now nullable. If the specified filter operator is IS_NULL or IS_NOT_NULL, then the value field is not required. Otherwise, the value field is required, and the request will be rejected if it is not present.

Fixes

  • Fix to allow modifying AND and OR Filters on Metrics.
  • Previously, a bug was triggered when customers provided an invalid Snowflake account, causing their Snowflake Data Source to become stuck in the "CONNECTING" state. This issue has now been fixed.
  • When creating a Data Pool, customers will be redirected to the correct link for tenant ID documentation.
  • When creating an Amazon S3-powered Data Pool, we now display the first empty sync instead of the "hang tight" graphic.

Improvements

  • The documentation site has new styles ✨.
  • In the Console, the input to create a new Amazon S3 Data Source table is now ”Unique Name”, instead of “Name”. It will show an error when the name is not unique within the Data Source context.
  • In the Console, during Data Pool creation, customers will not see cached data after leaving the creation flow and returning, but it will be kept within the Data Pool creation session.
  • The Terraform provider now supports creating MIN, MAX and AVERAGE Metrics. It supports setting the cursor and sync interval for Data Pools, creating and updating Policies, and it is smarter about when to replace versus update a changed resource.
· 2 min read

Improvements

  • Metric Report: We increased the number of supported dimensions from 2 to 10.
  • Metric Report: We enabled report-level filtering. Filters can now be passed which can remove rows from the report.
  • Logins and signups now use the Secure Remote Password (SRP) protocol.
  • Data Pools now have a new Preview Data tab. This tab shows the most recent records synchronized to the data pools.
  • Add support for Parquet data types: Map, List and Struct that are mapped to Propel column data type: JSON.
  • Add support for group structures within Parquet files.

Fixes

  • Fixed an issue with ingesting timestamps with a value of 0 and enhanced error handling for negative epoch timestamps.
  • Fixed an issue with WEEK granularity starting on a Sunday. The WEEK granularity now starts on Monday, consistent with LAST_N_WEEKS and the week-based relative time ranges.
  • Fixed a bug with changing between Relative and Absolute time in the metric playground.
  • Fixed a bug with the GraphQL variables when changing between relative types in the metric playground.
  • Fixed a bug where the username string in the top right of the web console would show the id instead of the username.
  • Fixed an issue displaying the setup checklist for S3 data source.
  • Fixed a non-clickable save button on account settings.
· One min read

· One min read

  • Launched our new website!
  • Launched Metric Report
  • Queries now support OR filtering
  • Launced a preview of our React Components library, Propel UI Kit on Github.
  • Performance optimizations for asynchronous sync operations.
  • Unique names can now be up to 192 bytes.
  • Allow customers to create Applications with the APPLICATION_ADMIN scope.
  • Allow APPLICATION_ADMIN-scoped Applications to create other Applications with lesser scopes (e.g., ADMIN, METRIC_QUERY, etc.)
  • Support DOUBLE and FLOAT column types for Tenant.
· One min read

  • Launched Terraform provider.
  • Launched Grafana plugin.
  • Fixed an issue with Snowflake number type support with scale greater than 9
  • Adds support for "data_pool:query" and "data_pool:stats" scopes in the OAuth 2.0 API for requesting an Application access token.
  • Opened up signups for Snowflake customers.
  • Fixed a bug in tenant filtering for metricReport API.
  • Fixed a bug that added one extra time unit at the end of time series queries with relative time ranges filters.
  • Fixed a bug allowing support DOUBLE and FLOAT column types for Tenant.
  • Pagination fixes in web console.
  • Fix to disallow changing HTTP Data source table name after creation.
  • Fixed a bug in playground visualization card height.
· One min read

  • The Console now displays a descriptive message when trying to delete a Data Pool that has Metrics attached
  • The Console now displays a descriptive message when trying to delete a Metric that has an access policy attached.
  • Password reset flow now works.
  • The Console now returns to the last environment the user was in vs. defaulting to the prod environment.
  • You can now re-order dimensions on Boosters to sort the most commonly used dimensions first.
  • Added suggestedDataPoolColumnType and supportedDataPoolColumnTypes to the Column object in the GraphQL schema.
  • Average, Minimum, and Maximum Metrics will now return nullfor “no data”, rather than zero. This is the mathematically correct answer. This applies to counters, time series, leaderboards, reports, and dimension stats.
  • Signup emails sent from Propel in response to signups, etc., will now arrive from a ”mail.propeldata.com” MAIL FROM address.
  • Fixed an issue with pending DataPools that caused mismatches between DataSource columns and DataPool columns.
  • We are no longer exposing stack traces in GraphQL error responses.
  • Fix to correctly handle TIMESTAMP_TZ and TIMESTAMP_LTZ columns when syncing Snowflake Data Pools. This issue led to no Syncs being created for these Data Pools.
· One min read

Today we are thrilled to announce Propel's Amazon S3 Data Source connector. The Amazon S3 Data Source enables you to power your customer-facing analytics from Parquet files in your Amazon S3 bucket. Whether you have a Data Lake in Amazon S3, are landing Parquet files in Amazon S3 as part of your data pipeline or event-driven architecture, or are extracting data using services like Airbyte or Fivetran, you can now define Metrics and query their data blazingly fast via Propel's GraphQL API.

Read the blog post: Introducing the Amazon S3 Data Source: Power customer-facing analytics from Parquet files in your S3 bucket.

· One min read

Today, we are thrilled to introduce Propellers, an easy way for product development teams to select the optimal cost and query speed for their customer-facing analytics use cases.

Propellers are the unit of compute in Propel. The larger the Propeller, the faster the queries and the higher the cost. Every Propel Application (and therefore every set of API credentials) has a Propeller that determines the speed and cost of queries.

Read the blog post: Introducing Propellers: Easily select the optimal cost and query speed for each use case