Skip to content
David Kirwan edited this page Apr 7, 2014 · 6 revisions

Version 0.5.0 2014-04-08

  • Push notification cooloff periods are now respected. fixes #38
  • /api/v1/system/start stop and config endpoints only respond to the Admin apikey
  • Updated each REST API endpoint with the latest Ardtweeno::Dispatcher#authenticate? calls
  • Resolved bug with /api/v1/zones and /api/v1/zones/:zonename endpoints responding with admin responses when using zoneapi keys - Refs #35
  • Refactored /api/v1/zones and /api/v1/zones/:zonename to only return zone info as authorised by the API key
  • Updated test fixtures to reflect this change - References #35
  • Fixed failing tests related to changes made towards fixing #35
  • Slightly refactored response generated by Ardtweeno::Dispatcher#authenticate? Refs #35
  • Updated authentication around the /api/v1/zone endpoints to only return data related to that particular zone. Refs #35
  • Switching between tabs no longer initiates a new setTimeout() to refresh the statuslist graph. Fixes #39
  • /api/v1/system/start and /api/v1/system/stop endpoints now return JSON responses
  • Updated tests to take account for the endpoint changes - Fixes #37
  • Updated public/main.css to style the API table specification in /api view
  • Implemented HTTP REST API specification in the /api view. Fixes
  • Removed the /api/v1/system/reboot endpoint. - Fixes #10 - Fixes #34
  • Resolved issue with the sort parameter edgecases previously not spotted. Fixes #36
  • Updated restapi.rb to include the /api endpoint which will display the Ardtweeno API specification once fully implemented
  • Updated index.erb to include a new API tab which points at the /api endpoint - Added an api.erb view which will hold the HTTP REST API specification for the gateway - Refs #34
  • Removed rufus scheduler from the dependencies, and the codebase.
  • Updated gemspec to 0.4.0
  • Added flot library JS files
  • Release 0.4.0 Changelog

Version 0.4.0

  • Implemented status graph using the flot.js library. Fixes #28
  • Implemented disk utility df parser - Table in /status endpoint now populated with disk usage data. Fixes #23
  • Refactored Ardtweeno::Dispatcher#status? and broke functionality to Ardtweeno::API#status. Refs #23
  • Implemented tests to cover Ardtweeno::API.buildPunchcard. Fixes #33
  • Added retrieve-zones to the api-examples directory. Refs #27
  • Updated retrieve-status.rb, and added retrieve-config and retrieve-nodes. Refs #28
  • Fleshed out implementation of the api example retrieve-status.rb. Refs #27
  • Renamed api example to fix typo
  • Initial implementation of API Example demonstrating how to retrieve information about gateway status and load. Refs #27
  • Incorporated the Ardtweeno::RingBuffer into a buffer containing the last 15 minutes worth of status data. - Exposed the buffer through /api/v1/system/status/list it does not require authentication to use.
  • Added Ardtweeno::RingBuffer class to the Ardtweeno gem - Implemented test fixtures for the Ardtweeno::RingBuffer class
  • Resolved an issue in the example-app where the application was not handling an exception correctly when the gateway was unavailable. Refs #26
  • Resolved issue with date ranges during the first 7 days of the month. Punchcard graph generator now correctly calculates this range. Fixes #32
  • Added api-sample-usage directory containing snippets of examples of the API being used. Refs #27
  • Dispatcher#store was incorrectly sending invalid parameters to NodeManager#watched? Now resolved
  • Fixed issue with disabled buttons in the example-app controlpanel view continuing to generate AJAX calls
  • Navbar now correctly sets the active class to the selected menu link. Refs #26
  • Added unit tests to cover functionality added to the API regarding querying the gateway for watch information
  • API extended to query the gateway for all nodes currently watched, with the details of the watchee
  • API extended to query the gateway if an individual node is watched. Fixes #31
  • Example app example-app now queries the API and displays whether or not the nodes are watched in the control panel view. Refs #26
  • Adding a watch now disables the button. Refs #26
  • Hardened the implementation of watch lists - example-app now listens for return codes from the /api/v1/watch/node and behaves accordingly. Refs #26
  • Tidied up the watch notification system slightly - Implemented means to add a node to a watchlist from the example-app control panel page. Refs #26
  • Alterered logging output from fatal to warn for error messages surrounding the MongoDB connector creation
  • Added skeleton interface for adding nodes to a watchlist from the example-app. Refs #26
  • continuing development on the example-app refs #26 Merge branch 'punchcard-graph-date-range' into dev
  • Ardtweeno punchcard graph v1 now produces date range information which is available from the node URI in the topology graph. Fixes #29
  • Updated main README
  • Fleshing out basic functionality of the example-app
  • last 5 packets and zone information listed on front page. Refs #26
  • Updated README for the ardtweeno-gem directory
  • Slightly updated install instructions
  • Noticed issue with Rakefile on system before bundle and dependencies were installed was not exiting gracefully, hopefully fixed this issue now
  • example-app now correctly raises the desired HTML status codes when the Ardtweeno gateway is inaccessible. Refs #26
  • Further refactorisation of the example-app. Refs #26
  • Hardened example-app starting and stopping the gateway, while updating the interface with current status. Refs #26
  • example-app is aware if the Ardtweeno gateway is accessible, and whether the SerialParser is running
  • example-app now has a basic interface developed to allow the starting of the SerialParser. Refs #26
  • Refactored example-app view templates into reusable layouts. Refs #26
  • Adding some basic functionality to the example-app. Refs #26
  • Added skeleton example-app which consumes the Ardtweeno API. Refs #26
  • Deleting tech-demo app and starting to build a sample application which consumes the Ardtweeno API. Refs #26
  • Altered the output from the punchcard graph generator to display times in a 24 hour format HH. Fixes #25
  • Modified the Ardtweeno frontend Javascript to stop AJAX requests to the status API when navigating away from the status tab. Fixes #18
  • Added favicon.ico. Fixes #21
  • Added bootstrap styles to the punchcard view
  • Implemented punchcard graph generator accessible when clicking on a node in the topology graph. Refs #6
  • Implemented Topology graph generation internally and available from a tab menu on the gateway frontend. Fixes #5
  • Added skeleton implementation of topology view - Updated index view with a new AJAX menu tab linked to the topology view
  • Added Raphael.js library which is used in the construction of the topology graph. Refs #5
  • Rakefile target test now cleans the tty0tty and then builds the binary before running tests. Fixes #19

