« Enigma simulation in Javascript/HTML


-- Changelog --

  [ top ]



Changelog for "Universal Enigma"
================================

Version 2.6.2 (Nov 2023)
-------------
- adjusted wiring rotation in UKW uR° (orig. Railway, hitherto theorized) using newly available empirical data
- corrected wiring of rotor 4N (Norenigma) from updated measurements

Version 2.6.2 (Aug 2023)
-------------
- revised Enigma D rotors' turnover positions from new available data (Foss, 1927)
- adjusted preset 'KD': non-settable UKW-D

Version 2.6.1 (Jan 2023)
-------------
- Monitor:
  - improved usability (show signal path regardless of Monitor activation)
  - fixed issues with updating of some values
- GUI: minor corrections (tooltips)
- code cleanup (literal declaration of arrays and objects)

Version 2.6 (Aug 2022)
-----------
- updated rotor 2S wiring (Sonder-Enigma)

Version 2.6 (Sep 2021)
-----------
- corrected UKW-D availability in presets (Enigma-I instead of M3)
- minor code cleanup

Version 2.6 (May 2021)
-----------
- rotor variables more effective (re-used commercial rotors)
- minor adjustments in rotor var.: multiple-notch turnover info
- GUI: clarified preset entries for D, K (+year) and A-865 (--> A28/G31)

Version 2.6 (Apr 2021)
-----------
* added 3 new model presets: Enigma D (with trivial RS); R° (R with orig. wiring); G-401
* added 2 new UKW, 9 new rotor wheels 
  - rotors 1D..3D have trivial ring setting (cf. A-133)
  - dynamic display of current turnover pos. for rotors 1D..3D (tooltip)
* altogether 17 models, 58 rotors, 15 UKW
- GUI: renamed RS reset button as '1111' for consistency and clarity
- minor code optimization (function enigma(s))


Version 2.5 (Apr 2021)
-----------
- renamed Enigma D as K; rotors: #D --> #K (identical wirings, but D has old/triv. RS!)
- renamed Enigma K (Swiss) as Swiss-K; rotors: #K --> #SK

Version 2.5 (Apr 2019)
-----------
- corrected wiring of UKW S ("Sondermaschine")

Version 2.5 (Feb 2019)
-----------
* implemented UKW-D
* added 2 new model presets: Enigma KD; Enigma S ("Sondermaschine")
* added maintenance rotor and UKW, incl. preset 
* altogether 7 new rotors and 3 new UKW --> 49 rotors; 13 UKW
- new "UKW" view in "Wheels" area:
  - displays wired contact pairs of currently selected UKW
  - enables UKW-D configuration
  - UKW-D wiring with verification and auto-completion (for last remaining pair)
  - 5 authentic historic preset wirings for UKW-D
  - UKW-D wiring preloaded matching the selected model preset (KD vs. M3/M4)
  - 2 contact designation schemes selectable for UKW-D: original / standard BP
- rearranged model preset menu to reflect model lines; UKW menu ~alphabetically
- GUI: renamed wheel position reset button as 'AAAA'
- QWERTZU:
  - added "glow effect" for lamps (text-shadow)
  - [Fix]: corrected layout (rows staggered as in original keyboard)
  - [Fix]: premature line-breaks in some browsers (lowered margin-right value)
  - [Fix]: highlighting of keys gone after they were "lit" (adjusted CSS)
- Monitor: synchronized vertical alignment in central pane
- minor adjustments and code-cleanup

Version 2.0 (January 2016)
-----------
- Changed preset configurations: Enigma N (has plugboard); G-111 (no plugboard)

Version 2.0 (October 2011)
-----------
* 12 Enigma models (I, M3, M4, D, K, N, R, T, A-865, G-111, G-260, G-312)
* Free combination of all features and components (model "Custom")
* Enigma-Uhr (stecker rotation)
* altogether 42 rotors, 10 UKW, 2 Greek wheels, 3 ETW, 2 wheel stepping modes
- Monitor 2.0: 
  - complete redesign
  - physically correct signal path, incl. Enigma-Uhr
  - dto. for rotated inner wheel wirings (ringsetting) 
  - dramatic speed-up in textfield-input mode (processes only last character)
  - display of coding rate (characters per second)
  - detailed model configuration info
