Liquid Stake with compassSOL for an 8.04% APY from staking, MEV + fees

Enjoy the freedom of liquid staking in Solana Defi while delegating your stake to the high performance Solana Compass validator. Stake or unstake at any time here, or with a Jupiter swap.

Benefit from our high staking returns and over 2 years experience operating a Solana validator, and receive additional yield from priority fees + MEV tips

Earn 6.7% APY staking with Solana Compass

Help decentralize and secure the Solana network delegating your stake to us and earn an impressive 6.7% APY yield on your SOL, while supporting us to create new guides and tools. Learn more

Stake your SOL

  1. Click to connect your wallet
  2. Enter the amount you wish to stake
  3. Kick back and enjoy your returns
  4. Unstake from your wallet or our staking dashboard

Earn 6.7% APY staking with Solana Compass

Help decentralize and secure the Solana network delegating your stake to us and earn an impressive 6.7% APY yield on your SOL, while supporting us to create new guides and tools.

Learn more

Solana Changelog November 6th

By Changelog

Published on 2023-11-06

Get the latest Solana updates including SIMD 189 for stricter ELF headers, Agave 2.1 pre-release, Web3.js 2.0 launch, and crucial developer insights.

The notes below are AI generated and may not be 100% accurate. Watch the video to be sure!

Solana Changelog: Critical Updates and Developer Insights

In the latest episode of the Solana Changelog, Nick from the Solana Foundation dev rel team and Jonas dive into crucial updates and developments within the Solana ecosystem. This comprehensive changelog covers a range of topics from SIMD proposals to new software releases, offering valuable insights for developers and enthusiasts alike.

SIMD 189: Stricter ELF Headers

The episode kicks off with a discussion on SIMD 189, which proposes stricter ELF headers. This proposal, originating from Alexander at Anza, aims to restrict ELF headers in Solana programs. While the proposal is labeled as SIMD 187 in the show notes, it's actually SIMD 189, as Nick points out.

The primary goal of this SIMD is to enhance both efficiency and security in Solana programs. By restricting ELF headers, programs can potentially become more efficient. Moreover, this change adds an extra layer of security by reducing the attack surface. As Nick explains:

"If you just sort of ignore some of the other header information, the runtime doesn't need to process it. So it's just a little bit more reduces the attack surface, which is nice."

Jonas provides additional context on ELF files, explaining that they are the result of compiling Solana programs. These files can contain additional information, such as security text, and allow for data reading at certain header locations. The proposed changes in SIMD 189 could impact how developers interact with these files.

This proposal has sparked discussions within the community, particularly regarding the potential limitations it might impose. For instance, some developers had considered putting IDLs (Interface Definition Language) into ELF files, which may no longer be possible if this proposal is implemented.

Agave Version 2.1: Pre-release and Breaking Changes

The changelog then moves on to discuss the pre-release of Agave version 2.1. This upcoming release is significant for Solana developers, as it introduces new features and improvements. However, it's crucial to note that there's a breaking change between versions 2.0 and 2.1.

Jonas highlights the importance of this change:

"There is a breaking change in it already between 2.0 and 2.1. And it's about Dalek grade. So if you're running into problems with this, if you like get dependency problems there, what you can do is you can either pin version 2.0 or you go with all versions to 2.1."

This breaking change is related to the Dalek crate and was implemented to resolve a long-standing dependency issue with the zero-rise crate. The discussion around this issue dates back to 2022, indicating the significance of this fix.

For developers upgrading from Agave 2.0 to 2.1, it's crucial to ensure that all crates used in their projects are either on version 2.0 and below or 2.1 and above. Mixing and matching between these minor versions could lead to compatibility issues.

QUIC Improvements: Pushing Towards 1 Million TPS

The changelog highlights ongoing improvements to Solana's QUIC implementation. Alessandro, a prominent contributor, has been working on enhancing both the Quinn crate (the Rust implementation for QUIC) and Solana's QUIC stack.

These improvements are part of an ambitious goal, as Jonas notes:

"Alessandro is very optimistic. And he says, we are going with our client to 1 million TPS. He has five bucks that he wants to fix."

This optimism reflects the continuous efforts to push Solana's performance boundaries. The improvements being made to the QUIC implementation are not only benefiting Solana but are also being contributed back to the Quinn crate, allowing other projects to leverage these enhancements.

Borsh Helpers: A Step Towards Efficiency

A minor but noteworthy change discussed in the changelog is the extraction of Borsh helpers from the Solana program crate into their own crate, Solana Borsh. While this change might seem small, it has potentially significant implications for program efficiency and flexibility.

Nick explains the potential impact:

"It makes it now possible to rewrite certain programs without ever depending on the Solana program crate. So you could, in theory, I suspect you should be able to switch to something like Pinocchio, which is a zero dependency version of Solana program."

This change allows developers to potentially use more optimized alternatives like Pinocchio, which offers a different entry point that doesn't allocate memory, potentially saving on compute units (CU). This flexibility could lead to more efficient Solana programs in the future.

Web3.js Version 2.0: A Major Milestone

One of the most significant announcements in this changelog is the imminent official release of Web3.js version 2.0. This new version has been in release candidate status for some time, and its official launch is now on the horizon.

Nick emphasizes the importance of this update:

"If you're not already looking at Web3.js version 2.0 and seeing how to do the migration from version 1 to version 2, you've got to start looking at it now, figure out the differences in how to implement the various changes required within any of your applications."

The transition to Web3.js 2.0 brings several improvements, including faster performance and a more modular structure allowing developers to import only the components they need. This change could significantly reduce bundle sizes and improve application efficiency.

To assist developers in this transition, Anza has created a reference wallet adapter using Web3.js 2.0. This example, available in the Web3.js repository under the examples directory, demonstrates how to implement the new wallet adapter with the updated library in a React application.

Anchor 0.31: Upcoming Release with Exciting Features

The changelog also touches on the upcoming release of Anchor 0.31. While the exact release date wasn't specified, the hosts discuss several exciting features that will be included in this new version.

Some of the notable additions in Anchor 0.31 include:

  1. An IDL builder
  2. Upgrade to Solana version 2.0
  3. A new "no IDL" tag flag
  4. New convenience features
  5. Additional language features
  6. Lazy account functionality
  7. Unnamed init account structs
  8. New Token-2022 functions

These features are expected to provide developers with more tools and flexibility when building on Solana. The upgrade to Solana version 2.0 in particular aligns Anchor with the latest core protocol improvements.

Stack Exchange: Community Engagement and Learning

The changelog wraps up with a look at the Solana Stack Exchange, highlighting the top contributors and encouraging community participation. Jimmy leads the pack with 113 points, followed by other active contributors like John C, Mike, Shalda, Joey, Jacob, and Hannah.

Nick and Jonas emphasize the importance of community involvement in answering questions and helping new developers. They also suggest a proactive approach for developers facing challenges:

"One of the other things you can do on stack exchange is if you're personally struggling with some random bit of Solana development, you can post a question and answer your own question at the same time."

This approach not only helps the individual developer document their learning process but also contributes to the collective knowledge base of the Solana community.

The Importance of Staying Updated

Throughout the changelog, a recurring theme is the importance of staying up-to-date with the latest developments in the Solana ecosystem. From new SIMD proposals to major library updates like Web3.js 2.0, developers need to be proactive in adapting to these changes.

The hosts encourage developers to explore new features, contribute to discussions, and share their experiences. This collaborative approach is crucial for the continued growth and improvement of the Solana ecosystem.

Looking Ahead: Solana's Continuous Evolution

As this changelog demonstrates, the Solana ecosystem is in a state of constant evolution. With improvements in areas like QUIC implementation pushing towards ambitious performance goals, and major updates to core libraries like Web3.js, Solana continues to position itself as a leading blockchain platform for high-performance applications.

The upcoming releases of Agave 2.1 and Anchor 0.31 further underscore the platform's commitment to providing developers with powerful, efficient tools for building decentralized applications. As these new versions roll out, developers will have access to new features and optimizations that can enhance their projects.