Version 0.3.1

  • Fixed runtime dependency added twice in gemspec. - Fixes #17

Version 0.3.0

  • Incorrectly assert_true against method which does not return true or false - Refs #16
  • System now passes mock confdata into the options hash should the ENV['RACK_ENV'] == 'test' - Fixes #16
  • The URI to the form which can add news posts to the front page is now configurable in the ~/.ardtweeno/conf.yaml file
  • The system reads the variable newsURI and exposes the URI like eg: /b97cb9ae44747ee263363463b7e56/create/post - Refs #3
  • Front page news posts are now serialised to ~/.ardtweeno/posts.yaml - Refs #3
  • RESTAPI test fixtures were not correctly reading the mock configuration data - Fixes #15
  • Refactored RESTAPI test fixtures to now use mock configuration data as intended - Fixes #15
  • Fleshed out implementation for adding nodes to a watchlist
  • Added test fixtures for Ardtweeno::Dispatcher#addWatch and the Ardtweeno::NodeManager#addWatch
  • Added exceptions Ardtweeno::InvalidWatch and Ardtweeno::AlreadyWatched - Fixes #12
  • Fixed bug in the skeleton implementation for the /api/v1/watch/node it now respects the parameters passed to it - Refs #12
  • Updated README and ardtweeno-gem/README with latest changes
  • Finished basic implementation and integration of the Ardtweeno::SerialParser subsystem
  • Added test fixtures for Ardtweeno::SerialParser subsystem - Fixes #9
  • Updated test/test_helper.rb to no longer ignore the parser_test.rb
  • Removed node.js SerialParser subsystem
  • Updated minimum Ruby version to 2.0.0p0 in the gemspec
  • Added Twitter Bootstrap CSS and JS libraries
  • Added skeleton implementation of the Ardtweeno::SerialParser subsystem
  • Modified Ardtweeno::Dispatcher #start and #stop to interface with the SerialParser
  • Refactored the Ardtweeno::Dispatcher#status? to be cleaner and easier to maintain in future
  • Added runtime dependencies to the gemspec. Fixes #14
  • Added tests to cover Ardtweeno::Dispatcher#status?
  • While running tests, Ardtweeno::Dispatcher#status? now returns mock data
  • Refactored the gateway front end to allow tabbed content. fixes #11
  • Implemented front end news story serialisation. Will be finished alongside refs #3
  • Fleshed out functionality of /api/v1/system/status to include system load information. fixes #8
  • Removed need for authentication to access /api/v1/system/status
  • Added a status tab on the front end which contains a highcharts graph showing gateway system load - Fixes #7
  • Added check for packets containing empty data, now correctly raises Ardtweeno::InvalidData
  • Updated main README.md
  • Updated README.md for the tech-demo
  • Broke out Ardtweeno Gateway port for the tech-demo to this config file - fixes #1
  • breaks out hard coded URI's to a configuration file bundled with the tech-demo application
  • Added README.md for tech-demo directory
  • Added README.md for the arduino-fio-code directory
  • Added README.md to eaglecad directory
  • Added eagle-cad schematics for two sample Ardtweeno Sample Mesh Network Nodes
  • Typo in blog URI on Ardtweeno Gateway home view