- Plugs and Uhr can be de-/reactivated
- improved usability* by excluding some tab indices ("-1" for increment/decrement keys
  and QWERTZU keys) and changing tr/td-alignment for wheel selection menus
  (*navigate input fields using the Tab key)
- reformulated wheel/notch variables (closer to literature standard); adapted stepping
- significantly improved browser compatibility; keyboard now IE-compatible
- QWERTZU keyboard, plugboard, selection menus and +/- buttons are dynamically generated
- fixed memory/sync issue in Firefox with large input in QWERTZU text field 
- futher streamlined the source code
- based on the separate simulations v1.5b

  [ top ]



Changelog for Enigma Z30
========================

Version 2.6.2/{a,b} (Feb 2024)
-------------------
- corrected lamp output (version 2.6.2/b)
- decoupled lamp output from alphabet variable
- minor code cleanup

Version 2.6.1/{a,b} (Jan 2023)
-------------------
- Monitor:
  - improved usability (show signal path regardless of Monitor activation)
  - fixed issues with updating of some values
- GUI: minor corrections (tooltips)
- code cleanup (literal declaration of arrays and objects)

Version 2.6/{a,b} (January 2023)
-----------------
- harmonized version scheme to better distinguish update and fork
  - v2.6.1 (beta) --> v2.6/b
  - v2.6 (beta) --> v2.6/a

Version 2.6.1 (beta) (January 2023)
--------------------
- corrected charset in header (gearbox symbol was corrupted)

Version 2.6.1 (beta) (July 2022)
--------------------
- alternative ETW positioning: contact '0' now aligned with rotor windows
  - 'ground state' becomes '0000'
  - expressed alphabet and rotor/ETW variables starting at index 0

Version 2.6 beta (July 2022)
----------------
- Reverted to Beta status: ETW contact positioning unclear ...

Version 2.6 (April 2021)
-----------
- [FIX] Monitor: numbers ring during RS (function: wstepRestore())

Version 2.6 (April 2021)
-----------
* Wheels with 10 contacts
* Original separate keyboard/lampboard layout
* 2 models: Z-103 (lever mech., trivial RS); Z-151+ (cog wheels, no RS)
- hypothetical wiring / notches in Z-151 (no surviving machine)
- based on Universal Enigma v2.5 and Swedish A-133 v2.6 design

  [ top ]



Changelog for Swedish Enigma B (A-133)
======================================

Version 2.6.1 (Jan 2023)
-------------
- Monitor:
  - improved usability (show signal path regardless of Monitor activation)
  - fixed issues with updating of some values
- GUI:
  - Monitor: fixed vertical misalignment in middle pane
  - renamed keyboard mode button ('QWERTZU keys'-->'Keyboard + Lamps')
- code cleanup (literal declaration of arrays)

Version 2.6 (April 2021)
-----------
- added onMouseover info in RS pane: turnover positions depending on RS
- removed beta status; upped version number to reflect new functionality

Version 2.5beta (March 2021)
---------------
* Wheels with 28 contacts
* Original keyboard layout with 28 keys
* Trivial ringsetting: indicator ring shifts against wiring and notch
* Dynamically updated turnover point infos
- all rotors with letter labels, RS as numbers (unlike original)
- based on Universal Enigma v2.5 design

  [ top ]



Changelog for Enigma G//s
=========================

Version 1.6 (October 2011)
-----------
- Plugs can be de- and reactivated (as in Universal Enigma v2.0)

Version 1.5c (October 2011)
------------
- [Fix] fixed memory/sync issue in Firefox with large input in QWERTZU text field

Version 1.5b (October 2011)
------------
- 09 Oct. [Bugfix]: fixed incorrect wheel wiring position after ringsetting reset

Version 1.5a (July/August 2011)
------------
- 15 Aug. [Bugfix]: typo in 27 July bugfix
- 27 July [Bugfix]: corrected rotor stepping positions for ringsetting

