This is a fork of the official repo by Google, so we can make updates to it and rebuild the executable scripts.
To build, run the build.py script that is in the main folder.
You will need a Python 2.7 environment. You can use the following command to create one:
conda create -n blockly-build python=2.7
You will need the closure folder to be present in a neighbor directory, as such:
index.html
blocks.js
...
vendor/blockly/
vender/closure-library
Therefore, you should use the submodule that will be inside the pc-standalone-app repo.
Make a pull request on the GitHub website. Select the remote master branch (in this case, this means Google's master branch). This will update the origin master branch and put all of the missing commits inside the history, and put our commits on top.
Blockly has an active developer forum. Please drop by and say hello. Show us your prototypes early; collectively we have a lot of experience and can offer hints which will save you time. We actively monitor the forums and typically respond to questions within 2 working days.
Help us focus our development efforts by telling us what you are doing with Blockly. The questionnaire only takes a few minutes and will help us better support the Blockly community.
Cross-browser Testing Platform and Open Source <3 Provided by Sauce Labs
Want to contribute? Great! First, read our guidelines for contributors.
We release by pushing the latest code to the master branch, followed by updating our docs and demo pages. We typically release a new version of Blockly once a quarter (every 3 months). If there are breaking bugs, such as a crash when performing a standard action or a rendering issue that makes Blockly unusable, we will cherry-pick fixes to master between releases to fix them. The releases page has a list of all releases.
Releases are tagged by the release date (YYYYMMDD) with a leading '2.' and a trailing '.0' in case we ever need a major or minor version (such as 2.20190722.1). If you're using npm, you can install the blockly
package on npm:
npm install blockly
Once a new API is merged into master it is considered beta until the following release. We generally try to avoid changing an API after it has been merged to master, but sometimes we need to make changes after seeing how an API is used. If an API has been around for at least two releases we'll do our best to avoid breaking it.
Unreleased APIs may change radically. Anything that is in develop
but not master
is subject to change without warning.
There are two main branches for Blockly.
master - This is the (mostly) stable current release of Blockly.
develop - This is where most of our work happens. Pull requests should always be made against develop. This branch will generally be usable, but may be less stable than the master branch. Once something is in develop we expect it to merge to master in the next release.
other branches: - Larger changes may have their own branches until they are good enough for people to try out. These will be developed separately until we think they are almost ready for release. These branches typically get merged into develop immediately after a release to allow extra time for testing.
We typically triage all bugs within 2 working days, which includes adding any appropriate labels and assigning it to a milestone. Please keep in mind, we are a small team so even feature requests that everyone agrees on may not be prioritized.
Upcoming release - The upcoming release milestone is for all bugs we plan on fixing before the next release. This typically has the form of year_quarter_release
(such as 2019_q2_release
). Some bugs will be added to this release when they are triaged, others may be added closer to a release.
Bug Bash Backlog - These are bugs that we're still prioritizing. They haven't been added to a specific release yet, but we'll consider them for each release depending on relative priority and available time.
Icebox - These are bugs that we do not intend to spend time on. They are either too much work or minor enough that we don't expect them to ever take priority. We are still happy to accept pull requests for these bugs.