# scratch-blocks

> Blockly's fork by the Scratch team.

**Wikidata**: [Q131417178](https://www.wikidata.org/wiki/Q131417178)  
**Source**: https://4ort.xyz/entity/scratch-blocks

## Summary
scratch-blocks is the Scratch team's fork of the Blockly visual programming language, serving as a software library that powers Scratch's block-based coding environment. It provides the foundational tools for creating drag-and-drop programming interfaces tailored to Scratch's educational goals.

## Key Facts
- scratch-blocks is a fork of Blockly, maintained specifically by the Scratch team for the Scratch project.
- It is licensed under the Apache Software License 2.0.
- The project is hosted at https://scratch.mit.edu/developers and its source code is available on GitHub at https://github.com/scratchfoundation/scratch-blocks.
- It functions as both software and a software library, copyrighted and designed for block-based programming interfaces.
- Ten stable versions (1.1.107 to 1.1.116) were released consecutively in May 2024, with each version receiving a stable designation on its publication date.

## FAQs
### Q: What is scratch-blocks?
A: scratch-blocks is the Scratch team's customized version of the Blockly visual programming language, serving as the core library that enables Scratch's block-based coding environment.

### Q: How is scratch-blocks licensed?
A: It is distributed under the Apache Software License 2.0, as specified in the project's LICENSE file on GitHub.

### Q: Where can I access scratch-blocks?
A: The project's official website is https://scratch.mit.edu/developers, and its complete source code is available on GitHub at https://github.com/scratchfoundation/scratch-blocks.

### Q: What versions of scratch-blocks are available?
A: As of May 2024, the project has released ten stable versions (1.1.107 to 1.1.116), with each published on consecutive days from May 5 to May 15, 2024.

## Why It Matters
scratch-blocks is pivotal to Scratch's role as a leading educational platform for teaching programming to children. By forking and customizing Blockly, the Scratch team creates a specialized block-based environment that prioritizes accessibility and learning efficiency. The project's continuous development—evidenced by its rapid May 2024 releases—ensures ongoing improvements to Scratch's core functionality, directly impacting millions of young learners worldwide. This customization allows Scratch to maintain its unique educational approach while leveraging Blockly's robust visual programming foundation, making it a critical component in fostering computational thinking skills.

## Notable For
- Being the official Scratch Foundation fork of Blockly, specifically tailored for Scratch's educational programming interface.
- Its rapid release cycle of ten stable versions within a single week (May 5-15, 2024), demonstrating active maintenance.
- Apache 2.0 licensing that facilitates open-source collaboration while allowing commercial use.
- Direct integration as the underlying engine for Scratch's block-based coding environment, distinguishing it from other Blockly implementations.
- Its dedicated development team (the Scratch Foundation) ensuring alignment with Scratch's pedagogical goals.

## Body
### Overview
scratch-blocks is a software library serving as the Scratch team's fork of Blockly, designed exclusively for building block-based programming environments. It functions as a copyrighted, open-source component within the Scratch ecosystem, providing the foundational tools for visual coding interfaces.

### Technical Details
- **License**: Apache Software License 2.0  
- **Instance Of**: Software, software library  
- **Copyright Status**: Copyrighted  
- **Based On**: Blockly  
- **Website**: https://scratch.mit.edu/developers  
- **Source Repository**: https://github.com/scratchfoundation/scratch-blocks  

### Version History
The project maintains a continuous update cycle, with all releases designated as stable versions. The most significant recent release sequence occurred in May 2024:
- Version 1.1.107 (stable since May 5, 2024)  
- Version 1.1.108 (stable since May 6, 2024)  
- Version 1.1.109 (stable since May 8, 2024)  
- Version 1.1.110 (stable since May 9, 2024)  
- Version 1.1.111 (stable since May 10, 2024)  
- Version 1.1.112 (stable since May 11, 2024)  
- Version 1.1.113 (stable since May 12, 2024)  
- Version 1.1.114 (stable since May 13, 2024)  
- Version 1.1.115 (stable since May 14, 2024)  
- Version 1.1.116 (stable since May 15, 2024)  

### Role in Scratch Ecosystem
As the core block-based programming engine for Scratch, scratch-blocks enables the drag-and-drop coding interface that defines Scratch's user experience. It customizes Blockly's framework to support Scratch's specialized block sets and educational paradigms, directly facilitating Scratch's mission of accessible learning. The project's active development ensures alignment with evolving Scratch features and user requirements.

## References

1. [Source](https://github.com/scratchfoundation/scratch-blocks/blob/develop/LICENSE)
2. [Release 1.1.107. 2024](https://github.com/scratchfoundation/scratch-blocks/releases/tag/v1.1.107)
3. [Release 1.1.108. 2024](https://github.com/scratchfoundation/scratch-blocks/releases/tag/v1.1.108)
4. [Release 1.1.109. 2024](https://github.com/scratchfoundation/scratch-blocks/releases/tag/v1.1.109)
5. [Release 1.1.110. 2024](https://github.com/scratchfoundation/scratch-blocks/releases/tag/v1.1.110)
6. [Release 1.1.111. 2024](https://github.com/scratchfoundation/scratch-blocks/releases/tag/v1.1.111)
7. [Release 1.1.112. 2024](https://github.com/scratchfoundation/scratch-blocks/releases/tag/v1.1.112)
8. [Release 1.1.113. 2024](https://github.com/scratchfoundation/scratch-blocks/releases/tag/v1.1.113)
9. [Release 1.1.114. 2024](https://github.com/scratchfoundation/scratch-blocks/releases/tag/v1.1.114)
10. [Release 1.1.115. 2024](https://github.com/scratchfoundation/scratch-blocks/releases/tag/v1.1.115)
11. [Release 1.1.116. 2024](https://github.com/scratchfoundation/scratch-blocks/releases/tag/v1.1.116)
12. [Release 1.1.117. 2024](https://github.com/scratchfoundation/scratch-blocks/releases/tag/v1.1.117)
13. [Release 1.1.118. 2024](https://github.com/scratchfoundation/scratch-blocks/releases/tag/v1.1.118)
14. [Release 1.1.119. 2024](https://github.com/scratchfoundation/scratch-blocks/releases/tag/v1.1.119)
15. [Release 1.1.120. 2024](https://github.com/scratchfoundation/scratch-blocks/releases/tag/v1.1.120)
16. [Release 1.1.121. 2024](https://github.com/scratchfoundation/scratch-blocks/releases/tag/v1.1.121)
17. [Release 1.1.122. 2024](https://github.com/scratchfoundation/scratch-blocks/releases/tag/v1.1.122)
18. [Release 1.1.123. 2024](https://github.com/scratchfoundation/scratch-blocks/releases/tag/v1.1.123)
19. [Release 1.1.124. 2024](https://github.com/scratchfoundation/scratch-blocks/releases/tag/v1.1.124)
20. [Release 1.1.125. 2024](https://github.com/scratchfoundation/scratch-blocks/releases/tag/v1.1.125)
21. [Release 1.1.126. 2024](https://github.com/scratchfoundation/scratch-blocks/releases/tag/v1.1.126)
22. [Release 1.1.127. 2024](https://github.com/scratchfoundation/scratch-blocks/releases/tag/v1.1.127)
23. [Release 1.1.128. 2024](https://github.com/scratchfoundation/scratch-blocks/releases/tag/v1.1.128)
24. [Release 1.1.129. 2024](https://github.com/scratchfoundation/scratch-blocks/releases/tag/v1.1.129)
25. [Release 1.1.130. 2024](https://github.com/scratchfoundation/scratch-blocks/releases/tag/v1.1.130)
26. [Release 1.1.131. 2024](https://github.com/scratchfoundation/scratch-blocks/releases/tag/v1.1.131)
27. [Release 1.1.132. 2024](https://github.com/scratchfoundation/scratch-blocks/releases/tag/v1.1.132)
28. [Release 1.1.133. 2024](https://github.com/scratchfoundation/scratch-blocks/releases/tag/v1.1.133)
29. [Release 1.1.134. 2024](https://github.com/scratchfoundation/scratch-blocks/releases/tag/v1.1.134)
30. [Release 1.1.135. 2024](https://github.com/scratchfoundation/scratch-blocks/releases/tag/v1.1.135)
31. [Release 1.1.136. 2024](https://github.com/scratchfoundation/scratch-blocks/releases/tag/v1.1.136)
32. [Release 1.1.137. 2024](https://github.com/scratchfoundation/scratch-blocks/releases/tag/v1.1.137)
33. [Release 1.1.138. 2024](https://github.com/scratchfoundation/scratch-blocks/releases/tag/v1.1.138)
34. [Release 1.1.139. 2024](https://github.com/scratchfoundation/scratch-blocks/releases/tag/v1.1.139)
35. [Release 1.1.140. 2024](https://github.com/scratchfoundation/scratch-blocks/releases/tag/v1.1.140)
36. [Release 1.1.141. 2024](https://github.com/scratchfoundation/scratch-blocks/releases/tag/v1.1.141)
37. [Release 1.1.142. 2024](https://github.com/scratchfoundation/scratch-blocks/releases/tag/v1.1.142)
38. [Release 1.1.143. 2024](https://github.com/scratchfoundation/scratch-blocks/releases/tag/v1.1.143)
39. [Release 1.1.144. 2024](https://github.com/scratchfoundation/scratch-blocks/releases/tag/v1.1.144)
40. [Release 1.1.145. 2024](https://github.com/scratchfoundation/scratch-blocks/releases/tag/v1.1.145)
41. [Release 1.1.146. 2024](https://github.com/scratchfoundation/scratch-blocks/releases/tag/v1.1.146)
42. [Release 1.1.147. 2024](https://github.com/scratchfoundation/scratch-blocks/releases/tag/v1.1.147)
43. [Release 1.1.148. 2024](https://github.com/scratchfoundation/scratch-blocks/releases/tag/v1.1.148)
44. [Release 1.1.149. 2024](https://github.com/scratchfoundation/scratch-blocks/releases/tag/v1.1.149)
45. [Release 1.1.150. 2024](https://github.com/scratchfoundation/scratch-blocks/releases/tag/v1.1.150)
46. [Release 1.1.151. 2024](https://github.com/scratchfoundation/scratch-blocks/releases/tag/v1.1.151)
47. [Release 1.1.152. 2024](https://github.com/scratchfoundation/scratch-blocks/releases/tag/v1.1.152)
48. [Release 1.1.153. 2024](https://github.com/scratchfoundation/scratch-blocks/releases/tag/v1.1.153)
49. [Release 1.1.154. 2024](https://github.com/scratchfoundation/scratch-blocks/releases/tag/v1.1.154)
50. [Release 1.1.155. 2024](https://github.com/scratchfoundation/scratch-blocks/releases/tag/v1.1.155)