27 KiB
CircuitPython Weekly for 18 February 2020
Video is available here on YouTube and on diode.zone.
Join here for the chat all week: http://adafru.it/discord
The CircuitPython Weekly happens normally at 2pm ET/11am PT on Mondays. Check the #circuitpython channel on Discord for notices of change in time and links to past meetings.
CircuitPython development is sponsored by Adafruit. Please support them by purchasing hardware from https://adafruit.com.
Reminders: Podcast available on most services. Let us know if we’re missing some.
4:35 Community News
4:45 CircuitPython day in Beirut Video from the CircuitPython celebration day in Beirut (2019) organized By Lamba Labs - This video is from last year, but was just posted on Twitter, it's great! https://youtu.be/14RCTs6n47E
5:13 Bluefruit Playground app updates! https://apps.apple.com/us/app/bluefruit-playground/id1489549571
5:35 Testing of the Open Hardware Summit 2020 wrist-watch badge https://blog.adafruit.com/2020/02/15/testing-of-the-open-hardware-summit-2020-wrist-watch-badge-ohsummit-circuitpython-ohsummit20/
6:05 CircuitBrains boards, castellated modules coming soon … https://blog.adafruit.com/2020/02/15/circuitbrains-boards-castellated-modules-coming-soon-circuitpython-crowd_supply-nullbytelabs-kevinneubauer/
6:43 Special thanks to Andrew in the Adafruit community Discord server for making this CLUE pinout, here is the .ai file for download if needed - https://www.dropbox.com/s/ja11znurbwvyqsi/ClueBoard_PINOUT.ai?dl=0
7:06 CircuitPython is bringing Python to more developers and makers around the world - Twitter. Anwesha Das also has a post/overview from the event - https://twitter.com/WillingCarol/status/1228698325693583360 https://anweshadas.in/february-pyladies-pune-workshop/
7:25 The many forks & ports of MicroPython, start of a community made list, please edit/update if we missed anything: https://github.com/adafruit/awesome-micropythons
8:12 State of CircuitPython, Libraries and Blinka
8:27 Overall
- 30 pull requests merged
- 15 authors - makermelissa, FoamyGuy, maholli, kattni, dherrada, ares-est, dhalbert, siddacious, hierophect, geekguy-wy, hexthat, jamesbowman, foozmeat, nnja, tannewt
- 9 reviewers - makermelissa, kattni, caternuson, dherrada, dhalbert, siddacious, ladyada, tannewt, brentru
- 12 closed issues by 11 people, 7 opened by 6 people
Overall: Core side - we’re getting closer and closer to 5.0 RC, once we have all the fixes in, and want people to test it. Getting quite close to that. On lib side, continues to grow, passed 200 libraries, and fully expect us to keep going. Thank you to everyone involved in the libraries!
10:28 Core
- 6 pull requests merged
- 5 authors - dhalbert, makermelissa, hexthat, jamesbowman, hierophect
- 4 reviewers - makermelissa, tannewt, ladyada, dhalbert
- 10 open pull requests
- https://github.com/adafruit/circuitpython/pull/2044 (Open 194 days)
- https://github.com/adafruit/circuitpython/pull/2054 (Open 191 days)
- https://github.com/adafruit/circuitpython/pull/2366 (Open 70 days)
- https://github.com/adafruit/circuitpython/pull/2583 (Open 13 days)
- https://github.com/adafruit/circuitpython/pull/2598 (Open 11 days)
- https://github.com/adafruit/circuitpython/pull/2605 (Open 9 days)
- https://github.com/adafruit/circuitpython/pull/2618 (Open 5 days)
- https://github.com/adafruit/circuitpython/pull/2626 (Open 3 days)
- https://github.com/adafruit/circuitpython/pull/2625 (Open 3 days)
- https://github.com/adafruit/circuitpython/pull/2629 (Open 2 days)
- 5 closed issues by 5 people, 2 opened by 2 people
- 252 open issues
- 8 active milestones
- 4.x.x - Bug fixes: 0 open issues
- 5.0.0: 5 open issues
- 5.x.0 - Features: 3 open issues
- 5.x.x - Bug Fixes: 15 open issues
- 6.0.0: 27 open issues
- Libraries: 10 open issues
- Long term: 189 open issues
- Support: 4 open issues
- -1 issues not assigned a milestone
Core CircuitPython GitHub download statistics request failed.
12:13 Libraries
- 24 pull requests merged
- 12 authors - makermelissa, FoamyGuy, maholli, kattni, dherrada, ares-est, dhalbert, siddacious, geekguy-wy, foozmeat, nnja, tannewt
- 9 reviewers - makermelissa, kattni, caternuson, dherrada, dhalbert, siddacious, ladyada, tannewt, brentru
- Merged pull requests:
- https://github.com/adafruit/Adafruit_CircuitPython_LIS3MDL/pull/5 (Days open: 6)
- https://github.com/adafruit/Adafruit_CircuitPython_MPU6050/pull/5 (Days open: 6)
- https://github.com/adafruit/Adafruit_CircuitPython_HT16K33/pull/60 (Days open: 6)
- https://github.com/adafruit/Adafruit_CircuitPython_BLE/pull/66 (Days open: 5)
- https://github.com/adafruit/CircuitPython_Community_Bundle/pull/32 (Days open: 4)
- https://github.com/adafruit/Adafruit_CircuitPython_CLUE/pull/14 (Days open: 3)
- https://github.com/adafruit/Adafruit_CircuitPython_MCP230xx/pull/21 (Days open: 2)
- https://github.com/adafruit/Adafruit_CircuitPython_ADS1x15/pull/52 (Days open: 2)
- https://github.com/adafruit/Adafruit_CircuitPython_HT16K33/pull/64 (Days open: 2)
- https://github.com/adafruit/Adafruit_CircuitPython_Display_Text/pull/34 (Days open: 1)
- https://github.com/adafruit/Adafruit_CircuitPython_BusDevice/pull/43 (Days open: 1)
- https://github.com/adafruit/Adafruit_CircuitPython_seesaw/pull/47 (Days open: 1)
- https://github.com/adafruit/Adafruit_CircuitPython_FeatherWing/pull/55 (Days open: 1)
- https://github.com/adafruit/Adafruit_CircuitPython_PyBadger/pull/19 (Days open: 1)
- https://github.com/adafruit/Adafruit_CircuitPython_PyBadger/pull/18 (Days open: 1)
- https://github.com/adafruit/Adafruit_CircuitPython_BLE/pull/68 (Days open: 1)
- https://github.com/adafruit/Adafruit_CircuitPython_BLE/pull/67 (Days open: 1)
- https://github.com/adafruit/Adafruit_CircuitPython_Motor/pull/37 (Days open: 1)
- https://github.com/adafruit/Adafruit_CircuitPython_CLUE/pull/17 (Days open: 1)
- https://github.com/adafruit/Adafruit_CircuitPython_CLUE/pull/16 (Days open: 1)
- https://github.com/adafruit/Adafruit_CircuitPython_CLUE/pull/15 (Days open: 1)
- https://github.com/adafruit/Adafruit_CircuitPython_Bundle/pull/229 (Days open: 1)
- https://github.com/adafruit/Adafruit_CircuitPython_Bundle/pull/228 (Days open: 1)
- https://github.com/adafruit/Adafruit_CircuitPython_Bundle/pull/227 (Days open: 1)
- 7 closed issues by 7 people, 5 opened by 4 people
- https://circuitpython.org/contributing
- 141 open issues
- 25 open pull requests (Oldest: 407, Newest: 1) Library updates in the last seven days: New Libraries
- Adafruit_CircuitPython_BLE_Cycling_Speed_and_Cadence
- Adafruit_CircuitPython_LPS2X
Updated Libraries
- Adafruit_CircuitPython_PyPortal
- Adafruit_CircuitPython_LIS2MDL
- Adafruit_CircuitPython_Fingerprint
- Adafruit_CircuitPython_Gizmo
- Adafruit_CircuitPython_LSM303_Accel
- Adafruit_CircuitPython_LSM303DLH_Mag
- Adafruit_CircuitPython_BluefruitConnect
- Adafruit_CircuitPython_RGB_Display
- Adafruit_CircuitPython_Display_Text
- Adafruit_CircuitPython_MCP230xx
- Adafruit_CircuitPython_BusDevice
- Adafruit_CircuitPython_seesaw
- Adafruit_CircuitPython_FeatherWing
- Adafruit_CircuitPython_PyBadger
- Adafruit_CircuitPython_BLE
- Adafruit_CircuitPython_Motor
- Adafruit_CircuitPython_LIS3MDL
- Adafruit_CircuitPython_MPU6050
- Adafruit_CircuitPython_ADS1x15
- Adafruit_CircuitPython_CLUE
- Adafruit_Blinka
- CircuitPython_Community_Bundle
14:35 Blinka
- 1 pull requests merged
- 1 authors - makermelissa
- 2 reviewers - makermelissa, ladyada
- 1 open pull requests
- https://github.com/adafruit/Adafruit_Blinka/pull/247 (Open 12 days)
- 1 closed issues by 1 people, 2 opened by 2 people
- 33 open issues
- PyPI Downloads in the last week: 2450 Number of supported boards: 38
15:17 Hug reports
16:19 @tannewt
- @v923z for ulab and being an open and awesome maintainer. Very excited to see it in CircuitPython.
- @DavePutz for taking a look at improving unicode support.
- @jimmo for brainstorming GC/allocation things and supporting other folks with MicroPython questions.
- @mubes for iMX RT work
- @kattni for covering me on the newsletter
- Alaa and Hassan from Lamba Labs in Beirut for bringing CircuitPython to their community and on YouTube: https://youtu.be/14RCTs6n47E
- James Bowman, creator of Gameduino, adding the eve module to CircuitPython, happy to see that get checked in
20:00 @tg-techie (text only):
- Community hug
- Hug to tannewt for helping with displayio / entertaining my questions
20:30 @Andrew Tribble
- Hugs to @Tannewt and @ladyada for helping clarify the discrepancy between Net pin names and Chip pin names on the Adafruit Clue schematic while working on a pinout diagram for that board.
- @kattni for the newsletter exposure for the same pinout diagram
21:29 @brentru
- @danh and @hierophect for hanging out last week in Boston, was a great time. Good irl circuitpy discussions!
- @v923z for ulab
- @arturo for IMXRT work
@cater (lurking)
21:51 @CGrover (not able to attend)
- @cater, @brentru, and @MakerMelissa for the essential detail in the “CircuitPython Display Support Using displayio” and “...Adding Cursor Support to CircuitPython” learning guides. The fusion of the two helped me successfully move beyond just Labels, Bitmaps, and Shapes to TileGrid and Buttons. Still have a way to go, but the concepts are increasingly making more sense and have found a way into my most recent project.
22:30 @charlesburnaford
- General hug report to everybody, just now trying out 5.0
22:49 @danh
- @jepler and @v923z for great continued progress on ulab capabilities and integration into CircuitPython.
- @hierophect for arranging a CircuitPython meetup at Artisan’s Asylum maker space in Somerville, MA.
- @DavePutz and @mubes for CircuitPython PR’s.
- @dherrada, @JohnPark, and Ruiz brothers for Pyloton project: BLE heart rate, cycling sensors, CLUE display, and case. Great project and really good test of integration of many new capabilities.
- @jepler for pointing out too-small SPI transactions.
@davep (lurking)
24:44 @dglaude (Lurking or not there or text only)
- @danh and @JohnPark for BLE and Heart Rate support, demo, ...
- @kattni for CLUE library and documentation.
- @MakerMelissa for DisplayIO stuff that made the same code work on CLUE, PyPortal and PyGamer
- @foamyguy and @MakerMelissa for Background color in the Label.
25:13 @Drew Fustini (intermittently in meeting)
- Alex Camilo for building awesome test jig for Open Hardware Summit wrist badge
- Alex Camilo for hand assembling rev1 badge to test so we can go to production
- Siddacious for testing rev0 OHS wrist badge and giving feedback
- Michael Welling diagnosing issues with rev0 and helping to validate rev1
- Kevin Walseth at Digi-Key for doing an awesome job supporting the badge project by getting the components we need
25:56 @foamyguy
- @cater for the great Candy Hearts guide. Especially the nice diagrams illustrating the anchored positioning of Labels.
- @cater and @makermellisa for feedback on color background Label PR as well as a few other PRs earlier in the week.
- @siddacious and @dherrada for feedback on accelerometer PR earlier in the week
- Group hug for everyone!
26:34 @geekguy (text only)
- @MakerMelissa for helping me through doing PRs for the HT16K33 library stuff.
27:24 @jepler
- @v923z for all the work he’s been doing to make micropython-ulab work even better with circuitpython
- Adafruit for giving me the freedom to go on vacation for a couple of weeks and be a little flaky about how much I work and check in
- @kattni for taking notes
- Group hug
28:23 @kattni
- @foamyguy for sticking through many change requests on PRs
- @nnja for fixing up PyBadger while she works through using the code
- @DanH for being a sounding board about some code plans
- @MakerMelissa for testing some code I’m writing on PyBadge since I managed to end up without one
- Anwesha Das for running her first large CircuitPython workshop for PyLadies Pune
30:15 @makermelissa
- @Geekguy for your enthusiasm with coding the HT16K33
- @nnja for your PyBadger PRs to help refactor and improve the code
- @FoamyGuy for making all of the change requests on the Display Text background_color PR
- Group Hug
@mscosti (lurking)
@sdw_nj (lurking)
30:55 @siddacious
- @atmakersbill/ Bill Binko for educating me on Sip & Puffs and AT in general
- @Drew Fustini for helping me with flashing my OHS badge proto
- Drewablo on the forum for awesome work on some displayio based arc graphs
32:48 @sommersoft (text-only; in the meeting for about 30 minutes; day_job conflict after that)
- @csexton for their quick attention regarding updates to their release assets upload GitHub Action.
- Group Hug!
33:29 @v923z:
- @jepler/@tannewt for all the encouragement concerning the integration of ulab into circuitpython
- @danh/@Agatherer for taking the first steps in porting ulab to circuitpython
- Group hug: the whole circuitpython community for the extremely welcoming and friendly atmosphere.
34:00 Status Updates
34:31 @tannewt
- Last week spent a day optimizing the memory allocation worst case. Please let me know if your projects run faster or slower with the new code.
- Added a BLE Eddystone library for sharing URLs with a beacon. Need to polish it up and release it this week.
- Began work on bleio scanning support in Blinka with Adafruit_Blinka_bleio. It works well enough to move forwards. Need to track down a bug in the underlying library where it fails to recover from an unexpected state of Linux BLE.
- Need to finish up ESP32SPI changes this week as well. BroadcastNet is in decent enough shape that folks should be able to start playing around with it once it is all merged.
39:30 @tg-techie (text only):
-
Ran a circuitpython workshop that had four attendees and went very well! Not only did we cover blinking/breathing an led but we were also able to add a sensor in really quickly using the power of circuitpython! (Although I did forgot that hardware Deinits in cp right after the scripts ends, but it made for great live debugging and docs usage ) will definitely do another some time.
-
Made a small fix to the circuitpython_rgb_display rotation pull requests
-
The motherboard for the “not dumb” watch came in and was able to test the power, charging, and backlight boost circuitry. (The “not dumb” watch is a circuitpython running watch similar to a smart watch with a touchscreen, usb-c port, and graphical user interface running on the nrf52840)
-
Need to learn how to reflow solder to attach the raytac nrf52840 module and water-resistant usb type-c connector to the watch
40:50 @Andrew Tribble
- Last week:
- Made the Clue pinout
- Worked on a mag sensor bar graph graphing the values from the mag sensor on the clue
- This week
- Replace my physically broken screen (waiting for me in my mailbox today, actually)
- Continue working on bar graphs or meter graphs for various sensors on the clue board as a way to play with those sensors and further familiarize myself with the displayio ecosystem
- Get some more testing hardware ordered so i can answer more questions in the chat and actually have the hardware to back up my answers.
41:58 @brentru
- I’ve been working on a Pure-Python driver for Wiznet’s W5x ethernet chips - like what’s on the ethernet FeatherWing. It’ll be easier to add more chips down the road.
- Last week I finished up the driver and a CPython socket-like object implementation.
- Unfortunately the W5x’s don’t have built-in DHCP/DNS implementations like the ESP32’s firmware.
- I’ll be adding them this week.
- Then I’ll be checking/testing compatibility with existing CircuitPython Internet Libraries like Requests and MiniMQTT
- Planning on releasing later this week, guide/documentation for it next week
@cater (lurking)
43:57 @CGrover (not able to attend)
- Completed and tested the CircuitPython Daylight Saving Time (DST) detector/adjuster helper and made significant progress on a hardware support library of clock “building blocks” for RTC-based, non-Internet timekeeping. Eliminating the twice-yearly clock updates with the new DST helper will be a real time-saver. Published the helper as part of the CedarGroveStudios/Unit_Converter repo.
- The latest recording studio project is “in the can” and off to the CD duplicator vendor. (Yes, CDs are still a “thing.”) The project will be the last with any significant acoustic content. As a result, the old acoustic recording studio was dismantled and is in the process of liquidation. Moving to a simpler, 98% digital musical instrument studio more in tune with my transition to solo composition and performance. Declutters the studio space, as well.
45:04 @charlesburnaford
- Haven’t had a whole lot of progress on anything this week, been travelling back and forth from FL to PA. Goal is to work more on keyboard, so I can get sunvox synth working in its entirety.
45:40 @danh
- Added high-speed (32 MHz) SPI support on nRF.
- Fixing a bunch of smaller issues in CircuitPython, working toward 5.0.0:
- Fixed
os.stat()integer overflow on smallint-only builds. - Implemented signed
to_bytes() - Fixed compile-time check of flash erase boundaries for
nvmand similar regions.
- Fixed
- Added BLE libraries to bundles and fixed small library issues.
- Started investigating BLE thermometers.
@davep (lurking)
47:06 @dglaude (Lurking or not there or text only) Last week:
- Got my CLUE!
- Got two BLE Heart Rate.
- Ported my Thermal Camera code to CLUE, PyPortal (and of course PyGamer)... searching for someone with a PyPortal Titano to check the scaling.
- Got stuck on taking screen capture from DisplayIO to SD (issue and code to reproduce) Next Week:
- Trying to use my two BLE Heart Rate monitor simultaneously and display on CLUE.
- Make a CLUE color reader that transmit as BLE advertisement
48:23 @Drew Fustini: (intermittently in meeting)
- Have been working with Alex Camilo and Michael Welling to validate rev1 of Open Hardware Summit badge so we can go to full production
- I am now looking to make a CircuitPython app to display the Open Hardware Summit schedule on the badge
- Thinking about adding pull-up/pull-down support for GPIO lines in Blinka now that libgpiod supports that functionality with the new Linux 5.5 release (https://microhobby.com.br/blog/2020/02/02/new-linux-kernel-5-5-new-interfaces-in-gpiolib/?fbclid=IwAR2-dgxRRQN4R65MfL9RBHBphJH8nRNzqkUpf2BGa0ympG4v7NFntsDJ1nE)
48:58 @foamyguy Last week:
- Implementing colored backgrounds for Label
- Working on Tilemap game example for PyGamer / PyBadge
- Audio Mixer troubleshooting Next Week:
- Work through pylint and other issues in tilemap game
- Finish documenting Mixer weirdness on SAMD51 and submit issue
- Get back to NeoTrellis tones example
49:43 @geekguy (text only)
- Added an example to the HT16K33 library to show how to do animations, including several examples.
- Modified the brightness property of HT16K33 to use floats like displayio does.
- Modified the set_digit_raw() function to return errors if the bitmask or digit is out of range.
50:14 @jepler Last week & this week:
- Small amounts of work on micropython-ulab. We now have basic CI infrastructure in micropython-ulab to build it with micropython and check that tests pass. However, we need more tests! There’s just one proof of concept test right now
- Will be pretty much gone from discord and github until the 25th, see you in a week!
51:29 @kattni
- Last week:
- Blogged newly released guides
- Completed guide pages for CLUE demos: Spirit level, height calculator, temp/humidity monitor
- Updated FT232H guide to include new rev
- Wrote and documented a slideshow example for CLUE
- Released libs with commits since last release
- Adapted PyBadger library to work on CLUE
- Refactored PyBadger to properly include CLUE, automatically detect which board is connected, and import the proper features for that board (CLUE, PyBadge/LC, PyGamer)
- This week:
- Finish documenting and testing PyBadger refactor
- Working on more CLUE demos. Compass is next. Brainstorming after that!
- PSA: Clues will be given out to everyone at PyCon so having lots of demos will help everyone there.
- If you have CLUE demo ideas or code, please let me know!
59:54 @makermelissa
- Last Week:
- Wrapped up WebSerial IMU Calibration for the time being.
- It was too experimental and was getting bogged down.
- Worked on reviewing PRs and fixing issues on Github
- Added a couple of new shapes to the Display Shapes library
- Hooked up the CLUE board to a Bit:Buggy and was able to get that completely running using Bluetooth and CircuitPython
- Still want to make use of some of the CLUE sensors
- Created a 3D Model Viewer that moves a 3D bunny around using WebSerial and the CLUE board
- Originally created using Euler angles
- Converted to make use of Quaternions
- Started helping @Kattni with testing new PyBadger code
- Worked on getting the MiniTFT demo working more consistently. It still seems to lock up after running for a little while.
- Started looking into getting WebBluetooth working
- Wrapped up WebSerial IMU Calibration for the time being.
- This Week:
- Continue working on WebBluetooth
- Finish Testing @Kattni’s code
- See if I can come up with any more improvements for the MiniTFT
@mscosti (lurking)
1:01:47 @mubes (not able to attend)
- RTS/CTS/RS485 first implementation tested and working on IMXRT1021. Currently porting to other members of IMXRT family. Requires changes to common_hal_busio_uart_construct so this will be updated over the next few days as part of the same PR across other uCs to get CI happy. Implementation will throw a ‘Not Yet Implemented’ for any uC where the integration & test hasn’t been done.
@sdw_nj (lurking)
1:02:29 @siddacious
- Finished the code for and published Sip and Puff guide
- Shipped the LPS2X libraries
- Tested the HTS221
1:03:41 @sommersoft (text-only; in the meeting for about 30 minutes; day_job conflict after that)
- Last 2 Weeks:
- Actions CI:
- Worked out a fix for a breaking change to the 3rd-party action we utilize to upload bundle/library release assets. Thanks again to @krayola & @kattni for steering me away from my tunnel vision on the root cause.
- Adabot:
- Added Community Bundle info gathering to the library report and circuitpython.org/contributing.
- Updated the GitHub API authentication procedures; previous process is being deprecated in July.
- RosiePi/physaCI:
- Finished the node-side program to register a node with physaCI's registrar (for push notifications). This includes the hourly rotation of generating new keys for use with HTTP Signature authentication.
- Re-wrote most of physaCI's initial push notification code; largely additional abstraction and implementing HTTP Signature authentication.
- Started working on the physaCI code to trigger push notifications when a new GitHub check is created, and how the different datasets interact.It is currently very "bowl of spaghetti" in my mind...
- Actions CI:
- This Week:
- Start deeper exploration on my idea for The Great Pylint Upgrade of 2020 (https://github.com/adafruit/actions-ci-circuitpython-libs/issues/2). Mostly just verifying my assumptions with adabot patching/tracking, and writing a script to auto-upgrade libraries that already pass pylint 2.x.
- Keep moving forward on physaCI push notifications.
- In the spirit of Work/Life Balance, I’ll be out most of this weekend (Fri-Sun). Mardi Gras awaits...
1:05:35 In The Weeds
1:05:50 @siddacious:
- should we consider what it means to “release” a change to the cookiecutter?
- @sommersoft: You can point to a branch/tag with the '--checkout' option when running cookiecutter. I would think branch would be better for our use case, if we want an explicit release state. Using tags would force continual lookup on the repo for the user to verify what the current release tag is (I think). Could also give a false sense of "current" wrt cookiecutter's "do you want to download again" prompt. Using a standard branch would avoid those, and is basically our current setup.
- How and when do we want to apply cookiecutter changes to existing repos?
1:10:17 John Reese/@jreese contributed Black formatting checks to the Actions workflow and it would be nice to get it used in the existing library repos as well.
1:15:55 @jepler can we directly support setting a color to None at the palette API level (i.e. in C) and simplify a bunch of code that special cases it? I can enter an issue and maybe prototype it if there’s not an obvious reason it’s a wrong direction.
1:16:57 @siddacious should we revisit the template we use in the cookiecutter? It would be great if we could have all the info on one page
- Timon mentioned the open frameworks docs as a good example: https://openframeworks.cc/documentation/
- His other feedback “My tldr for the openframeworks docs that I would take over to cpy: having all the core functions and classes browsable and at best a snippet for each and then in the libraries section the same for each lib that comes with the libraries download. it’s what I miss the most whenever I try to do stuff with cpy”
1:28:54 @tannewt - Update on 5.0.0?
- Getting close. Looking at the 5.x related milestones.
- Ulab won’t make 5.0.0 but will be the highlight of a 5.x release.