Version 1.5 (September 2009)
-----------
* All simulations now on same status (incl. source code, features, bugfixes)! *
- Encryption key/GUI: tooltips show corresponding formulation (numbers vs letters) in
 input fields for rotor position, ring setting and steckers
- Plugging/GUI: "self-steckered" fields now cleared on activation
- GUI: wheel selection: tooltips show rotor engage points (notches)
- Fixed display issue in IE6 (dynamic style change: wheel rotation, plugging activation)
- Correction of sloppy code (HTML; JavaScript)
- Valid HTML 4.01 Transitional

Version 1.4b (August 2009)
------------
- 27 Aug. [Bugfix]: plugging verification (double values sometimes unrecognized)
- 27 Aug. [Bugfix]: repaired manual setting of wheel positions in QWERTZU mode

Version 1.4a (August 2009)
------------
- Function 'kodieren()': clearer denomination of variables; code tightening
- Info alert now shows version details from HTML header
- GUI: monitor: "eff. rotation" on wheel setting makes more sense now
- GUI: more tooltips; cosmetics
- GUI: corrected positioning of logo+title (CSS): Firefox 1.5+; browser hack for IE
- GUI: removed popup window at stecker activation and UKW switching

Version 1.4 (May 2009)
-----------
- 23 May: GUI: output in groups of 5, as original
- 9 May: adjusted ETW wiring (on consultation with Bletchley Park); beta status ended

Version 1.4 Beta (March 2009)
----------------
- 7 May [Bugfix]: When switching from QWERTZU to text field with ring setting on display,
 ring settings instead of rotor positions were reset... -Fixed.
- Based on M4 v1.3d and M3 v1.1c, resp.
- "G//s" stands for "model G with plugboard (Steckerbrett)" (original came without a plugboard)
- When switching input mode: rotors set to adjusted starting positions (message key)
- Display message key in status bar (unlike original code book, but more convenient)
- GUI: swapped +/- button positions ('-' on top, for more authentic feel)
- GUI: renamed some buttons; added tooltips ("balloon help")

  [ top ]



Changelog for Enigma M4
=======================

Version 1.6 (October 2011)
-----------
- Plugs can be de- and reactivated (as in Universal Enigma v2.0)
- Removed an orphan variable

Version 1.5c (October 2011)
------------
- [Fix] fixed memory/sync issue in Firefox with large input in QWERTZU text field

Version 1.5b (October 2011)
------------
- 09 Oct. [Bugfix]: fixed incorrect wheel wiring position after ringsetting reset

Version 1.5a (September 2009)
------------
- 30 Sep. [Bugfix]: fixed double-stepping malfunction in a special case
 (when initial rotor position is within the 'dead zone' of a double-stepping)

Version 1.3r (September 2009)
------------
* Legacy update for "compact" version 1.3
- 30 Sep. [Bugfix]: fixed double-stepping malfunction in a special case
 (when initial rotor position is within the 'dead zone' of a double-stepping) --[as in v1.5a]
- [Bugfix]: plugging verification (double values sometimes unrecognized)
- Plugboard: "self-steckered" fields now cleared on activation --[as in v1.5]

Version 1.5 (September 2009)
-----------
* All simulations now on same status (incl. source code, features, bugfixes)! *
- Encryption key/GUI: tooltips show corresponding formulation (numbers vs letters) in
 input fields for rotor position, ring setting and steckers
- Plugging/GUI: "self-steckered" fields now cleared on activation
- GUI: wheel selection: improved tooltips on rotor engage points
- Fixed display issue in IE6 (dynamic style change: wheel rotation, plugging activation)
- Correction of sloppy code (HTML; JavaScript)
- Valid HTML 4.01 Transitional

Version 1.4a (August 2009)
------------
- 27 Aug. [Bugfix]: plugging verification (double values sometimes unrecognized)
- 27 Aug. [Bugfix]: repaired manual setting of wheel positions in QWERTZU mode

