Skip to content

Releases: cesanta/mongoose-os

v1.20

16 Nov 21:13
Compare
Choose a tag to compare
  • The workflow is changed: instead of selecting a prebuilt firmware and hacking right on device's files, initial setup window now allows to select apps which have prebuilt binaries, and when the setup is done, the app's page is opened, where users can edit it, rebuild, and flash.
  • External git binary is not required anymore for the mos tool to work.
  • Packages available for Ubuntu 17.10 as well

1.6

26 Oct 12:52
Compare
Choose a tag to compare
1.6
Keep form names in moscommon

PUBLISHED_FROM=2c114c7275d7dca3940e19b4f995a7c9e1d8fae5

1.5

07 Jul 11:53
Compare
Choose a tag to compare
1.5
  • More functionality is factored out into separate libs
  • Performance and stability fixes

1.4 "Potato", 2017-06-19

19 Jun 17:22
@cpq cpq
Compare
Choose a tag to compare
  • Factored out Mongoose OS functionality to libraries. See https://mongoose-os.com/docs/core_components/apps.html
  • Greatly improved documentation
  • Added support to config_schema to mos.yml
  • Added Arduino example apps
  • Added ESP8285 flashing support
  • Added project IDE to the Web UI
  • Added MQTT and UDP remote log
  • Split cert & key in the JS SSL API
  • MQTT publishing on QOS 2 fixes
  • Added VFS support, external SPI flash mount, RPC service for mounting FS
  • Amazon Greengrass integration
  • Many performance and stability fixes

1.3 "Traditional cookadoodadoo", 2017-05-19

19 May 09:32
@cpq cpq
Compare
Choose a tag to compare
  • mos tool improvements - build system, UI, better mqtt support
  • Google IoT support on the device side
  • Plenty of bugfixes around stability
  • I2C and SPI API. On ESP32, HW is used - it's fast!
  • Arduino support - OneWire, Wire, BME280, DHT, SSD1306, Dallas Temp, GFX drivers
  • mJS engine improvements. Compilation into byte code and mmap-ing to to save RAM
  • Remote logging via UDP and MQTT
  • AWS shadow support
  • MQTT client improvements, better QOS handling
  • Blynk compat & example
  • Plenty of improvements in JS API, including RPC outbound API
  • MDNS fixes
  • Refactored UART API, both C and JS
  • Published reference AWS IoT projects

1.2 "Standard size rabbit", 2017-03-08

08 Mar 11:19
@cpq cpq
Compare
Choose a tag to compare

Overview

1.1 "Smooth Sailing", 2016-07-27

27 Jul 14:34
Compare
Choose a tag to compare
  • Big improvements in CC3200 support:
    • Cloud console logging
    • NWP service pack is now included in FW bundle and flashed together
    • Better stability
  • Faster updates from cloud IDE
  • Improved C API
  • JS proxy object API support, allowing implementing JS objects backed by C code

1.0-rc1 "Rushing Mink", 2016-06-28

28 Jun 16:51
Compare
Choose a tag to compare
  • OTA update is significantly improved
  • Added firmware update support for CC3200
  • Improved cloud integration
  • Improved JavaScript API
  • Bug fixes
  • Improved documentation
  • Added examples

Beta4 "Junkie Bear", 2016-04-26

26 Apr 08:59
Compare
Choose a tag to compare

Main reason for this release is the Mongoose IoT rebranding. What you are looking at now and what used to be called Smart.js is now Mongoose IoT Firmware.

Changes that happened since Beta3:

  • Quite a bit if work on TI CC3200
  • JS APIs for TCP and UDP
  • File API changes (readAll removed)
  • GPIO API changes (notably setmode -> setMode)
  • Improved TLS support - a CA bundle (ca.pem) with 10 of most popular roots is now included by default.

Beta3 "Fat Rabbit", 2016-03-24

24 Mar 15:00
Compare
Choose a tag to compare

What's new

Beta3 "Fat Rabbit" is mainly a bug-fix and continuous improvement release. We've been very busy, there are tons of improvements; existing users are encouraged to upgrade. Please also consider upgrading to the most recent FnC flasher tool (https://github.com/cesanta/fnc/releases/latest).

A few highlights:

New features, improvements

  • MQTT support
  • TLS works on ESP Smart.js
  • CC3200 support has been resumed
  • ESP8266: Switch to OSS SDK 1.5.2
  • ESP8266, LWIP: Adaptive TCP retransmit; faster networking in the face of packet loss
  • Most Smart.js library code is now "frozen", i.e. it lives on flash memory. This is a huge saving for some archs such as esp8266.
  • Implemented setInterval, clearInterval, clearTimeout
  • Symbolic names: Debug.OFF, Debug.OUT, Debug.ERR, ...
  • Sys.reboot takes an optional exit code. Useful on "posix" platforms.
  • More helpers to check for heap corruptions
  • ESP8266: Coredump gdb server support Espressif V2 image format (used in OTA builds)
  • Improvements to crash reporting when emulating instructions in memory mapping soft handler
  • Add Sys.time function
  • ESP8266: Handle 32-bit timer overflow
  • ESP8266: Support 8Mbit flash
  • CC3200: GPIO support, interrupts.

Backward incompatible changes

  • rename http.port to http.listen_addr config var
  • rename v7_mk_opt to v7_create_opt due to a bad rename in Beta2

Bug fixes

Smart.js

  • ESP8266: Watchdog timer fix: timeout duration is not reset after each feed.
  • Fixed hang caused by a GPIO interrupt happening while the device is writing to flash (e.g. OTA update)
  • Fix memory leaks in setTimeout

V7 JavaScript VM

  • Fixed JS closures leak
  • Smaller function call frame
  • Added bcode memory footprint metrics
  • Many memory corruption fixes caused by missed GC roots in C code.

Using Cesanta Cloud

Cesanta runs a public cloud service at https://cloud.cesanta.com. To login, all you need is a github or G+ account.
Any other cloud service can be used to store data - please take a look at the Http or WebSocket API.

The Smart.js firmware comes with an implementation of our websocket based protocol that is designed to make your device easily accessible behind NATs and to support disconnected operation by managing the queuing of messages for you:

https://www.cesanta.com/developer/cloud

Write your own handlers on your device and make it respond to commands send by other devices or by software running on your servers and call other device or store data such as metrics on our cloud services:

clubby.oncmd('/v1/MyThing.PokeMySensor', function(cmd, done) {
  print('got command:', cmd.args.blah);

  GPIO.write(yourLEDPin, true);

  clubby.call('//api.cesanta.com', {
    cmd: '/v1/Metrics.Publish',
    args: {vars: [[{__name__: 'frobulator'}, readFrobulatorValue()]]}
   }, function(res) {
    GPIO.write(yourLEDPin, false);
    done('your response');
  });
});

Documentation, examples, tools and firmware

Smart.js reference and examples can be found at https://www.cesanta.com/developer/smartjs

Flashing utility (Flash-n-Chips) can be downloaded from https://github.com/cesanta/fnc/releases

Download the firmware from the release attachments below: