Missed a point. Not to mention the tons of things it broke :)
It took almost 2-3 days to get the tests working, compat, providers etc :) Thanks to Ash for patiently reviewing it!! Thanks & Regards, Amogh Desai On Tue, 25 Mar 2025 at 5:20 PM, Amogh Desai <amoghdesai....@gmail.com> wrote: > Not to disregard any PRs in the list, but I'd like to self-nominate one of > my PRs for PR of the month:: https://github.com/apache/airflow/pull/47339. > > XComs as we know is a simple concept but when it comes to internals -- > covering the model, serialization, deserialization, forward compatibility > with Airflow 3, > and multiple interaction points (TaskFlow API, core API, ti.xcom_push, > etc.). > > This PR adds some key improvements: > 1. Refactoring the BaseXCom class > - It splits BaseXCom into XComModel and BaseXCom. > - XComModel now strictly handles database/ORM operations. > - BaseXCom serves as the base for custom XCom backends. > > 2. Uses the above definition with task SDK > - BaseXCom now acts as an interface for interacting with XComs (set, get, > etc.) from the Task SDK to the execution API. > > This has a few advantages now: > 1. Now its explicit what belongs in XComModel (ORM-related) and what > belongs in custom XCom backends. > 2. Instead of going through wrappers on BaseXCom while performing API > actions, API calls now directly interact with the ORM, making the code > easier to grok. > 3. Improved backward compat with respect to Xcoms: > - XComModel handles serialization and deserialization consistently with > task SDK (uses *airflow.serialization.serde* module) > - Task SDK follows the same logic, eliminating any ambiguity across them. > - The DB stores JSON compliant objects, with clients responsible for their > own ser/deser now (task SDK will send serialised xcom to the execution api > server, and upon receiving xcoms, will deser them if needed) > > > > Thanks & Regards, > Amogh Desai > > > On Tue, Mar 25, 2025 at 10:34 AM Abhishek Bhakat > <abhishek.bha...@astronomer.io.invalid> wrote: > >> +1 for 47320 >> >> - Avi >> >> On Mon, Mar 24, 2025 at 10:57 PM Briana Okyere >> <briana.oky...@astronomer.io.invalid> wrote: >> >> > Hey All, >> > >> > It’s once again time to vote for the PR of the Month! >> > >> > With the help of the `get_important_pr_candidates` script in dev/stats, >> > we've identified the following candidates: >> > >> > PR #47320: Disable ORM access from Tasks, DAG processing and Triggers < >> > https://github.com/apache/airflow/pull/47320 >> > <https://github.com/apache/airflow/pull/44332>> >> > >> > PR #47433: AIP-84 | Add Auth for Dags < >> > https://github.com/apache/airflow/pull/47433 >> > <https://github.com/apache/airflow/pull/44972>> >> > >> > PR #45300: AIP-81 - API Communication Mechanism < >> > https://github.com/apache/airflow/pull/45300 >> > <https://github.com/apache/airflow/pull/44712>> >> > >> > PR #45960: feat(task_sdk): add support for inlet_events in Task Context >> < >> > https://github.com/apache/airflow/pull/45960 >> > <https://github.com/apache/airflow/pull/45106>> >> > >> > PR #47432: Set JWT token to localStorage from cookies < >> > https://github.com/apache/airflow/pull/47432 >> > <https://github.com/apache/airflow/pull/44899>> >> > >> > Please reply to this thread with your selection or offer your own >> > nominee(s). >> > >> > Voting will close on Friday, March 28th at 10 AM PST. The winner(s) >> will be >> > featured in the next issue of the Airflow newsletter. >> > >> > Also, if there’s an article or event that you think should be included >> in >> > this or a future issue of the newsletter, please drop me a line at < >> > briana.oky...@astronomer.io> >> > >> > -- >> > Briana Okyere >> > >> >