Version 0.2.5 Engineering Release 2 RC5

  • Updated gemspec in preparation for release of ER 2
  • Updated REST API to be more robust when printing news posts
  • Latest documentation build
  • Added documentation supporting the newly implemented watch list and push notifications
  • Added EagleCAD schematics for Ardtweeno Nodes
  • Added latest project documentation and image assets

Version 0.2.4 Engineering Release 2 RC4

  • Removed debugging statements from REST API Sinatra app
  • Updated Gemfile with a new dependency Typhoeus
  • Implemented push notification system
  • Implemented testing scheme for the push notifications
  • Implemented system for placing an Ardtweeno::Node in a watchlist
  • Implemented testing scheme for watchlist
  • Implemented test script to add a Node to a watchlist
  • Removed debug statements from rescue blocks

Version 0.2.3 Engineering Release 2 RC3

  • Slightly edited output from topology generator
  • Removed some debug statements from punchcard generator code
  • Added image assets for documentation
  • Updated project documentation to the latest versions
  • Removing debug statements
  • Implemented node punchcard graph generator
  • CHANGELOG updated to contain 0.2.2 featureset

Version 0.2.2 Engineering Release 2 RC2

  • Implemented tests to cover the post creation system
  • Implemented manual post update system
  • Added code highlighting to code blocks in posts
  • Added skeleton page for manually adding posts
  • Implemented skeleton API functionality for adding posts
  • Updated CSS

Version 0.2.1 Engineering Release 2 RC2

  • Latest codebase for the Ardtweeno project
  • Updated Arduino FIO firmware sketch for node1 to light led on detection of movement
  • Added new firmware for node1 movement sensor platform
  • Resolved issue with params not being passed correctly between methods
  • Implemented multiple zone statistics graphs being produced by the tech-demo
  • Added skeleton framework for handling contact form submits
  • Implemented statistics graph displaying on front of tech-demo - Removed a lot of unneeded javascript
  • Updated node sensor graph view to now correctly display the name of the node being graphed - Added link to return to the previous view from the node sensor graph view - Added a number of javascript libraries which will possibly be used later
  • Sensor graphs produced through /data/:node now use the last 60 packet data
  • Updated the node.js serialparser script to buffer fragmented data input better
  • Updated Arduino FIO firmware

Version 0.2.0 Engineering Release 2 RC1

  • Updated tech demo to return 503 Service Unavailable should the gateway be unavailable
  • Deleted nodejs compiled modules
  • Updated Ardtweeno RESTAPI to the latest codebase
  • Updated project documentation sections: API Spec, Iteration Plan and Project Backlog to the latest versions
  • Built latest version of the documentation
  • Fixed issue with the Twitter section of the tech demo being unaccessible through the sidebar menu
  • Implemented graph view
  • Implemented tech demo graphing code
  • Fleshed out node graphing skeleton code
  • Skeleton implementation of node graphs
  • Refactored tech-demo packets api call
  • Altered the api calls to the packets interface to retrieve the last 5 packets in the tech-demo
  • Updated project sections bibliography, iteration plan and backlog
  • Implemented dynamic generation of topology graph being loaded into the topology section of the tech-demo app
  • Deleted proof of concept topology generator script

Version 0.1.13 Minimum Viable Product Engineering Release 1 RC13

  • Updated README.md to include screenshot of the Topology Generator
  • Implemented dynamic topology graph generator using data pulled from the Ardtweeno API
  • Skeleton implementation of /gateway/topology in the tech-demo application
  • Updated project documentation section iteration plan to latest version
  • Updated tech demo with sample Raphael.js code for constructing a network topology graph
  • Implemented tests for /api/:version/system/status API calls
  • Implemented query for nodes - Implemented query for packets - Modified layout of control panel

Version 0.1.12 Minimum Viable Product Engineering Release 1 RC12

  • Updated sample Arduino FIO sketch
  • Implemented simple query for the zones api
  • Updated documentation sections api specification and iteration plan
  • Implemented gateway control panel system
  • Implemented addition to the rest api to include system status
  • Implemented basic ajax calls in the gateway control panel
  • Extending tech demo with control panel interface to control the gateway
  • Added CSS styling for URLS in the links section of the Ardtweeno Tech Demo
  • Updated tech-demo style to ensure forkme ribbon is in the correct place
  • Updated image assets used in tech-demo
  • Implemented Skeleton Tech Demo web app for the Ardtweeno system

