github.com/ranjib/nomad@v0.1.1-0.20160225204057-97751b02f70b/CHANGELOG.md (about)

     1  ## 0.3.0
     2  
     3  __BACKWARDS INCOMPATIBILITIES:__
     4    * Stdout and Stderr log files of tasks have moved from task/local to
     5      alloc/logs [GH-851]
     6    * Any users of the runtime environment variable `$NOMAD_PORT_` will need to
     7      update to the new `${NOMAD_ADDR_}` varriable [GH-704]
     8    * Service names that include periods will fail validation. To fix, remove any
     9      periods from the service name before running the job [GH-770]
    10    * Task resources are now validated and enforce minimum resources. If a job
    11      specifies resources below the minimum they will need to be updated [GH-739]
    12    * Node ID is no longer specifiable. For users who have set a custom Node
    13      ID, the node should be drained before Nomad is updated and the data_dir
    14      should be deleted before starting for the first time [GH-675]
    15    * Users of custom restart policies should update to the new syntax which adds
    16      a `mode` field. The `mode` can be either `fail` or `delay`. The default for
    17      `batch` and `service` jobs is `fail` and `delay` respectively [GH-594]
    18    * All jobs that interpret variables in constraints or driver configurations
    19      will need to be updated to the new syntax which wraps the interpreted
    20      variable in curly braces. (`$node.class` becomes `${node.class}`) [GH-760]
    21  
    22  IMPROVEMENTS:
    23    * core: Populate job status [GH-663]
    24    * core: Cgroup fingerprinter [GH-712]
    25    * core: Node class constraint [GH-618]
    26    * core: User specifiable kill timeout [GH-624]
    27    * core: Job queueing via blocked evaluations  [GH-726]
    28    * core: Only reschedule failed batch allocations [GH-746]
    29    * core: Add available nodes by DC to AllocMetrics [GH-619]
    30    * core: Improve scheduler retry logic under contention [GH-787]
    31    * core: Computed node class and stack optimization [GH-691, GH-708]
    32    * core: Improved restart policy with more user configuration [GH-594]
    33    * core: Periodic specification for jobs [GH-540, GH-657, GH-659, GH-668]
    34    * core: Batch jobs are garbage collected from the Nomad Servers [GH-586]
    35    * core: Free half the CPUs on leader node for use in plan queue and evaluation
    36      broker [GH-812]
    37    * core: Seed random number generator used to randomize node traversal order
    38      during scheduling [GH-808]
    39    * core: Performance improvements [GH-823, GH-825, GH-827, GH-830, GH-832,
    40      GH-833, GH-834, GH-839]
    41    * core/api: System garbage collection endpoint [GH-828]
    42    * core/api: Allow users to set arbitrary headers via agent config [GH-699]
    43    * core/cli: Prefix based lookups of allocs/nodes/evals/jobs [GH-575]
    44    * core/cli: Print short identifiers and UX cleanup [GH-675, GH-693, GH-692]
    45    * core/client: Client pulls minimum set of required allocations [GH-731]
    46    * cli: Output of agent-info is sorted [GH-617]
    47    * cli: Eval monitor detects zero wait condition [GH-776]
    48    * cli: Ability to navigate allocation directories [GH-709, GH-798]
    49    * client: Batch allocation updates to the server [GH-835]
    50    * client: Log rotation for all drivers [GH-685, GH-763, GH-819]
    51    * client: Only download artifacts from http, https, and S3 [GH-841]
    52    * client: Create a tmp/ directory inside each task directory [GH-757]
    53    * client: Store when an allocation was received by the client [GH-821]
    54    * client: Heartbeating and saving state resilient under high load [GH-811]
    55    * client: Handle updates to tasks Restart Policy and KillTimeout [GH-751]
    56    * client: Killing a driver handle is retried with an exponential backoff
    57      [GH-809]
    58    * client: Send Node to server when periodic fingerprinters change Node
    59      attributes/metadata [GH-749]
    60    * client/api: File-system access to allocation directories [GH-669]
    61    * drivers: Validate the "command" field contains a single value [GH-842]
    62    * drivers: Interpret Nomad variables in environment variables/args [GH-653]
    63    * driver/rkt: Add support for CPU/Memory isolation [GH-610]
    64    * driver/rkt: Add support for mounting alloc/task directory [GH-645]
    65    * driver/docker: Support for .dockercfg based auth for private registries
    66      [GH-773]
    67  
    68  BUG FIXES:
    69    * core: Node drain could only be partially applied [GH-750]
    70    * core: Fix panic when eval Ack occurs at delivery limit [GH-790]
    71    * cli: Handle parsing of un-named ports [GH-604]
    72    * cli: Enforce absolute paths for data directories [GH-622]
    73    * client: Cleanup of the allocation directory [GH-755]
    74    * client: Improved stability under high contention [GH-789]
    75    * client: Handle non-200 codes when parsing AWS metadata [GH-614]
    76    * client: Unmounted of shared alloc dir when client is rebooted [GH-755]
    77    * client/consul: Service name changes handled properly [GH-766]
    78    * driver/rkt: handle broader format of rkt version outputs [GH-745]
    79    * driver/qemu: failed to load image and kvm accelerator fixes [GH-656]
    80  
    81  ## 0.2.3 (December 17, 2015)
    82  
    83  BUG FIXES:
    84    * core: Task States not being properly updated [GH-600]
    85    * client: Fixes for user lookup to support CoreOS [GH-591]
    86    * discovery: Using a random prefix for nomad managed services [GH-579]
    87    * discovery: De-Registering Tasks while Nomad sleeps before failed tasks are
    88      restarted.
    89    * discovery: Fixes for service registration when multiple allocations are bin
    90      packed on a node [GH-583]
    91    * configuration: Sort configuration files [GH-588]
    92    * cli: RetryInterval was not being applied properly [GH-601]
    93  
    94  ## 0.2.2 (December 11, 2015)
    95  
    96  IMPROVEMENTS:
    97    * core: Enable `raw_exec` driver in dev mode [GH-558]
    98    * cli: Server join/retry-join command line and config options [GH-527]
    99    * cli: Nomad reports which config files are loaded at start time, or if none
   100      are loaded [GH-536], [GH-553]
   101  
   102  BUG FIXES:
   103    * core: Send syslog to `LOCAL0` by default as previously documented [GH-547]
   104    * client: remove all calls to default logger [GH-570]
   105    * consul: Nomad is less noisy when Consul is not running [GH-567]
   106    * consul: Nomad only deregisters services that it created [GH-568]
   107    * driver/exec: Shutdown a task now sends the interrupt signal first to the
   108      process before forcefully killing it. [GH-543]
   109    * driver/docker: Docker driver no longer leaks unix domain socket connections
   110      [GH-556]
   111    * fingerprint/network: Now correctly detects interfaces on Windows [GH-382]
   112  
   113  ## 0.2.1 (November 28, 2015)
   114  
   115  IMPROVEMENTS:
   116  
   117    * core: Can specify a whitelist for activating drivers [GH-467]
   118    * core: Can specify a whitelist for activating fingerprinters [GH-488]
   119    * core/api: Can list all known regions in the cluster [GH-495]
   120    * client/spawn: spawn package tests made portable (work on Windows) [GH-442]
   121    * client/executor: executor package tests made portable (work on Windows) [GH-497]
   122    * client/driver: driver package tests made portable (work on windows) [GH-502]
   123    * client/discovery: Added more consul client api configuration options [GH-503]
   124    * driver/docker: Added TLS client options to the config file [GH-480]
   125    * jobspec: More flexibility in naming Services [GH-509]
   126  
   127  BUG FIXES:
   128  
   129    * core: Shared reference to DynamicPorts caused port conflicts when scheduling
   130      count > 1 [GH-494]
   131    * client/restart policy: Not restarting Batch Jobs if the exit code is 0 [GH-491]
   132    * client/service discovery: Make Service IDs unique [GH-479]
   133    * client/service: Fixes update to check definitions and services which are already registered [GH-498]
   134    * driver/docker: Expose the container port instead of the host port [GH-466]
   135    * driver/docker: Support `port_map` for static ports [GH-476]
   136    * driver/docker: Pass 0.2.0-style port environment variables to the docker container [GH-476]
   137    * jobspec: distinct_hosts constraint can be specified as a boolean (previously panicked) [GH-501]
   138  
   139  ## 0.2.0 (November 18, 2015)
   140  
   141  __BACKWARDS INCOMPATIBILITIES:__
   142  
   143    * core: HTTP API `/v1/node/<id>/allocations` returns full Allocation and not
   144      stub [GH-402]
   145    * core: Removed weight and hard/soft fields in constraints [GH-351]
   146    * drivers: Qemu and Java driver configurations have been updated to both use
   147      `artifact_source` as the source for external images/jars to be ran
   148    * jobspec: New reserved and dynamic port specification [GH-415]
   149    * jobspec/drivers: Driver configuration supports arbitrary struct to be
   150      passed in jobspec [GH-415]
   151  
   152  FEATURES:
   153  
   154    * core: Blocking queries supported in API [GH-366]
   155    * core: System Scheduler that runs tasks on every node [GH-287]
   156    * core: Regexp, version and lexical ordering constraints [GH-271]
   157    * core: distinctHost constraint ensures Task Groups are running on distinct
   158      clients [GH-321]
   159    * core: Service block definition with Consul registration [GH-463, GH-460,
   160      GH-458, GH-455, GH-446, GH-425]
   161    * client: GCE Fingerprinting [GH-215]
   162    * client: Restart policy for task groups enforced by the client [GH-369,
   163      GH-393]
   164    * driver/rawexec: Raw Fork/Exec Driver [GH-237]
   165    * driver/rkt: Experimental Rkt Driver [GH-165, GH-247]
   166    * drivers: Add support for downloading external artifacts to execute for
   167      Exec, Raw exec drivers [GH-381]
   168  
   169  IMPROVEMENTS:
   170  
   171    * core: Configurable Node GC threshold [GH-362]
   172    * core: Overlap plan verification and plan application for increased
   173      throughput [GH-272]
   174    * cli: Output of `alloc-status` also displays task state [GH-424]
   175    * cli: Output of `server-members` is sorted [GH-323]
   176    * cli: Show node attributes in `node-status` [GH-313]
   177    * client/fingerprint: Network fingerprinter detects interface suitable for
   178      use, rather than defaulting to eth0 [GH-334, GH-356]
   179    * client: Client Restore State properly reattaches to tasks and recreates
   180      them as needed [GH-364, GH-380, GH-388, GH-392, GH-394, GH-397, GH-408]
   181    * client: Periodic Fingerprinting [GH-391]
   182    * client: Precise snapshotting of TaskRunner and AllocRunner [GH-403, GH-411]
   183    * client: Task State is tracked by client [GH-416]
   184    * client: Test Skip Detection [GH-221]
   185    * driver/docker: Can now specify auth for docker pull [GH-390]
   186    * driver/docker: Can now specify DNS and DNSSearch options [GH-390]
   187    * driver/docker: Can now specify the container's hostname [GH-426]
   188    * driver/docker: Containers now have names based on the task name. [GH-389]
   189    * driver/docker: Mount task local and alloc directory to docker containers [GH-290]
   190    * driver/docker: Now accepts any value for `network_mode` to support userspace networking plugins in docker 1.9
   191    * driver/java: Pass JVM options in java driver [GH-293, GH-297]
   192    * drivers: Use BlkioWeight rather than BlkioThrottleReadIopsDevice [GH-222]
   193    * jobspec and drivers: Driver configuration supports arbitrary struct to be passed in jobspec [GH-415]
   194  
   195  BUG FIXES:
   196  
   197    * core: Nomad Client/Server RPC codec encodes strings properly [GH-420]
   198    * core: Reset Nack timer in response to scheduler operations [GH-325]
   199    * core: Scheduler checks for updates to environment variables [GH-327]
   200    * cli: Fix crash when -config was given a directory or empty path [GH-119]
   201    * client/fingerprint: Use correct local interface on OS X [GH-361, GH-365]
   202    * client: Nomad Client doesn't restart failed containers [GH-198]
   203    * client: Reap spawn-daemon process, avoiding a zombie process [GH-240]
   204    * client: Resource exhausted errors because of link-speed zero [GH-146,
   205      GH-205]
   206    * client: Restarting Nomad Client leads to orphaned containers [GH-159]
   207    * driver/docker: Apply SELinux label for mounting directories in docker
   208      [GH-377]
   209    * driver/docker: Docker driver exposes ports when creating container [GH-212,
   210      GH-412]
   211    * driver/docker: Docker driver uses docker environment variables correctly
   212      [GH-407]
   213    * driver/qemu: Qemu fingerprint and tests work on both windows/linux [GH-352]
   214  
   215  ## 0.1.2 (October 6, 2015)
   216  
   217  IMPROVEMENTS:
   218  
   219    * client: Nomad client cleans allocations on exit when in dev mode [GH-214]
   220    * drivers: Use go-getter for artifact retrieval, add artifact support to
   221      Exec, Raw Exec drivers [GH-288]
   222  
   223  ## 0.1.1 (October 5, 2015)
   224  
   225  IMPROVEMENTS:
   226  
   227    * cli: Nomad Client configurable from command-line [GH-191]
   228    * client/fingerprint: Native IP detection and user specifiable network
   229      interface for fingerprinting [GH-189]
   230    * driver/docker: Docker networking mode is configurable [GH-184]
   231    * drivers: Set task environment variables [GH-206]
   232  
   233  BUG FIXES:
   234  
   235    * client/fingerprint: Network fingerprinting failed if default network
   236      interface did not exist [GH-189]
   237    * client: Fixed issue where network resources throughput would be set to 0
   238      MBits if the link speed could not be determined [GH-205]
   239    * client: Improved detection of Nomad binary [GH-181]
   240    * driver/docker: Docker dynamic port mapping were not being set properly
   241      [GH-199]
   242  
   243  ## 0.1.0 (September 28, 2015)
   244  
   245    * Initial release
   246