
All of us have so much to be glad about this vacation season, from the primary birthday of the beacon chain, to the profitable upgrades over the previous yr and the unimaginable progress throughout the whole Ethereum ecosystem.
As a extremely productive yr attracts to an in depth, there are a couple of closing presents to ship within the type of updates from many (15+!!) EF-supported groups which might be at all times working to enhance the community. And there is a lot of substantive materials right here, so take a while to kind via the desk of contents, and dig in!
As at all times, this roundup sequence focuses on EF-supported groups whose members are working to develop and enhance Ethereum as an entire. Included on this version are updates from many groups highlighted in the earlier report, and different new and rotating teams.
Get pleasure from! 🦄
Desk of Contents
{:.no_toc}
- TOC
{:toc title=”Desk of Contents”}
Consensus R&D (aka EF Analysis Workforce)
Authored by Hsiao-Wei Wang
Within the second half of this yr, the milestones in Ethereum consensus R&D included:
To align with The Nice Renaming, we shifted elements to “Consensus Layer” from “Eth2” for clearer communication in the long run.
In early 2022, our crew will concentrate on serving to to ship the “The Merge”, probably the most important consensus protocol improve ever. Happily, we now have nice help from shopper groups, and others in the neighborhood working to make this a actuality! Within the meantime, we might be persevering with our analysis work on information availability, L1 scaling, and the options of the “clear up” fork after The Merge.
Ecosystem Help Program
Authored by ESP Workforce
We printed our Q2 Allocation Replace with grants totalling $7,794,000 for the quarter – and Q3 is coming quickly! You may as well take a look at latest month-to-month roundups right here and right here for extra detailed progress updates from a couple of of our fabulous grantees.
Behind the scenes, we’re engaged on a serious web site overhaul which ought to make it simpler than ever to grasp ESP’s mission and priorities, and for eligible builders to use for funding or different help. We will’t wait to launch the brand new website in early 2022!
Ethereum.org
Authored by Sam Richards
To make our work extra accessible and to foster extra group collaboration, our crew publishes an summary of our quarterly roadmap objectives. See our This autumn product roadmap right here.
Completely happy holidays to all from the ethereum.org crew 😀🎄 As at all times, our imaginative and prescient with ethereum.org is to create one of the best portal for Ethereum’s rising group and to function the entrance door to Ethereum for tens of millions of latest guests every month.
Content material updates
Ethereum strikes quick! In addition to updating tons of of pages to make sure our content material stays updated and correct, we’ve additionally launched a bunch of latest content material:
Neighborhood development
Ethereum.org exists because of tons of of content material and code contributors from the group. In Q3/This autumn, we put emphasis on methods to extend contributions and acknowledge the group for the work they have been doing:
Some stats (Aug – Dec)
- Our GitHub contributors elevated by 57%, from 396 to 621 😲
- Our Discord group almost doubled, from 6,500 to 12,200 members 🎉
- We’ve hosted two group calls and began office-hours for contributors
- We added 3 new group guides (trusted members answering questions and moderating chat) 😎
- We launched tiered POAPs to gamify contributions for content material, code, and translations
Translation Program
Since hiring our new Translation Lead in July, the Translation Program has actually ramped up!
Some stats:
- Between July and November, the group collectively translated 1,373,046 phrases for ethereum.org, over 10x the quantity of this similar interval final yr! To place this in perspective, that is equal to translating the whole lot of just about 20 books 📚!
- We have acquired translation help from over 2,500 group contributors 🤯
- We have now 37 languages stay on ethereum.org 🌍
- We launched an initiative to higher acknowledge our translators, together with a leaderboard and translator certificates!
CLR funding
We’re supporting a clr.fund spherical on Layer 2! After over 6 months of contributing to clr.fund’s quadratic funding stack, we have merged our adjustments to the upstream repo, which provides L2 community help and a wide range of internet app enhancements.
clr.fund plans to deploy a funding spherical on Arbitrum One geared in direction of the staking ecosystem in January, and the EF is worked up to supply matching funds to the spherical. We hope you take part! Keep tuned for particulars. Yay public items!
We have been constructing on the shoulders of giants. Thanks to the clr.fund crew, the MACI crew & clr.fund’s group of contributors who proceed to push improvements within the ZKP & quadratic funding area.
What’s subsequent?
- making a studying hub to permit non-technical customers to turn into proficient Ethereum customers
- constructing further sources on working nodes and staking to enhance accessibility
- additional automating our translation pipeline to launch translated content material out sooner
- increasing the Translation Program past ethereum.org
- updating content material to transition away from the Eth2 terminology because the merge approaches
How does that sound?
We admire suggestions on our roadmap. Our guiding ideas are primarily based on delivering probably the most worth within the shortest time, so if there’s one thing you assume we should always work on, please tell us! We welcome concepts and contributions from anybody in the neighborhood.
Ipsilon
Authored by Alex Beregszaszi
We have now created a crew web site to offer a transparent explainer and to comprehensively checklist our present and previous work.
It’s simple to inform from the next headers that within the second half of the yr the crew principally targeted on the EVM. It’s additionally vital to say that we now have teamed up with the Geth Workforce to enhance the efficiency of the EVM interpreter.
EVM Object Format (EOF)
Step one in direction of this, EIP-3541, went stay with London and we now have carried out a survey throughout many testnets and EVM chains to discover a becoming prefix for EOF.
Continued clarifications have been made to EIP-3540 (together with the chosen prefix), and we additionally proposed additional work constructing on prime of it:
- EIP-3670 to introduce code validation at deploy time
- EIP-3690 to exchange JUMPDEST opcodes with a JUMPDEST-table
- EIP-4200 to introduce two new opcodes, RJUMP and RJUMPI, facilitating static jumps
Throughout October we introduced EOF at Liscon (slides right here, however the recording just isn’t obtainable) and on the Ethereum Meetup in Berlin (slides, recording).
Different EIPs
EIP-2681 (Restrict account nonce to 2^64-1)
Considered one of our outdated proposals, EIP-2681, was accepted throughout ACD#120. It codifies a restriction, which was already (partially) carried out in observe in most shoppers. After acceptance we now have prolonged the Ethereum State Exams suite and adjusted the geth implementation.
EIP-3855 (PUSH0 instruction)
EIP-3855 proposes to introduce a PUSH0 instruction which pushes 0 onto the stack. It is a regularly used function, principally achieved right now by way of inefficient or repurposed directions.
Our evaluation discovered that substantial sources may have been saved with this opcode:
To place the “waste” into perspective, throughout present accounts 340,557,331 bytes are wasted on PUSH1 00 directions, which suggests 68,111,466,200 gasoline was spent to deploy them.
EIP-3860 (Restrict and meter initcode)
EIP-3860 is a proposal to set a boundary and introduce metering for initcode. This is able to permit for extra optimised evaluation and execution, as a result of implementations would want to take care of much less unknowns.
geth
As a collaboration with the Geth Workforce, we began to work on measuring and enhancing the efficiency of the EVM interpreter in geth.
On the evaluation facet two stories are noteworthy:
- Geth vs evmone compares the pace of Geth and evmone utilizing the benchmarking suite in evmone.
- Geth & Go compiler explores the impact of the Go compiler model on the pace of geth.
Based mostly on these preliminary outcomes, we now have appeared into profiling geth, and eventually contributing a number of enhancements to the codebase, most of which has been already merged. A non-comprehensive checklist of related PRs: 23952, 23970, 23974, 23977, 24017, 24026, 24031, 24120.
Observe this hyperlink to see each PR. We plan to proceed this work within the subsequent quarter.
evmone
Two bugfix releases of evmone have been made: 0.8.1 and 0.8.2.
ethash
The crew additionally maintains a C++ ethash/keccak256 library, which is utilized by evmone and Silkworm.
The newest 0.8.0 launch introduces a brand new methodology for verifying the ultimate Ethash hashes towards the block problem. That is each a usability and pace enchancment. The strategy has been posted on Ethresear.ch.
Moreover, ProgPoW has been deprecated within the library.
Fizzy
The crew additionally participated within the Wasm in Web3 convention throughout September. We gave two displays:
- Fizzy — A deterministic interpreter (slides) gave a complete overview of what Fizzy is, the way it compares to different engines, and likewise explains the reasoning behind lots of the design decisions we made.
- Bizarre quirks whereas testing WebAssembly exhibits a wide variety of edge instances we now have encountered whereas growing Fizzy. The discuss additionally provides some potential options and explainers for these edge instances, in addition to how we now have prolonged the official WebAssembly check suite to cowl them.
Formal Verification
Authored by Leo Alt
Within the second half of the yr the FV crew continued to concentrate on our present instruments:
Act:
- We lastly launched Act 0.1! You’ll be able to learn the wonderful tutorial at https://fv.ethereum.org/2021/08/31/act-0.1/ to verify what’s doable at present and the way to use it.
- We’re at present refactoring error dealing with to enhance usability.
Hevm:
SMTChecker:
- Monitor the balances of contracts exactly, together with msg.worth despatched to and from the analyzed contracts.
- Additionally help the low-level name perform as an unsafe exterior name.
- Enhance counterexamples by reporting block.*, msg.* and tx.* values which might be vital for failed verification targets.
- Report contract and reentrancy inductive invariants again to the consumer.
Geth
Authored by Felix Lange
Within the second half of 2021, we printed 9 geth releases. As ordinary, our time has been cut up between EIP evaluate/implementation, shopper optimization/upkeep and reviewing code adjustments proposed by the group.
In July, the London arduous fork, which included EIP-1559, was activated. The brand new gasoline pricing scheme outlined by this EIP required many adjustments throughout all subsystems of geth. We’re nonetheless discovering and fixing corner-case points associated to EIP-1559 now, six months after its introduction.
Two safety vulnerabilities have been found previously six months. For each of them, we adopted our safety advisory coverage: we instantly assigned a CVE quantity to the problem and printed a hotfix launch. Technical particulars concerning the vulnerability have been printed 6-8 weeks later.
Within the final quarter of 2021, our work has principally shifted in direction of implementation and testing of The Merge. We’re on monitor to show geth into the ‘execution layer shopper’ of the merged execution+consensus (fmr. “eth1+eth2”) layers. In preparation for The Merge, we now have re-written a lot of the sync code to function below management of the consensus layer. Geth additionally participates in Merge testnets.
Moreover, the geth crew has been engaged on a number of long-term initiatives, similar to implementation of Verkle Timber, a beacon chain gentle shopper, and a brand new database storage scheme for the Ethereum state.
Javascript Workforce
Authored by Holger Drewes
Within the final two quarters of 2021, preparations for “the large transitions” on the Ethereum community was a robust focus of our work. We participated within the Merge Interop in Greece and launched the primary Merge-testnet prepared variations of our shopper, VM and associated libraries (see e.g. the EthereumJS shopper v0.2 launch). We additionally began on an thrilling experiment with the Go-Ethereum Verkle/Stateless crew to natively check stateless block execution primarily based on a verkle proof served alongside a modified block header by way of devp2p inside our shopper. In case you are you may see the next monitoring situation to observe our progress.
A bit extra relevant for the top consumer proper now: the help of our libraries for the rising L2 networks like Polygon, Arbitrum or Optimism has been improved. These and another networks can now instantly be referenced to e.g. ship a transaction to a sure L2 community. See e.g. the Widespread v2.6.0 launch for the newest Optimism L2 community integration.
And final however not least: there’s a VM ArrowGlacier launch obtainable and on the Ethers.js entrance. Richard has simply posted an thrilling overview on the upcoming Ethers.js v6 library adjustments and updates on his weblog.
Privateness & Scaling Explorations
Authored by Thore Hildebrandt
The Privateness & Scaling Explorations crew works to bridge the hole between cutting-edge analysis in zero-knowledge proofs, and software improvement on Ethereum.
zkEVM
The purpose of zkEVM is to run good contracts in a zk-rollup. Sadly, the EVM was not designed to run in a zk circuit which makes it a problem. We wish to implement the total set of EVM opcodes instantly into the zk circuits so a wise contract working on L1 may be deployed to L2 with minimal modifications. This can permit full compatibility with present tooling and allow us to leverage data of the EVM that the ecosystem has constructed up over the previous years. We’re making good progress on specification of the opcodes and implementation of the circuits, and we now have early benchmarks and an vital purpose going ahead to convey prover time down.
ZKOPRU
ZKOPRU (zk-optimistic-rollup) is a layer-2 scaling answer for personal transactions utilizing zk-SNARK and optimistic rollup. It helps non-public transfers and personal atomic swaps inside the layer-2 community between ETH, ERC20 and ERC721. It additionally supplies on the spot withdrawal with pay-in-advance options and compliance compatibility utilizing spending key and viewing keys. ZKOPRU has lately launched on testnet – go forward and test it out. We’re engaged on enhancing sync-times and on a personal alternate function.
Unirep & Unirep Social
UniRep is a personal and non-repudiable status system. Customers can obtain optimistic and adverse status from attesters, and voluntarily show that they’ve a minimum of a certain quantity of status with out revealing the precise quantity. Furthermore, customers can not refuse to obtain status from an attester. We’re utilizing Unirep to construct Unirep Social: a Reddit-like platform that enables customers to privately accumulate karma. Constructing the Unirep Social web site was our focus previously months. Proofs in Unirep at the moment are listed in order that they are often referred many instances and stop one proof from being submitted twice. Unirep can now deal with an preliminary status airdrop and consumer state transition airdrop. We’re additionally enhancing the effectivity in producing consumer state and Unirep state.
Fundamental features, frontend design, frontend and backend of Unirep Social are full, and we’re planning a closed pre-alpha launch. Take a look at this blogpost if you wish to study extra.
CLR.fund for Everybody
The purpose of the mission is to make it simple for any group to run their very own CLR spherical with clr.fund. This mission has been very busy. Now you can deploy your individual quadratic funding software with the clr.fund Deployer. Empower your group to decide on and fund its personal future, in a totally decentralized method. Take a look at our Subgraph and Documentation.
InterRep
Popularity is the important thing to belief. Folks spend years build up their status on centralized social platforms, however they’ve to begin from nothing every time they begin utilizing a brand new app. InterRep goals to make status moveable to develop the compounding advantages of trusted human interactions throughout the online. Take a look at this blogpost for the preliminary announcement and the repo. Prior to now quarter we now have expanded the vary of social proof sources, to POAP and e-mail and have curated teams: on-chain, and off-chain by way of a Telegram bot. We’re doing a UI redesign, enhancing interplay with shopper purposes and getting ready for a stay launch.
Semaphore / ZK-Keeper
Semaphore is a zero-knowledge gadget which permits customers to show their membership of a set with out revealing their authentic identification. On the similar time, it permits customers to sign their endorsement of an arbitrary string. It’s designed to be a easy and generic privateness layer for Ethereum dApps. Use instances embrace non-public voting, whistleblowing, mixers, and nameless authentication. With ZK-Keeper we’re focussing on retaining Semaphore updated with the newest zk instruments and integrating it with different initiatives like InterRep. We have now new libs for dealing with semaphore proofs and identities. Implementation is now achieved on prime of Halo2 and we’re getting it prepared for use within the browser.
RLN
RLN (Fee Limiting Nullifier) is a assemble primarily based on zero-knowledge proofs that allows spam prevention for decentralized, nameless environments. In nameless environments, the identification of the entities is unknown. We have now lately printed an explanatory weblog submit to get extra folks excited concerning the thought. We have now completed analysis round “Feasibility evaluation for ETH2 Validator privateness utilizing RLN”. We’re engaged on productionalizing the “Non-public on the spot chat app utilizing RLN and Interrep” mission. We’re additionally serving to to combine the ZK-Keeper plugin into the RLN initiatives.
Protocol Help
Authored by Tim Beiko
The Protocol Help (PS) crew was shaped in 2021 to develop the variety of methods through which the groups constructing or interacting with the Ethereum base layer are supported. The crew’s foremost focus is enabling core builders to ship community upgrades on Ethereum’s execution layer.
To this impact, Berlin, London and Arrow Glacier have been deployed this yr. Past these, PS spent important efforts working in direction of The Merge, first with Rayonism, then the Amphora workshop and now the Kintsugi Devnet!
This accelerating tempo and scope of change has required extra outreach to the Ethereum group, which led our crew to arrange frequent Neighborhood Calls. Throughout these, software, infrastructure and tooling builders have been invited to debate the way to finest help protocol upgrades and supply a clean transition for his or her customers. Alongside these calls, the crew has given a number of talks and printed a number of posts concerning the altering Ethereum roadmap, similar to this latest all core devs replace, this piece in Bankless and this latest submit on the Merge and the applying layer within the EF Weblog.
Past protocol upgrades, the PS crew has taken on two main initiatives to make sure shoppers groups are effectively supported. First, a Consumer Incentive Program was introduced to present groups Ethereum-aligned long-term incentives. This system supplies shopper groups with a set of 144 validators that they have to run utilizing their software program. Assuming groups hold assembly sure efficiency benchmarks on mainnet, these validators are step by step vested to the groups, that are free to both liquidate them or hold them working to gather rewards and costs. This program aligns groups with Ethereum, ensures they’re “dogfooding” their shoppers on mainnet, and that they hold delivering performant software program.
Second, a Core Developer Apprenticeship Program was launched. This program offered stipends and mentorship to self-directed people who wished to dive deep into protocol improvement. CDAP was launched as an experiment which proved to be extremely profitable! Two cohorts have been run, with over 25 contributors. Of those, a minimum of 5 at the moment are working full time within the ecosystem. These preliminary cohorts have taught us so much about what was good and what could possibly be improved with this system. Count on a revamped CDAP in 2022!
Lastly, the crew experimented with offering infrastructure to the shopper groups and broader group. To that finish, crawler.ethereum.org was shipped and open-sourced. We hope that having an extra crawler working and obtainable for the group to enhance, modify or fork helps present higher views of the community’s topology.
Remix
Authored by Rob Stupay
Over the previous 6 months, the Remix crew has unscrewed the again of our app to do some intensive rewiring. First amongst these adjustments was continued work on transferring our code to React. We additionally expanded our attain by dialing in some efficient channels to new communities, and onboarding new customers with a primary product “tour” of our IDE. We’ve plugged in initiatives into our “expertise”, integrating Slither, and Hardhat, in addition to updating the Remix VSCode extension.
And, if that’s not sufficient, we jammed on some instruments for collaborative coding, enhancing Decentralized GIT and integrating Github. Final however not least, we’ve up to date our present plugins. In brief, we’ve maxed it out to 11.
See extra particulars in our article.
Strong Incentives Group
Authored by Barnabe Monnot
The RIG (Strong Incentives Group) welcomed new crew members and took part in lots of vital milestones for the Ethereum protocol. For a fast refresher on what the RIG is and what we care about, you may take a look at Protocol cryptoeconomics with the RIG, introduced by Barnabé at EthCC in July.
On the Proof-of-Stake consensus facet, Caspar, who joined us as full-time analysis scientist earlier this yr, discovered a problem with the present fork alternative, written up as Three assaults on Proof-of-Stake Ethereum. Happily, there’s a sturdy candidate repair that was lately merged within the consensus specs, after many productive discussions with Stanford’s Tse Lab, who co-authored the “Three assaults” paper. Caspar and others additionally proposed a distinct mitigation (“proposer view merge“), that’s nonetheless below analysis. Take a look at Caspar at Liscon presenting his outcomes!
Shyam, who joined us first as analysis intern final summer season and is now a analysis assistant on the RIG, launched a sequence of notebooks exploring the beacon chain statistics from many distinctive angles, together with oceanic video games and inequality. Shyam has additionally been engaged on an extension to our Beacon runner PoS simulation engine that features reinforcement studying. Take a look at his discuss at EDCON!
Block 12,965,000, August fifth, 12:33:42 PM UTC, was an vital date for us: the London arduous fork activated, and with it, EIP-1559. During the last yr, we have launched a sequence of notebooks presenting varied simulations of the brand new charge market mechanism, which set the stage for additional evaluation after launch. Barnabé reported some outcomes early after, and with co-authors (together with Shyam) wrote up a longer-form paper, Transaction Charges on a Honeymoon: Ethereum’s EIP-1559 One Month Later. The paper is motivated by the behaviour of the 1559 replace rule in the actual world, and opens new analysis instructions for enhancements to the rule.
The RIG was additionally intently working with the cadCAD Edu crew in getting ready a web based masterclass in validator economics, supported by a totally extensible mannequin of Ethereum economics (in Python).
Snake Charmers [Python Ecosystem]
Authored by Keri Clowes
Within the second half of 2021, the Snake Charmers crew accomplished the adjustments wanted throughout the ecosystem to help the London arduous fork. This concerned wide-ranging, basic adjustments all through our stack, particularly in Py-EVM, Ethereum Tester, Web3.py, and eth-account. There have been additionally two bug bounties submitted for Py-EVM which were mounted. We’ve ramped up efforts to generate instructional content material, and positioned an even bigger emphasis on developer relations. And as at all times, there may be ongoing group help, situation triage, and bug squashing throughout our Python instruments.
Fe-lang
Authored by Grant Wuerker
Over the previous 6 months, the Fe crew has lower the next releases:
0.11.0-alpha “Karlite” (2021-12-02)
- multi-file help
- perform definitions on structs
v0.10.0-alpha “Jade” (2021-10-32)
- module-level constants and features
- unsafe help
v0.9.0-alpha “Iridium” (2021-9-29)
- self declarations in perform signatures
v0.8.0-alpha “Haxonite” (2021-8-31)
- query-based evaluation utilizing Salsa
0.7.0-alpha “Galaxite” (2021-07-27)
- Solidity ABI decoding checks
0.6.0-alpha “Feldspar” (2021-06-10)
If you need to know extra about our progress during the last 6 months, you may checkout the next sources:
Portal
Authored by Piper Merriam
This yr has been a giant yr for the Portal Community. We began this yr with an thought and solely a unfastened plan for the way to construct a peer-to-peer community that would ship light-weight entry to the Ethereum protocol. We now have three unbiased groups and implementations and are effectively underway to launching the preliminary testnet which ought to evolve into a totally practical community by the top of 2022.
The EF Portal crew has been working arduous on Trin, a portal shopper written in Rust. The EF Javascript crew has additionally been engaged on Ultralight, a portal shopper written in Typescript aimed toward being runnable within the browser. The crew from Standing.im has additionally been engaged on Fluffy, a portal shopper supposed for integration with the Standing ethereum shopper and pockets options.
Throughout this yr we now have solved the beforehand unsolved drawback of the way to distribute the present Ethereum State in a fashion that’s conducive to environment friendly storage and retrieval. We established the Portal Wire Protocol, an extensible base protocol that’s the basis of the entire networks making up the Portal Community. We additionally had the pleasure of working with a number of contributors of the Core Developer Apprenticeship Program who used the Portal Community initiatives as a leaping off level for entering into Core Protocol improvement.
Safety [Security / Consensus Tests]
Authored by Safety (Safety / Consensus Exams) Workforce
On the safety and testing facet, a whole lot of consideration has been given to the London improve and the upcoming merge. We’ve made updates on tooling for check authoring and continued to enhance the reference assessments.
Solidity
Authored by Franziska Heintel
Within the second half of this yr, we launched Solidity variations 0.8.8, 0.8.9, 0.8.10 and 0.8.11:
- Solidity 0.8.8 brings you consumer outlined worth varieties as a serious new function. It additionally improves overriding interface features, studying from immutables, and extra.
- Solidity 0.8.9 is a pure bugfix launch and fixes two vital, however low severity, bugs:
- Solidity 0.8.10 incorporates exterior perform name optimizations, permits the brand new EVM code generator for pure Yul mode and may report contract invariants and reentrancy properties via the SMTChecker.
- Solidity 0.8.11 provides a primary implementation of a Language Server and permits a safer strategy to carry out ABI-encoding.
Furthermore, a number of Solidity crew members introduced at ETHGlobal’s Developer Instrument Summit:
The Solidity documentation obtained a couple of upgrades, most notably, we…
- up to date the sources part with common sources, Ethereum IDEs, editor integrations, Solidity instruments, Solidity parsers and grammars.
- added the performance to open code examples within the documentation instantly in Remix.
Lastly, we launched our yearly Solidity Developer Survey. In case you are a Solidity developer, please take 10 minutes to share your suggestions and participate within the survey right here. The survey might be open till thirty first of December 2021.
Oh and we’re hiring! Take a look at our C++ Engineer Solidity opening.
ZoKrates
Authored by Thibaut Schaeffer
Within the second half of 2021, ZoKrates superior on completely different fronts:
Language
- Kind aliasing, in addition to the power to make perform calls in fixed definitions
- Help for the ternary expression syntax
- Allow fixed generics on structs
Proof methods
- Discount of the deployment value for some Solidity verifiers
- Expose recursive verification in the usual library
- Add help for Groth16 MPC ceremonies (coming quickly)
Compiler efficiency
- Intensive work on lowering reminiscence and time necessities of the compiler (coming quickly with metrics!)
For a full checklist of the adjustments, take a look at the changelog