Version 0.1.11 Minimum Viable Product Engineering Release 1 RC11

  • Implemented basic system for writing packets to the MongoDB Database
  • Implemented skeleton code to handle the database connection and recover from connection errors
  • Fixed bug with sorting of the packets being returned by the retrieve_packets REST API function
  • Added latest information on API specification documentation
  • Updated documentation to latest revisions

Version 0.1.10 Minimum Viable Product Engineering Release 1 RC10

  • Added API implementation and tests for zones
  • Added /api/v1/zones and /api/v1/zones/:zonename
  • Skeleton implementation of zones
  • Implemented /api/v1/system/config interface
  • Implemented tests for the system/config hook
  • Updated layout of the conf.yaml file to incorporate future zones data
  • Implemented testing suite for nodes filtering parameters
  • Implemented Ardtweeno::API functions to handle RESTAPI calls to filter nodes data

Version 0.1.9 Minimum Viable Product Engineering Release 1 RC9

  • Implemented /api/v1/nodes REST API target
  • Implemented Ardtweeno::API functions to handle nodes lookup
  • Implemented test suite to test newly added API nodes functions
  • Resolved previously unknown bug with newly constructed nodes not being passed initial parameters correctly
  • Updated project documentation to latest revisions

Version 0.1.8 Minimum Viable Product Engineering Release 1 RC8

  • Implemented REST API tests for date, hour and minute API calls
  • Implemented tests for the seqNo API calls
  • Implemented API handling of seqno, date, minute and hour
  • Implemented internal testing of seqno, date, minute and hour API features
  • Updated CHANGELOG file permissions to 644
  • Added latest version of the section-iteration-plan documentation file
  • Removed resources/rest-api from the repo as it has now been successfully integrated elsewhere in the system

Version 0.1.7 Minimum Viable Product Engineering Release 1 RC7

  • Refactored RESTAPI system to ensure it can be executed directly from the gem root directory using the foreman Procfile launcher
  • Updated Ardtweeno gemspec
  • Updated image assets - Updated section-iteration-plan to latest revision

Version 0.1.6 Minimum Viable Product Engineering Release 1 RC6

  • Added rack-test, test-unit and removed simplecov gem requirements from Gemfile
  • Added empty bin folder to fix issues with gem build failing on Mac Ruby 1.8.7
  • Updated require statements in the serialparser.rb
  • Updated gemspec to remove the bin folder
  • Added timing measurement functions to the API lookup function
  • Updated documentation section-iteration-plan and section-api-specification
  • Updated RESTAPI to ensure the rufus-scheduler continues to operate after being moved over to the foreman system
  • Updated REST API routes to best practices, API calls are now formatted like: /api/{version}/{target}
  • Updated the node.js serialparser implementation to work with the new REST API routes
  • Fixed issues with the REST API tests failing
  • Updated presentation-assets - Updated section-iteration-plan documentation to latest revision
  • Updated INSTALL instructions to the latest revision

Version 0.1.5 Minimum Viable Product Engineering Release 1 RC5

  • Added bundler configuration file for the REST API
  • Added foreman configuration file for launching the REST API
  • Renamed resources/rest-api/ardtweeno.rb -> web.rb to allow execution on the heroku.com paas
  • Updated image assets being used in project poster
  • Updated documentation section-iteration-plan to latest revision
  • Updated ardtweeno rest-api app scheduling to run serialisation every hour

Version 0.1.4 Minimum Viable Product Engineering Release 1 RC4

  • Implemented MVP functionality to write packets to ~/.ardtweeno/packetdb.yaml
  • Updated Gemfile dependency list to latest revision

Version 0.1.3 Minimum Viable Product Engineering Release 1 RC3

  • Updated Rakefile with exception handling to fail gracefully should a system not have bundler installed
  • Added exception handling to packet storage calls
  • Implemented the basic function structure for flushing packet data to disk - Updated dependencies to include rufus-scheduler
  • Updated CHANGELOG to the latest revision

Version 0.1.2 Minimum Viable Product Engineering Release 1 RC2

  • Added section-mvp-installation
  • Updated section-minimum-system-requirements
  • Updated section-project-deliverables
  • Switched method of handling dependencies to Bundler, added support files to enable change
  • Updated INSTALL instructions
  • Updated section-iteration-plan and section-api-specification to latest revisions

Version 0.1.1 Minimum Viable Product Engineering Release 1 RC1

  • Fixed issue with resultset transformation prioritisation, resultset sorting now performed last thing as intended
  • Updated README.md

Version 0.1.0

  • MVP featureset implemented

Version 0.0.2

  • Fixed typo in gemspec description

Version 0.0.1

  • Placeholder gem in place