[Dev Catch Up #10] - GitHub Universe, Next.js 14, Chrome 120, and more.
Bringing devs up to speed on the latest dev news from the trends including announcements from GitHub universe, new releases with Next.js 14, exciting Chrome 120 update, new HTTP Go routing and more.
Evolution of tech with new developments and happenings is constant. And as usual, DevShorts is back with another issue to simplify your digests from the community. Like our last ones, this issue also covers the unique stories trending in our developer circle, along with a look at new open-source projects, tutorials, conference news, and much more.
Must Reads
GitHub just recently concluded GitHub Universe and a lot of announcements regarding Copilot have been made. With all the developments, Copilot has turned GitHub into an AI powered developer platform. GitHub Copilot chat will now be available generally from December. With the GPT4 powered model, Copilot chat becomes more powerful with accurate code suggestions and explanations. You can implement AI with the click of a button and can use slash commands to shorten your big tasks. Copilot Enterprise was announced that can be customised according to your organisation. GitHub will now have AI powered security features in GitHub advanced security that can detect vulnerabilities and secrets in your code. More on the announcements can be found with this article from GitHub where they have explained in detail on the new updates and given a few glimpses on what’s next with GitHub.
Chrome extensions are getting a new overhaul with updates and releases and the Google team is working hard on this segment. New APIs have been launched with the October release. These include the Runtime API, Side Panel API, TabCapture API, and DeclarativeNetRequest API. Also, existing APIs have improvements that include resolving of known issues like stability of Manifest V3 and others. Extension APIs now have improved security and Service Worker-related stability issues have been resolved. This article from Google Chrome developers talks extensively on the October month end updates and has also portrayed a short picture on the APIs that will be coming soon.
Google Chrome recently got a new update and this update is an exciting one. This update brings improvements with closing the remaining platform gaps listed on the Manifest V3 known issues page. With Chrome 120, Manifest V3 extensions can manage the collection of user scripts and determine when and where to inject them on web pages to modify their appearances or behaviour. Static DNR Ruleset limits have been increased with enabled rulesets from 10 to 50 and the allowed ones from 50 to 100. ReadingList API has been introduced and you can now trigger an alarm with chrome.alarms within 30 seconds. Also, file handling in Chrome 120 lets extensions open files with specified MIME types and file extensions in the same way as that of web platform file handling. Read more about this update from this article published by Chrome developers.
Go v1.22 will be released soon and this one may come with better HTTP server routing. The proposal is to enhance the pattern-matching capabilities of the default HTTP serving multiplexer in the `net/http` package. The existing multiplexer i.e. `http.ServeMux` offers rudimentary path matching and as a result, 3rd party libraries have to implement more powerful capabilities. The new multiplexer will significantly bridge the gap from 3rd party packages by providing advanced matching capabilities. Here is a detailed article from Eli Berdensky where he has given a brief introduction on the new multiplexer and revisited the examples from REST servers in Go series for a comparison on how the new stdlib mux fares against `gorilla/mux`.
All new Next.js 14 has been announced in the Next.js conf. It is a major release and comes with a number of stable releases and previews. With the new release, the compiler gets turbocharged with turbopack, the underlying rust engine. This will allow 5000 tests passing for App and page router resulting in the faster local server startup by 53% and code updates becoming 94% faster with Fast Refresh. Also, the stable release of Server actions will allow progressive enhanced mutations. It is integrated with caching and revalidating and with the server actions, you can perform simple function calls and can work natively with forms. Partial Prerendering has been released as a preview which will allow fast initial static response and streaming of dynamic content. A detailed breakdown of the releases can be seen from this article posted by Next.js org, where you will be able to see implementation of the releases with code snippets.
Now, we will head over to some of the news and articles that will be at a place of interest for developers and the tech community out there.
Good to know
OpenTelemetry is the emerging standard for measuring software performances at scale. GitHub recently faced this when Microsoft started migrating their large codebases to Git. Collecting performance data of the migration is essential to understand and improve the performance of Git at scale. Trace2 is an open source performance logging/tracing framework built into Git so that you can do analysis of the Git performance on their repositories but it has some problems reading the data without any help. Now, with the help of OpenTelemetry visualisation tools, it will be easy to study the data of your Git performance. Hence, GitHub introduced an open-source tool named `trace2receiver` that will post-process the data and will move it to the OpenTelemetry ecosystem. Here is an article from GitHub that tells in detail about this tool while explaining its entire working principle.
In the world of SREs, there is a saying that quotes “SLIs are the building blocks of SLOs.” Service Level Objective or SLO is a tool that helps us measure reliability over time. But this measurement can only be done after setting up a Service Level Indicator or SLI. It is a metric that helps in indicating what to measure and observe. SLOs can cause outages and SLIs not having an alignment with user experience can be a contributing factor to that outage. This article from The New Stack talks about three high profile outages from last year and how you can define a SLO that can cause similar problems while keeping the SLIs close to user experience.
With all the hype, trends, and the new grown standard, OpenTelemetry is steadily gaining broad industry adoption. Global companies from different industries are standardising OpenTelemetry and DevOps teams are constantly approaching with ingesting and collecting telemetry data and thus providing a defacto standard for observability. All these leads to vendor-agnostic and futureproof instrumentation of applications for teams that will allow them to change observability backends without additional overheads in adapting instrumentation. But OpenTelemetry for instrumentation has multiple choices between different instrumentation techniques and data collection approaches. Selecting between the instrumentation techniques and mechanisms can be challenging for teams. To address these problems, here is a detailed article published by Elastic that talks about the best practices for OpenTelemetry instrumentation.
An open-source project from LangChain AI named OpenGPT that is aiming to create a similar experience to that of OpenAI's GPTs is getting noticed and has earned a few stars. OpenGPT can help you configure over 60 LLMs, over 100 tools offered by LangChain with an ability to write your own if needed, the prompts, vector databases, retrieval algorithms, and chat history databases. The project uses products from LangChain AI namely, LangChain, LangServe, and LangSmith. You can check it out from its GitHub repository here.
Lastly, we will take a look at some of the trending scoops that hold a special mention for the community.
Notable FYIs
Testing system functionality is one of the most important steps in software development and engineering processes. This short article from ByteByteGo teaches in layman terms with a schematic diagram the best ways to test the functionality of a system.
Google was cooking a better trained version of its own ChatGPT equivalent long before OpenAI released its bot to the world. But it somehow didn’t appear before OpenAI. Although, they later and recently released Bard, know the story behind the delay from this podcast hosted by Alex Kantrowitz from BigTechnology.
Unique ID generators are tools that help in developing unique identifiers, which are strings of characters used for identifying individual resources. Here is a short article from ByteByteGo that explains five different unique ID generators in distributed systems including their working principle, pros, and cons.
Observability is evolving with auto-instrumentation. It is the way of adding telemetry to an application without changing the application code. Here is a short video that discusses how distributed traces are instantly generated for applications written in JavaScripts, python, Go, etc. without any code changes. Odigos is used for generating and delivering the traces to Jaeger.
That’s it from us in this edition. We hope you are going away with a ton of new information. Lastly, share this newsletter with your colleagues and pals if you find it valuable and a subscription to the newsletter will be awesome if you are reading for the first time.
I really like the 'Notable FYIs' section. Keep them coming...