Releases: witheve/Eve
Eve Alpha v0.2.3
What's new in Eve Alpha v0.2.3?
Share Eve Programs with Gist
You can now share and load Eve programs with a link. There are two new icons in the editor at the top of the navigation pane: "Save to Gist" on the left, and "Load from Gist".
Clicking the "Save to Gist" button will upload your Eve program to a new Gist and provide you with a link to it:
You can copy this link and send it to a friend, who can then load your program using the "Load from Gist" button. Clicking this button will reveal an input box, into which you can paste Gist links:
When you load a Gist, you get a local copy of the linked Eve program. Any edits to this program will be made locally, and saved in your project workspace.
A nice feature here is that you can share Eve programs with friends new to Eve using play.witheve.com. Save your Eve program to Gist as normal, then load it at play.witheve.com. Now copy the address, and send it to anyone! Anyone with the link can load your program and run it in the browser, without any setup.
Note, that saving to Gist saves a snapshot of you code at the time the link is generated. If you update your code, you'll need to generate a new link to reflect the changes.
Embed CSS Directly in Eve Programs
With a big thanks to the work of dwsmorris, you can embed CSS blocks into Eve documents. In the editor, you can create CSS blocks with the WYSIWYG toolbar:
Standard Library
- Added
fix[]
function (thanks @Cormac-Williams!) - Added
join[]
aggregate
Changelog (46)
Editor
- Gist saving and loading - [675]
- Integrate CSS blocks - [580]
- Translate tabs into spaces - [656]
- Fix changes not being reloaded when navigating - [634]
Renderer
- Fix duplicate tag error - [653]
Platform
- Make sure records in parenthesis are treated the same - [674]
- Fix DependencyChecker if branch that looks at attributes with a fixed value - [672]
- Fix interdependent nonexistent variables - [664]
- Fix stratification when joining aggregate results with other scans - [657]
- Fix server client eagerness - [655]
- Fix
sort.test()
not correctly looking up results - [647] - Remove unnecessary condition in
fullScan()
- [611] - Blank lookup in a search should produce error - [619]
- Increase maximum interation limit - [623]
Distribution
- Added help flag - [682]
- Refactor assets directory structure - [652]
- Fix file loading in Windows - [651]
- Make errors platform agnostic - [622]
Libraries
- Add
fix[]
function - [665] - Add
join[]
aggregate - [639] - Fix bug in
gaussian[]
- [641] - Make functions that return NaN do nothing - [629]
Documentation
- Add npm installation instructions - [52]
- Make Databases a top-level menu item - [35]
- Update
join[]
documentation - [48] - Update
blocks
documentation - [34] - Update
sum[]
documentation - [39]
Misc Fixes
[688] [676] [686] [683] [662] [659] [654] [630] [637] [628] [626] [625] [56] [50] [47] [41] [40] [43] [37]
Contributors (15)
- cmontella (13)
- joshuafcole (7)
- ibdknox (7)
- asampal (4)
- shamrin (2)
- bd82 (2)
- brainopia (2)
- Cormac-Williams (2)
- anfedorov (1)
- dwsmorris (1)
- asolove (1)
- frankier (1)
- convolvatron (1)
- pithub (1)
- ericathegreat (1)
Eve Alpha v0.2.2
What's new in Eve Alpha v0.2.2?
Eve npm package
We published a package for Eve on npm, so you can now install Eve like so:
npm install -g witheve
This will give you a global Eve installation that you can invoke with the command eve
from anywhere. Doing so will start an Eve server, in the same way npm start
currently does. (Note: be sure to install witheve
, as installing eve
will give you a different package)
Workspaces
We're introducing the ability to run Eve in a custom project workspace. To create a new Eve project workspace, create a folder with an empty file named package.json
then start Eve from within this folder. Eve recognizes that it's starting in an Eve project, and will serve *.eve files from within this directory instead of the Eve examples folder. Furthermore, you can serve various assets, like images or CSS, by placing them in an "assets" sub-folder.
Server Mode
Now, Eve can be started in server mode using the --server
flag:
eve --server
Without this flag, execution of Eve programs happens within the browser, with the Eve server acting as an intermediary between the browser and your local system. In server mode, Eve will instead execute your program on the server. Currently written programs will operate exactly as before, but this is a preliminary step in order to get networked Eve applications going (like a chat server or a multiplayer game). There is still work needed to be done there (currently in review), so stay tuned for more!
Deploying Eve Apps
This is one of the most requested features to date, so we're happy to bring it to you! You can now run Eve applications without the editor, which should pave the way to deploying them on your own server. You can specify which Eve program you want to run after the Eve command:
eve ~/myEveDir/myEveFile.eve
Now you can navigate to Eve in your browser to access the specified program. If you like, you can also recover the editor with a flag:
eve ~/myEveDir/myEveFile.eve --editor
This will run the supplied Eve program with the editor visible.
Standard Library
The standard library still needs a lot of work, but thanks to our intrepid community we made some great progress on adding basic functionality.
- Added support for the vast majority of HTML/SVG tags (thanks @frankier!)
- Added
urlencode[]
(thanks @renegr!) - Achieved parity with Javascript math library functions and constants (thank @Cormac-Williams!)
Changelog (51)
Editor
- Fixed non-eve block identifiers being overwritten - [573]
- Added notification when the editor is disconnected from the server - [597]
- Added tooltips for editor buttons - [496]
- Fix inspector after refactor - [555]
Renderer
- Added support for more HTML and SVG tags - [576]
- Added support for more HTML and SVG tags - [602]
- Fix dom ordering when sort value is 0 - [596]
- Fixed cursor reset when changing value of input. - [601]
- Send keydown for window element - [542]
- Add tickbox change event - [506]
- Add coordinates to click and dblclick events for SVG and root elements - [532]
Platform
- Allow nots without dependencies to run - [613]
- Standalone Eve Apps - [571]
- Fix determining if a stratum has database scans - [614]
- Fixed a case where malformed messages were crashing the server - [556]
- Added port flag for Eve server - [553]
Distribution
- npm package - [598]
- Make CSS, favicon and font dependencies local - [521]
- Fix Docker install - [560]
- Add system-polyfill.js - [518]
Libraries
- Fix error when JSON value is null - [593]
- Fix error when JSON value is null - [604]
- Fixed [#time timestamp] - [603]
- Fixed HTTP requests being sent twice - [504]
- Replace angle with radians and degrees in sin and cos - [516]
- Support for query-params - [517]
- added Urlencode function to urlencode a string - [517]
- fix a bug in http where the request wasn't being opened before setting headers - [517]
- Fixed power function having arguments in wrong order - [524]
- Make Gaussian use its own result cache rather than using (uniform) Random's - [529]
- Clean up math.ts - [530]
- Extend math.ts to match the rest of javascript's math library - [535]
Documentation
- Cleaned up references to
match
- [14] - Added
hour-24
to#time
- [20] - Cleaned up references to
@name
- [21] - Fixed examples in
split
- [23] - Added
sort
- [27]
Misc Fixes
[594] [485] [543] [567] [494] [488] [578] [615] [8] [11] [13] [16] [17] [19]
Contributors (25)
- ibdknox (7)
- frankier (7)
- cmontella (5)
- Cormac-Williams (4)
- renegr (3)
- gamebox (2)
- mpj (2)
- joshuafcole (2)
- olafleur (2)
- beliharz (2)
- yshalabi (1)
- jonnor (1)
- esoeylemez (1)
- claushellsing (1)
- gilrosenthal (1)
- matthiaslange (1)
- pragmatrix (1)
- eobrain (1)
- austinlyons (1)
- shamrin (1)
- nmsmith (1)
- Skinney (1)
- cgarvis (1)
- vickychijwani (1)
- thomaswrenn (1)
Eve Alpha v0.2.1
Eve is a set of tools to help us think. Currently, these tools include: a temporal query language, a compiler, and a database.
Installation
From Source
You'll need a recent node.js and then:
npm install
npm start
Then open http://localhost:8080/
in your browser.
How to use Eve
You can learn about Eve with the following resources:
Please let us know what kind of documents would be the most helpful as you begin your journey with Eve. We want our documentation to be a highlight of the Eve experience, so any suggestions are greatly appreciated.
Get Involved
Join the Community
The Eve community is small but constantly growing, and everyone is welcome!
- Join our mailing list and get involved with the latest discussions on Eve.
- Impact the future of Eve by getting involved with our Request for Comments process.
- Read our development diary.
- Follow us on twitter.
How to Contribute
The best way to contribute right now is to write Eve code and report your experiences. Let us know what kind of programs you’re trying to write, what barriers your are facing in writing code (both mental and technological), and any errors you encounter along the way. Also, let us know what you love! What features are your favorite?
Another way to really help us is to host your *.eve
files on Github, so we can get Eve recognized as an official language in the eyes of Github. Be sure to also send us a link to your repo!
How to File an Issue
Please file any issues in this repository. Before you file an issue, please take a look to see if the issue already exists. When you file an issue, please include:
- The steps needed to reproduce the bug
- Your operating system and browser.
- If applicable, the .*eve file that causes the bug.
License
Eve is licensed under the Apache 2.0 license, see LICENSE for details.
Disclaimer
Eve is currently at a very early, "pre-alpha" stage of development. This means the language, tools, and docs are largely incomplete, but undergoing rapid and continuous development. If you encounter errors while using Eve, don't worry: it's likely our fault. Please bring the problem to our attention by filing an issue.
As always, with pre-release software, don’t use this for anything important. We are continuously pushing to this codebase, so you can expect very rapid changes. At this time, we’re not prepared make the commitment that our changes will not break your code, but we’ll do our best to update you on the biggest changes.