Skip to content

0.7.0 Release To-do #98

@jdantonio

Description

@jdantonio

This is the to-do list for the 0.7.0 release. The target date for this release is Sunday, 10 August, 2014. This is intended to coincide with the Steel City Ruby conference being help in Pittsburgh, PA, USA on 15-16 August. This is an initial list based on the discussion in Issue #83 ("v0.7.0, GitHub Organization, and Merging Atomic"). Please feel free to add/edit/delete items as necessary.

Organization

Native Extensions

  • Setup the gemspec and extconf.rb files to support C extensions (based on ruby-atomic and the experimental CRuby branches)
  • Setup the gemspec and extconf.rb files to support pure Java extensions (based on ruby-atomic)
  • Update experimental CRuby extensions based on ruby-atomic
    • Remove CEvent (poor performance)
    • Move extensions to root of ext folder
    • Use have_header to set #define
    • Update extsonf.rb to support multiple operating systems
    • Update CAtomicBoolean to support multiple operating systems
    • Update CAtomicFixnum to support multiple operating systems
    • Merge native extension branches into master
  • Merge ruby-atomic
    • Verify compatibility of pure-Ruby, Java, and CRuby versions
    • Move classes into the Concurrent module
    • Rename classes/modules to match existing conventions
  • Add FreeBSD to automated build (reconsider)

New and Updated Abstractions

  • Either deprecate Supervisor and Runnable or update them to use executors and be more thread safe
  • Implement fork-join (move to future release)
  • native JavaEvent (move to future release)

Tests

  • Update RSpec to 3.x
  • Replace all sleep calls in specs with deterministic locking (using CountDownLatch or other atomic variable)
  • Update tests to use ImmediateExecutor when possible
  • Fix brittle specs (see Issue Brittle specs #97)
  • Create stress tests for core classes including
    • Thread pools

Actor

Metadata

Metadata

Assignees

No one assigned

    Labels

    choreGem maintenance tasks.

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions