Liquid Stake with compassSOL for an 9.66% 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 7.1% APY staking with Solana Compass

Help decentralize and secure the Solana network delegating your stake to us and earn an impressive 7.1% 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 7.1% APY staking with Solana Compass

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

Learn more

Solana Changelog Nov 6th

By Changelog

Published on 2024-11-06

Explore the latest Solana updates including Agave v2.1, Web3.js v2 release candidate, SIMD-0187 proposal, and upcoming Anchor v0.31.0 features in this comprehensive changelog.

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

Solana Changelog: Exciting Updates and Developments in the Ecosystem

The Solana ecosystem continues to evolve at a rapid pace, with new updates, improvements, and proposals constantly emerging. In this comprehensive changelog, we'll delve into the latest developments discussed by Nick and Jonas from the Solana Foundation's developer relations team. From the upcoming Agave v2.1 release to the much-anticipated Web3.js v2, there's plenty to explore in the world of Solana development.

SIMD-0187: Enhancing Security and Efficiency with Stricter ELF Headers

One of the most intriguing proposals discussed in this changelog is SIMD-0187, which aims to implement stricter ELF (Executable and Linkable Format) headers for Solana programs. This proposal, put forward by Alexander from Anza, has significant implications for both security and performance.

ELF files are a standard file format for executable files, object code, and shared libraries. In the context of Solana, these files play a crucial role in program deployment and execution. The proposed changes in SIMD-0187 would restrict the information processed from ELF headers, leading to two primary benefits:

  1. Improved Efficiency: By ignoring certain header information, Solana programs can potentially become more efficient. This optimization could lead to faster execution times and reduced resource consumption.

  2. Enhanced Security: Limiting the processed header information reduces the attack surface for potential exploits. By simplifying the runtime's interaction with ELF headers, the proposal aims to mitigate certain security risks.

Jonas provided some additional context on ELF files, explaining, "When you compile your program, you get an ELF file, and then you can put additional stuff in this ELF file. For example, the security text is written directly in this ELF file." He also noted that there were previous ideas about incorporating IDLs (Interface Description Language) into ELF files, which may no longer be possible if this proposal is implemented.

The SIMD-0187 proposal opens up an interesting discussion point for the Solana community. Developers and security experts will likely want to weigh in on the potential trade-offs between increased security and any limitations on program flexibility.

Agave v2.1: A Major Update on the Horizon

Exciting news for Solana developers comes in the form of Agave version 2.1, which is currently in pre-release status. This upcoming release promises to bring a host of improvements and new features to the Solana development environment.

While the full details of Agave v2.1 are yet to be officially released, the pre-release status indicates that it's nearing completion. Developers are encouraged to start investigating the changes and new features that will be introduced in this version.

Jonas expressed enthusiasm for the new release, stating, "Very excited. Like the new version is coming, 2.1. So that's really cool." This sentiment reflects the anticipation within the Solana development community for the improvements and capabilities that Agave v2.1 will bring.

Breaking Changes and Dependency Updates

It's important to note that Agave v2.1 introduces some breaking changes, particularly concerning the Dalek crate dependency. This change addresses a long-standing dependency issue related to the zeroize crate, which has been a point of discussion since 2022.

Jonas explained the situation: "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. Because they are already fixed again."

While this breaking change may cause some initial inconvenience for developers, it's a necessary step to resolve persistent dependency issues. The Solana team's commitment to addressing these long-standing problems demonstrates their dedication to improving the developer experience and maintaining a robust ecosystem.

Developers upgrading from Agave 2.0 to 2.1 should be aware of these changes and prepare accordingly. Nick emphasized the importance of consistency in crate versions: "You got to make basically make sure that you're using every single crate that you use needs to be either 2.0 and below or 2.1 and above. So you can't mix and match the two minor versions."

QUIC Improvements: Pushing Towards 1 Million TPS

The Solana team continues to make strides in improving network performance, with a particular focus on the QUIC protocol implementation. Alessandro, a key contributor to these improvements, has been working on enhancements to both the Quinn crate (the Rust implementation for QUIC) and Solana's QUIC stack.

Jonas shared Alessandro's optimistic outlook: "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 ambitious goal of reaching one million transactions per second (TPS) underscores Solana's commitment to scalability and high-performance blockchain technology.

The latest improvement, as described in the changelog, involves optimizing how tasks are created for transactions. Instead of creating a separate task for each transaction, the new implementation creates one task per connection. This change is expected to lead to significant performance improvements and resource utilization.

Moreover, these improvements are not limited to Solana alone. Jonas noted, "And also being pulled back to Quinn so that other people can also use it. I think it's really nice." This collaborative approach benefits the wider Rust and blockchain communities, showcasing Solana's commitment to open-source development and ecosystem growth.

Solana-Borsh: Extracting Borsh Helpers for Greater Flexibility

In a move towards greater modularity and flexibility, the Solana team has extracted Borsh helpers from the Solana program crate into their own separate crate, named Solana-Borsh. This change, while seemingly small, has significant implications for Solana developers.

Jonas explained the potential benefits: "In general, it's nice because the less you need Solana program, the more often you can leave it out and save space." This extraction allows developers to use Borsh serialization without necessarily depending on the entire Solana program crate, potentially leading to more efficient and streamlined programs.

Nick highlighted an interesting side effect of this change: "It makes it now possible to rewrite certain programs without ever depending on the Solana program crate." This opens up new possibilities for program optimization and alternative implementations.

One such alternative mentioned is Pinocchio, a zero-dependency version of the Solana program crate. Nick suggested, "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. I think it's a little bit more efficient as well, a little bit more optimized."

Jonas added more details about Pinocchio's benefits: "Pinocchio is actually really nice. It has a different entry point, which doesn't allocate, I think, doesn't allocate any memory in the entry point itself and saves a lot of CU." This reduction in compute units (CU) usage can be particularly valuable for complex programs or those operating under tight resource constraints.

For developers interested in exploring these optimizations, Jonas recommended checking out Solandy's video on the topic, which provides a more in-depth look at Pinocchio and its advantages.

Web3.js v2: A Major Milestone for Solana Development

One of the most significant announcements in this changelog is the imminent release of Web3.js version 2.0. This new version of the popular JavaScript library for interacting with the Solana blockchain has been in release candidate status for some time and is now on the verge of official release.

Nick emphasized 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 release of Web3.js v2 represents a major milestone for Solana development, bringing numerous improvements and changes to how developers interact with the Solana blockchain from JavaScript applications. Some of the key benefits of the new version include:

  1. Improved Performance: Web3.js v2 is reportedly much faster than its predecessor.
  2. Reduced Bundle Size: The new version allows for more granular imports, meaning developers can include only the specific functionalities they need, resulting in smaller bundle sizes.
  3. Modern JavaScript Features: The library has been updated to take advantage of more recent JavaScript language features and best practices.

Jonas highlighted the opportunity for content creators: "If you're a content creator and you want to create some content around it, I think now is a very good time doing this because it is quite different. There are some things that are working a bit differently. So people might get confused, and it will be good if you have more examples on it and just more people using it and giving feedback as well."

To assist developers in transitioning to Web3.js v2, Anza has created a reference wallet adapter using the new version. Nick mentioned, "Anza has put together a sort of reference wallet adapter using Web3.js. It's also in the Web3.js repo under the examples directory. So you can see there's a full React app example. How to use the new wallet adapter with the new Web3.js?"

This example implementation serves as a valuable resource for developers looking to understand how to integrate Web3.js v2 into their applications, particularly in the context of wallet interactions, which are crucial for many Solana dApps.

Anchor v0.31.0: New Features and Improvements on the Horizon

The Solana development community has another reason to be excited with the upcoming release of Anchor v0.31.0. Anchor, a popular framework for Solana program development, is set to receive a significant update with a host of new features and improvements.

While the exact release date for Anchor v0.31.0 is not yet confirmed, the changelog discussion revealed that the release notes are already being compiled, indicating that the update is well underway. Nick mentioned, "There's a whole bunch of changes that are already sort of being filled into the release notes for version 0.31."

Some of the notable features and improvements coming in Anchor v0.31.0 include:

  1. IDL Builder: A new tool for creating and managing Interface Description Language (IDL) files, which are crucial for defining the structure of Solana programs.

  2. Upgrade to Solana Version 2.0: Ensuring compatibility with the latest Solana core updates.

  3. No IDL Tag Flag: A new option that provides more flexibility in how IDLs are handled.

  4. Convenience Features: New capabilities that streamline common development tasks.

  5. New Language Features: Enhancements to the Anchor domain-specific language (DSL) for writing Solana programs.

  6. Lazy Account: A new feature that may improve efficiency in account handling.

  7. Unnamed Init Account Structs: Simplifying the process of initializing new accounts.

  8. New Token22 Functions: Additional support for the Token22 standard, which extends the functionality of Solana's token system.

Jonas expressed enthusiasm for these updates: "There's cool stuff in it. There's an IDL builder. There's an upgrade to Solana version 2.0 as well. Then we have no IDL tag for flag. There's lots of convenience features that you can now build with a certain feature as well. We have some new language features and lazy account. Then we have unnamed init account strikes and some new Token22 functions as well that some people were actually missing before. So there's lots of cool stuff in it."

For developers eager to try out these new features, Jonas mentioned that it's possible to build Anchor v0.31.0 from a branch ahead of the official release: "You can already build it from a branch if you want."

The wide range of improvements coming in Anchor v0.31.0 demonstrates the Solana ecosystem's commitment to enhancing developer tools and streamlining the program development process. These updates are likely to make Solana development more accessible and efficient, potentially attracting more developers to the platform.

Solana StackExchange: A Growing Hub for Developer Support

The Solana StackExchange continues to be a vibrant community for developers seeking answers and sharing knowledge about Solana development. The changelog highlighted the weekly rankings, showcasing the most active contributors to the platform.

Nick and Jonas emphasized the importance of the StackExchange as a resource for both new and experienced Solana developers. They encouraged listeners to participate actively, whether by asking questions, providing answers, or even documenting their own problem-solving processes.

Jonas noted the influx of new developers: "There are a bunch of unanswered questions last week. But now a bunch of people came in. But now it's a good time. There's lots of people coming in. Many people have questions. So it's a good time to let's help our new devs that are coming in."

Nick shared a valuable tip for contributors: "One of the other things you can do on StackExchange 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. So as you learn new things or struggle through something, you can post the question and the answer to help other people in the future if they come up to that same issue."

This approach not only helps individual developers document their learning process but also contributes to building a comprehensive knowledge base for the entire Solana community. By encouraging developers to share their experiences and solutions, the Solana ecosystem fosters a culture of collaboration and mutual support.

The growth of the Solana StackExchange reflects the expanding developer community around Solana. As more developers join the ecosystem and tackle increasingly complex projects, the StackExchange serves as a crucial resource for problem-solving, knowledge sharing, and community building.

Conclusion: A Thriving Ecosystem with Continuous Improvement

The Solana Changelog for November 6th, 2024, paints a picture of a thriving ecosystem that's constantly evolving and improving. From core protocol enhancements like SIMD-0187 and QUIC optimizations to major updates in developer tools like Agave, Web3.js, and Anchor, Solana continues to push the boundaries of blockchain technology and developer experience.

The upcoming releases of Agave v2.1 and Web3.js v2 represent significant milestones that will shape Solana development in the coming months. Developers are encouraged to stay informed about these changes and start preparing for the transitions they may need to make in their applications.

The ongoing work on QUIC optimizations, aiming for the ambitious goal of 1 million TPS, demonstrates Solana's commitment to scalability and high performance. This focus on technical excellence continues to be a key differentiator for Solana in the competitive blockchain landscape.

The extraction of Borsh helpers and the upcoming Anchor v0.31.0 release show a dedication to modularity, flexibility, and developer convenience. These changes reflect a deep understanding of developer needs and a commitment to providing the best possible tools for building on Solana.

Finally, the growing Solana StackExchange community highlights the collaborative nature of the ecosystem. As more developers join and contribute their knowledge, the platform becomes an increasingly valuable resource for anyone working with Solana.

As Solana continues to evolve, these regular changelogs serve as essential updates for developers, investors, and enthusiasts alike. They provide insights into the platform's progress, upcoming features, and the vibrant community that drives Solana forward. With each update, Solana reinforces its position as a leading blockchain platform for high-performance decentralized applications.

Facts + Figures

  • Agave version 2.1 is currently in pre-release status and will be officially released soon.
  • There's a breaking change in Agave 2.1 related to the Dalek crate dependency, addressing a long-standing issue with the zeroize crate from 2022.
  • Alessandro is working on QUIC improvements with an ambitious goal of reaching 1 million TPS for Solana.
  • The Solana team has extracted Borsh helpers from the Solana program crate into a separate Solana-Borsh crate.
  • Web3.js version 2.0 is on the verge of official release after being in release candidate status for some time.
  • Web3.js v2 promises improved performance, reduced bundle size, and modern JavaScript features.
  • Anza has created a reference wallet adapter using Web3.js v2, available in the Web3.js repo under the examples directory.
  • Anchor v0.31.0 is coming soon with new features including an IDL builder, upgrade to Solana version 2.0, and new Token22 functions.
  • The Solana StackExchange continues to grow, with new developers joining and asking questions.
  • SIMD-0187 proposes stricter ELF headers for Solana programs, potentially improving efficiency and security.

