<!--
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->

# List Of Documents Submitted To dev@beam.apache.org In 2018
| No. | Author | Subject | Date (UTC) |
|---|---|---|---|
| 1 | Davor Bonaci | [Issue Navigator - ASF JIRA](http://s.apache.org/gsoc2018ideas) | 2018-01-22 02:37:24 |
| 2 | Lukasz Cwik | [Apache Beam (Incubating) Pipeline Runner API Proposal](https://s.apache.org/beam-runner-api) | 2018-01-26 13:09:11 |
| 3 | Reuven Lax | [Schema-Aware PCollections](https://docs.google.com/document/d/1tnG2DPHZYbsomvihIpXruUmQ12pHGK0QIvXS1FOTgRc) | 2018-01-28 20:08:35 |
| 4 | Etienne Chauchot | [Metrics extraction independant from runners / execution engines](https://s.apache.org/runner_independent_metrics_extraction) | 2018-01-31 08:01:01 |
| 5 | Kenneth Knowles | [Apache Beam Release 2.3.0 Acceptance Criteria  - Google Sheets](https://s.apache.org/beam-2.3.0-release-validation) | 2018-01-31 09:07:13 |
| 6 | Raghu Angadi | [Event Time and Watermarks in KafkaIO](https://docs.google.com/document/d/1DyWcLJpALRoUfvYUbiPCDVikYb_Xz2X7Co2aDUVVd4I) | 2018-02-01 18:21:42 |
| 7 | Ben Sidhom | [Portable Beam on Flink](https://s.apache.org/portable-beam-on-flink) | 2018-02-08 19:31:18 |
| 8 | Romain Manni-Bucau | [Apache URL Shortener](https://s.apache.org/) | 2018-02-09 00:47:19 |
| 9 | Matthias Baetens | [Apache Beam YouTube channel: guidelines](https://docs.google.com/document/d/10RNWSU7wGyIOkOvlRbw47wsgkxX2-7G1OKmSlINREus) | 2018-02-23 14:12:58 |
| 10 | Eugene Kirpichov | [Breaking the fusion barrier: Deep splitting of Beam instruction graphs](https://s.apache.org/beam-breaking-fusion) | 2018-02-23 17:20:59 |
| 11 | Chamikara Jayalath | [Issue Navigator - ASF JIRA](https://s.apache.org/beam-2.4.0-burndown) | 2018-02-27 15:44:47 |
| 12 | Etienne Chauchot | [Apache Beam Release Acceptance Criteria  - Google Sheets](https://docs.google.com/spreadsheets/d/1qk-N5vjXvbcEk68GjbkSZTR8AGqyNUM-oLFo_ZXBpJw) | 2018-03-09 04:02:30 |
| 13 | Daniel Oliveira | [Structure and Lifting of Combines](https://docs.google.com/document/d/1-3mEs3Y7bIkJ0hmQ6SiHpVIFu5vbY6Zcpw-7tOMVg4U) | 2018-03-09 13:19:52 |
| 14 | Kenneth Knowles | [User Defined Metrics API](https://s.apache.org/beam-metrics-api) | 2018-03-09 18:44:42 |
| 15 | Alex Amato | [Apache Beam Fn API : Defining and adding SDK Metrics](https://docs.google.com/document/d/1MtBZYV7NAcfbwyy9Op8STeFNBxtljxgy69FkHMvhTMA) | 2018-03-13 23:47:03 |
| 16 | Griselda Cuevas | [[Notes] Apache Beam Community Summit - March 2018](https://docs.google.com/document/d/1B4EU8jjZy9TnlRiZWW9hSCqegbmOh8boIgjkAyOfnCk) | 2018-03-14 01:56:40 |
| 17 | Lukasz Cwik | [Slack for ASF projects - Apache Infrastructure Website](https://s.apache.org/slack-invite) | 2018-03-14 14:12:42 |
| 18 | Henning Rohde | [RFC: Apache Beam Go SDK design](https://s.apache.org/beam-go-sdk-design-rfc) | 2018-03-16 13:55:07 |
| 19 | Pablo Estrada | [Apache Beam Summit: Notes on Contributor Experience](https://docs.google.com/document/d/1WaK39qrrG_P50FOMHifJhrdHZYmjOOf8MgoObwCZI50) | 2018-03-20 18:40:42 |
| 20 | Robbe Sneyders | [Apache Beam: Python 3 support](https://docs.google.com/document/d/1xDG0MWVlDKDPu_IW9gtMvxi2S9I0GB0VDTkPhjXT0nE) | 2018-03-23 12:27:43 |
| 21 | Lukasz Cwik | [Splittable DoFn proposal](https://s.apache.org/splittable-do-fn) | 2018-03-26 15:41:45 |
| 22 | Alex Amato | [Apache Beam Fn API : Defining and adding SDK Metrics](https://s.apache.org/beam-fn-api-metrics) | 2018-04-10 12:53:39 |
| 23 | Kenneth Knowles | [Cross-language Beam Pipelines](https://s.apache.org/beam-mixed-language-pipelines) | 2018-04-13 10:58:01 |
| 24 | Robert Burke | [Apache Beam Go SDK - Vanity Import Path](https://s.apache.org/go-beam-vanity-import) | 2018-04-16 19:56:45 |
| 25 | Scott Wegner | [Log in - ASF JIRA](https://s.apache.org/beam-gradle-migration) | 2018-04-17 18:15:29 |
| 26 | Chamikara Jayalath | [Apache Kafka for Beam Python SDK](https://docs.google.com/document/d/1ogRS-e-HYYTHsXi_l2zDUUOnvfzEbub3BFkPrYIOawU) | 2018-04-28 01:06:26 |
| 27 | Henning Rohde | [Apache Beam Fn API: SDK Harness container contract](https://s.apache.org/beam-fn-api-container-contract) | 2018-05-04 19:31:50 |
| 28 | Henning Rohde | [Apache Beam Go SDK integration tests](https://docs.google.com/document/d/1jy6EE7D4RjgfNV0FhD3rMsT1YKhnUfcHRZMAlC6ygXw) | 2018-05-08 21:13:42 |
| 29 | Kenneth Knowles | [Triggers in Apache Beam (incubating)](https://s.apache.org/beam-triggers) | 2018-05-10 10:57:34 |
| 30 | Henning Rohde | [Apache Beam Portability Support Matrix - Google Sheets](https://docs.google.com/spreadsheets/d/1KDa_FGn1ShjomGd-UUDOhuh2q73de2tPz6BqHpzqvNI) | 2018-05-11 13:38:03 |
| 31 | Yifan Zou | [Reproducible Environment for Jenkins Tests By Using Containers](https://docs.google.com/document/d/1U7FeVMiHiBP-pFm4ULotqG1QqZY0fi7g9ZwTmeIgvvM) | 2018-05-11 18:25:44 |
| 32 | Lukasz Cwik | [Apache Beam Fn API: Fn State API and Bundle Processing](https://s.apache.org/beam-fn-state-api-and-bundle-processing) | 2018-05-14 12:44:02 |
| 33 | Ankur Goenka | [Launching a Portable Pipeline](https://docs.google.com/document/d/1xOaEEJrMmiSHprd-WiYABegfT129qqF-idUBINjxz8s) | 2018-05-14 15:33:31 |
| 34 | Anton Kedin | [Eventual PAssert](https://docs.google.com/document/d/1X_3KH_6QyfOSnh5kNK-fHlkEDrwPVpA2RnRggMMxhUk) | 2018-05-14 16:56:57 |
| 35 | Lukasz Cwik | [Apache Beam Fn API: Processing a Bundle](https://s.apache.org/beam-fn-api-processing-a-bundle) | 2018-05-14 19:54:19 |
| 36 | Etienne Chauchot | [User Defined Metrics API](https://docs.google.com/document/d/1voyUIQ2DrWkoY-BsJwM8YvF4gGKB76CDG8BYL8XBc7A) | 2018-05-15 03:56:05 |
| 37 | Lukasz Cwik | [State and Timers for DoFn in Apache Beam (incubating)](https://s.apache.org/beam-state) | 2018-05-15 11:38:56 |
| 38 | Udi Meiri | [Beam Fast Precommits](https://docs.google.com/document/d/1udtvggmS2LTMmdwjEtZCcUQy6aQAiYTI3OrTP8CLfJM) | 2018-05-17 21:53:52 |
| 39 | Charles Chen | [Redirecting](https://s.apache.org/beam-python-user-state-and-timers) | 2018-05-21 20:15:40 |
| 40 | Eugene Kirpichov | [Splittable DoFn proposal](http://s.apache.org/splittable-do-fn) | 2018-05-22 15:34:26 |
| 41 | Charles Chen | [Beam Python User State and Timer APIs](https://docs.google.com/document/d/1GadEkAmtbJQjmqiqfSzGw3b66TKerm8tyn6TK4blAys) | 2018-05-23 14:49:34 |
| 42 | Daniel Oliveira | [Structure and Lifting of Combines](https://s.apache.org/beam-runner-api-combine-model) | 2018-05-23 16:57:04 |
| 43 | Ankur Goenka | [Portable Artifact Staging](https://docs.google.com/document/d/12zNk3O2nhTB8Zmxw5U78qXrvlk5r42X8tqF248IDlpI) | 2018-05-23 21:54:37 |
| 44 | Kenneth Knowles | [A New DoFn](https://s.apache.org/a-new-dofn) | 2018-05-24 09:22:42 |
| 45 | Yifan Zou | [Automation For Beam SDK Dependency Check](https://docs.google.com/document/d/1rqr_8a9NYZCgeiXpTIwWLCL7X8amPAVfRXsO72BpBwA) | 2018-05-24 10:08:17 |
| 46 | Lukasz Cwik | [Apache Beam Fn Api Overview](https://s.apache.org/beam-fn-api) | 2018-05-25 13:23:55 |
| 47 | Chamikara Jayalath | [Managing Beam Dependencies](https://docs.google.com/document/d/15m1MziZ5TNd9rh_XN0YYBJfYkt0Oj-Ou9g0KFDPL2aA) | 2018-05-31 22:11:31 |
| 48 | Griselda Cuevas | [June Beam Newsletter](https://docs.google.com/document/d/1BwRhOu-uDd3SLB_Om_Beke5RoGKos4hj7Ljh7zM2YIo) | 2018-06-01 15:19:58 |
| 49 | Lukasz Cwik | [Apache Beam Portability: Modeling, scheduling and executing timers](https://s.apache.org/beam-portability-timers) | 2018-06-04 18:00:34 |
| 50 | Austin Bennett | [Walkthrough with a first contributor to Beam](https://docs.google.com/document/d/1hq-s3L676LkMTftvhv0eCkdwrRnZmCRiLdaQBWLHWWA) | 2018-06-05 16:39:49 |
| 51 | Andrew Pilloud | [Beam SQL Pipeline Options](https://docs.google.com/document/d/1UTsSBuruJRfGnVOS9eXbQI6NauCD4WnSAPgA_Y0zjdk) | 2018-06-06 12:24:36 |
| 52 | Alan Myrvold | [Apache Beam Contribution Guide Improvements](https://docs.google.com/document/d/1zukoPXPgUq3Vli_rOJ0ykzK6NbR6g-FrgSHZjLd23bo) | 2018-06-06 14:54:52 |
| 53 | Griselda Cuevas | [Apache Beam Roadmap - Google Sheets](https://docs.google.com/spreadsheets/d/1W6xvPmGyG8Nd9R7wkwgwRJvZdyLoBg6F3NCrPafbKmk) | 2018-06-06 20:04:54 |
| 54 | Kenneth Knowles | [Beam SQL: Integrating runners & IO](https://s.apache.org/beam-sql-packaging) | 2018-06-11 13:44:27 |
| 55 | Sindy Li | [Interactive Beam Pipelines](https://docs.google.com/document/d/10bTc97GN5Wk-nhwncqNq9_XkJFVVy0WLT4gPFqP6Kmw) | 2018-06-13 14:48:35 |
| 56 | Robin Qiu | [@RequiresStableInput Design Doc](https://docs.google.com/document/d/117yRKbbcEdm3eIKB_26BHOJGmHSZl1YNoF0RqWGtqAM) | 2018-06-14 16:58:45 |
| 57 | Rui Wang | [Unbounded with limit](https://docs.google.com/document/d/13zeTewHH9nfwhSlcE4x77WQwr1U2Z4sTiNRjOXUj2aw) | 2018-06-18 21:20:24 |
| 58 | Boyuan Zhang | [Process of Building Python Wheels](https://docs.google.com/document/d/1HHnUkiFmwAVQwMJ-BjAX3LOmkC44Gb3jvGIJvSMC84s) | 2018-06-19 19:03:55 |
| 59 | N/A | [Apache Beam version 2.5.0](https://docs.google.com/document/d/1BeqHuH1U8iOFJWTfFPW_4O2HtLRZm9rlnEUyMB6Eq7M) | 2018-06-23 00:42:06 |
| 60 | Kenneth Knowles | [Google Calendar - Easier Time Management, Appointments & Scheduling](https://s.apache.org/beam-release-calendar) | 2018-06-25 17:47:30 |
| 61 | Thomas Weise | [Apache Beam Portability Prototype](https://s.apache.org/beam-portability-team-doc) | 2018-06-27 08:35:21 |
| 62 | Yifan Zou | [Beam SDK Dependency Ownership 2018-06-26 - Google Sheets](https://docs.google.com/spreadsheets/d/12NN3vPqFTBQtXBc0fg4sFIb9c_mgst0IDePB_0Ui8kE) | 2018-06-27 11:52:00 |
| 63 | Yifan Zou | [Tracking Beam Dependency Upgrades](https://docs.google.com/document/d/1XXTMnofizSQZSorZy4NFlxKfx5f17PGRmws-DngoTms) | 2018-07-10 18:17:30 |
| 64 | Alan Myrvold | [Apache Beam Contributor Metrics: Collection, Display, Actions](https://s.apache.org/beam-contributor-metrics) | 2018-07-11 13:17:49 |
| 65 | Boyuan Zhang | [Proposal of Building Python Wheels](https://docs.google.com/document/d/1MRVFs48e6g7wORshr2UpuOVD_yTSJTbmR65_j8XbGek) | 2018-07-16 17:47:36 |
| 66 | Mikhail Gryzykhin | [Proposal of starting contributors wiki](https://docs.google.com/document/d/1qLojdA6GheKf0PVl1A1uip3D2JTk9jQroUKuxriBcfY) | 2018-07-19 17:21:33 |
| 67 | David Cavazos | [Community Repository Proposal](https://docs.google.com/document/d/1vhcKJlP0qH1C7NZPDjohT2PUbOD-k71avv1CjEYapdw) | 2018-08-01 18:12:15 |
| 68 | Boyuan Zhang | [Apache Beam Release Acceptance Criteria  - Google Sheets](https://s.apache.org/beam-release-validation) | 2018-08-01 19:03:16 |
| 69 | Rose Nguyen | [August Beam Newsletter](https://docs.google.com/document/d/124klHcJcIi_gD6rvMXwbbToINl1KTdXPmYrgGB998FQ) | 2018-08-02 19:18:01 |
| 70 | Pablo Estrada | [Apache Beam version 2.6.0](https://docs.google.com/document/d/1Jwz5AxInSm9C6z0TZqer6JYE2gpbJ_dZn88X37VvQEY) | 2018-08-08 19:20:39 |
| 71 | Rose Nguyen | [Interactive Beam Pipelines](http://s.apache.org/interactive-beam) | 2018-08-10 15:37:11 |
| 72 | Yifan Zou | [Reproducible Environment for Jenkins Tests By Using Docker](https://docs.google.com/document/d/1y0YuQj_oZXC0uM5-gniG7r9-5gv2uiDhzbtgYYJW48c) | 2018-08-27 13:53:14 |
| 73 | Ankur Goenka | [SDK Harness Concurrency Requirements](https://docs.google.com/document/d/1oAXVPbJ0dzj2_8LXEWFAgqCP5Tpld3q5B3QU254PQ6A) | 2018-08-29 20:53:36 |
| 74 | Lukasz Cwik | [Bundles w/ SplittableDoFns: Signals & Splitting](https://s.apache.org/beam-bundles-backlog-splitting) | 2018-08-30 21:13:31 |
| 75 | Robbe Sneyders | [Apache Beam: Python 3 support](https://s.apache.org/beam-python-3) | 2018-09-05 12:11:52 |
| 76 | Lukasz Cwik | [Apache Beam (Incubating) Pipeline Runner API Proposal](https://docs.google.com/document/d/1bao-5B6uBuf-kwH1meenAuXXS0c9cBQ1B2J59I3FiyI) | 2018-09-07 13:15:48 |
| 77 | Maximilian Michels | [September Beam Newsletter](https://docs.google.com/document/d/1PE97Cf3yoNcx_A9zPzROT_kPtujRZLJoZyqIQfzqUvY) | 2018-09-10 10:20:01 |
| 78 | Rose Nguyen | [Redirecting](http://s.apache.org/beam-python-user-state-and-timers) | 2018-09-10 22:56:03 |
| 79 | David Moravek | [Streaming Hadoop OutputFormat](https://s.apache.org/beam-streaming-hofio) | 2018-09-13 10:48:37 |
| 80 | Udi Meiri | [Simplifying Beam Pipelines](https://s.apache.org/no-beam-pipeline) | 2018-09-24 12:37:24 |
| 81 | Eugene Kirpichov | [(Apachecon 2018) Robust, performant and modular APIs for data ingestion with Apache Beam - Google Slides](https://s.apache.org/beam-modular-io-talk) | 2018-09-26 17:16:27 |
| 82 | Charles Chen | [Apache Beam version 2.7.0](https://docs.google.com/document/d/1jIk0pc8CxTMmtz5b7UL0gSPxmjKnyerVFS6FcpP2Ym8) | 2018-09-30 19:59:19 |
| 83 | N/A | [Splittable DoFn Public Meeting 9/14/18](https://docs.google.com/document/d/1kjJLGIiNAGvDiUCMEtQbw8tyOXESvwGeGZLL-0M06fQ) | 2018-10-03 01:07:14 |
| 84 | Etienne Chauchot | [Etienne Chauchot Universal metrics with Beam - Google Slides](https://s.apache.org/universal-metrics) | 2018-10-03 11:08:07 |
| 85 | Thomas Weise | [Apache Beam Portability Support Matrix - Google Sheets](https://s.apache.org/apache-beam-portability-support-table) | 2018-10-08 12:43:08 |
| 86 | Plajt, Vaclav | [Java 8 Euphoria DSL](https://s.apache.org/beam-euphoria) | 2018-10-10 04:26:18 |
| 87 | Udi Meiri | [Beam Python SDK: Datastore Client Upgrade](https://docs.google.com/document/d/1sL9p7NE5Z0p-5SB5uwpxWrddj_UCESKSrsvDTWNKqb4) | 2018-10-16 21:59:13 |
| 88 | Lukasz Cwik | [Apache Beam Portability API: How to Finalize Bundles](https://s.apache.org/beam-finalizing-bundles) | 2018-10-24 17:37:58 |
| 89 | Scott Wegner | [Grafana](https://s.apache.org/beam-community-metrics) | 2018-10-26 01:36:26 |
| 90 | Lukasz Cwik | [Apache Beam Portability API: How to Checkpoint and Split Bundles](https://docs.google.com/document/d/1cKOB9ToasfYs1kLWQgffzvIbJx2Smy4svlodPRhFrk4) | 2018-10-26 18:07:27 |
| 91 | Alex Amato | [MonitoringInfo spec proposal.](https://docs.google.com/document/d/1SB59MMVZXO0Aa6w0gf4m0qM4oYt4SiofDq3QxnpQaK4) | 2018-10-29 20:19:36 |
| 92 | N/A | [Snapshotting and Updating Beam Pipelines](https://docs.google.com/document/d/1UWhnYPgui0gUYOsuGcCjLuoOUlGA4QaY91n8p3wz9MY) | 2018-11-05 10:24:14 |
| 93 | Lukasz Cwik | [Apache Beam Portability API: How to Checkpoint and Split Bundles](https://s.apache.org/beam-checkpoint-and-split-bundles) | 2018-11-06 19:45:31 |
| 94 | Ruoyun Huang | [[BEAM-5448] Java Reference Runner in Python](https://docs.google.com/document/d/1S86saZqiDaE_M5wxO0zOQ_rwC6QHv7sp1BmGTm0dLNE) | 2018-11-08 20:04:52 |
| 95 | Jeff Klukas | [AutoValue Coding and Row Support](https://docs.google.com/document/d/1ucoik4WzUDfilqIz3I1AuMHc1J8DE6iv7gaUCDI42BI) | 2018-11-09 16:50:19 |
| 96 | Chamikara Jayalath | [Issue Navigator - ASF JIRA](https://s.apache.org/beam-2.9.0-burndown) | 2018-11-15 16:59:15 |
| 97 | Kenneth Knowles | [User Defined Metrics API](http://s.apache.org/beam-metrics-api) | 2018-11-20 22:19:47 |
| 98 | Lukasz Cwik | [Apache Beam Fn API: Fn State API and Bundle Processing](https://docs.google.com/document/d/1BOozW0bzBuz4oHJEuZNDOHdzaV5Y56ix58Ozrqm2jFg) | 2018-11-28 15:01:06 |
| 99 | Kenneth Knowles | [DRAFT - Apache Beam Board Report - December '18](https://docs.google.com/document/d/1HenFg37xyNuFC7A4zkqmBPY9_Gqdi6LgPtF6wfoEix8) | 2018-11-30 01:14:11 |