Community-Driven Development

A key takeaway from this changelog is the significant role that community contributions play in Solana's development. From individual developers like Alessandro working on QUIC improvements to the active participants on Stack Exchange, the Solana ecosystem thrives on collective effort and knowledge sharing.

The hosts' encouragement for developers to engage with Stack Exchange, whether by answering questions or documenting their own learning experiences, highlights the importance of this community-driven approach. It's this collaborative spirit that continues to drive innovation and problem-solving within the Solana ecosystem.

Preparing for Future Changes

As the Solana ecosystem continues to evolve, developers need to stay vigilant and prepared for upcoming changes. The breaking changes mentioned in Agave 2.1 and the significant updates in Web3.js 2.0 serve as reminders of the importance of staying informed and adapting to new developments.

Developers are encouraged to:

  1. Regularly check for updates to core libraries and tools
  2. Participate in discussions around new proposals like SIMD 189
  3. Experiment with new features in pre-release versions
  4. Contribute to community resources like Stack Exchange
  5. Share their experiences and insights with the broader Solana community

By staying engaged and proactive, developers can not only keep their projects up-to-date but also contribute to the ongoing improvement of the Solana ecosystem as a whole.

Conclusion: A Thriving Ecosystem

The Solana Changelog for November 6th paints a picture of a vibrant, rapidly evolving ecosystem. From core protocol improvements to new tools and library updates, Solana continues to push the boundaries of what's possible in blockchain technology.

As the platform moves towards goals like 1 million TPS and introduces more developer-friendly features, it's clear that Solana is positioning itself for continued growth and adoption. The active community involvement, as seen in the Stack Exchange discussions and ongoing development efforts, suggests a bright future for the Solana ecosystem.

For developers, enthusiasts, and investors alike, staying informed about these developments is crucial. As Solana continues to evolve, it offers exciting opportunities for innovation and growth in the world of decentralized applications and blockchain technology.

Facts + Figures

  • SIMD 189 (mistakenly labeled as 187 in the show) proposes stricter ELF headers for Solana programs.
  • Agave version 2.1 is in pre-release status with a breaking change related to the Dalek crate.
  • Alessandro is working on QUIC improvements with the goal of reaching 1 million TPS.
  • Borsh helpers have been extracted from the Solana program crate into their own crate, Solana Borsh.
  • Web3.js version 2.0 is about to be officially released, bringing significant changes and improvements.
  • Anza has created a reference wallet adapter using Web3.js 2.0, available in the Web3.js repository.
  • Anchor 0.31 is upcoming with new features including an IDL builder and upgrade to Solana version 2.0.
  • Jimmy leads the Solana Stack Exchange with 113 points.
  • The zero-rise crate dependency issue discussed dates back to 2022.
  • Pinocchio is mentioned as a zero dependency version of Solana program with potential CU savings.
  • Web3.js 2.0 is described as faster and more modular compared to its predecessor.
  • The Solana ecosystem is pushing towards a goal of 1 million TPS (Transactions Per Second).

Questions Answered

What is SIMD 189 proposing for Solana?

SIMD 189 proposes implementing stricter ELF headers for Solana programs. This change aims to enhance both efficiency and security by restricting the information processed in ELF headers. By ignoring certain header information, the runtime can potentially operate more efficiently while also reducing the attack surface for potential vulnerabilities.

How does the breaking change in Agave 2.1 affect developers?

The breaking change in Agave 2.1 relates to the Dalek crate and affects how developers manage dependencies. To address this, developers need to ensure all crates in their project are either on version 2.0 and below or 2.1 and above. Mixing versions between these two minor releases can lead to compatibility issues. This change was implemented to resolve a long-standing dependency problem with the zero-rise crate.

What improvements are being made to Solana's QUIC implementation?

Alessandro is working on enhancing both the Quinn crate (the Rust implementation for QUIC) and Solana's QUIC stack. These improvements are part of an ambitious goal to push Solana's performance to 1 million TPS (Transactions Per Second). The enhancements are not only benefiting Solana but are also being contributed back to the Quinn crate, allowing other projects to leverage these improvements.