Questions Answered

What is SIMD-0187 and how does it improve Solana programs?

SIMD-0187 is a proposal to implement stricter ELF (Executable and Linkable Format) headers for Solana programs. It aims to improve both efficiency and security by restricting the information processed from ELF headers. This change could lead to faster program execution and reduced resource consumption, while also minimizing the attack surface for potential exploits by simplifying the runtime's interaction with ELF headers.

What changes are coming in Agave v2.1?

Agave v2.1, currently in pre-release status, introduces several updates to the Solana development environment. While full details are yet to be officially released, one significant change is addressing a long-standing dependency issue related to the Dalek crate and zeroize crate. This update may cause some breaking changes, requiring developers to ensure consistent use of either version 2.0 and below or 2.1 and above across all crates in their projects.

How does Web3.js v2 improve upon the previous version?

Web3.js v2 brings several significant improvements over its predecessor. It offers enhanced performance, allowing for faster interactions with the Solana blockchain. The new version also enables more granular imports, resulting in reduced bundle sizes as developers can include only the specific functionalities they need. Additionally, Web3.js v2 takes advantage of modern JavaScript features and best practices, providing a more up-to-date development experience for Solana developers.

What new features are coming in Anchor v0.31.0?

Anchor v0.31.0 is set to introduce a range of new features and improvements. These include an IDL builder for creating and managing Interface Description Language files, an upgrade to Solana version 2.0, a new "no IDL tag" flag, convenience features for streamlining development tasks, new language features in the Anchor domain-specific language, lazy account functionality, unnamed init account structs, and new Token22 functions. These updates aim to enhance the developer experience and provide more tools for efficient Solana program development.

How can developers contribute to the Solana StackExchange?

Developers can contribute to the Solana StackExchange in several ways. They can ask questions about Solana development challenges they're facing, provide answers to other developers' questions, or even document their own problem-solving processes by posting both a question and its answer. This last approach is particularly encouraged as it helps build a comprehensive knowledge base for the entire Solana community. Active participation in the StackExchange not only helps individual developers but also strengthens the collaborative nature of the Solana ecosystem.

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 November 6th

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.

Solana Changelog Oct 30th

Explore the latest Solana developments including Old Faithful RPC on Filecoin, verified builds in Explorer, and a new transaction size specification

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 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 - Token Extensions and Transaction Size Fees

Discover the latest Solana updates including token extensions, transaction size fees, and developer resources in this comprehensive changelog.

Solana Changelog May 31: Interfaces, Solang, and Solana ChatGPT

Explore the latest Solana developments including interfaces, Solang Compiler v0.3.0, and the new Solana ChatGPT plugin in this comprehensive changelog.

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.

Solana Changelog - EpochStakes, SolFuzz, and Optimizations

Explore Solana's recent advancements including validator reward proposals, performance optimizations, and new developer resources in this comprehensive changelog.

Solana Changelog - Token Extensions and Transaction Size Fees

Explore Solana's latest developments including token extensions, transaction size fees, and the upcoming Mountain Dew 5 event in this comprehensive changelog.

Solana Changelog May 8 - Native Events, Solidity, Gaming

Explore Solana's recent advancements including Fire Dancer's QUIC implementation, native events proposal, and new gaming resources in this comprehensive changelog.

Solana Changelog March 14 - Tiered Account Storage, Debugging Programs, and Anchor

Explore Solana's latest developments including tiered account storage, program debugging, and major Anchor updates in this comprehensive changelog.

Solana Changelog Aug 21 - SIMD Updates, Commits, and Developer Resources

Discover the latest Solana updates, including SIMD-0163, new commits, and exciting developer resources like Luzid in this week's Solana Changelog.

Solana Changelog Jul 17 - Deprecations, Precompiles, and Developer Resources

Explore Solana's latest changes including precompile improvements, deprecated code removals, and exciting new developer resources in this comprehensive update.

Solana Changelog Apr 9 - Flare and GetEpochStake

Dive into the latest Solana updates, including the Renaissance Hackathon results, SIMD-0133 proposal, performance enhancements, and new developer tools like Flare CLI.