Version 1.4 (26. August 2009)
-----------
- Display message key in status bar (unlike original code book, but more convenient)
- GUI: wheel selection: tooltips show rotor engage points (notches)
- GUI: monitor: "eff. rotation" on wheel setting makes more sense now
- GUI: extended tooltips (balloon help)
- Function 'kodieren()': clearer denomination of variables; code tightening
- Info alert now shows version details from HTML header
- GUI: corrected positioning of logo+title (CSS): Firefox 1.5+; browser hack for IE
- GUI: removed popup window at stecker activation and UKW switching

Version 1.3h (May/August 2009)
------------
- 7 May [Bugfix]: When switching from QWERTZU to text field with ring setting on display,
 ring settings instead of rotor positions were reset... -Fixed.

Version 1.3e (March/April 2009)
------------
- On switching input mode: rotors set to adjusted starting positions (message key)
- GUI: Greek wheel labeling in red (like original)
- GUI: renamed some buttons; added tooltips (balloon help) (status: ~ Enigma G//s, v1.4)

Version 1.3d (März 2009)
------------
- GUI: swapped +/- button positions ('-' on top, for more authentic feel)
- GUI: QWERTZU area cleanup (shrinked input field, added info text)
- further source code tidying (func gear(..): disposed of one parameter and one variable)

---------------------------------------
ENGLISH versions, starting with 1.3c EN 
---------------------------------------
- synchronized with German versions (same versioning)
- Translation of GUI, source code comments and homepage

Version 1.3c (March 2009)
------------
- [Bugfix]: display of Greek wheel in status bar
- thinned out source code

Version 1.3b (March 2009)
------------
- adaption for ONLINE RELEASE (licence, disclaimer, homepage link, QWERTZU as preset)

Versionen 1.3a (Dec. 2007)
--------------
- minor bugfixes and optimization

Version 1.3 (Nov. 2007)
-----------
- Acceleration of wheel stepping and monitor functions
- added wheel adjustment lock on input (text field mode)
- Bugfixes; tightening of source code

Version 1.2a (Nov. 2007)
------------
- GUI improvement: direct input of values for wheel position and ring setting


Version 1.2
-----------
- initial operating version, based on M3, v1.1a


  [ top ]




Changelog for Enigma I & M3 (combined)
======================================

Version 1.6 (October 2011)
-----------
- Plugs can be de- and reactivated (as in Universal Enigma v2.0)
- Removed an orphan variable

Version 1.5c (October 2011)
------------
- [Fix] fixed memory/sync issue in Firefox with large input in QWERTZU text field

Version 1.5b (October 2011)
------------
- 09 Oct. [Bugfix]: fixed incorrect wheel wiring position after ringsetting reset

Version 1.5a (September 2009 / rev. August 2011)
------------
- 05 Aug. 2011: GUI: corrected color coding in rotor selection menu (Enigma I had I-V rather than just I-III)
- 30 Sep. [Bugfix]: fixed double-stepping malfunction in a special case
 (when initial rotor position is within the 'dead zone' of a double-stepping)

Version 1.3r (September 2009)
------------
* Legacy update for "compact" version 1.3
- 30 Sep. [Bugfix]: fixed double-stepping malfunction in a special case
 (when initial rotor position is within the 'dead zone' of a double-stepping) --[as in v1.5a]
- Plugboard: "self-steckered" fields now cleared on activation --[as in v1.5]

Version 1.5 (September 2009)
-----------
* All simulations now on same status (incl. source code, features, bugfixes)! *
- Display message key in status bar (unlike original code book, but more convenient)
- Encryption key/GUI: tooltips show corresponding formulation (numbers vs letters) in
 input fields for rotor position, ring setting and steckers
- Plugging/GUI: "self-steckered" fields now cleared on activation
- GUI: wheel selection: tooltips show rotor engage points (notches)
- GUI: monitor: "eff. rotation" on wheel setting makes more sense now
- Function 'kodieren()': clearer denomination of variables; code tightening
- Fixed display issue in IE6 (dynamic style change: wheel rotation, plugging activation)
- Correction of sloppy code (HTML; JavaScript)
- Valid HTML 4.01 Transitional
- 29 Sep [Bugfix]: fixed a minor bug in status bar display

Version 1.3i (27 August 2009)
------------
- [Bugfix]: plugging verification (double values sometimes unrecognized)

Version 1.3h (May/August 2009)
------------
- 12 Aug.: corrected positioning of logo+title (CSS): Firefox 1.5+; browser hack for IE
- 12 Aug.: removed popup window at stecker activation and UKW selection
- 23 May: output in groups of 5, as in original
- 23 May [Bugfix]: UKW A not shown in status bar. -Fixed
- 7 May [Bugfix]: When switching from QWERTZU to text field with ring setting on display,
 ring settings instead of rotor positions were reset... -Fixed.

Version 1.3e (March/April 2009)
------------
- based on M3 v1.3e
- added UKW A and drop-down selection menu for UKWs
- color indicates model compatibility in selection fields/menus




  [ top ]





Changelog for Enigma M3
=======================

Version 1.6 (October 2011)
-----------
- Plugs can be de- and reactivated (as in Universal Enigma v2.0)

Version 1.5c (October 2011)
------------
- [Fix] fixed memory/sync issue in Firefox with large input in QWERTZU text field

Version 1.5b (October 2011)
------------
- 09 Oct. [Bugfix]: fixed incorrect wheel wiring position after ringsetting reset

Version 1.5a (September 2009)
------------
- 30 Sep. [Bugfix]: fixed double-stepping malfunction in a special case
 (when initial rotor position is within the 'dead zone' of a double-stepping)

Version 1.3r (September 2009)
------------
* Legacy update for "compact" version 1.3
- 30 Sep. [Bugfix]: fixed double-stepping malfunction in a special case
 (when initial rotor position is within the 'dead zone' of a double-stepping) --[as in v1.5a]
- Plugboard: "self-steckered" fields now cleared on activation --[as in v1.5]

Version 1.5 (September 2009)
-----------
* All simulations now on same status (incl. source code, features, bugfixes)! *
- Display message key in status bar (unlike original code book, but more convenient)
- Encryption key/GUI: tooltips show corresponding formulation (numbers vs letters) in
 input fields for rotor position, ring setting and steckers
- Plugging/GUI: "self-steckered" fields now cleared on activation
- GUI: wheel selection: tooltips show rotor engage points (notches)
- GUI: monitor: "eff. rotation" on wheel setting makes more sense now
- Function 'kodieren()': clearer denomination of variables; code tightening
- Fixed display issue in IE6 (dynamic style change: wheel rotation, plugging activation)
- Correction of sloppy code (HTML; JavaScript)
- Valid HTML 4.01 Transitional

Version 1.3i (27 August 2009)
------------
- [Bugfix]: plugging verification (double values sometimes unrecognized)

Version 1.3h (May/August 2009)
------------
- 12 Aug.: corrected positioning of logo+title (CSS): Firefox 1.5+; browser hack for IE
- 12 Aug.: removed popup window at stecker activation and UKW selection
- 23 May: output in groups of 5, as in original
- 23 May [Bugfix]: UKW A not shown in status bar. -Fixed
- 7 May [Bugfix]: When switching from QWERTZU to text field with ring setting on display,
 ring settings instead of rotor positions were reset... -Fixed.

Version 1.3e (March/April 2009)
------------
* Entire source code updated to M4 v1.3e status (GUI, mode switching, type in values...) *

Version 1.1c (March 2009)
------------
- thinned out source code (status: ~ M4 v1.3c)

Version 1.1b (March 2009)
------------
- adaption for ONLINE RELEASE (licence, disclaimer, homepage link)


		~"~


Version 1.1a (Nov./Dez. 2007)
------------
- new: added status bar below headline (original codebook style)
- Logo and color scheme close to original (wood, black coated metal)
- GUI re-adjusted
- Bugfixes, also parallel to higher M4 versions...

Version 1.1 (Nov. 2007)
-----------
- new: QWERTZU keys input mode with integrated lampboard and additional text field

Version 1.0 (Nov. 2007)
-----------
- based on Enigma I v1.0



  [ top ]




Changelog for Enigma I
======================

Version 1.0 (Oct. 2007)
-----------
- operating version, incl. plugboard and monitor (with status "note")

Pre-versions 0.x
----------------
(...)





  [ top ]


(c) Daniel Palloks
Status: Oct 2011