What changes does Web3.js 2.0 bring to Solana development?

Web3.js 2.0 represents a significant update to the library, offering improved performance and a more modular structure. This new version allows developers to import only the components they need, potentially reducing bundle sizes and improving application efficiency. The update also includes changes to how certain functionalities are implemented, necessitating migration efforts for existing projects using Web3.js 1.x.

What new features are coming in Anchor 0.31?

Anchor 0.31 is set to introduce several new features including an IDL builder, upgrade to Solana version 2.0, a new "no IDL" tag flag, additional convenience features, new language features, lazy account functionality, unnamed init account structs, and new Token-2022 functions. These additions aim to provide developers with more tools and flexibility when building on Solana, aligning with the latest core protocol improvements.

How can developers contribute to the Solana community through Stack Exchange?

Developers can contribute to the Solana community through Stack Exchange by answering questions, especially those related to recent updates or common development challenges. Additionally, developers are encouraged to document their own learning experiences by posting questions and answers about issues they've solved. This approach not only helps individual developers but also contributes to the collective knowledge base of the Solana community.

What is the significance of extracting Borsh helpers into a separate crate?

The extraction of Borsh helpers from the Solana program crate into their own crate (Solana Borsh) allows for more flexibility in program development. This change makes it possible to write Solana programs without depending on the main Solana program crate, potentially enabling the use of more optimized alternatives like Pinocchio. This flexibility could lead to more efficient Solana programs by reducing unnecessary dependencies and allowing for optimizations in memory allocation and compute unit usage.

Related Content

Solana Changelog Aug 14

Discover the latest Solana updates including SIMD-0164, Web3.js 2.0 Release Candidate, and improved developer tools for enhanced testing and deployment.

Solana Changelog October 30th

Exciting Solana ecosystem updates including NixOS builds, Old Faithful RPC on Filecoin, verified program builds, and Explorer improvements

Solana Changelog - July 25 - Events, Pyre, and Anchor

Discover the latest Solana updates including the upcoming Game Jam, SIMD57 proposal for on-chain events, and exciting ecosystem developments in this week's Solana Changelog.

Solana Changelog July 6 - Cubik, SPL-token, and Solana-Tools

Explore the latest Solana updates including Cardinal Labs shutdown, Jupiter's Token 2022 support, Cubik's tooling round, and new developer resources

Solana Changelog - July 25 - Events, Pyre, and Anchor

Discover the latest Solana updates including the upcoming Game Jam, SIMD57 proposal for on-chain events, and crucial Anchor improvements in this week's changelog.

Solana Changelog Oct 16

Explore Solana's latest updates including SIMD-0180, SVM standalone applications, and assembly optimizations for improved performance and developer experience.

Breakpoint 2023 Highlights

An overview of Solana's achievements and the future of decentralized networks presented at Breakpoint 2023.

Solana Legend on Next Generation Blockchains

Solana OG shares insights on blockchain evolution, DeFi innovations, and the future of Web3 gaming in this in-depth interview

Solana Changelog October 23

Explore Solana's record-breaking hackathon, increased builder interest, and key updates enhancing developer experience and blockchain efficiency.

Solana Changelog - August 15 - Bankrun JS, Bubblegum, and Radiance

Explore the latest Solana updates including game jam success, new developer tools, light client progress, and innovative local testing solutions

Breakpoint 2023: DeFi is Broken. How to Fix It on Solana

Eugene Chen of Ellipsis Labs discusses DeFi's drawbacks and proposes solutions on Solana.

Solana Changelog - August 1 - Gamejam, RWA, Quick Program Deploys

Explore the latest Solana developments including the Game Jam, RWA security token standards, and improved program deployment speeds in this week's Changelog.

Breakpoint 2023: How Helium Migrated to Solana

The migration of the Helium network to Solana blockchain.

Solana Changelog - August 1 - Gamejam, RWA, Quick Program Deploys

Discover the latest Solana updates including the exciting Game Jam, new RWA security token standard, and improvements in program deployment speed.